   var JSON_Data;
   
   var Config = {
      
      loadingVars : function()
      {
         
         this.MaxProduktImages = 6;
         
         this.AufpreisTextzeilen0 = 0;
         this.AufpreisTextzeilen1 = 3;
         this.AufpreisTextzeilen2 = 3.5;
         this.AufpreisTextzeilen3 = 4;
         this.AufpreisTextzeilen4 = 4.5;
         this.AufpreisTextzeilen5 = 5;
         
         this.AufpreisMotive0 = 0;
         this.AufpreisMotive1 = 7;
         this.AufpreisMotive2 = 10;
         this.AufpreisMotive3 = 12;
         this.AufpreisMotive4 = 14;
         this.AufpreisMotive5 = 16;
         
         this.StandardDrucktechnikVektor = 1;
         this.StandardDrucktechnikPixel = 4;
         
         this.StandardProduktVektor = 17;
         this.StandardProduktPixel = 13;
         
         this.OwnTextMinimumSize = 10;
         
         this.OwnTextOffsetX = 80;
         
         this.OwnTextOffsetY = new Array();
         this.OwnTextOffsetY[1] = 120;
         this.OwnTextOffsetY[2] = 140;
         this.OwnTextOffsetY[3] = 160;
         this.OwnTextOffsetY[4] = 180;
         this.OwnTextOffsetY[5] = 200;

         this.OwnTextfontSize = new Array();
         this.OwnTextfontSize[1] = 20;
         this.OwnTextfontSize[2] = 20;
         this.OwnTextfontSize[3] = 20;
         this.OwnTextfontSize[4] = 20;
         this.OwnTextfontSize[5] = 20;
         
         this.OwnTextfontFamily = new Array();
         this.OwnTextfontFamily[1] = "Arial";
         this.OwnTextfontFamily[2] = "Arial";
         this.OwnTextfontFamily[3] = "Arial";
         this.OwnTextfontFamily[4] = "Arial";
         this.OwnTextfontFamily[5] = "Arial";
         
         this.OwnTextcolor = new Array();
         this.OwnTextcolor[1] = "000000";
         this.OwnTextcolor[2] = "000000";
         this.OwnTextcolor[3] = "000000";
         this.OwnTextcolor[4] = "000000";
         this.OwnTextcolor[5] = "000000";
         
         
         
      }
      
   };
                                    
   var Artikel = {
      
         req : "",
         data : "",
         
         getData : function(ID, Script, Typ, firstCall, Scripttyp, scale)
         {
              
               Config.loadingVars();
               
               Infoframe.checkDrucktechnik();
               
               Artikel.ID = ID;
               Artikel.Typ = Typ;
               Artikel.Script = Script;
               Artikel.Scripttyp = Scripttyp;
              
               Artikel.firstCall = firstCall;

               Artikel.Scale = scale;
               if(!Artikel.Scale) {
                  Artikel.Scale = 1;
               }
               
               if(document.getElementById("conf_anzahlpossiblemotive")) {
                  Artikel.AnzahlPossibleMotive = document.getElementById("conf_anzahlpossiblemotive").value;
               }
              
               
          
               
              // if(!DrucktechnikID) {
                  if(document.getElementById("input_drucktechnik")) {
                     if(document.getElementById("input_drucktechnik").value > 0) {
                        Artikel.DrucktechnikID = document.getElementById("input_drucktechnik").value;
                     }
                     else {
                        Artikel.DrucktechnikID = 1;
                     }
                  }
              // }
               
               
                  if(document.getElementById("input_produkt")) {
                     if(document.getElementById("input_produkt").value > 0) {
                        Artikel.ProduktID = document.getElementById("input_produkt").value;
                     }
                     else {
                        Artikel.ProduktID = 17;
                     }
                  }
              
               json_url = 'getJSON.php?func=init&firstCall='+firstCall+'&typ='+Artikel.Typ+'&id='+ID;
             
               if(json_url) {
                  $.ajax({
                     url: json_url,
                     type: 'GET',
                     dataType: 'json',
                     timeout: 10000,
                     global: 'false',
                     error: function(){
                        alert('Fehler. Der Artikel konnte nicht geladen werden. Sollte der Fehler bei einem Reload der Seite wieder auftreten, könnte ein Update des Browsers helfen.');
                     },
                     success: this.init
                  
                   });
               }
         },
         
         init : function(data, textStatus)
         {
           
            
            JSON_Artikel = data;
            
            Drucktechnik.getData(Artikel.DrucktechnikID, Artikel.firstCall);
         
         }
               
   };

  
   
   /*
   *****************************************************************************************
   *****************************************************************************************
   *****************************************************************************************
   *****************************************************************************************
   *****************************************************************************************
   *
   * Drucktechnik - Funktionen und Methoden
   * 14.09.2007 Morgano
   *
   *****************************************************************************************
   *****************************************************************************************
   *****************************************************************************************
   *****************************************************************************************
   *****************************************************************************************
   */
      var Drucktechnik = {
       
         
         req : "",
         data : "",
         
         
         getData : function(id, firstCall)
         {

               Artikel.firstCall = firstCall;
               
               json_url = 'getJSON.php?func=getDrucktechnik&id='+id;
              
               if(json_url) {
                  $.ajax({
                     url: json_url,
                     type: 'GET',
                     dataType: 'json',
                     timeout: 10000,
                     global: 'false',
                     error: function(){
                        alert('Fehler. Der Artikel konnte nicht geladen werden. Sollte der Fehler bei einem Reload der Seite wieder auftreten, könnte ein Update des Browsers helfen.');
                     },
                     success: this.init
                  
                   });
               }
            
         },
         init : function(data, textStatus)
         {
           
          
            JSON_Data = data;
            Artikel.firstCall = firstCall;
           
            
            // ###########################################################################
            // erstelle Druckbereich-Marker
            // ###########################################################################
            
               Artikelbackground.showMarker();
            
            // ###########################################################################
            // lösche Inhalt aller Druckfarben
            // ###########################################################################
                  
               Drucktechnik.deleteDruckfarbenContainer();
            
            // ###########################################################################
            // lade alle verfügbaren Produkte ein
            // ###########################################################################
                  
               Drucktechnik.showAlleProdukte();   

            // ###########################################################################
            // lädt bestimmtes Motiv direkt in den Konfigurator
            // ###########################################################################
                       
           
               if(document.getElementById("input_artikeltyp")) {
                  if(document.getElementById("input_artikeltyp").value == "konfigurator") {
                  
                     if(Artikel.firstCall == 1 && Produkt.firstCall == 1) {
                        if(document.getElementById("input_preload")) {
                           var preload = document.getElementById("input_preload").value;
                        }
                        if(preload) {
                          
                           NewMotiv.loading(preload);
                        }
                        // ###########################################################################
                        // checkt ob Loadingmotiv verhanden und setzt Eventhandler
                        // ###########################################################################
                        
                        Drucktechnik.initPreloading();
    
                     }
                  }
                  else if(document.getElementById("input_artikeltyp").value == "artikel") {
   
                     //Motiv.repositioning();
                     
                  }
            }
            
            // ###########################################################################
            // ###########################################################################
            // ###########################################################################
                  
            //Infoframe.changeDrucktechnik(JSON_Data.Drucktechnik.ID, JSON_Data.Drucktechnik.Druckart);
               
                     
         },
         initPreloading: function()
         {
            
               var object = document.getElementById("frame_svg");
               if (object.contentDocument) 
                  svgdoc = object.contentDocument;
               else {
                  try {
                     svgdoc = object.getSVGDocument();
                  }
                  catch(exception) {
                   // ignore errors
                  }
               }
           
               if(svgdoc) {
                  
                  // ###############################################################################
                  // ### Init Eventhandler pro Motiv ###############################################
                  // ###############################################################################
                  
                  if(svgdoc.getElementById("svg_motiv1")) {
                     var obj = svgdoc.getElementById("svg_motiv1");
                     obj.addEventListener("mousedown", NewMotiv.mousedown_listener_1, false);
                     obj.setAttribute("style", "cursor: move; shape-rendering:geometricPrecision; text-rendering:geometricPrecision; fill-rule:evenodd; clip-rule:evenodd;");
                  
                     NewMotiv.changeMotivDetailContainer(1);
                     NewMotiv.changeMotivThumbnailContainer(1);
                     
                  }
                  if(svgdoc.getElementById("svg_motiv2")) {
                     var obj = svgdoc.getElementById("svg_motiv2");
                     obj.addEventListener("mousedown", NewMotiv.mousedown_listener_2, false);
                     obj.setAttribute("style", "cursor: move; shape-rendering:geometricPrecision; text-rendering:geometricPrecision; fill-rule:evenodd; clip-rule:evenodd;");
                     NewMotiv.changeMotivDetailContainer(2);
                     NewMotiv.changeMotivThumbnailContainer(2);
                  }
                  if(svgdoc.getElementById("svg_motiv3")) {
                     var obj = svgdoc.getElementById("svg_motiv3");
                     obj.addEventListener("mousedown", NewMotiv.mousedown_listener_3, false);
                     obj.setAttribute("style", "cursor: move; shape-rendering:geometricPrecision; text-rendering:geometricPrecision; fill-rule:evenodd; clip-rule:evenodd;");
                     NewMotiv.changeMotivDetailContainer(3);
                     NewMotiv.changeMotivThumbnailContainer(3);
                  }
                  if(svgdoc.getElementById("svg_motiv4")) {
                     var obj = svgdoc.getElementById("svg_motiv4");
                     obj.addEventListener("mousedown", NewMotiv.mousedown_listener_4, false);
                     obj.setAttribute("style", "cursor: move; shape-rendering:geometricPrecision; text-rendering:geometricPrecision; fill-rule:evenodd; clip-rule:evenodd;");
                  
                     NewMotiv.changeMotivDetailContainer(4);
                     NewMotiv.changeMotivThumbnailContainer(4);
                  }
                  if(svgdoc.getElementById("svg_motiv5")) {
                     var obj = svgdoc.getElementById("svg_motiv4");
                     obj.addEventListener("mousedown", NewMotiv.mousedown_listener_5, false);
                     obj.setAttribute("style", "cursor: move; shape-rendering:geometricPrecision; text-rendering:geometricPrecision; fill-rule:evenodd; clip-rule:evenodd;");
                     NewMotiv.changeMotivDetailContainer(5);
                     NewMotiv.changeMotivThumbnailContainer(5);
                  }

                  // ###############################################################################
                  // ### Init Eventhandler pro Text ###############################################
                  // ###############################################################################
                 
                  if(svgdoc.getElementById("svg_text1")) {
                     
                     document.getElementById("view_text1").value = document.getElementById("input_text1").value;
                     
                     var obj = svgdoc.getElementById("svg_text1"); 
                     obj.addEventListener("mousedown", OwnText.mousedown_listener_1, false);
                     obj.setAttribute("style", "cursor: move; shape-rendering:geometricPrecision; text-rendering:geometricPrecision; fill-rule:evenodd; clip-rule:evenodd;");
                  }
                  if(svgdoc.getElementById("svg_text2")) {
                     
                     document.getElementById("view_text2").value = document.getElementById("input_text2").value;
                     var obj = svgdoc.getElementById("svg_text2");
                     obj.addEventListener("mousedown", OwnText.mousedown_listener_2, false);
                     obj.setAttribute("style", "cursor: move; shape-rendering:geometricPrecision; text-rendering:geometricPrecision; fill-rule:evenodd; clip-rule:evenodd;");
                  }
                  if(svgdoc.getElementById("svg_text3")) {
                     
                     document.getElementById("view_text3").value = document.getElementById("input_text3").value;
                     var obj = svgdoc.getElementById("svg_text3");
                     obj.addEventListener("mousedown", OwnText.mousedown_listener_3, false);
                     obj.setAttribute("style", "cursor: move; shape-rendering:geometricPrecision; text-rendering:geometricPrecision; fill-rule:evenodd; clip-rule:evenodd;");
                  }
                  if(svgdoc.getElementById("svg_text4")) {
                     
                     document.getElementById("view_text4").value = document.getElementById("input_text4").value;
                     var obj = svgdoc.getElementById("svg_text4");
                     obj.addEventListener("mousedown", OwnText.mousedown_listener_4, false);
                     obj.setAttribute("style", "cursor: move; shape-rendering:geometricPrecision; text-rendering:geometricPrecision; fill-rule:evenodd; clip-rule:evenodd;");
                  }
                  if(svgdoc.getElementById("svg_text5")) {
                     document.getElementById("view_text5").value = document.getElementById("input_text5").value;
                     var obj = svgdoc.getElementById("svg_text5");
                     obj.addEventListener("mousedown", OwnText.mousedown_listener_5, false);
                     obj.setAttribute("style", "cursor: move; shape-rendering:geometricPrecision; text-rendering:geometricPrecision; fill-rule:evenodd; clip-rule:evenodd;");
                  }
               
                  // ###################################################################################
               
               }
            
            
         },
         
         deleteDruckfarbenContainer: function()
         {
             for (var i=0;i<=4;i++)
               { 
                  if(document.getElementById("container_druckfarben_"+i+"")) {
                     document.getElementById("container_druckfarben_"+i+"").innerHTML = "";
                  }
               }
            
            
         },
         showDruckfarben : function(druckfarb_pos, motivpos)
         {
            if(!motivpos) {
               motivpos = 1;
            }
               if(JSON_Data.konfigurierbar == '1') {
                  
                  if(JSON_Data.Druckfarben != null) {
                    
                     if(document.getElementById("container_druckfarben_"+motivpos+"_"+druckfarb_pos+"")) {
                        
                        document.getElementById("container_druckfarben_"+motivpos+"_"+druckfarb_pos+"").innerHTML = "";
                        var span = document.createElement("span");
                        span.style.styleFloat = "left"; // IE
                        span.style.cssFloat = "left"; // Gecko
                        span.style.width = "95%";
                       
                        var txt = document.createTextNode("wähle Druckfarbe "+(druckfarb_pos+1)+":");
                        span.appendChild(txt);
                        document.getElementById("container_druckfarben_"+motivpos+"_"+druckfarb_pos+"").appendChild(span);

                        for (var i=0;i<JSON_Data.Druckfarben.length;i++)
                        {
                           
                           var div = document.createElement("div");
                           div.setAttribute("id", "div_druckfarbe_"+motivpos+"_"+i);
                           
                           div.style.width = "20px";
                           div.style.minHeight = "18px";
                           div.style.styleFloat = "left"; // IE
                           div.style.cssFloat = "left"; // Gecko
                           div.style.fontSize = "11px";
                           div.style.backgroundColor = "#"+JSON_Data.Druckfarben[i].Farbcode;
                           div.style.color = "#"+JSON_Data.Druckfarben[i].Textkontrast;
                           div.style.border = "1px solid #D1D3D4";
                           div.style.margin = "1px";
                           //div.style.padding = "2px 5px 0px 5px";
                           div.style.overflow = "hidden";
                           
                          
                           div.myIndex = i;
                           
                           var a = document.createElement("a");
                           a.setAttribute("href", "#ansicht");
                           
                           if(a.attachEvent) {
                              a.attachEvent("onclick", function(evt) {
                                 NewMotiv.changeMotivfarbe(motivpos, druckfarb_pos, 'obj_'+druckfarb_pos+'_'+motivpos, JSON_Data.Druckfarben[evt.srcElement.myIndex].ID, JSON_Data.Druckfarben[evt.srcElement.myIndex].Farbname, JSON_Data.Druckfarben[evt.srcElement.myIndex].Farbcode, true);
                              });
                              a.attachEvent("onmouseover", function(evt) {
                                 NewMotiv.changeMotivfarbe(motivpos, druckfarb_pos, 'obj_'+druckfarb_pos+'_'+motivpos, JSON_Data.Druckfarben[evt.srcElement.myIndex].ID, JSON_Data.Druckfarben[evt.srcElement.myIndex].Farbname, JSON_Data.Druckfarben[evt.srcElement.myIndex].Farbcode, false);
                              });
                              a.attachEvent("onmouseout", function(evt) {
                                 NewMotiv.resetMotivfarbe(motivpos, druckfarb_pos, 'obj_'+druckfarb_pos+'_'+motivpos);
                                
                              });
   
                           } else if(a.addEventListener) {
                              a.setAttribute("onclick",     "NewMotiv.changeMotivfarbe(\""+motivpos+"\", \""+druckfarb_pos+"\", 'obj_"+druckfarb_pos+"_"+motivpos+"',\""+JSON_Data.Druckfarben[i].ID+"\", \""+JSON_Data.Druckfarben[i].Farbname+"\", \""+JSON_Data.Druckfarben[i].Farbcode+"\", true); ");
                              a.setAttribute("onmouseover", "NewMotiv.changeMotivfarbe(\""+motivpos+"\", \""+druckfarb_pos+"\", 'obj_"+druckfarb_pos+"_"+motivpos+"',\""+JSON_Data.Druckfarben[i].ID+"\", \""+JSON_Data.Druckfarben[i].Farbname+"\", \""+JSON_Data.Druckfarben[i].Farbcode+"\", false); ");
                              a.setAttribute("onmouseout",  "NewMotiv.resetMotivfarbe(\""+motivpos+"\",\""+druckfarb_pos+"\", 'obj_"+druckfarb_pos+"_"+motivpos+"');");
                           }
   
                           a.appendChild(div);
                           
                          
                           document.getElementById("container_druckfarben_"+motivpos+"_"+druckfarb_pos+"").appendChild(a);
                           
                           if(document.getElementById("container_druckfarben_out_"+motivpos+"")) {
                              document.getElementById("container_druckfarben_out_"+motivpos+"").style.display = "block";
                           }
   
                        }
                     }
                  }
                  else {
                      alert("Error: keine Druckfarben definiert");
                  }
               }
              
         },
         /*
         showDrucktechniken : function(motivtyp) {
            
            var selectfield = document.getElementById("select_drucktechniken");
            var options = selectfield.getElementsByTagName("option");
          
            if (options.length > 0) {
               for (var i=options.length; i>0; i--) {
                   selectfield.options[options.length - 1] = null;
               }
            }

            if(motivtyp == "Pixel") {

               var opt = document.createElement('option');
               var name = document.createTextNode("Sublimationsdruck");
               opt.value = "4";
               opt.appendChild(name);
               document.getElementById("select_drucktechniken").appendChild(opt);

            }
            else if(motivtyp == "Vektor") {
               
               var opt = document.createElement('option');
               var name = document.createTextNode("Flexdruck");
               opt.value = "1";
               opt.appendChild(name);
               document.getElementById("select_drucktechniken").appendChild(opt);

               opt = document.createElement('option');
               name = document.createTextNode("Flockdruck");
               opt.value = "2";
               opt.appendChild(name);
               document.getElementById("select_drucktechniken").appendChild(opt);

               opt = document.createElement('option');
               name = document.createTextNode("Sublimationsdruck");
               opt.value = "4";
               opt.appendChild(name);
               document.getElementById("select_drucktechniken").appendChild(opt);

               opt = document.createElement('option');
               name = document.createTextNode("Plot");
               opt.value = "6";
               opt.appendChild(name);
               document.getElementById("select_drucktechniken").appendChild(opt);

            }
         
         },
         */
         showAlleProdukte : function()
         {
           
            if(JSON_Data.konfigurierbar == '1') {

                  document.getElementById("container_alleprodukte").innerHTML="";
                  
                  for (var item in JSON_Data.Produkte)
                  {
                     
                     if(JSON_Data.Produkte[item].Produkte && JSON_Data.Produkte[item].Drucktechnik)
                     {
                       
                        for (var item2 in JSON_Data.Produkte[item].Produkte)
                        {
                           if(JSON_Data.Produkte[item].Produkte[item2].Produktgruppe)
                           {
                            
                                 for (var j=0;j<JSON_Data.Produkte[item].Produkte[item2].Produkte.length;j++)
                                 {

                                    if(JSON_Data.Produkte[item].Produkte[item2].Produkte[j].ID)
                                    {
                                       
                                       // innenliegende Divcontainer neu
                                        var div = document.createElement("div");
                                       div.setAttribute("id", "div_produkt_"+JSON_Data.Produkte[item].Produkte[item2].Produkte[j].ID);
            
                                       div.style.styleFloat = "left"; // IE
                                       div.style.cssFloat = "left"; // Gecko
                                    
                                       // Images
                                       var img = document.createElement("img");
                                       img.setAttribute("id", "img_produkt_"+JSON_Data.Produkte[item].Produkte[item2].Produkte[j].ID);
                                       img.setAttribute("src", JSON_Data.Produkte[item].Produkte[item2].Produkte[j].Bildpfade[50]);
                                       img.setAttribute("class", "clickableImage");
                                       img.style.width = "50px";
                                       img.style.height = "50px";
                                       img.style.styleFloat = "left"; // IE
                                       img.style.cssFloat = "left"; // Gecko
                                       img.style.border = "1px solid #D1D3D4";
                                       img.style.margin = "1px";
                                       img.myIndex = j;
                                       
                                       img.myItem = item;
                                       img.myItem2 = item2;
                                     
                                       var a = document.createElement("a");
                                       a.setAttribute("id", "a_produkt_"+JSON_Data.Produkte[item].Produkte[item2].Produkte[j].ID+"");
                                       a.setAttribute("href", "#ansicht");
                                      
                                       if(a.attachEvent) {
                                          a.attachEvent("onmouseover", function(evt) {
                                             Drucktechnik.showProduktname(JSON_Data.Produkte[evt.srcElement.myItem].Produkte[evt.srcElement.myItem2].Produkte[evt.srcElement.myIndex].Name);
                                          });
                                          a.attachEvent("onmouseout", function(evt) {
                                             Drucktechnik.resetProduktname();
                                          });
                                          a.attachEvent("onclick", function(evt) {
                                             
                                             
                                             Produkt.getData(JSON_Data.Produkte[evt.srcElement.myItem].Produkte[evt.srcElement.myItem2].Produkte[evt.srcElement.myIndex].ID, 0, JSON_Data.Produkte[item].Drucktechnik.Produktoptik, JSON_Data.Produkte[item].Drucktechnik.ID, JSON_Data.Motiv.MotivklassenID);
                                             
                                          });
                                       } else if(a.addEventListener) {
                                          a.setAttribute("onmouseover", "Drucktechnik.showProduktname(\""+JSON_Data.Produkte[item].Produkte[item2].Produkte[j].Name+"\")");
                                          a.setAttribute("onmouseout", "Drucktechnik.resetProduktname()");
                                          
                                         
                                          
                                          var onclick = "Produkt.getData(\""+JSON_Data.Produkte[item].Produkte[item2].Produkte[j].ID+"\", 0, \""+JSON_Data.Produkte[item].Drucktechnik.Produktoptik+"\", \""+JSON_Data.Produkte[item].Drucktechnik.ID+"\", \""+JSON_Data.Motiv.MotivklassenID+"\")";
                                          
                                          a.setAttribute("onclick", onclick);                                    
                                          
                                       }
                                       
                                       a.appendChild(img);
                                       
                                       div.appendChild(a);
                                       
                                       document.getElementById("container_alleprodukte").appendChild(div);
                                    }
                                 }
                             
                           }
                        }
                        
                        
                        var hr = document.createElement("hr");
                        
                        hr.style.width = "100%";
                        hr.style.height = "0px";
                        hr.style.clear = "both";
                        hr.style.border = "0px dotted black";
                        document.getElementById("container_alleprodukte").appendChild(hr);
                     }
                  }
                  
               
            }     

            if(Artikel.firstCall == 1)
            {
               if(document.getElementById("input_produkt").value) {
                   Produkt.getData(document.getElementById("input_produkt").value, 1, JSON_Data.Drucktechnik.Produktoptik, JSON_Data.Drucktechnik.ID, JSON_Data.Motiv.MotivklassenID);
               }
               else {
                  // (id, firstCall, produktoptik, drucktechnikid, motivklassenid)
                  Produkt.getData(JSON_Data.ProduktID, 1, JSON_Data.Drucktechnik.Produktoptik, JSON_Data.Drucktechnik.ID, JSON_Data.Motiv.MotivklassenID);
               }
            }
            else {
               Produkt.getData(Artikel.ProduktID, 0, JSON_Data.Drucktechnik.Produktoptik, JSON_Data.Drucktechnik.ID, JSON_Data.Motiv.MotivklassenID);
            }
            
        
           
         },
         showProduktname : function(name)
         {
           
            produkttext = "Klicke für: "+name;
            document.getElementById("container_produktname").replaceChild(document.createTextNode(produkttext),document.getElementById("container_produktname").firstChild);

         },
         resetProduktname : function()
         {
            document.getElementById("container_produktname").innerHTML = "&nbsp;";
         
         },
        
         showLoading : function(req)
         {
            document.getElementById("container_alleprodukte").innerHTML = "<img src=\"gfx/icons/loading.gif\"><br />Produkte werden geladen";
            
         }

      };

   /*
    
   *****************************************************************************************
   *****************************************************************************************
   *****************************************************************************************
   *****************************************************************************************
   *****************************************************************************************

   * Literalobjekt Produkt
   * getData - ajaxfunktion holt json Daten anhand ProduktID
   * showProduktdetails - Div id=container_produkt_details  wird manipuliert
   * showLoading - Loadingmessage in div id=container_produkt_details
   * showError - Fehlermessage
   * 14.09.2007 Morgano
   *
   *****************************************************************************************
   *****************************************************************************************
   *****************************************************************************************
   *****************************************************************************************
   *****************************************************************************************

   */
       var Produkt = {
      
            req : "",
            getData : function(id, firstCall, produktoptik, drucktechnikid, motivklassenid)
            {
               
                  Produkt.firstCall = firstCall;
                  
                  $.ajax({
                       url: 'getJSON.php?func=getProdukt&firstCall='+Produkt.firstCall+'&id='+id,
                       type: 'GET',
                       dataType: 'json',
                       global: 'false',
                       timeout: 10000,
                       error: function(XMLHttpRequest, textStatus, errorThrown){
                           alert('Zeitüberschreitung. Bitte versuche es nochmals');
                       },
                       success: this.showProduktdetails
                    
                   });
               
               
            },
            showProduktdetails : function(data)
            {
 
                 JSON_Produkt = data;
               
               
               // ########################################################################################
               // Schreibe Produktdetails, leere Container und zeige Produktbilder + Produktbemassung
               // ########################################################################################
               
                     document.getElementById("container_produkt_details").innerHTML = "";
                  
                     if(Artikel.Scripttyp == "view") {
      
                        var ausgabe = "";
                            ausgabe += "<h3>"+JSON_Produkt.Produkt.Name+ "</h3>";
                            ausgabe += "<img onload=\"Shadowbox.init({ skipSetup: true }); Shadowbox.setup();\" src=\"gfx/icons/blank.gif\" style=\"display:none;\">";
                      
                        if(JSON_Produkt.Produkt.Kurztext_max20) {
                           ausgabe += "" +JSON_Produkt.Produkt.Kurztext_max20+ " ";
                           ausgabe += "<i><a onclick=\"window.open('blank.php?page=produkte&id="+JSON_Produkt.Produkt.ID+"', '', 'width=800, height=600, resizable=yes, scrollbars=yes');\" href=\"#ansicht\">(klicke für Bemassung und Details)</a></i><br />";
                        }
                        document.getElementById("container_produkt_details").innerHTML = ausgabe;
                        
                        
                        if(JSON_Produkt.Produktbilder != null) {
                           
                           if(JSON_Produkt.Produktbilder.length > Config.MaxProduktImages) {
                              Zahl_Produktbilder = Config.MaxProduktImages;
                           }
                           else {
                              Zahl_Produktbilder = JSON_Produkt.Produktbilder.length;
                           }
                           for (var i=0;i<Zahl_Produktbilder;i++)
                           {
                               
                              var img = document.createElement("img");
                             
                              img.setAttribute("src", JSON_Produkt.Produktbilder[i].small);
                              img.setAttribute("class", "clickableImage");
                              img.setAttribute("alt", "Produktbild");
      
                              img.style.width = "45px";
                              img.style.height = "auto";
                              img.style.styleFloat = "right"; // IE
                              img.style.cssFloat = "right"; // Gecko
                              img.style.border = "1px solid #D1D3D4";
                              img.style.margin = "1px";
                                   
                              if(JSON_Produkt.Produktbilder[i].medium != null) {
                              
                                 var a = document.createElement("a");
                                 a.setAttribute("href", JSON_Produkt.Produktbilder[i].medium);
                                 a.setAttribute("class", "shadowbox");
                                 a.setAttribute("title", "weitere Produktdarstellung");
                                 a.setAttribute("rel", "shadowbox");
                                 a.appendChild(img);
             
                                 document.getElementById("container_produkt_details").appendChild(a);
                              }
                              else {
                                  document.getElementById("container_produkt_details").appendChild(img);
                              }
                                  
                           }
                           
                        }
                        
                        if(JSON_Produkt.Produktbemassung) {
                           document.getElementById("container_produkt_details").innerHTML = document.getElementById("container_produkt_details").innerHTML + " <div style=\"clear:both;\"></div> " +JSON_Produkt.Produktbemassung+ " ";
                        }
              
                     }
                
               // ########################################################################################
               // Schreibe Produktfarben
               // ########################################################################################
               
                     if(JSON_Data.konfigurierbar == '1') {
                        
                        document.getElementById("container_produktfarben").innerHTML = "";
                        
                        if(JSON_Produkt.Produktfarben != null) {
                        
                           for (var i=0;i<JSON_Produkt.Produktfarben.length;i++)
                           {
                              var div = document.createElement("div");
                              div.setAttribute("id", "div_farbcode_"+i);
                              
                              div.style.width = "60px";
                              div.style.height = "20px";
                              div.style.styleFloat = "left"; // IE
                              div.style.cssFloat = "left"; // Gecko
                              div.style.backgroundColor = "#"+JSON_Produkt.Produktfarben[i].Hexcode;
                              div.style.color = "#"+JSON_Produkt.Produktfarben[i].Kontrast;
                              div.style.border = "1px solid #D1D3D4";
                              div.style.margin = "0px";
                              div.style.fontSize = "11px";
                              div.style.padding = "2px 2px 0px 2px";
                              div.style.overflow = "hidden";
                              
                              div.appendChild(document.createTextNode(JSON_Produkt.Produktfarben[i].Shortname));
         
                              div.myIndex = i;
                              
                              var a = document.createElement("a");
                              a.setAttribute("href", "#ansicht");
                              a.setAttribute("id", "a_farbcode_"+i+"");
                              
                              if(a.attachEvent) {
                                
                                 a.attachEvent("onclick", function(evt) {
                                    Infoframe.changeProduktfarbe(JSON_Produkt.Produktfarben[evt.srcElement.myIndex].Code);
                                    Produkt.changeProduktfarbe(JSON_Produkt.Produkt.ID, JSON_Produkt.Produktfarben[evt.srcElement.myIndex].Code, null); 
                                 });
                              } else if(a.addEventListener) {
                                
                                
                                 var onclick = "Infoframe.changeProduktfarbe(\""+JSON_Produkt.Produktfarben[i].Code+"\"); ";
                                 onclick +=  "Produkt.changeProduktfarbe(\""+JSON_Produkt.Produkt.ID+"\", \""+JSON_Produkt.Produktfarben[i].Code+"\", null); "; 
                                 a.setAttribute("onclick", onclick);
                                
                              }
                              
                              a.appendChild(div);
                              document.getElementById("container_produktfarben").appendChild(a);
                                
                           }
                        }
                        else {
                            alert("Error: keine Produktfarben definiert");
                            document.getElementById("container_produktfarben").innerHTML = "keine Produktfarben auswählbar";
                        }
                     }
             
               // ########################################################################################
               // Schreibe Produktgroessen
               // ########################################################################################
               
                     document.getElementById("container_produktgroessen").innerHTML = "";
                      
                     if(JSON_Produkt.Produktgroessen != null) {
                     
                        if(!Produkt.firstCall) {
                           var aktueller_groessencode = document.getElementById("input_produktgroesse").value;
                        }
                        
                        var code = "<form method=\"post\" action=\""+Artikel.URL+"\">";         // Infoframe.changeProduktgroesse($F(\"produktgroessen\"));
                        code += "<select class='selectfield' id='produktgroessen' onChange='Infoframe.changeProduktgroesse(document.getElementById(\"produktgroessen\").value);'  size='1'>";
                        for (var i=0;i<JSON_Produkt.Produktgroessen.length;i++)
                        {
                           if(Produkt.firstCall) {
                              code += "  <option value=\""+JSON_Produkt.Produktgroessen[i].Code+"\" >"+JSON_Produkt.Produktgroessen[i].Name+"</option>";
                           }
                           else {
                              if(aktueller_groessencode == JSON_Produkt.Produktgroessen[i].Code) {
                                 code += "  <option value=\""+JSON_Produkt.Produktgroessen[i].Code+"\" selected>"+JSON_Produkt.Produktgroessen[i].Name+"</option>";
                              }
                              else {
                                 code += "  <option value=\""+JSON_Produkt.Produktgroessen[i].Code+"\" >"+JSON_Produkt.Produktgroessen[i].Name+"</option>";
                              }
                           }
                        }
                        code += "</select>";
                        code += "</form";                      
                        document.getElementById("container_produktgroessen").innerHTML = code;
       
                     }
                     else {
                         alert("Error: keine Produktgroessen definiert");
                         document.getElementById("container_produktgroessen").innerHTML = "keine Produktgroessen auswählbar";
                     }


               // ########################################################################################
               // Infoframe - schreibe neue Produktgruppe
               // ########################################################################################
                  
                 // if(Produkt.firstCall == 1) {
                     Infoframe.changeProduktgruppe(JSON_Produkt.Produkt.ProduktgruppenID);
                 // }
                  
               // ########################################################################################
               // Infoframe - schreibe neues Produkt
               // ########################################################################################
                  
                  //if(Produkt.firstCall == 1) {   
                     Infoframe.changeProdukt(JSON_Produkt.Produkt.ID, JSON_Produkt.Produkt.Name);
                  //}
              
               // ########################################################################################
               // Zeige Druckbereiche
               // ########################################################################################
               

                     if(JSON_Produkt.Druckbereiche != null) {
      
                        JSON_Produkt.Anzahl_Druckbereiche = JSON_Produkt.Druckbereiche.length;
                   
                     
                        var posx = [];
                        var posy = [];
                        var width = [];
                        var height = [];
                        
                        var actual_posx = [];
                        var actual_posy = [];
                        var actual_width = [];
                        var actual_height = [];
                        
                        var aktdruckbereich = 0;
                     
                        for (var j=0;j<JSON_Produkt.Druckbereiche.length;j++)
                        {
                           // schreibe aktuelle Druckbereiche in Input ##############
                           aktdruckbereich = (j+1);
                           if(document.getElementById("input_druckbereich_"+aktdruckbereich+"")) {
                              document.getElementById("input_druckbereich_"+aktdruckbereich+"").value = JSON_Produkt.Druckbereiche[j].ID
                           }
                          
                           if(JSON_Produkt.Anzahl_Druckbereiche == 1) {
                              actual_posx[j] = JSON_Produkt.Druckbereiche[j].PosX;
                              actual_posy[j] = JSON_Produkt.Druckbereiche[j].PosY;
                              actual_width[j] = JSON_Produkt.Druckbereiche[j].Width;
                              actual_height[j] = JSON_Produkt.Druckbereiche[j].Height;
                              
                              posx[j] = JSON_Produkt.Druckbereiche[j].PosX;
                              posy[j] = JSON_Produkt.Druckbereiche[j].PosY ;
                              width[j] = JSON_Produkt.Druckbereiche[j].Width;
                              height[j] = JSON_Produkt.Druckbereiche[j].Height;
                           }
                           else if(JSON_Produkt.Anzahl_Druckbereiche == 2) {
                              actual_posx[j] = 10;
                              actual_posy[j] = 10;
                              actual_width[j] = 380;
                              actual_height[j] = 350;
                              
                              posx[j] = 10;
                              posy[j] = 10 ;
                              width[j] = 380;
                              height[j] = 350;
                           }
                         
                        }

                        Produkt.changeDruckbereich(posx[0], posy[0], width[0], height[0]);
                              
                     }


               // ########################################################################################
               // Infoframe + Produkt - schreibe neue Produktfarbe
               // ########################################################################################
               
                 
                  if(document.getElementById("firstload").value == "1") {
                     
                     Infoframe.changeProduktfarbe(document.getElementById("input_produktfarbe").value);
                     Produkt.changeProduktfarbe(document.getElementById("input_produkt").value, document.getElementById("input_produktfarbe").value);
                     
                  }
                  else {
                     Infoframe.changeProduktfarbe(JSON_Produkt.Produktfarben[0].Code);
                     Produkt.changeProduktfarbe(JSON_Produkt.Produkt.ID, JSON_Produkt.Produktfarben[0].Code);

                  }
                 
               // ########################################################################################
               // Produkt - Initialisiere Text
               // ########################################################################################
      
                     var zusatz_posy_1 = 0;
                     var zusatz_posy_2 = 30;
                     var zusatz_posy_3 = 60;
                     var zusatz_posy_4 = 90;
                     var zusatz_posy_5 = 120;
                    
                     for (var i=1;i<=5;i++)
                     {
                        
                           OwnText.init(i);
                           if(svgdoc) {
                              if(svgdoc.getElementById("textzeile"+i+"")) {
                                 
                                 if(i == 1) { zusatz_posy = zusatz_posy_1; }
                                 else if(i == 2) { zusatz_posy = zusatz_posy_2; }
                                 else if(i == 3) { zusatz_posy = zusatz_posy_3; }
                                 else if(i == 4) { zusatz_posy = zusatz_posy_4; }
                                 else if(i == 5) { zusatz_posy = zusatz_posy_5; }
                                 
                                 OwnText.repositioning(i, 0, Number(posy[0]) + zusatz_posy);
                              }
                              
                            
                              
                              
                           }
                        
                     }
                     
                  
                     for (var i=1;i<=5;i++)
                     {
                        OwnText.showDruckfarben(i);
                     }
   
                     OwnText.activateZeilenconfig(1);

               // ########################################################################################
               // Produkt - ändere Produktgrösse
               // ########################################################################################

                     if(Produkt.firstCall) {
                        Infoframe.changeProduktgroesse(JSON_Produkt.Produktgroessen[0].Code, JSON_Produkt.Produktgroessen[0].Name);
                     }
                     else {
                        var aktueller_groessencode = document.getElementById("produktgroessen").value;
                       
                        Infoframe.changeProduktgroesse(aktueller_groessencode, aktueller_groessencode);
                     }

               // ########################################################################################
               // Infoframe - ändere Produktpreis
               // ########################################################################################

               
                     Infoframe.changeProduktpreis(parseFloat(JSON_Produkt.Produkt.Preis));
               
               // ########################################################################################
               // Infoframe - ändere Druckpreis
               // ########################################################################################

                     Infoframe.changeDruckpreis(parseFloat(JSON_Produkt.Druckpreis));
               
               // ########################################################################################
               // Infoframe - Preiskalkulation + Submitbuttons
               // ########################################################################################

                    
                     Infoframe.checkPrice();
                     Infoframe.errorcheck("content");
                     
               // ########################################################################################
               // #### FINAL #############################################################################
               // ########################################################################################
           
                     document.getElementById("firstload").value = "0";
                     
                     $("#loadingContainer").hide();
                     $("#globalview").show();
                     
               // ########################################################################################
               // ########################################################################################
               // ########################################################################################

                     for (var i=1;i<=5;i++)
                     {
                        
                       
                        if(document.getElementById("input_preload_text"+i+"").value) {
                          
                              if(i == 1) {
                                 Infoframe.changeTextContent(i, document.form_owntext.view_text1.value);
                                 OwnText.changeTextInhalt(i, document.form_owntext.view_text1.value);

                              }
                              else if(i == 2) {
                                 
                                 Infoframe.changeTextContent(i, document.form_owntext.view_text2.value);
                                 OwnText.changeTextInhalt(i, document.form_owntext.view_text2.value);

                              }
                              else if(i == 3) {
                                 Infoframe.changeTextContent(i, document.form_owntext.view_text3.value);
                                 OwnText.changeTextInhalt(i, document.form_owntext.view_text3.value);

                                 
                              }
                              else if(i == 4) {
                                 Infoframe.changeTextContent(i, document.form_owntext.view_text4.value);
                                 OwnText.changeTextInhalt(i, document.form_owntext.view_text4.value);

                                 
                              }
                              else if(i == 5) {
                                 Infoframe.changeTextContent(i, document.form_owntext.view_text5.value);
                                 OwnText.changeTextInhalt(i, document.form_owntext.view_text5.value);

                              }

                             
                         }
                     }


            },
          
            showLoading : function(req)
            {
               
               // $("container_produkt_details").innerHTML = "<img src=\"gfx/icons/loading.gif\"><br />Produktdetails werden geladen";
               
            },
            showError : function(req)
            {
                alert("Error: " +req.status+ "/t" +r.statusText);
            
            },
            changeProduktfarbe: function (produktid, subproduktfarbcode, druckbereichid)
            {
               
                  var svgNS = "http://www.w3.org/2000/svg";
                  var XLINK = "http://www.w3.org/1999/xlink";

                  var svgdoc = null;
                  var object = document.getElementById("frame_svg");
                  if (object.contentDocument) {
                     svgdoc = object.contentDocument;
                  }
                  else {
                     try {
                        svgdoc = object.getSVGDocument();
                     }
                     catch(exception) {
                        
                     }
                  }
   
                
                  druckbereich_1 = document.getElementById("input_druckbereich_1").value;
                  druckbereich_2 = document.getElementById("input_druckbereich_2").value;
                  druckbereich_3 = document.getElementById("input_druckbereich_3").value;
                  druckbereich_4 = document.getElementById("input_druckbereich_4").value;
                  
                  if(druckbereichid == null) {
                     druckbereichid = document.getElementById("input_druckbereich_1").value;
                  }
                  if(svgdoc) {
                 
                     if(svgdoc.getElementById("artikel_background_1")) {
                        svgdoc.getElementById("artikel_background_1").setAttribute("xlink:href", "");
                     }
                     if(svgdoc.getElementById("artikel_background_2")) {
                        svgdoc.getElementById("artikel_background_2").setAttribute("xlink:href", "");
                     }
                     if(svgdoc.getElementById("artikel_background_3")) {
                        svgdoc.getElementById("artikel_background_3").setAttribute("xlink:href", "");
                     }
                     if(svgdoc.getElementById("artikel_background_4")) {
                        svgdoc.getElementById("artikel_background_4").setAttribute("xlink:href", "");
                     }
                     
                     if(JSON_Produkt.Anzahl_Druckbereiche == 1) {
                        var produktbild = 'gfx/produkte/'+produktid+'/'+druckbereichid+'_'+subproduktfarbcode+'_400.png';
                        svgdoc.getElementById("artikel_background_1").setAttribute("xlink:href", produktbild);
                        svgdoc.getElementById("artikel_background_1").setAttribute("width", 400);
                        svgdoc.getElementById("artikel_background_1").setAttribute("height", 400);
                        svgdoc.getElementById("artikel_background_1").setAttribute("x", 0);
                        svgdoc.getElementById("artikel_background_1").setAttribute("y", 0);
                     }
                     else if(JSON_Produkt.Anzahl_Druckbereiche == 2) {
                        
                        if(druckbereich_1) {
                           var produktbild_1 = 'gfx/produkte/'+produktid+'/'+druckbereich_1+'_'+subproduktfarbcode+'_400.png';
                           svgdoc.getElementById("artikel_background_1").setAttribute("xlink:href", produktbild_1);
                           svgdoc.getElementById("artikel_background_1").setAttribute("width", 250);
                           svgdoc.getElementById("artikel_background_1").setAttribute("height", 250);
                           svgdoc.getElementById("artikel_background_1").setAttribute("x", 0);
                           svgdoc.getElementById("artikel_background_1").setAttribute("y", 20); 
                        }
                        if(druckbereich_2) {
                           var produktbild_2 = 'gfx/produkte/'+produktid+'/'+druckbereich_2+'_'+subproduktfarbcode+'_400.png';
                          
                           if(svgdoc.getElementById("artikel_background_2")) {
                              
                              svgdoc.getElementById("artikel_background_2").setAttribute("xlink:href", produktbild_2);
                             
                              svgdoc.getElementById("artikel_background_2").setAttribute("width", 250);
                              svgdoc.getElementById("artikel_background_2").setAttribute("height", 250);
                              svgdoc.getElementById("artikel_background_2").setAttribute("x", 150);
                              svgdoc.getElementById("artikel_background_2").setAttribute("y", 100);
                           }
                           
                          
                        }
                        
                     }
   
                     
                  }
                  else {
                     
                     if(document.getElementById("container_produktbild")) {
                        document.getElementById("container_produktbild").innerHTML = "";
                     }
                     Infoframe.disableSubmitbutton(true);
                     
                     
                  }
           
         },
        
         changeDruckbereich: function(posx, posy, width, height, druckbereichid)
         {

            svgdoc = null;  
            var object = document.getElementById("frame_svg");
            if (object.contentDocument) 
              svgdoc = object.contentDocument;
            else {
              try {
                svgdoc = object.getSVGDocument();
              }
              catch(exception) {
                // ignore errors
              }
            }
               
            if(druckbereichid && svgdoc) {
               var aktuellerproduktfarbe = document.getElementById("input_produktfarbe").value;
               var aktuellesprodukt = document.getElementById("input_produkt").value;
               
               svgdoc.getElementById("artikel_background_1").setAttribute("xlink:href", 'gfx/produkte/'+aktuellesprodukt+'/'+druckbereichid+'_'+aktuellerproduktfarbe+'_400.png');
            }
            
            var druckbereich_posx = Number(posx) * Artikel.Scale;
            var druckbereich_posy = Number(posy) * Artikel.Scale;
            var druckbereich_width = Number(width) * Artikel.Scale;
            var druckbereich_height = Number(height) * Artikel.Scale;

            // setze Marker falls Aktiviert
               
            if(JSON_Data.konfigurierbar == '1') {
               // Druckbereich wird eingezeichnet #####
               if(svgdoc && svgdoc.getElementById("druckbereich")) {

                  svgdoc.getElementById("druckbereich").setAttribute("style", "fill-opacity:0.1; stroke:#000000; stroke-opacity:0.05; stroke-width:1px");
                  svgdoc.getElementById("druckbereich").setAttribute("x", druckbereich_posx);
                  svgdoc.getElementById("druckbereich").setAttribute("y", druckbereich_posy);
                  svgdoc.getElementById("druckbereich").setAttribute("width", druckbereich_width);
                  svgdoc.getElementById("druckbereich").setAttribute("height", druckbereich_height);
                  
                  // Marker 1 = Druckbereich PosX / Druckbereich PosY
                  marker1_x = druckbereich_posx;
                  marker1_y = druckbereich_posy;
                  
                  // Marker 2 = Druckbereich PosX + DruckbereichWidth   / Druckbereich PosY
                  marker2_x = druckbereich_posx + druckbereich_width;
                  marker2_y = druckbereich_posy;
                  
                  // Marker 3 = Druckbereich PosX  / Druckbereich PosY + Druckbereich Height
                  marker3_x = druckbereich_posx;
                  marker3_y = druckbereich_posy + druckbereich_height;
   
                  // Marker 4 = Druckbereich PosX + Druckbereich Width  / Druckbereich Posy + Druckbereich Height
                  marker4_x = druckbereich_posx + druckbereich_width;
                  marker4_y = druckbereich_posy + druckbereich_height;
                  
                  markerwidth = 5;

                  svgdoc.getElementById("Marker_1").setAttribute("x", marker1_x-markerwidth);
                  svgdoc.getElementById("Marker_1").setAttribute("y", marker1_y-markerwidth);
                  
                  svgdoc.getElementById("Marker_2").setAttribute("x", marker2_x);
                  svgdoc.getElementById("Marker_2").setAttribute("y", marker2_y-markerwidth);
                  
                  svgdoc.getElementById("Marker_3").setAttribute("x", marker3_x-markerwidth);
                  svgdoc.getElementById("Marker_3").setAttribute("y", marker3_y);
                  
                  svgdoc.getElementById("Marker_4").setAttribute("x", marker4_x);
                  svgdoc.getElementById("Marker_4").setAttribute("y", marker4_y);
                  
               }   
            }

         }
      };

      var Artikelbackground = {
         
         
         showMarker: function()
         {
            var svgNS = "http://www.w3.org/2000/svg";
            var XLINK = "http://www.w3.org/1999/xlink";
            
            var svgdoc = null;  
            var object = document.getElementById("frame_svg");
            if (object.contentDocument) 
               svgdoc = object.contentDocument;
            else {
               try {
                 svgdoc = object.getSVGDocument();
               }
               catch(exception) {
                 // ignore errors
               }
            }
            if(svgdoc) {
               for (var i=1;i<=4;i++) {
                  if(!svgdoc.getElementById("Marker_"+i+"")) {
                     var marker = svgdoc.createElementNS(svgNS, "rect");
                        marker.setAttributeNS(null, "id", "Marker_"+i+"");
                        marker.setAttributeNS(null, "x", "0");
                        marker.setAttributeNS(null, "y", "0");
                        marker.setAttributeNS(null, "width", "5");
                        marker.setAttributeNS(null, "height", "5");
                        marker.setAttributeNS(null, "style", "fill: gray; stroke: rgb(34, 34, 34); stroke-width: 1 ");
                        svgdoc.getElementById("main_svg").appendChild(marker);
                  }   
               }
            }
            
         }
         
      };
      
      
       /*
      *****************************************************************************************
      *****************************************************************************************
      *****************************************************************************************
      *****************************************************************************************
      *****************************************************************************************
      *
      * 
      *
      *
      *****************************************************************************************
      *****************************************************************************************
      *****************************************************************************************
      *****************************************************************************************
      *****************************************************************************************
      */
      
      var OwnText = {
         
            
         init: function (objektid)
         {
            
           
            var svgNS = "http://www.w3.org/2000/svg";
            var XLINK = "http://www.w3.org/1999/xlink";
            
            var objekt = "textzeile"+objektid;
            
            if(svgdoc) { 
              
               if(Produkt.firstCall == 1) {	  
              
                  var druckbereich = svgdoc.getElementById('druckbereich');                   
                  OwnText.area_x =          Number(druckbereich.getAttributeNS(null, 'x'));
                  OwnText.area_y =          Number(druckbereich.getAttributeNS(null, 'y'));
                  OwnText.area_height =     Number(druckbereich.getAttributeNS(null, 'height'));
                  OwnText.area_width =      Number(druckbereich.getAttributeNS(null, 'width'));

                  if(document.getElementById("input_text"+objektid+"_fill").value) {
                     this.color = document.getElementById("input_text"+objektid+"_fill").value;
                  }
                  else {
                     this.color = Config.OwnTextcolor[objektid];
                  }
                  
                  if(document.getElementById("input_text"+objektid+"_font-size").value) {
                     this.fontSize = document.getElementById("input_text"+objektid+"_font-size").value;
                  }
                  else {
                     this.fontSize = Config.OwnTextfontSize[objektid];
                  }
                  
                  if(document.getElementById("input_text"+objektid+"_font-family").value) {
                     this.fontFamily = document.getElementById("input_text"+objektid+"_font-family").value;
                  }
                  else {
                     this.fontFamily = Config.OwnTextfontFamily[objektid];
                  }
                  
                  if(document.getElementById("input_text"+objektid+"_font-weight").value) {
                     this.fontWeight = document.getElementById("input_text"+objektid+"_font-weight").value;
                  }
                  else {
                     this.fontWeight =  "normal";  // normal, bold
                  }
                  
                  if(document.getElementById("input_text"+objektid+"_font-style").value) {
                     this.fontStyle = document.getElementById("input_text"+objektid+"_font-style").value;
                  }
                  else {
                     this.fontStyle = "normal";  // normal, oblique
                  }
                  
                  if(document.getElementById("input_text"+objektid+"_stroke").value) {
                     this.stroke = document.getElementById("input_text"+objektid+"_stroke").value;
                  }
                  else {
                     this.stroke = "000000";
                  }
                  
                  
                  if(document.getElementById("input_text"+objektid+"_stroke-width").value) {
                     this.strokeWidth = document.getElementById("input_text"+objektid+"_stroke-width").value;
                  }
                  else {
                     this.strokeWidth = "0";
                  }
                  
                  if(document.getElementById("input_text"+objektid+"_x").value) {
                     this.x = document.getElementById("input_text"+objektid+"_x").value;
                  }
                  else {
                     this.x = OwnText.area_x;
                  }
                  
                  if(document.getElementById("input_text"+objektid+"_y").value) {
                     this.y = document.getElementById("input_text"+objektid+"_y").value;
                  }
                  else {
                     this.y = OwnText.area_y;
                  }
                  
                  if(document.getElementById("input_text"+objektid+"_dy").value) {
                     this.dy = document.getElementById("input_text"+objektid+"_dy").value;
                  }
                  else {
                     this.dy = "0";
                  }

                  if(svgdoc) {
                    
                    
                     this.x = Math.round(this.x);
                     this.y = Math.round(this.y);
                    
                     var newSVG = svgdoc.createElementNS(svgNS, "svg");
                     newSVG.setAttributeNS(null, "id", "svg_text"+objektid+"");
                     newSVG.setAttributeNS(null, "x", this.x);
                     newSVG.setAttributeNS(null, "y", this.y);
                     newSVG.setAttributeNS(null, "style", "shape-rendering:geometricPrecision; cursor:move; text-rendering:geometricPrecision; fill-rule:evenodd; clip-rule:evenodd;");
                     newSVG.setAttributeNS(null, "version", "1.1");
                    
                     svgdoc.getElementById("main_svg").appendChild(newSVG);
                     
                     var newText = svgdoc.createElementNS(svgNS, "text");
                     newText.setAttributeNS(null, "id", "textzeile"+objektid+"");
                    
                     newText.setAttributeNS(null, "dy", this.dy);
                     newText.setAttributeNS(null, "fill", "#"+this.color);
                     newText.setAttributeNS(null, "font-size", this.fontSize);
                     newText.setAttributeNS(null, "font-family", this.fontFamily);
                     newText.setAttributeNS(null, "font-weight", this.fontWeight);
                     newText.setAttributeNS(null, "font-style", this.fontStyle);
                     newText.setAttributeNS(null, "stroke", "#"+this.stroke);
                     newText.setAttributeNS(null, "stroke-width", this.strokeWidth);
   
                     if(objektid == "1") {
                        newText.addEventListener("mousedown", OwnText.mousedown_listener_1, false);
                     }
                     else if(objektid == "2") {
                        newText.addEventListener("mousedown", OwnText.mousedown_listener_2, false);
                     }
                     else if(objektid == "3") {
                        newText.addEventListener("mousedown", OwnText.mousedown_listener_3, false);
                     }
                     else if(objektid == "4") {
                        newText.addEventListener("mousedown", OwnText.mousedown_listener_4, false);
                     }
                     else if(objektid == "5") {
                        newText.addEventListener("mousedown", OwnText.mousedown_listener_5, false);
                     }
   
                     svgdoc.getElementById("svg_text"+objektid+"").appendChild(newText);
 
                     Infoframe.changeTextAttribute(objektid, "x", this.x);
                     Infoframe.changeTextAttribute(objektid, "y", this.y);
                     Infoframe.changeTextAttribute(objektid, "fill", this.color);
                     Infoframe.changeTextAttribute(objektid, "font-size", this.fontSize);
                     Infoframe.changeTextAttribute(objektid, "font-family", this.fontFamily);
                     Infoframe.changeTextAttribute(objektid, "font-weight", this.fontWeight);
                     Infoframe.changeTextAttribute(objektid, "font-style", this.fontStyle);
                     Infoframe.changeTextAttribute(objektid, "font-family", this.fontFamily);
                     Infoframe.changeTextAttribute(objektid, "stroke", this.stroke);
                     Infoframe.changeTextAttribute(objektid, "stroke-width", this.strokeWidth);
   
                  }
               
               }
            }

         },
       
         mousedown_listener_1: function(evt)
         {
            
               var obj = svgdoc.getElementById("textzeile1");
            
               obj_x = Number(obj.getAttributeNS(null, 'x'));
               obj_y = Number(obj.getAttributeNS(null, 'y'));

               OwnText.x2 = obj_x - evt.clientX;
               OwnText.y2 = obj_y - evt.clientY;

               if(window.addEventListener) {
                   svgdoc.addEventListener("mousemove", OwnText.mousemove_listener_1, true);
                   svgdoc.addEventListener("mouseup", OwnText.mouseup_listener_1, true);
               }
               
               OwnText.activateZeilenconfig(1);
               document.getElementById("input_akttextpos").value = 1;
               OwnText.Textplace = 1;
               
         },
         mousedown_listener_2: function(evt)
         {
         
               var obj = svgdoc.getElementById("textzeile2");
            
               obj_x = Number(obj.getAttributeNS(null, 'x'));
               obj_y = Number(obj.getAttributeNS(null, 'y'));

               OwnText.x2 = obj_x - evt.clientX;
               OwnText.y2 = obj_y - evt.clientY;

               if(window.addEventListener) {
                   svgdoc.addEventListener("mousemove", OwnText.mousemove_listener_2, true);
                   svgdoc.addEventListener("mouseup", OwnText.mouseup_listener_2, true);
               }
               
               OwnText.activateZeilenconfig(2);
               document.getElementById("input_akttextpos").value = 2;
               OwnText.Textplace = 2;
               
         },
         mousedown_listener_3: function(evt)
         {
            
               var obj = svgdoc.getElementById("textzeile3");
            
               obj_x = Number(obj.getAttributeNS(null, 'x'));
               obj_y = Number(obj.getAttributeNS(null, 'y'));

               OwnText.x2 = obj_x - evt.clientX;
               OwnText.y2 = obj_y - evt.clientY;

               if(window.addEventListener) {
                   svgdoc.addEventListener("mousemove", OwnText.mousemove_listener_3, true);
                   svgdoc.addEventListener("mouseup", OwnText.mouseup_listener_3, true);
               }
               
               OwnText.activateZeilenconfig(3);
               document.getElementById("input_akttextpos").value = 3;
               OwnText.Textplace = 3;
         },
         mousedown_listener_4: function(evt)
         {
            
               var obj = svgdoc.getElementById("textzeile4");
            
               obj_x = Number(obj.getAttributeNS(null, 'x'));
               obj_y = Number(obj.getAttributeNS(null, 'y'));

               OwnText.x2 = obj_x - evt.clientX;
               OwnText.y2 = obj_y - evt.clientY;

               if(window.addEventListener) {
                   svgdoc.addEventListener("mousemove", OwnText.mousemove_listener_4, true);
                   svgdoc.addEventListener("mouseup", OwnText.mouseup_listener_4, true);
               }
               
               OwnText.activateZeilenconfig(4);
               document.getElementById("input_akttextpos").value = 4;
               OwnText.Textplace = 4;
         },
         mousedown_listener_5: function(evt)
         {
            
               var obj = svgdoc.getElementById("textzeile5");
            
               obj_x = Number(obj.getAttributeNS(null, 'x'));
               obj_y = Number(obj.getAttributeNS(null, 'y'));

               OwnText.x2 = obj_x - evt.clientX;
               OwnText.y2 = obj_y - evt.clientY;

               if(window.addEventListener) {
                   svgdoc.addEventListener("mousemove", OwnText.mousemove_listener_5, true);
                   svgdoc.addEventListener("mouseup", OwnText.mouseup_listener_5, true);
               }
               
               OwnText.activateZeilenconfig(5);
               document.getElementById("input_akttextpos").value = 5;
               OwnText.Textplace = 5;
         },
         
         mousemove_listener_1: function(evt)
         {
               
               var textzeile = svgdoc.getElementById("textzeile1");
               var textobject = textzeile.ownerSVGElement.suspendRedraw(1000);
               var textlaenge = Math.round(textzeile.getComputedTextLength());
               
               if(svgdoc.getElementById('textzeile1')) {
               
                  var texthoehe = textzeile.getBBox();
               }
               else {
                  var to = window.setTimeout('mousemove_listener_1(evt)', 100);
                  
               }
               if(texthoehe.height > 0) {
                  var text_gesamthoehe = Math.round(texthoehe.height);
               }
            
               x = evt.clientX + OwnText.x2; 
               y = evt.clientY + OwnText.y2;
              
               if(x + textlaenge >  OwnText.area_width) { 
                 x =  OwnText.area_width - textlaenge; 
               }
               
               if(x < 0) { 
                 x = 0; 
               }
               if(y < text_gesamthoehe) { 
                  y = text_gesamthoehe; 
               }
               
               if((y + (2*text_gesamthoehe))  > (OwnText.area_y + OwnText.area_height) ) { 
                 y = (OwnText.area_y + OwnText.area_height) - (2 * text_gesamthoehe); 
               }
               
               x = Math.round(x);
               y = Math.round(y);
               
               textzeile.setAttributeNS(null, 'x', x);
               textzeile.setAttributeNS(null, 'y', y);
               
               
               Infoframe.changeTextAttribute(OwnText.Textplace, "x", x);
               Infoframe.changeTextAttribute(OwnText.Textplace, "y", y);
               
               textzeile.ownerSVGElement.unsuspendRedraw(textobject);

             
         },
         mousemove_listener_2: function(evt)
         {
              
               var textzeile = svgdoc.getElementById("textzeile2");
               var textobject = textzeile.ownerSVGElement.suspendRedraw(1000);
               var textlaenge = Math.round(textzeile.getComputedTextLength());
               var texthoehe = textzeile.getBBox();
               if(texthoehe.height > 0) {
                  var text_gesamthoehe = Math.round(texthoehe.height);
               }
            
               x = evt.clientX + OwnText.x2; 
               y = evt.clientY + OwnText.y2;

               if(x + textlaenge >  OwnText.area_width) { 
                 x =  OwnText.area_width - textlaenge; 
               }
               
               if(x < 0) { 
                 x = 0; 
               }
               if(y < text_gesamthoehe) { 
                  y = text_gesamthoehe; 
               }
               
               if((y + (2*text_gesamthoehe))  > (OwnText.area_y + OwnText.area_height) ) { 
                 y = (OwnText.area_y + OwnText.area_height) - (2 * text_gesamthoehe); 
               }
               x = Math.round(x);
               y = Math.round(y);
               textzeile.setAttributeNS(null, 'x', x);
               textzeile.setAttributeNS(null, 'y', y);
               
              
               Infoframe.changeTextAttribute(OwnText.Textplace, "x", x);
               Infoframe.changeTextAttribute(OwnText.Textplace, "y", y);
               
               textzeile.ownerSVGElement.unsuspendRedraw(textobject);

         },
         mousemove_listener_3: function(evt)
         {
              
               var textzeile = svgdoc.getElementById("textzeile3");
               var textobject = textzeile.ownerSVGElement.suspendRedraw(1000);
               var textlaenge = Math.round(textzeile.getComputedTextLength());
               var texthoehe = textzeile.getBBox();
               if(texthoehe.height > 0) {
                  var text_gesamthoehe = Math.round(texthoehe.height);
               }
            
               x = evt.clientX + OwnText.x2; 
               y = evt.clientY + OwnText.y2;

               if(x + textlaenge >  OwnText.area_width) { 
                 x =  OwnText.area_width - textlaenge; 
               }
               
               if(x < 0) { 
                 x = 0; 
               }
               if(y < text_gesamthoehe) { 
                  y = text_gesamthoehe; 
               }
               
               if((y + (2*text_gesamthoehe))  > (OwnText.area_y + OwnText.area_height) ) { 
                 y = (OwnText.area_y + OwnText.area_height) - (2 * text_gesamthoehe); 
               }
               x = Math.round(x);
               y = Math.round(y);
               textzeile.setAttributeNS(null, 'x', x);
               textzeile.setAttributeNS(null, 'y', y);
               
              
               Infoframe.changeTextAttribute(OwnText.Textplace, "x", x);
               Infoframe.changeTextAttribute(OwnText.Textplace, "y", y);
               
               textzeile.ownerSVGElement.unsuspendRedraw(textobject);

         },
         mousemove_listener_4: function(evt)
         {
              
               var textzeile = svgdoc.getElementById("textzeile4");
               var textobject = textzeile.ownerSVGElement.suspendRedraw(1000);
               var textlaenge = Math.round(textzeile.getComputedTextLength());
               var texthoehe = textzeile.getBBox();
               if(texthoehe.height > 0) {
                  var text_gesamthoehe = Math.round(texthoehe.height);
               }
            
               x = evt.clientX + OwnText.x2; 
               y = evt.clientY + OwnText.y2;

               if(x + textlaenge >  OwnText.area_width) { 
                 x =  OwnText.area_width - textlaenge; 
               }
               
               if(x < 0) { 
                 x = 0; 
               }
               if(y < text_gesamthoehe) { 
                  y = text_gesamthoehe; 
               }
               
               if((y + (2*text_gesamthoehe))  > (OwnText.area_y + OwnText.area_height) ) { 
                 y = (OwnText.area_y + OwnText.area_height) - (2 * text_gesamthoehe); 
               }
               x = Math.round(x);
               y = Math.round(y);
               textzeile.setAttributeNS(null, 'x', x);
               textzeile.setAttributeNS(null, 'y', y);
               
              
               Infoframe.changeTextAttribute(OwnText.Textplace, "x", x);
               Infoframe.changeTextAttribute(OwnText.Textplace, "y", y);
               
               
               textzeile.ownerSVGElement.unsuspendRedraw(textobject);

         },
         mousemove_listener_5: function(evt)
         {
              
               var textzeile = svgdoc.getElementById("textzeile5");
               var textobject = textzeile.ownerSVGElement.suspendRedraw(1000);
               var textlaenge = Math.round(textzeile.getComputedTextLength());
               var texthoehe = textzeile.getBBox();
               if(texthoehe.height > 0) {
                  var text_gesamthoehe = Math.round(texthoehe.height);
               }
            
               x = evt.clientX + OwnText.x2; 
               y = evt.clientY + OwnText.y2;

               if(x + textlaenge >  OwnText.area_width) { 
                 x =  OwnText.area_width - textlaenge; 
               }
               
               if(x < 0) { 
                 x = 0; 
               }
               if(y < text_gesamthoehe) { 
                  y = text_gesamthoehe; 
               }
               
               if((y + (2*text_gesamthoehe))  > (OwnText.area_y + OwnText.area_height) ) { 
                 y = (OwnText.area_y + OwnText.area_height) - (2 * text_gesamthoehe); 
               }
               x = Math.round(x);
               y = Math.round(y);
               textzeile.setAttributeNS(null, 'x', x);
               textzeile.setAttributeNS(null, 'y', y);
               
               
               Infoframe.changeTextAttribute(OwnText.Textplace, "x", x);
               Infoframe.changeTextAttribute(OwnText.Textplace, "y", y);
               
               textzeile.ownerSVGElement.unsuspendRedraw(textobject);

         },
         
         mouseup_listener_1: function(evt)
         {
               svgdoc.removeEventListener("mousemove", OwnText.mousemove_listener_1, true);
               svgdoc.removeEventListener("mouseup", OwnText.mouseup_listener_1, true);
         },
         mouseup_listener_2: function(evt)
         {
               svgdoc.removeEventListener("mousemove", OwnText.mousemove_listener_2, true);
               svgdoc.removeEventListener("mouseup", OwnText.mouseup_listener_2, true);
         },
         mouseup_listener_3: function(evt)
         {
               svgdoc.removeEventListener("mousemove", OwnText.mousemove_listener_3, true);
               svgdoc.removeEventListener("mouseup", OwnText.mouseup_listener_3, true);
         },
         mouseup_listener_4: function(evt)
         {
               svgdoc.removeEventListener("mousemove", OwnText.mousemove_listener_4, true);
               svgdoc.removeEventListener("mouseup", OwnText.mouseup_listener_4, true);
         },
         mouseup_listener_5: function(evt)
         {
               svgdoc.removeEventListener("mousemove", OwnText.mousemove_listener_5, true);
               svgdoc.removeEventListener("mouseup", OwnText.mouseup_listener_5, true);
         },
         repositioning: function(zeilenid, druckbereich_posx, druckbereich_posy)
         {
            
            var objekt = "textzeile"+zeilenid;
            
            if(svgdoc.getElementById(objekt)) {
               motiv = svgdoc.getElementById(objekt);
               motiv_position_y =   Number(motiv.getAttributeNS(null, "y"));
            }
           
            faktor = 0;

            area = svgdoc.getElementById("druckbereich");
            area_x =       Number(area.getAttributeNS(null, 'x'));
            area_y =       Number(area.getAttributeNS(null, 'y'));
            area_height =  Number(area.getAttributeNS(null, 'height'));
            area_width =   Number(area.getAttributeNS(null, 'width'));

            var druckbereich_posx1 = area_x;
            var druckbereich_posx2 = area_x + area_width;
            var druckbereich_posy1 = area_y;
            var druckbereich_posy2 = area_y + area_height;
            var druckbereich_width = area_width;
            var druckbereich_height = area_height;
          
            if(svgdoc) {
                  
               if(svgdoc.getElementById("textzeile"+zeilenid+"")) {
                  //var zeilenpixel = svgdoc.getElementById("textzeile"+zeilenid+"").getBBox();
                  var zeilenpixel = false;
                  if(zeilenpixel) {
                     if(zeilenpixel.width > 0) {
                    
                        var newpos_x = (druckbereich_width - zeilenpixel.width) / 2;
                        motiv.setAttributeNS(null, 'x', newpos_x);
                        Infoframe.changeTextAttribute(zeilenid, "x", newpos_x);
                     }
                     else {
                        motiv.setAttributeNS(null, 'x', druckbereich_posx);
                        Infoframe.changeTextAttribute(zeilenid, "x", druckbereich_posx);
                     }
                     
                     
                     if((zeilenpixel.height + motiv_position_y) > druckbereich_height) {
                       
                        var newpos_y = (druckbereich_height/2) + zeilenpixel.height;
                       
                        motiv.setAttributeNS(null, 'y', newpos_y);
                        Infoframe.changeTextAttribute(zeilenid, "y", newpos_y);
                        
                     }
                     else if(druckbereich_posy) {
                        motiv.setAttributeNS(null, 'y', druckbereich_posy);
                        Infoframe.changeTextAttribute(zeilenid, "y", druckbereich_posy);
                     }

                  }
                  else {
                     
                  }
               
               }
               
            }
            
         },
         activateZeilenconfig: function(zeilenid)
         {
            /*  Activer Block sichtbar stellen  */
            for (var i=1;i<=5;i++)
            {
               if(document.getElementById("container_weitere_textconfigs_"+i)) {
                  document.getElementById("container_weitere_textconfigs_"+i).style.display = "none";
               }
               
            }

            if(document.getElementById("container_weitere_textconfigs_"+zeilenid+"")) {
               document.getElementById("container_weitere_textconfigs_"+zeilenid+"").style.display = "block";
            }
            
            
            /*  Activer Textblock grau einfärben   */
            for (var i=1;i<=5;i++)
            {
               if(document.getElementById("outcontainer_text_"+i+"")) {
                  document.getElementById("outcontainer_text_"+i+"").style.backgroundColor = "transparent";
               }
            }
            
            if(document.getElementById("outcontainer_text_"+zeilenid+"")) {
               document.getElementById("outcontainer_text_"+zeilenid+"").style.backgroundColor = "#CCC";
            }
            
            
            
         },
      
         changeTextInhalt: function(objektid, text)
         {
            
                  var svgNS = "http://www.w3.org/2000/svg";
                  var XLINK = "http://www.w3.org/1999/xlink";

                  var svgdoc = null;
                  var object = document.getElementById("frame_svg");
                  if (object.contentDocument) {
                     svgdoc = object.contentDocument;
                  }
                  else {
                     try {
                        svgdoc = object.getSVGDocument();
                     }
                     catch(exception) {
                        
                     }
                  }
               
           
           
            var objekt = "textzeile"+objektid;
            
            OwnText.activateZeilenconfig(objektid);
            
            if(svgdoc) {
               obj = svgdoc.getElementById(objekt);
               if(obj) {
                  
                  
                  var newText = svgdoc.createTextNode(text);
                  if(svgdoc.getElementById(objekt).firstChild) {
                     obj.removeChild(svgdoc.getElementById(objekt).firstChild);
                  }
                  obj.appendChild(newText, svgdoc.getElementById(objekt).firstChild);
                 
                  Infoframe.changeTextContent(objektid, text);
                 
                  if(this.checkTextLength(objektid)) {
 
                  }
                  else {
                     this.changeTextSize(objektid, -2);
                  }
                  
               }
            
            
               anzahl_zeichen = svgdoc.getElementById(objekt).getNumberOfChars();
              
               var offset = 0;
               var height1 = 0;
               var height2 = 0;
               
               if(svgdoc.getElementById("textzeile"+objektid+"")) {
                  akt_anzahl_zeichen = svgdoc.getElementById("textzeile"+objektid+"").getNumberOfChars();
                  
                  
                  zeilenpixel = svgdoc.getElementById("textzeile"+objektid+"").getBBox();
                 
               
                  if(zeilenpixel.height > 0) {  
                     //height_gesamt =  height1 + zeilenpixel.height + offset;
                     
                     
                     // ##### korrigiere Y-Position ####################################
                     
                     if(objektid == 1) {
                         offset_y = Config.OwnTextOffsetY[1];
                     }
                     else if(objektid == 2) {
                         offset_y = Config.OwnTextOffsetY[2];
                     }
                     else if(objektid == 3) {
                         offset_y = Config.OwnTextOffsetY[3];
                     }
                     else if(objektid == 4) {
                         offset_y = Config.OwnTextOffsetY[4];
                     }
                     else if(objektid == 5) {
                         offset_y = Config.OwnTextOffsetY[5];
                     }
                    
                     height1 =  zeilenpixel.height + offset_y;
                     height1 = Math.round(height1);
                     
                    // if(document.getElementById("input_text"+objektid+"_x").value == false) {
                        svgdoc.getElementById("textzeile"+objektid+"").setAttributeNS(null, "y", height1);
                        Infoframe.changeTextAttribute(objektid, "y", height1);
                        
                    // }
                     
                     // ##### korrigiere X-Position ####################################
                    // if(document.getElementById("input_text"+objektid+"_x").value == false) {
                        offset_x = Config.OwnTextOffsetX;
                        
                        svgdoc.getElementById("textzeile"+objektid+"").setAttributeNS(null, "x", offset_x);
                        Infoframe.changeTextAttribute(objektid, "x", offset_x);
                     //}
                  }
                  
               }
            
            }
            Infoframe.checkPrice();
            Infoframe.errorcheck("content");
         },
      
         changeTextColor: function(objektid, color)
         {
            var objekt = "textzeile"+objektid;
            this.color = color;
           
            if(svgdoc.getElementById(objekt)) {
                  svgdoc.getElementById(objekt).setAttribute("fill", "#"+this.color);
                  Infoframe.changeTextAttribute(objektid, "fill", this.color);
                  
            }
            
         },
         changeTextSize: function(objektid, fontfaktor)
         {
           
            var objekt = "textzeile"+objektid;
            fontfaktor = parseInt(fontfaktor);
            if(svgdoc.getElementById(objekt)) {
 
               oldfontSize =  svgdoc.getElementById(objekt).getAttribute("font-size");
               
               if(this.checkTextLength(objektid) == true) {
                  newfontSize =  parseInt(oldfontSize) + fontfaktor;
                  if(newfontSize < Config.OwnTextMinimumSize) {
                     newfontSize = Config.OwnTextMinimumSize;
                  }
                  svgdoc.getElementById(objekt).setAttribute("font-size", newfontSize);
                  Infoframe.changeTextAttribute(objektid, "font-size", newfontSize);
               }
               else {
                  newfontSize =  parseInt(oldfontSize) - 1;
                  if(newfontSize > Config.OwnTextMinimumSize) {
                     
                     svgdoc.getElementById(objekt).setAttribute("font-size", newfontSize);
                     Infoframe.changeTextAttribute(objektid, "font-size", newfontSize);
                     if(this.checkTextLength(objektid) == false) {
                        this.changeTextSize(objektid, -1);
                     }
                   
                  }
                  else {
                     alert("minimale Schriftgroesse erreicht");
                     svgdoc.getElementById(objekt).setAttribute("font-size", Config.OwnTextMinimumSize);
                     Infoframe.changeTextAttribute(objektid, "font-size", Config.OwnTextMinimumSize);
                  }
               }
               
               
              
                
            }
         },
         
         checkTextLength: function(objektid)
         {
            var objekt = "textzeile"+objektid;
            if(svgdoc) {
               textlaenge = svgdoc.getElementById(objekt).getComputedTextLength();

               if(textlaenge >= this.area_width) {
                  
                  return false;
               
               }
               else {
                  return true;
               }
               
            }
         },
         changeTextFontFamily: function(objektid, fontFamily)
         {
            var objekt = "textzeile"+objektid;
            this.fontFamily = fontFamily;
            
            if(svgdoc.getElementById(objekt)) {
                  svgdoc.getElementById(objekt).setAttribute("font-family", this.fontFamily);
                  Infoframe.changeTextAttribute(objektid, "font-family", this.fontFamily);
                  this.checkTextLength(objektid);
            }
         },
         changeTextFontWeight: function(objektid, fontWeight)
         {
            var objekt = "textzeile"+objektid;
            this.fontWeight = fontWeight;
            
            if(svgdoc.getElementById(objekt)) {
                  svgdoc.getElementById(objekt).setAttribute("font-weight", this.fontWeight);
                  Infoframe.changeTextAttribute(objektid, "font-weight", this.fontWeight);
            }
         },
         changeTextFontStyle: function(objektid, fontStyle)
         {
            var objekt = "textzeile"+objektid;
            this.fontStyle = fontStyle;
            
            if(svgdoc.getElementById(objekt)) {
                  svgdoc.getElementById(objekt).setAttribute("font-style", this.fontStyle);
                  Infoframe.changeTextAttribute(objektid, "font-style", this.fontStyle);
            }
            
         },
         changeTextStrokeWidth: function(objektid, strokeWidth)
         {
            var objekt = "textzeile"+objektid;
            this.strokeWidth = strokeWidth;
            
            if(svgdoc.getElementById(objekt)) {
                  svgdoc.getElementById(objekt).setAttribute("stroke-width", this.strokeWidth);
                  Infoframe.changeTextAttribute(objektid, "stroke-width", this.strokeWidth);
                  this.checkTextLength(objektid);
            }
         },
      
         changeTextStrokeColor: function(objektid, stroke)
         {
            var objekt = "textzeile"+objektid;
            this.stroke = stroke;
            
            if(svgdoc.getElementById(objekt)) {
                  svgdoc.getElementById(objekt).setAttribute("stroke", "#"+this.stroke);
                  Infoframe.changeTextAttribute(objektid, "stroke", this.stroke);
            }
         },
         showDruckfarben : function(objektid)
         {
             
               if(JSON_Data.konfigurierbar == '1') {
                  
                  if(document.getElementById("OwnText_possibleColors"+objektid+"")) {      
                     document.getElementById("OwnText_possibleColors"+objektid+"").innerHTML = "";
                  
                     if(JSON_Data.Druckfarben != null) {
                       
                        
                        for (var i=0;i<JSON_Data.Druckfarben.length;i++)
                        {
                         
                           var div = document.createElement("div");
                          // div.setAttribute("id", "div_druckfarbe_"+i);
                           
                           div.style.width = "15px";
                           div.style.minHeight = "15px";
                           div.style.styleFloat = "left"; // IE
                           div.style.cssFloat = "left"; // Gecko
                           div.style.fontSize = "11px";
                           div.style.backgroundColor = "#"+JSON_Data.Druckfarben[i].Farbcode;
                           div.style.color = "#"+JSON_Data.Druckfarben[i].Textkontrast;
                           div.style.border = "1px solid #D1D3D4";
                           div.style.margin = "1px";
                           //div.style.padding = "2px 5px 0px 5px";
                           div.style.overflow = "hidden";
                           
                          
                           div.myIndex = i;
                           
                           var a = document.createElement("a");
                           //a.setAttribute("href", "#ansicht");
                           
                           if(a.attachEvent) {
                              // a.attachEvent("onmouseover", function(evt) {
                              //    Artikelbackground.changeMotivfarbe('obj_'+druckfarb_pos,JSON_Data.Druckfarben[evt.srcElement.myIndex].Farbcode);
                              // });
                              // a.attachEvent("onmouseout", function(evt) {
                              //    Artikelbackground.resetMotivfarbe(druckfarb_pos, 'obj_'+druckfarb_pos);
                                 
                              // });
                               a.attachEvent("onclick", function(evt) {
                                 
                                  OwnText.changeTextColor(objektid, JSON_Data.Druckfarben[evt.srcElement.myIndex].Farbcode);
                                  //Infoframe.changeDruckfarbe(druckfarb_pos, JSON_Data.Druckfarben[evt.srcElement.myIndex].ID, JSON_Data.Druckfarben[evt.srcElement.myIndex].Farbname, JSON_Data.Druckfarben[evt.srcElement.myIndex].Farbcode);
                                  //Artikelbackground.changeMotivfarbe('obj_'+druckfarb_pos,JSON_Data.Druckfarben[evt.srcElement.myIndex].Farbcode);
                               });
                               
                            } else if(a.addEventListener) {
                               a.setAttribute("onclick", "OwnText.changeTextColor(\""+objektid+"\", \""+JSON_Data.Druckfarben[i].Farbcode+"\") ");
                               
                              // a.setAttribute("onclick", "Infoframe.changeDruckfarbe(\""+druckfarb_pos+"\", \""+JSON_Data.Druckfarben[i].ID+"\", \""+JSON_Data.Druckfarben[i].Farbname+"\", \""+JSON_Data.Druckfarben[i].Farbcode+"\");  Artikelbackground.changeMotivfarbe('obj_"+druckfarb_pos+"',\""+JSON_Data.Druckfarben[i].Farbcode+"\"); ");
                              // a.setAttribute("onmouseover", "Artikelbackground.changeMotivfarbe('obj_"+druckfarb_pos+"',\""+JSON_Data.Druckfarben[i].Farbcode+"\");");
                              // a.setAttribute("onmouseout", "Artikelbackground.resetMotivfarbe(\""+druckfarb_pos+"\", 'obj_"+druckfarb_pos+"');");
                            }
   
                           a.appendChild(div);
                           document.getElementById("OwnText_possibleColors"+objektid+"").appendChild(a);
                           
                        }
                         
                     }
                     else {
                         alert("Error: keine Druckfarben definiert");
                     }
                  }
               }
              
         },
         executeArea: function()
         {
            
            if(OwnText.checkInhalt() == true) {
            
               var built = "";
               var text;
               
               ref = document.getElementById("input_ownTextSVG");
   
               built = "<svg id=\"mainsvg_text\" x=\"0\" y=\"0\" style=\"\" version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\">"; 
               for (var j=1;j<=5;j++)
               {
                  text = this.writeTextzeile(j);
                  if(text) {
                     built += text;
                  }
               }
               built += "</svg>";
               
               ref.innerHTML = built;
            }
            
         },
         
         writeTextzeile: function(zeilenid)
         {
            
            svg_text = svgdoc.getElementById("svg_text"+zeilenid+"");
            text = svgdoc.getElementById("textzeile"+zeilenid+"");
            akt_anzahl_zeichen = svgdoc.getElementById("textzeile"+zeilenid+"").getNumberOfChars();
              
            if(akt_anzahl_zeichen > 0) {
            
               attr_x = svg_text.getAttribute('x');
               attr_y = svg_text.getAttribute('y');
               
               attr_x2 = text.getAttribute('x');
               attr_y2 = text.getAttribute('y');
               
               attr_fill = text.getAttribute('fill');
               attr_fontSize = text.getAttribute('font-size');
               attr_fontFamily = text.getAttribute('font-family');
               attr_fontWeight = text.getAttribute('font-weight');
               attr_fontStyle = text.getAttribute('font-style');
               attr_stroke = text.getAttribute('stroke');
               attr_strokeWidth = text.getAttribute('stroke-width');
               input_text = document.getElementById("input_text"+zeilenid+"").value;
               
               built = "<svg id=\"svg_text"+zeilenid+"\" x=\""+attr_x+"\" y=\""+attr_y+"\" style=\"shape-rendering:geometricPrecision; cursor:move; text-rendering:geometricPrecision; fill-rule:evenodd; clip-rule:evenodd\" version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\">";
               built += "<text id=\"textzeile"+zeilenid+"\"";
               built += " x=\""+attr_x2+"\"";
               built += " y=\""+attr_y2+"\"";
               built += " fill=\""+attr_fill+"\"";
               built += " font-size=\""+attr_fontSize+"\"";
               built += " font-family=\""+attr_fontFamily+"\"";
               built += " font-weight=\""+attr_fontWeight+"\"";
               built += " font-style=\""+attr_fontStyle+"\"";
               built += " stroke=\""+attr_stroke+"\"";
               built += " stroke-width=\""+attr_strokeWidth+"\"";
               built += ">";
               built += ""+input_text+"</text>";
               built += "</svg> ";
               
               
               
               return built;
            }
            else {
               return false;
            }
         },
         checkInhalt: function()
         {
            var inhaltscheck = false;
            for(j=1; j<=5; j++) {
               akt_anzahl_zeichen = svgdoc.getElementById("textzeile"+j+"").getNumberOfChars();
              
               if(akt_anzahl_zeichen > 0) {
                  inhaltscheck = true;
               }
            }
            return inhaltscheck;
         }
      
      };
      
      //////  ##################################################################################################
   
      var NewMotiv = {
         
         
         loading: function(motivid)
         {
            
           
               if(document.getElementById("input_motiv1").value > 0) {
                  if(document.getElementById("input_motiv2").value > 0) {
                     if(document.getElementById("input_motiv3").value > 0) {
                        if(document.getElementById("input_motiv4").value > 0) {
                           if(document.getElementById("input_motiv5").value > 0) {
                              alert("es sind nur 5 Motive plazierbar. Lösche erst ein Motiv.");
                              this.Motivplace = false; 
                           }
                           else {
                              document.getElementById("input_motiv5").value = motivid;
                              this.Motivplace = 5; 
                           }
                        }
                        else {
                           document.getElementById("input_motiv4").value = motivid;
                           this.Motivplace = 4; 
                        }
                     }
                     else {
                        document.getElementById("input_motiv3").value = motivid;
                        this.Motivplace = 3; 
                     }
                  }
                  else {
                     document.getElementById("input_motiv2").value = motivid;
                     this.Motivplace = 2; 
                  }
               }
               else {
                  document.getElementById("input_motiv1").value = motivid;
                  this.Motivplace = 1; 
               }
               
              
               if(this.Motivplace > 0) {
                  
                  document.getElementById("input_aktmotivpos").value = this.Motivplace;
                  
                  if(document.getElementById("motivconfig_null")) {
                     document.getElementById("motivconfig_null").style.display = "none";
                  }
                  if(document.getElementById("motivconfig_tips")) {
                     document.getElementById("motivconfig_tips").style.display = "block";
                  }
                  
               }
              
               
           
            if(this.Motivplace == 1 || this.Motivplace == 2 || this.Motivplace == 3 || this.Motivplace == 4 || this.Motivplace == 5) {

               this.MotivID = motivid;
            
               if(this.MotivID) {
                  json_url = 'getJSON.php?func=getMotiv&id='+this.MotivID;
               }
               else {
                  json_url = false;
               }
               
               
               if(json_url) {
                  $.ajax({
                     url: json_url,
                     type: 'GET',
                     dataType: 'json',
                     timeout: 10000,
                     global: 'false',
                     error: function(){
                        alert('Fehler. Das Motiv konnte nicht geladen werden.');
                     },
                     success: this.init
                  
                   });
               }
            }
           
            
         },
         
         init: function(data, textStatus)
         {
            
            
            JSON_NewMotiv = data;
        
            objektid = NewMotiv.Motivplace;
        
            
            var svgNS = "http://www.w3.org/2000/svg";
            var XLINK = "http://www.w3.org/1999/xlink";
            
            var objekt = "newmotiv"+objektid;
            
           
           
            
            var aktmotivpos = NewMotiv.Motivplace;
              
               Infoframe.changeMotiv(aktmotivpos, JSON_NewMotiv.ID);
               Infoframe.changeMotivproportion(aktmotivpos, JSON_NewMotiv.Proportion);
               Infoframe.changeMotivtyp(aktmotivpos, JSON_NewMotiv.Typ);
               Infoframe.changeMotivviewbox(aktmotivpos, JSON_NewMotiv.viewBox);
               Infoframe.changeAnzahlMotivfarben(aktmotivpos, JSON_NewMotiv.Anzahl_Motivfarben);

               Infoframe.changeMotivpath(aktmotivpos, JSON_NewMotiv.Bildpfad_Small, JSON_NewMotiv.Bildpfad_Large)



               if(JSON_NewMotiv.Pro > 0) {
                
                  document.getElementById("input_motiv"+aktmotivpos+"_pro").value = JSON_NewMotiv.Pro;
               }

              
               Infoframe.checkPrice();
               Infoframe.errorcheck("content");
               
              
	       if(svgdoc) {
                  var druckbereich = svgdoc.getElementById('druckbereich');                   
                  NewMotiv.area_x =          Number(druckbereich.getAttributeNS(null, 'x'));
                  NewMotiv.area_y =          Number(druckbereich.getAttributeNS(null, 'y'));
                  NewMotiv.area_height =     Number(druckbereich.getAttributeNS(null, 'height'));
                  NewMotiv.area_width =      Number(druckbereich.getAttributeNS(null, 'width'));
                  
                
                  this.x = NewMotiv.area_x;
                  this.y = NewMotiv.area_y;
              
               
                 
                  var newSVG = svgdoc.createElementNS(svgNS, "svg");
                  if(newSVG) {
                     newSVG.setAttributeNS(null, "id", "svg_motiv"+objektid+"");
                     newSVG.setAttributeNS(null, "x", this.x);
                     newSVG.setAttributeNS(null, "y", this.y);
                     
                 
                     newSVG.setAttributeNS(null, "width", 100);
                     newSVG.setAttributeNS(null, "height", 100);
                     if(JSON_NewMotiv.viewBox) {
                        newSVG.setAttributeNS(null, "viewBox", JSON_NewMotiv.viewBox);
                     }
                    // newSVG.setAttributeNS(null, "onload", "init_text("+objektid+");");
                     newSVG.setAttributeNS(null, "style", "shape-rendering:geometricPrecision; cursor:move; text-rendering:geometricPrecision; fill-rule:evenodd; clip-rule:evenodd;");
                     newSVG.setAttributeNS(null, "version", "1.1");
                     //newSVG.setAttributeNS(null, "xmlns", "http://www.w3.org/2000/svg");
                     
                     
                     if(objektid == "1") {
                        
                        newSVG.addEventListener("mousedown", NewMotiv.mousedown_listener_1, false);
                     }
                     else if(objektid == "2") {
                        newSVG.addEventListener("mousedown", NewMotiv.mousedown_listener_2, false);
                     }
                     else if(objektid == "3") {
                        newSVG.addEventListener("mousedown", NewMotiv.mousedown_listener_3, false);
                     }
                     else if(objektid == "4") {
                        newSVG.addEventListener("mousedown", NewMotiv.mousedown_listener_4, false);
                     }
                     else if(objektid == "5") {
                        newSVG.addEventListener("mousedown", NewMotiv.mousedown_listener_5, false);
                     }
                     
                     svgdoc.getElementById("main_svg").appendChild(newSVG);
                  }
                  if(JSON_NewMotiv.Typ == "Pixel") {
                     var newPic = svgdoc.createElementNS(svgNS, "image");
                     newPic.setAttributeNS(null, 'id', "motiv"+objektid+"");
   
                     newPic.setAttributeNS(null, 'x', '0');
                     newPic.setAttributeNS(null, 'y', '0');
                   
                     newPic.setAttributeNS(null, 'width', 100);
                     newPic.setAttributeNS(null, 'height', 100);
                     
                     newPic.setAttributeNS(XLINK, "href", JSON_NewMotiv.Bildpfad);

                     svgdoc.getElementById("svg_motiv"+objektid+"").appendChild(newPic);
                
                  }
                  else if(JSON_NewMotiv.Typ == "Vektor") {
                     
                     if(svgdoc) {
                  
                   
                        if(JSON_NewMotiv.SVG.g) {
            
                           if(is_array(JSON_NewMotiv.SVG.g)) {
                              
                         
                                 for (var i=0;i<JSON_NewMotiv.SVG.g.length;i++) {
                                    
                                    if(JSON_NewMotiv.SVG.g[i].id == "grp_"+i) {
                                       
                                       if(is_array(JSON_NewMotiv.SVG.g[i].path)) {
                                          
                                          for (var j=0;j<JSON_NewMotiv.SVG.g[i].path.length;j++) {
                                             
                                             if(JSON_NewMotiv.SVG.g[i].path[j].id == "obj_"+j) {
                                          
                                                aktpath = JSON_NewMotiv.SVG.g[i].path[j];
                                                aktid = aktpath.id+"_"+objektid;
                                                var newPath = svgdoc.createElementNS(svgNS, "path");
                                                //newPath.setAttributeNS(null, 'id', aktpath.id);
                                                newPath.setAttributeNS(null, 'id', aktid);
                                                var d = aktpath.d;
                                                newPath.setAttributeNS(null, "d", d);
                                                newPath.setAttributeNS(null, "style", "fill:#"+JSON_NewMotiv.Motivfarben[j]);
                                              
                                                Infoframe.changeDruckfarbe(objektid, j, false, false, JSON_NewMotiv.Motivfarben[j]);  
                                              
                                                svgdoc.getElementById("svg_motiv"+objektid+"").appendChild(newPath);
                                             }
                                          }
                                          
                                       }
                                       else {
                                          
                                          if(JSON_NewMotiv.SVG.g[i].path.id == "obj_"+i) {
                                          
                                             aktpath = JSON_NewMotiv.SVG.g[i].path;
                                             aktid = aktpath.id+"_"+objektid;
                                             var newPath = svgdoc.createElementNS(svgNS, "path");
                                             newPath.setAttributeNS(null, 'id', aktid);
                                             var d = aktpath.d;
                                             newPath.setAttributeNS(null, "d", d);
                                             newPath.setAttributeNS(null, "style", "fill:#"+JSON_NewMotiv.Motivfarben[i]);
                                             Infoframe.changeDruckfarbe(objektid, i, false, false, JSON_NewMotiv.Motivfarben[i]);  
                                           
                                             svgdoc.getElementById("svg_motiv"+objektid+"").appendChild(newPath); 
                                          }
                                          
                                       }
                                    }
                                 }
                            
                              
                           }
                           else {
                              
                            
                              if(JSON_NewMotiv.SVG.g.id == "grp_0") {
                              
                                 if(JSON_NewMotiv.SVG.g.path.id == "obj_0") {
                                    
                                    aktpath = JSON_NewMotiv.SVG.g.path;
                                    aktid = aktpath.id+"_"+objektid;     
                                    var newPath = svgdoc.createElementNS(svgNS, "path");
                                    newPath.setAttributeNS(null, 'id', aktid);
                                    var d = JSON_NewMotiv.SVG.g.path.d;
                                    newPath.setAttributeNS(null, "d", d);
                                    newPath.setAttributeNS(null, "style", "fill:#"+JSON_NewMotiv.Motivfarben[0]);
                                    Infoframe.changeDruckfarbe(objektid, 0, false, false, JSON_NewMotiv.Motivfarben[0]);  
                                   
                                    svgdoc.getElementById("svg_motiv"+objektid+"").appendChild(newPath);
                                 }
                                 else {
                                    
                                    if(JSON_NewMotiv.SVG.g.path[0]) {
                                                
                                       for (var i=0;i<JSON_NewMotiv.SVG.g.path.length;i++) {
                  
                                          aktpath = JSON_NewMotiv.SVG.g.path[i];
                                          aktid = aktpath.id+"_"+objektid;
                                          var newPath = svgdoc.createElementNS(svgNS, "path");
                                          newPath.setAttributeNS(null, 'id', aktid);
                                          var d = aktpath.d;
                                          newPath.setAttributeNS(null, "d", d);
                                          newPath.setAttributeNS(null, "style", "fill:#"+JSON_NewMotiv.Motivfarben[i]);
                                         
                                          Infoframe.changeDruckfarbe(objektid, i, false, false, JSON_NewMotiv.Motivfarben[i]);  
                                        
                                          svgdoc.getElementById("svg_motiv"+objektid+"").appendChild(newPath);
                                       }
                                    }
                                 }
                              }
                           }
                        }      
                     }
                  }
                 
               }
            
            
            NewMotiv.changeMotivDetailContainer(objektid);
            NewMotiv.changeMotivThumbnailContainer(objektid);
            NewMotiv.repositioning(objektid);
         },
         deleteMotiv: function(objekt)
         {
            
            if(document.getElementById("motiv_out_"+objekt+"")) {
               document.getElementById("motiv_out_"+objekt+"").style.display = "none";
            }
            
            if(document.getElementById("motiv"+objekt+"")) {
               document.getElementById("motiv"+objekt+"").value = "";
            }
            if(document.getElementById("input_motiv"+objekt+"")) {
               document.getElementById("input_motiv"+objekt+"").value = "";
            }
            if(document.getElementById("input_motiv"+objekt+"_typ")) {
               document.getElementById("input_motiv"+objekt+"_typ").value = "";
            }
            if(document.getElementById("input_motiv"+objekt+"_path1")) {
               document.getElementById("input_motiv"+objekt+"_path1").value = "";
            }
            if(document.getElementById("input_motiv"+objekt+"_path2")) {
               document.getElementById("input_motiv"+objekt+"_path2").value = "";
            }
            if(document.getElementById("input_motiv"+objekt+"_proportion")) {
               document.getElementById("input_motiv"+objekt+"_proportion").value = "";
            }
            if(document.getElementById("input_motiv"+objekt+"_pro")) {
               document.getElementById("input_motiv"+objekt+"_pro").value = "";
            }
            if(document.getElementById("input_motiv"+objekt+"_anzahlmotivfarben")) {
               document.getElementById("input_motiv"+objekt+"_anzahlmotivfarben").value = "";
            }
            if(document.getElementById("input_motiv"+objekt+"_viewbox")) {
               document.getElementById("input_motiv"+objekt+"_viewbox").value = "";
            }
            if(document.getElementById("input_motiv"+objekt+"_position_x")) {
               document.getElementById("input_motiv"+objekt+"_position_x").value = "";
            }
            if(document.getElementById("input_motiv"+objekt+"_position_y")) {
               document.getElementById("input_motiv"+objekt+"_position_y").value = "";
            }
            if(document.getElementById("input_motiv"+objekt+"_width")) {
               document.getElementById("input_motiv"+objekt+"_width").value = "";
            }
            
            if(document.getElementById("colorinfo_"+objekt+"")) {
               document.getElementById("colorinfo_"+objekt+"").innerHTML = "";
            }
           
            // prüft ob mindestens ein Motiv eingeblendet, zeigt Meldung oder Tips
            var motivcheck = false;
            for (var i=1;i <= 5;i++)
            {
               if(document.getElementById("input_motiv"+i+"")) {
                  if(document.getElementById("input_motiv"+i+"").value > 0) {
                    
                     motivcheck = true;
                  }
               }
            }
            
            if(motivcheck == false) {
                  
               if(document.getElementById("motivconfig_null")) {
                  document.getElementById("motivconfig_null").style.display = "block";
               }
               if(document.getElementById("motivconfig_tips")) {
                  document.getElementById("motivconfig_tips").style.display = "none";
               }
               
            }
            
            
            
            for (var i=0;i < 4;i++)
            { 
            
               if(document.getElementById("container_druckfarben_"+objekt+"_"+i+"")) {
                  document.getElementById("container_druckfarben_"+objekt+"_"+i+"").innerHTML = "";
               }
            }
            if(document.getElementById("motiv_thumbnail_enlarge_"+objekt+"")) {
               document.getElementById("motiv_thumbnail_enlarge_"+objekt+"").innerHTML = "";
            }
    
            if(svgdoc.getElementById("svg_motiv"+objekt+"")) {
               
               myelement = svgdoc.getElementById("svg_motiv"+objekt+"");
               myelement.parentNode.removeChild(myelement); 

            }
            
            
           
            Infoframe.checkPrice();
             Infoframe.errorcheck("content");
         },
             
         changeMotivposition: function(objekt, direction, faktor)
         {
            
            var aktmotivpos = document.getElementById("input_aktmotivpos").value;
            
            var svgdoc = null;  
            var object = document.getElementById("frame_svg");
            if (object.contentDocument) 
               svgdoc = object.contentDocument;
            else {
               try {
                 svgdoc = object.getSVGDocument();
               }
               catch(exception) {
                 // ignore errors
               }
            }
            
            faktor = Number(faktor);

            var area = svgdoc.getElementById("druckbereich");
            var area_x =       Number(area.getAttributeNS(null, 'x'));
            var area_y =       Number(area.getAttributeNS(null, 'y'));
            var area_height =  Number(area.getAttributeNS(null, 'height'));
            var area_width =   Number(area.getAttributeNS(null, 'width'));
            
            //var motiv = svgdoc.getElementById("motiv_svg");
            var motiv = svgdoc.getElementById('svg_motiv'+objekt+'');
            
            
            var motiv_position_x;
            var motiv_position_y;
            var motiv_height;
            var motiv_width;
        
            if(direction == "up") {
               motiv_position_y = Number(motiv.getAttributeNS(null, "y"));
               if(motiv_position_y - faktor > area_y) {
                  motiv_position_y = motiv_position_y - faktor;
               }
               motiv.setAttributeNS(null, "y", motiv_position_y);
               document.getElementById("input_motiv"+objekt+"_position_y").value = Math.round((motiv_position_y - area_y) / Artikel.Scale);
            } else if(direction == "down") {
               motiv_position_y = Number(motiv.getAttributeNS(null, "y"));
               motiv_height = Number(motiv.getAttributeNS(null, "height"));
               if(motiv_position_y + motiv_height + faktor < area_y + area_height) {
                  motiv_position_y = motiv_position_y + faktor;
               }                        
               motiv.setAttributeNS(null, "y", motiv_position_y);
               document.getElementById("input_motiv"+objekt+"_position_y").value = Math.round((motiv_position_y - area_y) / Artikel.Scale);
            } else if(direction == "left") {
               motiv_position_x = Number(motiv.getAttributeNS(null, "x"));
               if(motiv_position_x - faktor > area_x) {
                  motiv_position_x = Number(motiv_position_x - faktor);
               }                         
               motiv.setAttributeNS(null, "x", motiv_position_x);
               document.getElementById("input_motiv"+objekt+"_position_x").value = Math.round((motiv_position_x - area_x) / Artikel.Scale);
            } else if(direction == "right") {
               motiv_position_x = Number(motiv.getAttributeNS(null, "x"));
               motiv_width = Number(motiv.getAttributeNS(null, "width"));
               if(motiv_position_x + motiv_width + faktor < area_x + area_width) {
                  motiv_position_x = Number(motiv_position_x + faktor);
               }
               motiv.setAttributeNS(null, "x", motiv_position_x);
               document.getElementById("input_motiv"+objekt+"_position_x").value = Math.round((motiv_position_x - area_x) / Artikel.Scale);
            }
            
            
            
         },
         changeMotivgroesse: function(objekt, faktor)
         {
            
            document.getElementById("input_aktmotivpos").value = objekt;
            
            svgdoc = null;  
            var object = document.getElementById("frame_svg");
            if (object.contentDocument) 
               svgdoc = object.contentDocument;
            else {
               try {
                 svgdoc = object.getSVGDocument();
               }
               catch(exception) {
                 // ignore errors
               }
            }
            
            faktor = Number(faktor);

            area = svgdoc.getElementById("druckbereich");
            area_x =       Number(area.getAttributeNS(null, 'x'));
            area_y =       Number(area.getAttributeNS(null, 'y'));
            area_height =  Number(area.getAttributeNS(null, 'height'));
            area_width =   Number(area.getAttributeNS(null, 'width'));

            var druckbereich_posx1 = area_x;
            var druckbereich_posx2 = area_x + area_width;
            var druckbereich_posy1 = area_y;
            var druckbereich_posy2 = area_y + area_height;
            var druckbereich_width = area_width;
            var druckbereich_height = area_height;
          
            motiv_width_min = 50;
           
            var motiv = svgdoc.getElementById('svg_motiv'+objekt+'');
            
            
            
            motiv_width =        Number(motiv.getAttributeNS(null, "width"));
            motiv_height =       Number(motiv.getAttributeNS(null, "height"));
            motiv_proportion =   motiv_width/motiv_height;
            motiv_position_x =   Number(motiv.getAttributeNS(null, "x"));
            motiv_position_y =   Number(motiv.getAttributeNS(null, "y"));

            if(motiv_width + faktor >= motiv_width_min && (motiv_width + faktor) / motiv_proportion < druckbereich_height) {   
               if(motiv_width <= druckbereich_width && motiv_height <= druckbereich_height) {
                  
                  // wenn rechts anstösst
                  if(motiv_position_x + motiv_width >= druckbereich_posx2 && faktor > 0) {
                     motiv_position_x = druckbereich_posx2 - motiv_width;
                  } else
                  // wenn links anstösst
                  if(motiv_position_x <= druckbereich_posx1 && faktor > 0) {
                     motiv_position_x = druckbereich_posx1;
                  } else
                  // wenn nicht anstösst
                  {
                     motiv_position_x = motiv_position_x - faktor/2;
                  }
                  motiv_width = motiv_width + faktor;
                  if(motiv_width >= druckbereich_width) {
                     motiv_width = druckbereich_width;
                  } else if(motiv_width < motiv_width_min) {
                     motiv_width = motiv_width_min;
                  }
                  motiv_height_new = motiv_width / motiv_proportion;
                 
                  // wenn oben anstösst
                  if(motiv_position_y <= druckbereich_posy1 && faktor > 0) {
                     motiv_position_y = druckbereich_posy1;
                  }
                  //wenn unten anstösst
                  else if(motiv_position_y + motiv_height >= druckbereich_posy2 && faktor > 0) {
                     motiv_position_y = druckbereich_posy2 - motiv_height;
                  }
                  // wenn nicht anstösst
                  else {
                     motiv_position_y = motiv_position_y - (motiv_height_new - motiv_height)/2;
                  }
                  
                  motiv_height = motiv_height_new

                  if(motiv_position_x < druckbereich_posx1) {
                     motiv_position_x = druckbereich_posx1;
                  } else if(motiv_position_x + motiv_width > druckbereich_posx2) {
                     motiv_position_x = druckbereich_posx2 - motiv_width;
                  }                                
                  if(motiv_position_y < druckbereich_posy1) {
                     motiv_position_y = druckbereich_posy1;
                  } else if(motiv_position_y + motiv_height > druckbereich_posy2) {
                     motiv_position_y = druckbereich_posy2 - motiv_height;
                  }

                  motiv.setAttributeNS(null, "width", motiv_width);
                  motiv.setAttributeNS(null, "height", motiv_height);
                  
                  if(document.getElementById("motiv")) {
                     image = document.getElementById("motiv");
                  }

                  motiv.setAttributeNS(null, "x", motiv_position_x);
                 // document.getElementById("input_motiv"+objekt+"_position_x").value = Math.round((motiv_position_x - druckbereich_posx1) / Artikel.Scale + 10);
                  document.getElementById("input_motiv"+objekt+"_position_x").value = Math.round((motiv_position_x) / Artikel.Scale);
                  motiv.setAttributeNS(null, "y", motiv_position_y);
                  
                 // document.getElementById("input_motiv"+objekt+"_position_y").value = Math.round((motiv_position_y - druckbereich_posy1) / Artikel.Scale +10);
                  document.getElementById("input_motiv"+objekt+"_position_y").value = Math.round((motiv_position_y) / Artikel.Scale +10);
               }
             
             
               Infoframe.changeMotivwidth(objekt, motiv_width, druckbereich_width);
             
              
            }
           
         },
         changeMotivfarbe: function(aktmotivpos, druckfarbpos, objektname, druckfarbid, druckfarbname, druckfarbcode, save)
         {
            
            document.getElementById("input_aktmotivpos").value = aktmotivpos;
           
            //var motiv = svgdoc.getElementById('svg_motiv'+objekt+'');

            svgdoc = null;  
            var object = document.getElementById("frame_svg");
            
            if (object.contentDocument) 
               svgdoc = object.contentDocument;
            else {
               try {
                  svgdoc = object.getSVGDocument();
               }
               catch(exception) {
                // ignore errors
               }
            }
            if(svgdoc) { 
               if(svgdoc.getElementById(objektname)) {
                  svgdoc.getElementById(objektname).setAttribute("style", "fill:#"+druckfarbcode);
                  if(save == true) {
                     Infoframe.changeDruckfarbe(aktmotivpos, druckfarbpos, druckfarbid, druckfarbname, druckfarbcode);  
                  }
               }
            }
            else {
              
            }
         },
         resetMotivfarbe: function(aktmotivpos, druckfarb_pos, objektid)
         {
         
              
               if(aktmotivpos > 0) {
         
                  svgdoc = null;  
                  var object = document.getElementById("frame_svg");
                  if (object.contentDocument) 
                     svgdoc = object.contentDocument;
                  else {
                     try {
                       svgdoc = object.getSVGDocument();
                     }
                     catch(exception) {
                       // ignore errors
                     }
                  }
                  
                  aktuelle_motivfarbe = document.getElementById("input_motiv"+aktmotivpos+"_druckfarbcode_"+druckfarb_pos+"").value;
                  
                  svgdoc.getElementById(objektid).setAttribute("style", "fill:#"+aktuelle_motivfarbe);
               }
         },
         changeMotivThumbnailContainer: function(objektid)
         {
            
            
            
            if(document.getElementById("motiv_thumbnail_"+objektid+"")) {
               document.getElementById("motiv_thumbnail_"+objektid+"").innerHTML = "";
               
               document.getElementById("motiv_thumbnail_"+objektid+"").style.display = "block";
               document.getElementById("motiv_thumbnail_"+objektid+"").style.width = "80px";
               document.getElementById("motiv_thumbnail_"+objektid+"").style.height = "50px";
               document.getElementById("motiv_thumbnail_"+objektid+"").style.styleFloat = "left";
               document.getElementById("motiv_thumbnail_"+objektid+"").style.cssFloat = "left"; 
                
              
               var path_small = document.getElementById("input_motiv"+objektid+"_path1").value;
              
               var path_large = document.getElementById("input_motiv"+objektid+"_path2").value;
               
               var img = document.createElement("img");
                   img.setAttribute("src", path_small);
                   img.setAttribute("class", "");
                   img.setAttribute("style", "width:50px; border:1px solid grey; padding:5px;");
               
               var a = document.createElement("a");
                  a.setAttribute("href", "#");
                  a.setAttribute("rel", path_large);
                  a.setAttribute("class", "zoom");
                  a.setAttribute("name", "demo1");
                  a.setAttribute("title", "vergrössertes Motiv");
                  a.appendChild(img);
                
               document.getElementById("motiv_thumbnail_"+objektid+"").appendChild(a);
               var zoomoptions =
			{
			    
			    marginLeft : 20,
			    identifier : 'zoom',
			    height : 300,
			    width : 300,
			    titleSource : 'title',
			    imgSource : 'rel',
			    bgColor : '#111111',     // background color for title
			    color : '#ffffff',       // font color for title
			    size : '0.8em'           // font size for title
			
                  }; 
                  $('.zoom').bezoom(zoomoptions);    
            }
             
            if(document.getElementById("motiv_resize_"+objektid+"")) {
               document.getElementById("motiv_resize_"+objektid+"").style.display = "block";
            }
            
            if(document.getElementById("motiv_delete_"+objektid+"")) {
               document.getElementById("motiv_delete_"+objektid+"").style.display = "block";
            }
            
         },
         changeMotivDetailContainer: function(objektid)
         {
            
            
              
               if(document.getElementById("input_motiv"+objektid+"_anzahlmotivfarben")) {
                  var anzahl_motivfarben = document.getElementById("input_motiv"+objektid+"_anzahlmotivfarben").value;
               }
               else {
                  var anzahl_motivfarben = 0;
               }
             
               if(anzahl_motivfarben > 0) {    
            
                     for (var j=0;j<anzahl_motivfarben;j++)
                     {
                      
                        Drucktechnik.showDruckfarben(j, objektid);   // zeige Farbswitcher pro Motivfarbe
                        
                     }
               }
               else {
                  if(document.getElementById("colorinfo_"+objektid+"")) {
                     document.getElementById("colorinfo_"+objektid+"").innerHTML = "Farben wie auf dem Motiv";
                  }

               }
               if(document.getElementById("motiv_out_"+objektid+"")) {
                  document.getElementById("motiv_out_"+objektid+"").style.display = "block";
               }
               
            
            
         },
         executeArea: function()
         {
            
           
            
               var built = "";
               var text;
               if(document.getElementById("input_ownMotivSVG")) {
                  ref = document.getElementById("input_ownMotivSVG");
               }
             
   
               built = "<svg id=\"mainsvg_text\" x=\"0\" y=\"0\" style=\"\" version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\">"; 
               for (var j=1;j<=5;j++)
               {
                  text = this.writeTextarea(j);
                  if(text) {
                     built += text;
                  }
               }
               built += "</svg>";
              
               ref.innerHTML = built;
           
            
         },
         
         writeTextarea: function(motivid)
         {
            
            svg_text = svgdoc.getElementById("svg_text"+zeilenid+"");
            text = svgdoc.getElementById("textzeile"+zeilenid+"");
            akt_anzahl_zeichen = svgdoc.getElementById("textzeile"+zeilenid+"").getNumberOfChars();
              
            if(akt_anzahl_zeichen > 0) {
            
               attr_x = svg_text.getAttribute('x');
               attr_y = svg_text.getAttribute('y');
               
               attr_x2 = text.getAttribute('x');
               attr_y2 = text.getAttribute('y');
               
               attr_fill = text.getAttribute('fill');
               attr_fontSize = text.getAttribute('font-size');
               attr_fontFamily = text.getAttribute('font-family');
               attr_fontWeight = text.getAttribute('font-weight');
               attr_fontStyle = text.getAttribute('font-style');
               attr_stroke = text.getAttribute('stroke');
               attr_strokeWidth = text.getAttribute('stroke-width');
               input_text = document.getElementById("input_text"+zeilenid+"").value;
               
               built = "<svg id=\"svg_text"+zeilenid+"\" x=\""+attr_x+"\" y=\""+attr_y+"\" style=\"shape-rendering:geometricPrecision; cursor:move; text-rendering:geometricPrecision; fill-rule:evenodd; clip-rule:evenodd\" version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\">";
               built += "<text id=\"textzeile"+zeilenid+"\"";
               built += " x=\""+attr_x2+"\"";
               built += " y=\""+attr_y2+"\"";
               built += " fill=\""+attr_fill+"\"";
               built += " font-size=\""+attr_fontSize+"\"";
               built += " font-family=\""+attr_fontFamily+"\"";
               built += " font-weight=\""+attr_fontWeight+"\"";
               built += " font-style=\""+attr_fontStyle+"\"";
               built += " stroke=\""+attr_stroke+"\"";
               built += " stroke-width=\""+attr_strokeWidth+"\"";
               built += ">";
               built += ""+input_text+"</text>";
               built += "</svg> ";
               
               return built;
            }
            else {
               return false;
            }
         },
         
         mousedown_listener_1: function(evt)
         {
            
               //var textzeile = svgdoc.getElementById("motiv1");
               var textzeile = svgdoc.getElementById("svg_motiv1");
               circle_x2 = Number(textzeile.getAttributeNS(null, 'x'));
               circle_y2 = Number(textzeile.getAttributeNS(null, 'y'));

               NewMotiv.dx2 = circle_x2 - evt.clientX;
               NewMotiv.dy2 = circle_y2 - evt.clientY;

               if(window.addEventListener) {
                   svgdoc.addEventListener("mousemove", NewMotiv.mousemove_listener_1, true);
                   svgdoc.addEventListener("mouseup", NewMotiv.mouseup_listener_1, true);
               }
               document.getElementById("input_aktmotivpos").value = 1;
               NewMotiv.Motivplace = 1;
               //OwnMotiv.activateZeilenconfig(1);
            
         },
         mousedown_listener_2: function(evt)
         {
         
            var textzeile = svgdoc.getElementById("svg_motiv2");
               circle_x2 = Number(textzeile.getAttributeNS(null, 'x'));
               circle_y2 = Number(textzeile.getAttributeNS(null, 'y'));

               NewMotiv.dx2 = circle_x2 - evt.clientX;
               NewMotiv.dy2 = circle_y2 - evt.clientY;

               if(window.addEventListener) {
                   svgdoc.addEventListener("mousemove", NewMotiv.mousemove_listener_2, true);
                   svgdoc.addEventListener("mouseup", NewMotiv.mouseup_listener_2, true);
               }
               document.getElementById("input_aktmotivpos").value = 2;
               NewMotiv.Motivplace = 2;
            
         },
         mousedown_listener_3: function(evt)
         {
            
            var textzeile = svgdoc.getElementById("svg_motiv3");
               circle_x2 = Number(textzeile.getAttributeNS(null, 'x'));
               circle_y2 = Number(textzeile.getAttributeNS(null, 'y'));

               NewMotiv.dx2 = circle_x2 - evt.clientX;
               NewMotiv.dy2 = circle_y2 - evt.clientY;

               if(window.addEventListener) {
                   svgdoc.addEventListener("mousemove", NewMotiv.mousemove_listener_3, true);
                   svgdoc.addEventListener("mouseup", NewMotiv.mouseup_listener_3, true);
               }
               document.getElementById("input_aktmotivpos").value = 3;
               NewMotiv.Motivplace = 3;
         },
         mousedown_listener_4: function(evt)
         {
            var textzeile = svgdoc.getElementById("svg_motiv4");
           
               circle_x2 = Number(textzeile.getAttributeNS(null, 'x'));
               circle_y2 = Number(textzeile.getAttributeNS(null, 'y'));

               NewMotiv.dx2 = circle_x2 - evt.clientX;
               NewMotiv.dy2 = circle_y2 - evt.clientY;

               if(window.addEventListener) {
                   svgdoc.addEventListener("mousemove", NewMotiv.mousemove_listener_4, true);
                   svgdoc.addEventListener("mouseup", NewMotiv.mouseup_listener_4, true);
               }
               document.getElementById("input_aktmotivpos").value = 4;
               NewMotiv.Motivplace = 4;
         },
         mousedown_listener_5: function(evt)
         {
            var textzeile = svgdoc.getElementById("svg_motiv5");
          
               circle_x2 = Number(textzeile.getAttributeNS(null, 'x'));
               circle_y2 = Number(textzeile.getAttributeNS(null, 'y'));

               NewMotiv.dx2 = circle_x2 - evt.clientX;
               NewMotiv.dy2 = circle_y2 - evt.clientY;

               if(window.addEventListener) {
                   svgdoc.addEventListener("mousemove", NewMotiv.mousemove_listener_5, true);
                   svgdoc.addEventListener("mouseup", NewMotiv.mouseup_listener_5, true);
               }
               document.getElementById("input_aktmotivpos").value = 5;
               NewMotiv.Motivplace = 5;
              
         },
         
         mousemove_listener_1: function(evt)
         {
               var circle = svgdoc.getElementById("svg_motiv1");
              
               var id = circle.ownerSVGElement.suspendRedraw(1000);
                var area = svgdoc.getElementById("druckbereich");               
                             
               area_x =          Number(area.getAttributeNS(null, 'x'));
               area_y =          Number(area.getAttributeNS(null, 'y'));
               area_height =     Number(area.getAttributeNS(null, 'height'));
               area_width =      Number(area.getAttributeNS(null, 'width'));
               circle_x =        Number(circle.getAttributeNS(null, 'x'));
               circle_y =        Number(circle.getAttributeNS(null, 'y'));
               circle_height =   Number(circle.getAttributeNS(null, 'height'));
               circle_width =    Number(circle.getAttributeNS(null, 'width'));
   
               x = evt.clientX + NewMotiv.dx2; 
               y = evt.clientY + NewMotiv.dy2;
               
               if(x + circle_width > area_x + area_width) { 
                 x = area_x + area_width - circle_width; 
               } 
                if(x < area_x) { 
                 x = area_x; 
               } 
                if(y < area_y) { 
                  y = area_y; 
                } 
                if(y + circle_height > area_y + area_height) { 
                 y = (area_y + area_height) - circle_height; 
               } 
   
              
               circle.setAttributeNS(null, 'x', x);
               circle.setAttributeNS(null, 'y', y);
   
               circle.ownerSVGElement.unsuspendRedraw(id);
              
               Infoframe.changeMotivposition(NewMotiv.Motivplace, x, y);
              
              
         },
         mousemove_listener_2: function(evt)
         {
               var circle = svgdoc.getElementById("svg_motiv2");
               var id = circle.ownerSVGElement.suspendRedraw(1000);
               var area = svgdoc.getElementById("druckbereich");               
                             
               area_x =          Number(area.getAttributeNS(null, 'x'));
               area_y =          Number(area.getAttributeNS(null, 'y'));
               area_height =     Number(area.getAttributeNS(null, 'height'));
               area_width =      Number(area.getAttributeNS(null, 'width'));
               circle_x =        Number(circle.getAttributeNS(null, 'x'));
               circle_y =        Number(circle.getAttributeNS(null, 'y'));
               circle_height =   Number(circle.getAttributeNS(null, 'height'));
               circle_width =    Number(circle.getAttributeNS(null, 'width'));
   
               x = evt.clientX + NewMotiv.dx2; 
               y = evt.clientY + NewMotiv.dy2;
               
               if(x + circle_width > area_x + area_width) { 
                 x = area_x + area_width - circle_width; 
               } 
                if(x < area_x) { 
                 x = area_x; 
               } 
                if(y < area_y) { 
                  y = area_y; 
                } 
                if(y + circle_height > area_y + area_height) { 
                 y = (area_y + area_height) - circle_height; 
               } 
   
              
               circle.setAttributeNS(null, 'x', x);
               circle.setAttributeNS(null, 'y', y);
   
               circle.ownerSVGElement.unsuspendRedraw(id);
               
               Infoframe.changeMotivposition(NewMotiv.Motivplace, x, y);
               
         },
         mousemove_listener_3: function(evt)
         {
               var circle = svgdoc.getElementById("svg_motiv3");
               var id = circle.ownerSVGElement.suspendRedraw(1000);
               var area = svgdoc.getElementById("druckbereich");               
                             
               area_x =          Number(area.getAttributeNS(null, 'x'));
               area_y =          Number(area.getAttributeNS(null, 'y'));
               area_height =     Number(area.getAttributeNS(null, 'height'));
               area_width =      Number(area.getAttributeNS(null, 'width'));
               circle_x =        Number(circle.getAttributeNS(null, 'x'));
               circle_y =        Number(circle.getAttributeNS(null, 'y'));
               circle_height =   Number(circle.getAttributeNS(null, 'height'));
               circle_width =    Number(circle.getAttributeNS(null, 'width'));
   
               x = evt.clientX + NewMotiv.dx2; 
               y = evt.clientY + NewMotiv.dy2;
               
               if(x + circle_width > area_x + area_width) { 
                 x = area_x + area_width - circle_width; 
               } 
                if(x < area_x) { 
                 x = area_x; 
               } 
                if(y < area_y) { 
                  y = area_y; 
                } 
                if(y + circle_height > area_y + area_height) { 
                 y = (area_y + area_height) - circle_height; 
               } 

               circle.setAttributeNS(null, 'x', x);
               circle.setAttributeNS(null, 'y', y);
   
               circle.ownerSVGElement.unsuspendRedraw(id);
               
               Infoframe.changeMotivposition(NewMotiv.Motivplace, x, y);
               
         },
         mousemove_listener_4: function(evt)
         {
              
               var circle = svgdoc.getElementById("svg_motiv4");
               var id = circle.ownerSVGElement.suspendRedraw(1000);
               var area = svgdoc.getElementById("druckbereich");               
                             
               area_x =          Number(area.getAttributeNS(null, 'x'));
               area_y =          Number(area.getAttributeNS(null, 'y'));
               area_height =     Number(area.getAttributeNS(null, 'height'));
               area_width =      Number(area.getAttributeNS(null, 'width'));
               circle_x =        Number(circle.getAttributeNS(null, 'x'));
               circle_y =        Number(circle.getAttributeNS(null, 'y'));
               circle_height =   Number(circle.getAttributeNS(null, 'height'));
               circle_width =    Number(circle.getAttributeNS(null, 'width'));
   
               x = evt.clientX + NewMotiv.dx2; 
               y = evt.clientY + NewMotiv.dy2;
               
               if(x + circle_width > area_x + area_width) { 
                 x = area_x + area_width - circle_width; 
               } 
                if(x < area_x) { 
                 x = area_x; 
               } 
                if(y < area_y) { 
                  y = area_y; 
                } 
                if(y + circle_height > area_y + area_height) { 
                 y = (area_y + area_height) - circle_height; 
               } 
   
               circle.setAttributeNS(null, 'x', x);
               circle.setAttributeNS(null, 'y', y);
   
               circle.ownerSVGElement.unsuspendRedraw(id);
               
               Infoframe.changeMotivposition(NewMotiv.Motivplace, x, y);
               
         },
         mousemove_listener_5: function(evt)
         {
            
               var circle = svgdoc.getElementById("svg_motiv5");
               var id = circle.ownerSVGElement.suspendRedraw(1000);
               var area = svgdoc.getElementById("druckbereich");               
                             
               area_x =          Number(area.getAttributeNS(null, 'x'));
               area_y =          Number(area.getAttributeNS(null, 'y'));
               area_height =     Number(area.getAttributeNS(null, 'height'));
               area_width =      Number(area.getAttributeNS(null, 'width'));
               circle_x =        Number(circle.getAttributeNS(null, 'x'));
               circle_y =        Number(circle.getAttributeNS(null, 'y'));
               circle_height =   Number(circle.getAttributeNS(null, 'height'));
               circle_width =    Number(circle.getAttributeNS(null, 'width'));
   
               x = evt.clientX + NewMotiv.dx2; 
               y = evt.clientY + NewMotiv.dy2;
               
               if(x + circle_width > area_x + area_width) { 
                 x = area_x + area_width - circle_width; 
               } 
                if(x < area_x) { 
                 x = area_x; 
               } 
                if(y < area_y) { 
                  y = area_y; 
                } 
                if(y + circle_height > area_y + area_height) { 
                 y = (area_y + area_height) - circle_height; 
               } 
   
               circle.setAttributeNS(null, 'x', x);
               circle.setAttributeNS(null, 'y', y);
   
               circle.ownerSVGElement.unsuspendRedraw(id);
               
               Infoframe.changeMotivposition(NewMotiv.Motivplace, x, y);
               
         },
         
         mouseup_listener_1: function(evt)
         {
               svgdoc.removeEventListener("mousemove", NewMotiv.mousemove_listener_1, true);
               svgdoc.removeEventListener("mouseup", NewMotiv.mouseup_listener_1, true);
         },
         mouseup_listener_2: function(evt)
         {
               svgdoc.removeEventListener("mousemove", NewMotiv.mousemove_listener_2, true);
               svgdoc.removeEventListener("mouseup", NewMotiv.mouseup_listener_2, true);
         },
         mouseup_listener_3: function(evt)
         {
               svgdoc.removeEventListener("mousemove", NewMotiv.mousemove_listener_3, true);
               svgdoc.removeEventListener("mouseup", NewMotiv.mouseup_listener_3, true);
         },
         mouseup_listener_4: function(evt)
         {
               svgdoc.removeEventListener("mousemove", NewMotiv.mousemove_listener_4, true);
               svgdoc.removeEventListener("mouseup", NewMotiv.mouseup_listener_4, true);
         },
         mouseup_listener_5: function(evt)
         {
               svgdoc.removeEventListener("mousemove", NewMotiv.mousemove_listener_5, true);
               svgdoc.removeEventListener("mouseup", NewMotiv.mouseup_listener_5, true);
         },
         
         
         repositioning: function(pos)
         {
            
           
            if(pos) {
               var aktmotivpos = pos;
               document.getElementById("input_aktmotivpos").value = pos;
               
            }
            else {

               var aktmotivpos = document.getElementById("input_aktmotivpos").value;
            
            }
            var aktmotivid = document.getElementById("input_motiv"+aktmotivpos).value;
           
            // wenn Motiv 0 oder 1 nicht darstellen 
            if(aktmotivid > 1) {
               
               
               var proportion = document.getElementById("input_motiv"+aktmotivpos+"_proportion").value;
               var typ = document.getElementById("input_motiv"+aktmotivpos+"_typ").value;
               var viewBox = document.getElementById("input_motiv"+aktmotivpos+"_viewbox").value;

               var area = svgdoc.getElementById("druckbereich");
               var area_x =       Number(area.getAttributeNS(null, 'x'));
               var area_y =       Number(area.getAttributeNS(null, 'y'));
               var area_height =  Number(area.getAttributeNS(null, 'height'));
               var area_width =   Number(area.getAttributeNS(null, 'width'));
               
               
               if(JSON_Produkt.Anzahl_Druckbereiche == 1) {
               
                  var goldener_schnitt = 1.1;
                  var optimale_breite = 0.8;
                  var optimaler_x_abstandsfaktor = 2;
               
               }
               else if(JSON_Produkt.Anzahl_Druckbereiche == 2) {
               
                  var goldener_schnitt = 1.2;
                  var optimale_breite = 0.2;
                  var optimaler_x_abstandsfaktor = 4;
               
               }
               
            
               var newWidth = Math.round(area_width * optimale_breite);
               var newHeight = Math.round(newWidth / proportion);
               var newX = Math.round(area_x + Number((area_width - newWidth) / optimaler_x_abstandsfaktor));
               var newY = Math.round(area_y + ((1-(1/goldener_schnitt)) * area_height));
             
              
             
               if(newWidth > area_width) {
                 
                  newWidth = Math.round(area_width * optimale_breite);
                  newX = Math.round(area_x + Number((area_width - newWidth) / optimaler_x_abstandsfaktor));
               }
               if(newHeight > area_height) {
   
                  newHeight = area_height;
                  newWidth = Math.round(newHeight * proportion);
   
                  newWidth = Math.round(newWidth * optimale_breite);
                  newHeight = Math.round(newHeight * optimale_breite);
                  newX = Math.round(area_x + Number((area_width - newWidth) / optimaler_x_abstandsfaktor));
                  newY = Math.round(area_y + (area_height - newHeight)/2);
                 
               }
              
               /* Sonderfall erster Aufruf */
               if(Artikel.firstCall && Produkt.firstCall) {
                  
                     
                  if(document.getElementById("input_motiv"+aktmotivpos+"_position_x").value > 1) {
                     newX = Math.round(Number(document.getElementById("input_motiv"+aktmotivpos+"_position_x").value) + area_x);
                  }
                  if(document.getElementById("input_motiv"+aktmotivpos+"_position_y").value > 1) {
                     newY = Math.round(Number(document.getElementById("input_motiv"+aktmotivpos+"_position_y").value) + area_y);
                  }
                  
                  
               }

               var newMotivpositionX = Math.round(newX - area_x);
               var newMotivpositionY = Math.round(newY - area_y);
               
            }
            else {
               
               var newX = 1;
               var newY = 1;
               var newWidth = 1;
               var newHeight = 1;
               var newMotivpositionX = 1;
               var newMotivpositionY = 1;
               
            }
          
            if(typ == "Pixel") {
               
               
               svgdoc.getElementById("svg_motiv"+aktmotivpos+"").setAttribute("viewBox", "0 0 "+newWidth+" "+newHeight+"");
               svgdoc.getElementById("svg_motiv"+aktmotivpos+"").setAttribute("width", newWidth);
               svgdoc.getElementById("svg_motiv"+aktmotivpos+"").setAttribute("height", newHeight);
               svgdoc.getElementById("svg_motiv"+aktmotivpos+"").setAttribute("x", newX);
               svgdoc.getElementById("svg_motiv"+aktmotivpos+"").setAttribute("y", newY);
               
               svgdoc.getElementById("motiv"+aktmotivpos+"").setAttributeNS(null, 'x', '0');
               svgdoc.getElementById("motiv"+aktmotivpos+"").setAttributeNS(null, 'y', '0');
               svgdoc.getElementById("motiv"+aktmotivpos+"").setAttributeNS(null, 'width', newWidth);
               svgdoc.getElementById("motiv"+aktmotivpos+"").setAttributeNS(null, 'height', newHeight);
             
               
            }
            else if(typ == "Vektor") {
               
              
               svgdoc.getElementById("svg_motiv"+aktmotivpos+"").setAttribute("viewBox", viewBox);
               svgdoc.getElementById("svg_motiv"+aktmotivpos+"").setAttribute("width", newWidth);
               svgdoc.getElementById("svg_motiv"+aktmotivpos+"").setAttribute("height", newHeight);
               svgdoc.getElementById("svg_motiv"+aktmotivpos+"").setAttribute("x", newX);
               svgdoc.getElementById("svg_motiv"+aktmotivpos+"").setAttribute("y", newY);
               
               
            }

         
            Infoframe.changeMotivposition(aktmotivpos, newX, newY);
            
            Infoframe.changeMotivwidth(aktmotivpos, newWidth, area_width);
                  
            
         }
         
        
      
         
         
         
      
      };
   
   
      /*
      *****************************************************************************************
      *****************************************************************************************
      *****************************************************************************************
      *****************************************************************************************
      *****************************************************************************************
      *
      * Infoframe
      *
      *
      *****************************************************************************************
      *****************************************************************************************
      *****************************************************************************************
      *****************************************************************************************
      *****************************************************************************************
      */
   
       var Infoframe = {
       
           
            disableSubmitbutton : function(wert)
            {
                  if(document.getElementById("submitbutton1")) {
                     document.getElementById("submitbutton1").disabled = wert;
                  }
                  if(document.getElementById("submitbutton2")) {
                     document.getElementById("submitbutton2").disabled = wert;
                  }
                  if(document.getElementById("submitbutton3")) {
                     document.getElementById("submitbutton3").disabled = wert;
                  }
                  
            },
            changeTextContent: function(aktmotivpos, text)
            {
               if(document.getElementById("input_text"+aktmotivpos+"")) {
                  document.getElementById("input_text"+aktmotivpos+"").value = text;
               }
               
            },
            changeTextAttribute: function(aktmotivpos, typ, content)
            {
              
               if(document.getElementById("input_text"+aktmotivpos+"_"+typ+"")) {
                  document.getElementById("input_text"+aktmotivpos+"_"+typ+"").value = content;
               }
               
            },
            
            
            changeMotiv : function(aktmotivpos, motivid)
            {
             
             
               if(aktmotivpos > 0) {
                  if(document.getElementById("input_motiv"+aktmotivpos)) {
                     document.getElementById("input_motiv"+aktmotivpos).value = motivid;
                  }
                  if(document.getElementById("motiv"+aktmotivpos)) {
                     document.getElementById("motiv"+aktmotivpos).value = motivid;
                  }
               }
            },
            
            changeMotivproportion : function(aktmotivpos, wert)
            {
               
              
               if(aktmotivpos > 0) {
                  document.getElementById("input_motiv"+aktmotivpos+"_proportion").value = wert;
               }
            },
            changeMotivviewbox : function(aktmotivpos, wert)
            {
               
               if(aktmotivpos > 0) {
                  document.getElementById("input_motiv"+aktmotivpos+"_viewbox").value = wert;
               }
            },
            changeMotivposition : function(aktmotivpos, x, y)
            {
               
               document.getElementById("input_motiv"+aktmotivpos+"_position_x").value = x;
               document.getElementById("input_motiv"+aktmotivpos+"_position_y").value = y;
               
            },
            
            changeAnzahlMotivfarben : function(aktmotivpos, anzahl_motivfarben)
            {
              
               if(aktmotivpos > 0 && anzahl_motivfarben > 0) {
                  if(document.getElementById("input_motiv"+aktmotivpos+"_anzahlmotivfarben")) {
                     document.getElementById("input_motiv"+aktmotivpos+"_anzahlmotivfarben").value = anzahl_motivfarben;
                  }
               }
            },
            
            
            changeMotivwidth : function(aktmotivpos, motiv_width, druckbereich_width)
            {
              
               if(aktmotivpos > 0) {
                  document.getElementById("input_motiv"+aktmotivpos+"_width").value = Math.round(motiv_width);
               }
               
               /*
               var absolute_cm = Number(parent.document.getElementById("input_motivwidth_max").value);
               
               var druckbereich_motiv_verhaeltnis = (druckbereich_width / motiv_width);
               
               var absolute_width =  (absolute_cm / druckbereich_motiv_verhaeltnis) * 100;
               var absolute_width =  Math.floor(absolute_width) / 100;
               if(absolute_width > 0) {
                  document.getElementById("akt_motivwidth_absolute").innerHTML = "aktuelle Motivgrösse: ca. "+Math.round(absolute_width)+" cm";
                  document.getElementById("input_motivwidth_absolute").value = absolute_width;
               }
               */
            },
            changeMotivpath: function(aktmotivpos, path1, path2)
            {
               if(aktmotivpos > 0) {
             
                  document.getElementById("input_motiv"+aktmotivpos+"_path1").value = path1;
                  document.getElementById("input_motiv"+aktmotivpos+"_path2").value = path2;
               }

            },
            changeMotivtyp : function(aktmotivpos, wert)
            {
               
               
               if(aktmotivpos > 0) {
                  document.getElementById("input_motiv"+aktmotivpos+"_typ").value = wert;
               }
            },

            changeDruckfarbe : function(aktmotivpos, druckfarb_pos, druckfarbid, druckfarbname, druckfarbcode)
            {
              
               
               if(aktmotivpos > 0) {
                 document.getElementById("input_motiv"+aktmotivpos+"_druckfarbe_"+druckfarb_pos+"").value = druckfarbid;
                 document.getElementById("input_motiv"+aktmotivpos+"_druckfarbcode_"+druckfarb_pos+"").value = druckfarbcode;
               }
            },
            
            changeProdukt : function(produktid, produktname)
            {
               document.getElementById("input_produkt").value = produktid;
            },
            changeProduktgruppe : function(produktgruppenid)
            {
               if(document.getElementById("input_produktgruppe")) {
                  document.getElementById("input_produktgruppe").value = produktgruppenid;
               }
            },
            changeProvision : function(provision)
            {
               document.getElementById("input_provision").value = provision;
              
            },
            changeProduktfarbe : function(produktfarbcode)
            {
               document.getElementById("input_produktfarbe").value = produktfarbcode;
            },
            changeProduktpreis : function(preis)
            {
               document.getElementById("input_produktpreis").value = preis;
              
            },
            
            changeProduktgroesse : function(produktgroessencode, produktgroessenname)
            {
               document.getElementById("input_produktgroesse").value = produktgroessencode;
            },
           
            changeDrucktechnik : function(drucktechnik_id, drucktechnik_name)
            {
             
               if(Artikel.firstCall == 1 && document.getElementById("input_drucktechnik").value) {
                  olddrucktechnik = document.getElementById("input_drucktechnik").value;
                  
                  document.getElementById("input_drucktechnik").value = drucktechnik_id;
                  document.getElementById("akt_drucktechnik").innerHTML = drucktechnik_name;
                  
                  if(olddrucktechnik != drucktechnik_id) {
                     var infotext  = "die Drucktechnik hat sich geändert. Dies hat folgende Auswirkungen:\n\n";
                         infotext += "- die Produkte und Produktfarben haben sich geändert.\n\n";
                         infotext += "- die Druckfarben haben sich geändert.\n\n";
                        
                        if(drucktechnik_id == 1) {
                           Infoframe.changeProdukt(Config.StandardProduktVektor);
                        }
                        else if(drucktechnik_id == 4) {
                           Infoframe.changeProdukt(Config.StandardProduktPixel);
                        }
                        
                        Drucktechnik.getData(drucktechnik_id, 0); 
                  }
                 
               }
               else {
                  document.getElementById("input_drucktechnik").value = drucktechnik_id;
                  document.getElementById("akt_drucktechnik").innerHTML = drucktechnik_name;
                     
               }
               
               
               
               
            },
            changeDruckpreis : function(druckpreis)
            {
               document.getElementById("input_druckpreis").value = druckpreis;
              
            },
            changeProvision : function(wert)
            {
               document.getElementById("input_provision").value = wert;
             
            },
           
            checkProvision : function()
            {
               
                  var provision = 0;
                  for (var i=1;i<=5;i++)
                  {
                     if (document.getElementById("input_motiv"+i+"_pro") != null ) {
                        
                        if(document.getElementById("input_motiv"+i+"_pro").value) {


                           aktprovision = parseFloat(document.getElementById("input_motiv"+i+"_pro").value);
                           provision = provision + aktprovision;
                        }
                     }
                  
                  }
               
                  Infoframe.changeProvision(provision);
                  
               
            },
            checkDrucktechnik : function()
            {
               
               
                  var drucktechnikid = Config.StandardDrucktechnikVektor;
                  var drucktechnikname = "Flexdruck";
                  for (var i=1;i<=5;i++)
                  {
                     if(document.getElementById("input_motiv"+i+"_typ")) {
                        
                        if(document.getElementById("input_motiv"+i+"_typ").value == "Pixel") {
                           drucktechnikid = Config.StandardDrucktechnikPixel;
                           drucktechnikname = "Sublimationsdruck";
                        }
                     }
                  
                  }
                
                  Infoframe.changeDrucktechnik(drucktechnikid, drucktechnikname);
               
                  
                  
            },  
            checkPrice : function()
            {
            
                  var Rabatt_Promotion = 0;
                  var Rabatt_Account = 0;
                  var Rabatt_Partner = 0;
                  
                  var Rabatt = false;
            
            
                  var provision = 0;
                  var grundpreis = 0;
                  var produktpreis = 0;
                  var aufpreis_text = 0;
                  var aufpreis_motive = 0;
            
                  Infoframe.checkProvision();
            
                  Infoframe.checkDrucktechnik();
            
               /* ######################################################################### */
               /* ##### Grundpreis ######################################################## */
               /* ######################################################################### */
                     
                  if(document.getElementById("input_provision").value > 0) {
                     provision = document.getElementById("input_provision").value;
                  }
                  else {
                     provision = 0;
                  }
                 
                
               
               /* ######################################################################### */
               /* ##### Aufpreise Textzeilen ######################################################## */
               /* ######################################################################### */
               
                     
                     var anzahl_textzeilen = 0;
                     if (document.getElementById("input_text1") != null  && document.getElementById("input_text1").value ) {
                        anzahl_textzeilen = 1;
                     }
                     if (document.getElementById("input_text2") != null  && document.getElementById("input_text2").value ) {
                        anzahl_textzeilen = anzahl_textzeilen + 1;
                     }
                     if (document.getElementById("input_text3") != null  && document.getElementById("input_text3").value ) {
                        anzahl_textzeilen = anzahl_textzeilen + 1;
                     }
                     if (document.getElementById("input_text4") != null  && document.getElementById("input_text4").value ) {
                        anzahl_textzeilen = anzahl_textzeilen + 1;
                     }
                     if (document.getElementById("input_text5") != null  && document.getElementById("input_text5").value ) {
                        anzahl_textzeilen = anzahl_textzeilen + 1; 
                     }
                     
                     if(anzahl_textzeilen == 0) {
                        aufpreis_text = Config.AufpreisTextzeilen0;
                     }
                     else if(anzahl_textzeilen == 1) {
                        aufpreis_text = Config.AufpreisTextzeilen1;
                     }
                     else if(anzahl_textzeilen == 2) {
                        aufpreis_text = Config.AufpreisTextzeilen2;
                     }
                     else if(anzahl_textzeilen == 3) {
                        aufpreis_text = Config.AufpreisTextzeilen3;
                     }
                     else if(anzahl_textzeilen == 4) {
                        aufpreis_text = Config.AufpreisTextzeilen4;
                     }
                     else if(anzahl_textzeilen == 5) {
                        aufpreis_text = Config.AufpreisTextzeilen5;
                     }

                    
               /* ######################################################################### */
               /* ##### Produktpreis ########################################################### */
               /* ######################################################################### */

                     produktpreis = document.getElementById("input_produktpreis").value;

               /* ######################################################################### */
               /* ##### Druckpreis ########################################################### */
               /* ######################################################################### */


                     var anzahl_motive = 0;
                     if (document.getElementById("input_motiv1") != null  && document.getElementById("input_motiv1").value ) {
                        anzahl_motive = 1;
                     }
                     if (document.getElementById("input_motiv2") != null  && document.getElementById("input_motiv2").value ) {
                        anzahl_motive = anzahl_motive + 1;
                     }
                     if (document.getElementById("input_motiv3") != null  && document.getElementById("input_motiv3").value ) {
                        anzahl_motive = anzahl_motive + 1;
                     }
                     if (document.getElementById("input_motiv4") != null  && document.getElementById("input_motiv4").value ) {
                        anzahl_motive = anzahl_motive + 1;
                     }
                     if (document.getElementById("input_motiv5") != null  && document.getElementById("input_motiv5").value ) {
                        anzahl_motive = anzahl_motive + 1; 
                     }
                     
                     if(anzahl_motive == 0) {
                        aufpreis_motive = Config.AufpreisMotive0;
                     }
                     else if(anzahl_motive == 1) {
                        aufpreis_motive = Config.AufpreisMotive1;
                     }
                     else if(anzahl_motive == 2) {
                        aufpreis_motive = Config.AufpreisMotive2;
                     }
                     else if(anzahl_motive == 3) {
                        aufpreis_motive = Config.AufpreisMotive3;
                     }
                     else if(anzahl_motive == 4) {
                        aufpreis_motive = Config.AufpreisMotive4;
                     }
                     else if(anzahl_motive == 5) {
                        aufpreis_motive = Config.AufpreisMotive5;
                     }

                     
                     
                     
                     //provision
                     //produktpreis
                     //aufpreis_text
                     //aufpreis_motive
                    
                    
                     kalkulierter_einzelpreis = (parseFloat(provision)) + (parseFloat(produktpreis)) + (parseFloat(aufpreis_text)) + (parseFloat(aufpreis_motive));
                     kalkulierter_einzelpreis_original = kalkulierter_einzelpreis;
                  
               /* ######################################################################### */
               /* ##### Promotion ########################################################### */
               /* ######################################################################### */

                  
                  
                     if(JSON_Artikel.Artikel.Rabatt) {
                      
                        if(JSON_Artikel.Artikel.Rabatt.Produkte) {

                                 if(JSON_Artikel.Artikel.Rabatt.Produkte > 0) {
                                    if(JSON_Artikel.Artikel.Rabatt.Produkte == JSON_Produkt.Produkt.ID) {
                                       bool_Rabatt_Produkt = true;
                                    }
                                    else {
                                       bool_Rabatt_Produkt = false;
                                    }
                                 }
                                 else if(JSON_Artikel.Artikel.Rabatt.Produkte.length > 0) {
                                     
                                    bool_Rabatt_Produkt = false;
                                    for (var i=0;i<JSON_Artikel.Artikel.Rabatt.Produkte.length;i++)
                                    {
                                       if(JSON_Artikel.Artikel.Rabatt.Produkte[i] == JSON_Produkt.Produkt.ID) {
                                          bool_Rabatt_Produkt = true; 
                                       }
                                    }
                                      
                                 }
                                 else {
                                    bool_Rabatt_Produkt = false;
                                 }

                                 if(bool_Rabatt_Produkt == true) {
                                    bool_PromoRabatt = true;
                                 }
                                 else {
                                    bool_PromoRabatt = false;
                                 }
                                
                        }
                        else {
                           bool_PromoRabatt = true;
                        }
                            
                        if(bool_PromoRabatt == true && JSON_Artikel.Artikel.Rabatt.Promotion > 0) {
                           
                           if(JSON_Artikel.Artikel.Rabatt.Promotion > Rabatt_Promotion) {
                              Rabatt_Promotion = Number(JSON_Artikel.Artikel.Rabatt.Promotion);
                           }
                        }
                     }
                     
                     
                     if(document.getElementById("input_rabatt_account").value) {
                        Rabatt_Account = document.getElementById("input_rabatt_account").value;
                        
                     }
                     if(document.getElementById("input_rabatt_partner").value) {
                        Rabatt_Partner = document.getElementById("input_rabatt_partner").value;
                        
                     }
                     
                     Rabatt = Number(Rabatt_Promotion) +  Number(Rabatt_Account) +  Number(Rabatt_Partner);

                     if(Rabatt > 0 && Rabatt <= 100) {
                        kalkulierter_einzelpreis = (kalkulierter_einzelpreis * (1-(Rabatt/100)));
                     }
                     kalkulierter_preis_between = kalkulierter_einzelpreis_original - kalkulierter_einzelpreis;
                     
                     
              
               /* ######################################################################### */
               /* ##### schreibe Preis in Input ########################################################### */
               /* ######################################################################### */

              
                     document.getElementById("input_einzelpreis").value = kalkulierter_einzelpreis.toFixed(2);
               
               /* ######################################################################### */
               /* ##### schreibe Preis in Container ########################################################### */
               /* ######################################################################### */

               
                     if(Artikel.Scripttyp == 'view') {
                        
                        document.getElementById("view_einzelpreis").innerHTML = number_format(kalkulierter_einzelpreis, 2, ",", ".")+".--";
                        
                        if(kalkulierter_einzelpreis_original > 0) {
                          
                           if(document.getElementById("view_rabatt")) {
                              if((kalkulierter_einzelpreis_original-kalkulierter_einzelpreis) > 0) {
                                 if(document.getElementById("view_einzelpreis_original")) {
                                    document.getElementById("view_einzelpreis_original").innerHTML = number_format(kalkulierter_einzelpreis_original, 2, ",", ".")+".--";
                                 }
                                 document.getElementById("view_rabatt").innerHTML = "- "+number_format((Rabatt), 2, ",", ".")+"% ";
                                 document.getElementById("view_rabattpreis").innerHTML = " ("+number_format((kalkulierter_preis_between), 2, ",", ".")+".--) ";
                                 
                              }
                              else {
                                 document.getElementById("view_rabattpreis").innerHTML = "";
                                 document.getElementById("view_rabatt").innerHTML = "";
                                 document.getElementById("view_einzelpreis_original").innerHTML = "";
                              }
                           }
                        }
                        if( document.getElementById("view_menge").value > 0 && document.getElementById("view_menge").value < 500 ) {
                           
                           kalkulierter_gesamtpreis = kalkulierter_einzelpreis * document.getElementById("view_menge").value;
                           document.getElementById("view_gesamtpreis").innerHTML = number_format(kalkulierter_gesamtpreis, 2, ",", ".")+".--";
                           document.getElementById("input_gesamtpreis").value = kalkulierter_gesamtpreis.toFixed(2);
                            
                           document.getElementById("input_menge").value = document.getElementById("view_menge").value;
                             
                        }
                        else {
                           document.getElementById("view_gesamtpreis").innerHTML = "---";
                           document.getElementById("input_gesamtpreis").value = "---";
                           document.getElementById("input_menge").value = 1;
                          
                        }
                     }
            },

            errorcheck : function(key)
            {
             
              
               
               if(Artikel.Scripttyp == 'view') {
                  // key für einzelne Error Exeptions
                  if(key == "view_menge") 
                  {
                     
                     if( document.getElementById("view_menge").value > 0 && document.getElementById("view_menge").value < 500 ) {
                        document.getElementById("error_menge").style.border = "";
                        Infoframe.disableSubmitbutton(false);
                     }
                     else {
                        document.getElementById("error_menge").style.border = "5px solid red";  
                        Infoframe.disableSubmitbutton(true);
                     }
                  }
                  
                  if(key == "content") 
                  {
                  
                    
                     // wenn kein Motiv und kein individueller Text
                     if(document.getElementById("input_text1").value ||
                        document.getElementById("input_text2").value ||
                        document.getElementById("input_text3").value ||
                        document.getElementById("input_text4").value ||
                        document.getElementById("input_text5").value ||
                        document.getElementById("input_motiv1").value ||
                        document.getElementById("input_motiv2").value ||
                        document.getElementById("input_motiv3").value ||
                        document.getElementById("input_motiv4").value ||
                        document.getElementById("input_motiv5").value
                        ) {
                        document.getElementById("text_nocontent").style.display = "none";
                        document.getElementById("text_prices").style.display = "block";
                      
                        Infoframe.disableSubmitbutton(false);
                     }
                     else {
                        document.getElementById("text_prices").style.display = "none";
                        document.getElementById("text_nocontent").style.display = "block";
                        document.getElementById("text_nocontent").style.border = "1px solid red";
                  
                        
                        Infoframe.disableSubmitbutton(true);
                     }
                  }
                  
               }
            }
      };
      
      
       /*
      *****************************************************************************************
      *****************************************************************************************
      *****************************************************************************************
      *****************************************************************************************
      *****************************************************************************************
      *
      * Motivpager
      *
      *
      *****************************************************************************************
      *****************************************************************************************
      *****************************************************************************************
      *****************************************************************************************
      *****************************************************************************************
      */
      
       
      var Motivpager = {



            init: function(pageclickednumber, searchtyp, search)
            {
               var json_url = false;
              
               if(searchtyp == "kategorie") {
                  
                  if(search > 0) {
                     if(document.getElementById("input_motivswitcher_typ")) {
                        document.getElementById("input_motivswitcher_typ").value = searchtyp;
                        document.getElementById("input_motivswitcher_wert").value = search;
                    
                        json_url = 'getJSON.php?func=getMotivpager&page='+pageclickednumber+'&searchtyp='+searchtyp+'&search='+search+'';
                     }
                     
                  }
                  
               }
               else if(searchtyp == "tag") {
                  if(search) {
                     if(document.getElementById("input_motivswitcher_typ")) {
                        document.getElementById("input_motivswitcher_typ").value = searchtyp;
                        document.getElementById("input_motivswitcher_wert").value = search;
                    
                        json_url = 'getJSON.php?func=getMotivpager&page='+pageclickednumber+'&searchtyp='+searchtyp+'&search='+search+'';
                     }
                  }
                  
               }
               else if(searchtyp == "private") {
                  if(search) {
                     if(document.getElementById("input_motivswitcher_typ")) {
                        document.getElementById("input_motivswitcher_typ").value = searchtyp;
                        document.getElementById("input_motivswitcher_wert").value = search;
                        json_url = 'getJSON.php?func=getMotivpager&page='+pageclickednumber+'&searchtyp='+searchtyp+'&search='+search+'';
                     }
                  }
                  else {
                      if(document.getElementById("input_motivswitcher_typ")) {
                        document.getElementById("input_motivswitcher_typ").value = searchtyp;
                        document.getElementById("input_motivswitcher_wert").value = document.getElementById("input_motivswitcher_hash").value;
                        json_url = 'getJSON.php?func=getMotivpager&page='+pageclickednumber+'&searchtyp='+searchtyp+'';
                     }
                     
                  }
                  
               }
               else if(searchtyp == "partner") {
                  if(search) {
                     if(document.getElementById("input_motivswitcher_typ")) {
                        document.getElementById("input_motivswitcher_typ").value = searchtyp;
                        document.getElementById("input_motivswitcher_wert").value = search;
                    
                        json_url = 'getJSON.php?func=getMotivpager&page='+pageclickednumber+'&searchtyp='+searchtyp+'&search='+search+'';
                     }
                  }
                  
               }
                  
                  
                  
                  
                  if(json_url) {
                      $.ajax({
                         url: json_url,
                         type: 'GET',
                         dataType: 'json',
                         timeout: 5000,
                         global: 'false',
                         error: function(){
                           // alert('Fehler. Es konnten keine weiteren Motive geladen werden');
                         },
                         success: this.showMotive
                      
                       });
                  }
               
            },
            
            addhandler : function(id)
            {
                        
            },
            showMotive : function(data, textStatus)
            {
               

               JSON_Motivpager = data;
               
               var motivcheck = false;
               
               document.getElementById("motivpager_result").innerHTML = "";
               if(JSON_Motivpager) {
               
                  if(JSON_Motivpager.Name) {
                     document.getElementById("motivpager_aktkat").innerHTML = "<h3>"+JSON_Motivpager.Name+"</h3>";
                  }
                  for (var item in JSON_Motivpager.motive)
                  {

                     motivcheck = true;

                     if(JSON_Motivpager.motive[item].ID)
                     {
                        
                                 var div = document.createElement("div");
                                 div.setAttribute("id", "div_motivpager_"+JSON_Motivpager.motive[item].ID);
      
                                 div.style.styleFloat = "left"; // IE
                                 div.style.cssFloat = "left"; // Gecko
                                 div.style.width = "74px";
                                 div.style.height = "74px";
                                 div.style.border = "1px solid #D1D3D4";
                                 div.style.overflow = "hidden";
                                 div.style.margin = "1px";
                               
                                 // Images
                                 var img = document.createElement("img");
                                 img.setAttribute("id", "img_motivpager_"+JSON_Motivpager.motive[item].ID);
                                 img.setAttribute("src", JSON_Motivpager.motive[item].Bildpfad);
                                 
                                 img.setAttribute("style", JSON_Motivpager.motive[item].style);
                                
                                // img.myItem = item;
   
                                 var a = document.createElement("a");
                                 a.setAttribute("id", "a_motivpager_"+JSON_Motivpager.motive[item].ID+"");
                                 a.setAttribute("href", "#ansicht");
                                 
                                 
                                 if(a.attachEvent) {
                                   
                                  
                                          if(JSON_Motivpager.motive[item].Typ == "Pixel") {
                                         
                                             a.attachEvent("onclick", function(evt) {
                                                NewMotiv.loading(JSON_Motivpager.motive[item].ID); 
                                                Container.changeTabs('farben');
                                             return false;
                                             });
                                          }
                                          else if(JSON_Motivpager.motive[item].Typ == "Vektor") {
                                             /*
                                               $("#a_motivpager_"+JSON_Motivpager.motive[item].ID).click(function() {
                                                  
                                                  Motiv.switchMotiv(JSON_Motivpager.motive[item].ID); 
                                                  Drucktechnik.getData('Artikel', JSON_Motivpager.motive[item].ID, '', '1', false, '0', '1', '', 'view', '1');
                                               });
                                            */
                                       
                                     
                                       
                                            // myElement.onclick = function() {
                                            //    var temp = new Function("addhandler('"+JSON_Motivpager.motive[item].ID+"')");
                                              /*  
                                             a.attachEvent("onclick", function() {
                                                var temp = new Function("Motivpager.addhandler("+data.motive[0].ID+")");
                                                temp();
                                                return false;
                                             });         
                                              */       
                                             
                                             a.attachEvent("onclick", function(evt) {
                                                NewMotiv.loading(JSON_Motivpager.motive[item].ID); 
                                                Container.changeTabs('farben');
                                             });
                                             
                                      
                                          }
                                   
                                  
   
                                 } else if(a.addEventListener) {
                                   
                                   
                                    if(JSON_Motivpager.motive[item].Typ == "Pixel") {
                                      onclicktext = "NewMotiv.loading(\""+JSON_Motivpager.motive[item].ID+"\"); Container.changeTabs(\"farben\"); ";
                                       onclicktext += " return false; ";
                                    }
                                    else if(JSON_Motivpager.motive[item].Typ == "Vektor") {
                                       onclicktext = "NewMotiv.loading(\""+JSON_Motivpager.motive[item].ID+"\"); Container.changeTabs(\"farben\"); ";
                                       onclicktext += " return false; ";
                                    }

                                    a.setAttribute("onclick", onclicktext);
                                    
                                   
                                 }
                                 
                                 
                                 a.appendChild(img);
                                 
                                 div.appendChild(a);
                                 
                                 document.getElementById("motivpager_result").appendChild(div);
   
                     }
   
                     
                  }
               
                  if(motivcheck == false) {
   
                           var span = document.createElement("span");
                           span.style.styleFloat = "left"; // IE
                           span.style.cssFloat = "left"; // Gecko
                           span.style.width = "100%";
                           var txt = document.createTextNode(JSON_Motivpager.Message);
                           span.appendChild(txt);
                           document.getElementById("motivpager_result").appendChild(span);
   
                  }
               }
            }
      };
      
      
        /*
      *****************************************************************************************
      *****************************************************************************************
      *****************************************************************************************
      *****************************************************************************************
      *****************************************************************************************
      *
      * Container
      *
      *
      *****************************************************************************************
      *****************************************************************************************
      *****************************************************************************************
      *****************************************************************************************
      *****************************************************************************************
      */
      
       
      var Container = {

            changeTabs: function(id)
            {
               
               var possibleTabs = new Array();
                    possibleTabs[1] = 'drucktechniken';
                    possibleTabs[2] = 'produkte';
                    possibleTabs[3] = 'motive';
                    possibleTabs[4] = 'farben';
                    possibleTabs[5] = 'text';
                    possibleTabs[6] = 'enlarge';
		    possibleTabs[7] = 'help';
                     
               for (var i=1;i<possibleTabs.length;i++)
               {
                   

                    if(document.getElementById('infocontainer_tab_'+possibleTabs[i]+'')) {
                        document.getElementById('infocontainer_tab_'+possibleTabs[i]+'').setAttribute("class", "infocontainer_tabs");
                    }
		    $('#infocontainer_'+possibleTabs[i]+'').hide();
                   
               }
               $('#infocontainer_'+id).show();
               document.getElementById('infocontainer_tab_'+id+'').setAttribute("class", "infocontainer_tabs_active");
                    
               
               
            }
            
      };
      
