// START FUNKTIONEN UND VARS ***********************************************************************************************
// START ALLGEMEIN********************************
function Ini() {  // Beim ersten Start Werte ausgeben
   // Das richtige einblenden
   // Motivposition(MOTIVPOSITION);
   UploadoderLoeschen();     				// Bild vorhanden? (vor den anderen setzen, wg inner.HTML)
   Produktfarbe(PRODUCTCOLOR, BGCOLOR)		// Produktfarbe einstellen
   Zeilenfocus('zeile-1_1',false); 			// ZEILE ist jetzt zeile1   
   Verknuepfungssymbol();	 				// Verknüpfungssymbol einstellen
   Rahmen(RAHMEN); 			 				// Druckrahmen anzeigen?
   Side(SIDE); 								// Seite (und Motivart) wählen
   MoveImg('c','o','move_center');			// Pfeilanschlag darstellen    
   
   // Fehlermeldungen anzeigen
   if (FEHLER.length>1) { 
      Meldung(FEHLER,100);
      }

   // Initialisierung abgeschlossen
   INI = true;	  
   }


function Side(side) {
   // SIDE einstellen
   SIDE = side;

   // Produktbild einstellen
   Produktbild();

   // Klassen auf aus setzen
   for (var i=1; i<=SIDESTOTAL; i++) {
      eval ("tag = document.getElementById('reiter_side"+i+"')");
     
      // Wenn Name leer - vollständig ausblenden
      if (SIDENAMES[(i-1)].length==0) tag.className = "reiter";
	  else tag.className = 'reiter0';    
      }

   // Motivart einblenden
   Motivart(MOTIVART[SIDE]);

   // Verknüpfungssymbol einstellen
   Verknuepfungssymbol();	   

   // Motiv anzeigen   
   MotivAnzeigen();
   }


function SeiteBedruckbar() {
   // Wenn Seite nicht bedruckbar, Meldung ausgeben
   if (BEDRUCKBAR[(SIDE-1)]=="0") { 
      eval("Prog_div_visible('motiv0')");   
      eval("Prog_div_hidden('motiv1')");
      eval("Prog_div_hidden('motiv2')");
      eval("Prog_div_hidden('motiv3')");
      eval("document.getElementById('reiter_side'+SIDE).className = 'reiter1'");
      }
   else { 
      eval("Prog_div_hidden('motiv0')");
      eval("Prog_div_hidden('motiv1')");
      eval("Prog_div_hidden('motiv2')");
      eval("Prog_div_hidden('motiv3')");
      eval("Prog_div_visible('motiv"+MOTIVART[SIDE]+"')");      
      eval("document.getElementById('reiter_side'+SIDE).className = 'reiter1'");
      }
   }


function Motivart(motivart) {
   // Var
   MOTIVART[SIDE] = motivart;

   // Motivarten ausblenden
   Prog_div_hidden('motiv0');
   Prog_div_hidden('motiv1');
   Prog_div_hidden('motiv2');
   Prog_div_hidden('motiv3');
      
   // Gewünschte Klasse einschalten, Motivart einblenden und Reiter anzeigen
   SeiteBedruckbar();
   MotivReiter();

   // Bild vorhanden?
   UploadoderLoeschen();
  
   // Zeilenfocus und Verknüfungssymbol
   Verknuepfungssymbol();
   eval("Zeilenfocus('zeile-"+motivart+"_1',false)");
   
   // Motiv anzeigen 
   MotivAnzeigen();
   }


function MotivReiter() {
	// Klassen auf aus setzen bzw  wenn MOtiv nicht DRuckbar ganz aus
	if(DRUCK_MOTIVART[0]) document.getElementById('reiter_motiv1').className = 'reiter0';   
		else document.getElementById('reiter_motiv1').className = 'reiter';   
	if(DRUCK_MOTIVART[1]) document.getElementById('reiter_motiv2').className = 'reiter0';   
		else document.getElementById('reiter_motiv2').className = 'reiter';   
	if(DRUCK_MOTIVART[2]) document.getElementById('reiter_motiv3').className = 'reiter0';  	
		else document.getElementById('reiter_motiv3').className = 'reiter';   
	eval("document.getElementById('reiter_motiv'+MOTIVART[SIDE]).className = 'reiter1'");
    }
	

function VarsSave() {
	xajax_XVarsSafe(SESSIONID, SIDES, PRODUKTNR, RAHMEN, PRODUCTCOLOR, Obj2Arr_Sides('MOTIVART'), Obj2Arr_Motive('XSPACING'), Obj2Arr_Motive('VSPACING'), Obj2Arr_Motive('IMG_SCALE'), Obj2Arr_Motive('FIRST_FOCUS'), Obj2Arr_Sides('IMGNAME'), Obj2Arr_Sides('VERKNUEPFT'), Obj2Arr_Text('TEXT',1), Obj2Arr_Text('FONT',1), Obj2Arr_Text('FONTSIZE',1), Obj2Arr_Text('FONTCOLOR',1), Obj2Arr_Text('FONTALIGN',1), Obj2Arr_Text('TEXT',2), Obj2Arr_Text('FONT',2), Obj2Arr_Text('FONTSIZE',2), Obj2Arr_Text('FONTCOLOR',2), Obj2Arr_Text('FONTALIGN',2), Obj2Arr_Text('TEXT',3), Obj2Arr_Text('FONT',3), Obj2Arr_Text('FONTSIZE',3), Obj2Arr_Text('FONTCOLOR',3), Obj2Arr_Text('FONTALIGN',3)) 
	// alert(SIDES+" - "+  PRODUKTNR+" - "+   Obj2Arr_Sides('VSPACING')+" - "+  IMG_SCALE+" - "+  FIRST_FOCUS+" - "+  IMGNAME+" - "+  Obj2Arr_Sides('VERKNUEPFT')+" - "+  Obj2Arr_Text('TEXT')+" - "+   Obj2Arr_Text('FONT')+" - "+  Obj2Arr_Text('FONTSIZE')+" - "+  Obj2Arr_Text('FONTCOLOR')+" - "+  Obj2Arr_Text('FONTALIGN')) 
	}	

function Obj2Arr_Text(obj,m) { // m = MOTIVART
   // Var
   var s,z;
   temp = new Array();

  // Werte ändern:
  for (s=1; s<=SIDES; s++) {  
     temp[s]  = new Array();
	 for (z=1; z<=ZEILENZAHL[m]; z++) {    
		eval("temp["+s+"]["+z+"] = "+obj+"["+s+"]['zeile-"+m+"_"+z+"']");
		}
	 }
   return temp;
   }

function Obj2Arr_Sides(obj) {
   // Var
   var s;
   temp = new Array();

   // Werte ändern:
   for (s=1; s<=SIDES; s++) {
      temp[s]      = new Array(); 
      eval("temp[s] = "+obj+"[s]");
      }
   return temp;
   }


function Obj2Arr_Motive(obj) {
   // Var
   var s,m;
   temp = new Array();

   // Werte ändern:
   for (s=1; s<=SIDES; s++) {
      temp[s]      = new Array(); 
      for(m=1; m<=MOTIVARTEN; m++) {
         eval("temp[s][m] = "+obj+"[s][m]");
         }
      }
   return temp;
   }

function Produktfarbe(productcolor, bgcolor) {
	PRODUCTCOLOR = productcolor;
	BGCOLOR		 = bgcolor;
	Produktbild();
	MotivAnzeigen();
	}

function Produktbild() {
   eval ('var newImage = "url(/bilder/produktbilder/'+PRODUKTNR+'-'+PRODUCTCOLOR+'-'+SIDE+'.jpg)"');
   document.getElementById('produktbild').style.backgroundImage = newImage; 
   }

function Fontlist() { // Popup für Schriftart anzeigen beim Auswählen aus dem Select-Menu
   eval("var tag = document.getElementById('font-"+MOTIVART[SIDE]+"');");
   var font = tag.options[tag.selectedIndex].value;
   document.getElementById('fontimg').src = "/bilder/fonts/" +font+ ".gif";
   }

function MMove(aktion) {
	// Vars
	var x = XSPACING[SIDE][MOTIVART[SIDE]];
	var y = VSPACING[SIDE][MOTIVART[SIDE]];
	var f = 5;

	switch(aktion) {
		case('u'):  // Hoch 
			if (y-f>=0) y = y*1-f*1;
				else y = 0;
			break;
		case('d'):  // Runter 
			if (y+f<=100) y = y*1+f*1;
				else y = 100;
			break;
		case('l'):  // Links 
			if (x-f>=-100) x = x*1-f*1;
				else x = -100;
			break;
		case('r'):  // Rechts 
			if (x+f<=100) x = x*1+f*1;
				else x = 100;
			break;
		case('c'): 
			x = 0;			
			y = 0;
			break;
		}
	
	// Vars zuweisen
	XSPACING[SIDE][MOTIVART[SIDE]] = x;
	VSPACING[SIDE][MOTIVART[SIDE]] = y;
		
	// Motiv anzeigen
	MotivAnzeigen();
	}

function MoveImg(pos,aktion,imgid) {
	// Vars
	var x = XSPACING[SIDE][MOTIVART[SIDE]];
	var y = VSPACING[SIDE][MOTIVART[SIDE]];

	// Anzeige zurücksetzen
	document.getElementById('move_left').src = '/bilder/programm/move_1_l.gif';
	document.getElementById('move_right').src = '/bilder/programm/move_1_r.gif';
	document.getElementById('move_up').src = '/bilder/programm/move_1_u.gif';
	document.getElementById('move_down').src = '/bilder/programm/move_1_d.gif';
	document.getElementById('move_center').src = '/bilder/programm/move_1_c.gif';

	// Aktion wählen
	switch(aktion) {
		case('o'):  // MouseOver 
			eval("document.getElementById(imgid).src = '/bilder/programm/move_2_"+pos+".gif'");
			break;
		case('r'): // MousseOut
			eval("document.getElementById(imgid).src = '/bilder/programm/move_1_"+pos+".gif'");			
			break;
		case('c'): // Click
			break;
		}
	
	// Anschlag
	if (x==-50) 		document.getElementById('move_left').src = '/bilder/programm/move_0_l.gif';
	if (x==50) 			document.getElementById('move_right').src = '/bilder/programm/move_0_r.gif';
	if (y==0) 			document.getElementById('move_up').src = '/bilder/programm/move_0_u.gif';
	if (y==100) 		document.getElementById('move_down').src = '/bilder/programm/move_0_d.gif';
	if (x==0 && y==0) 	document.getElementById('move_center').src = '/bilder/programm/move_0_c.gif';
	}


function Meldung(text,anzeigedauer) {  // Fehler und Hinweismeldungen anzeigen, AzdauerStd = 150
   Prog_div_visible('meldung');
   document.getElementById('meldungstext').innerHTML    = '<br>'+text+'<br><br>';
   var timeout = text.length * anzeigedauer;
   setTimeout("Prog_div_hidden('meldung')",timeout);
   }
   
function AddCart() {
   if (document.getElementById('groesse').value==0) {
      Meldung ("Bitte zuerst Produktgröße auswählen<br>("+PRODUKTGROESSEN+")",100);
	  }
   else {
	  // Größe
  	  if (document.getElementById('groesse').value!='Standardgröße') {
	  	document.getElementById('beschreibung2').value 	= "Größe: "+document.getElementById('groesse').value;		
		}

	  // Druckbereich eingehalten?
	  if (document.getElementById('uebergroesse').value=='1') {		    
		  Meldung('Das Motiv ist größer als der Druckbereich!<br>Verkleinern Sie das Motiv oder verschieben Sie es in<br>die bedruckbare Fläche.<br>TIPP: Durch aktivieren der Box oben rechts<br>&raquo;Bedruckbare Fläche anzeigen&laquo; wird der Druckbereich eingeblendet.',70);		  
		  } 
	  else {
		  // Ab in den Korb...
		  Meldung('Produkt wird in den<br>Warenkorb gelegt...',20);
		  
		  // Variablen speichern
	      VarsSave();
		  }
	  }
   }


function Submit() { // Absenden
	document.form.submit()
}

// ENDE ALLGEMEIN********************************


// Start Bilder ********************************
function IETranparency(img) {
	 var imgID = (img.id) ? "id='" + img.id + "' " : ""
	 var imgTitle = (img.title) ? "title='" + img.title + "' " : "title='" + img.alt + "' "
	 var imgStyle = "display:inline-block;" + img.style.cssText 
	 var strNewHTML = "<span " + imgID + imgTitle
	 + " style=\"" + "width:" + 350 + "px; height:" + 350 + "px;" + imgStyle + ";"
	 + "filter:progid:DXImageTransform.Microsoft.AlphaImageLoader"
	 + "(src=\'" + img.src + "\', sizingMethod='scale');\"></span>" // WIDTH 350   HEIGHT 350
	 img.outerHTML = strNewHTML
     }
	 
	 
function UploadoderLoeschen() {
	if (MOTIVART[SIDE]>1) {
		var html, hilfetext1;
		hilfetext1 = 'Blendet einen Rahmen ein, welcher die bedruckbare Fläche anzeigt. Der Aufdruck muss sich innerhalb dieser Fläche befinden. Ist der Aufdruck zu groß, wird der Rahmen rot eingefärbt.';
		
		// HTML festlegen
		if (!BildVorhanden()) eval ('html = \'<input onclick="Upload(window.name);" name="bilddatei'+MOTIVART[SIDE]+'" id="bilddatei'+MOTIVART[SIDE]+'" type="button" class="Schrift" value="Mein Bildmotiv wählen">\'');   
			else html = '<TABLE cellspacing="5" cellpadding="0" class="Schrift_Klein"><TR><TD onMouseOver="return Hilfe(\'Verkleinert das Bildmotiv auf die angegebene Prozentzahl.\')" onMouseOut="nd();"><img src="/bilder/programm/bild_skalieren.gif" name="bild_skalieren" width="24" height="18" border="0" hspace="5"></TD><TD  style="text-align: left;" onMouseOver="return Hilfe(\'Verkleinert das Bildmotiv auf die angegebene Prozentzahl.\')" onMouseOut="nd();">Bildgröße&nbsp;<select onChange="ImgScale(this.value)" class="listmenu" id="img_scale_'+MOTIVART[SIDE]+'" name="img_scale_'+MOTIVART[SIDE]+'"><option value="100">100 %</option><option value="90">90 %</option><option value="80">80 %</option><option value="70">70 %</option><option value="60">60 %</option><option value="50">50 %</option><option value="40">40 %</option><option value="30">30 %</option><option value="20">20 %</option><option value="10">10 %</option></select></TD></TR><TR><TD onMouseOver="return Hilfe(\'Geben Sie hier die Form an, die Ihr aufgedrucktes Bildmotiv haben soll (Standardform ist rechteckig). Das Foto wird dann ohne Zusatzkosten vor dem Druck auf die angegebene Kontur freigestellt. Wenn Sie eine andere Bildform als rechteckig angeben achten Sie bitte darauf, dass der freizustellende Hintergrund sich eindeutig vom Motiv unterscheidet (Beispiel: Ein Wappen auf einfarbigem Hintergrund. Wählen Sie &raquo;Bildform geometrisch freistellen&laquo;. Der einfarbige Bildbereich um das Wappen wird entfernt und das Bild in Wappenform aufgedruckt.).<br><br>WICHTIG:<br>Die geänderte Bildform wird nicht in der Vorschau angezeigt!\')" onMouseOut="nd();"><img src="/bilder/programm/bild_form.gif" name="bild_form" width="24" height="18" border="0" hspace="5"></TD><TD  style="text-align: left;" onMouseOver="return Hilfe(\'Geben Sie hier die Form an, die Ihr aufgedrucktes Bildmotiv haben soll (Standardform ist rechteckig). Das Foto wird dann ohne Zusatzkosten vor dem Druck auf die angegebene Kontur freigestellt. Wenn Sie eine andere Bildform als rechteckig angeben achten Sie bitte darauf, dass der freizustellende Hintergrund sich eindeutig vom Motiv unterscheidet (Beispiel: Ein Wappen auf einfarbigem Hintergrund. Wählen Sie &raquo;Bildform geometrisch freistellen&laquo;. Der einfarbige Bildbereich um das Wappen wird entfernt und das Bild in Wappenform aufgedruckt.).<br><br>WICHTIG:<br>Die geänderte Bildform wird nicht in der Vorschau angezeigt!\')" onMouseOut="nd();">Bildform&nbsp;<select class="listmenu" id="hinweise" name="hinweise"><option value="Bildform rechteckig">rechteckig freistellen</option><option value="Bildform rund">rund freistellen</option><option value="Bildform oval">oval freistellen</option><option value="Bildform geometrisch">geometrisch freistellen</option></select></TD></TR><TR><TD onMouseOver="return Hilfe(\'Löscht das aktuelle Bildmotiv. Nach dem Löschen können Sie wieder ein anderes Bildmotiv wählen.\')" onMouseOut="nd();"><a href="JavaScript: DelImg()"><img src="/bilder/programm/bild_loeschen.gif" name="bild_loeschen" width="24" height="18" border="0" hspace="5"></a></TD><TD  style="text-align: left;" onMouseOver="return Hilfe(\'Löscht das aktuelle Bildmotiv. Nach dem Löschen können Sie wieder ein anderes Bildmotiv wählen.\')" onMouseOut="nd();"><a href="JavaScript: DelImg()">Bild löschen</a></TD></TR><TABLE>';
			
		// Einbinden
		eval("document.getElementById('img_upload_"+MOTIVART[SIDE]+"').innerHTML = html");
		}
	}
	

function BildVorhanden() {
	// Bild auf Seite hochgeladen?
	if (IMGNAME[SIDE]!=='') return true;
		else return false;
	}	


function Uploaded(dateiname) {
	// Upload schließen
	UploadClose();
	
	// Neue Datei
	IMGNAME[SIDE] = dateiname;

    // Motiv anzeigen 
	Motivart(MOTIVART[SIDE]);
    MotivAnzeigen();
	}
	
function DelImg() {
	IMGNAME[SIDE]='';
	
	// Bildposition zurücksetzen
	XSPACING[SIDE][MOTIVART[SIDE]] = 0;
	VSPACING[SIDE][MOTIVART[SIDE]] = 0;
		
	UploadoderLoeschen();
	MotivAnzeigen();
	}
// ENDE Bilder********************************





// START TEXT********************************
function Zeilenfocus(zeile,changeFocus) {  // Focus wird nur bei direkter Zeilenanwahl editiert
   // Globale VAR ZEILE einstellen
   var z, zeilennr;
   ZEILE = zeile;

   // Nur anzeigen, wenn auch Zeilen vorhanden
   if (ZEILENZAHL[MOTIVART[SIDE]]>0) {
	  // Teasertext setzen / löschen, wenn zum ersten mal angeklickt!
	  if (INI && changeFocus && FIRST_FOCUS[SIDE][MOTIVART[SIDE]]==1) TeaserTextLoeschen();

	  // Bildbedingungen
	  zeilennr = Zeilennr(zeile)+1;
      for (z=1; z<=ZEILENZAHL[MOTIVART[SIDE]]; z++) {
		  if(z<zeilennr) {
			  eval("document.getElementById('img_"+[MOTIVART[SIDE]]+"_a"+z+"').src = '/bilder/programm/a0_mid.gif';");
			  eval("document.getElementById('img_3_asonderfall').src = '/bilder/programm/a0_mid.gif';");  // Sonderfall Motivart 3 - Mittleres Bild :-(
			  }
		  if(z==zeilennr) 
			  eval("document.getElementById('img_"+[MOTIVART[SIDE]]+"_a"+z+"').src = '/bilder/programm/a1_top.gif';");
		  if(z>zeilennr) {
			  eval("document.getElementById('img_"+[MOTIVART[SIDE]]+"_a"+z+"').src = '/bilder/programm/a1_mid.gif';");
			  eval("document.getElementById('img_3_asonderfall').src = '/bilder/programm/verknuepfung_m.gif';");  // Sonderfall Motivart 3 - Mittleres Bild :-( 
			  }
         }
		 
      // Alle Zeilen demarkieren, Bild einstellen
 	  for (z=1; z<=ZEILENZAHL[MOTIVART[SIDE]]; z++) {
 	    eval("document.getElementById('zeile-"+MOTIVART[SIDE]+"_"+z+"').className = 'input0';");
 	    }

      // Aktuelle Zeile
      if (VERKNUEPFT[SIDE]==1 && MOTIVART[SIDE]==1) { // alle Zeilen markieren (nur bei verknüpft)  
	 	for (z=1; z<=ZEILENZAHL[MOTIVART[SIDE]]; z++) {
		  eval("document.getElementById('zeile-"+MOTIVART[SIDE]+"_"+z+"').className = 'input1'");
		  } 
		}
	  else	eval('document.getElementById("'+zeile+'").className = "input1"');	  
      }

   // Vorauswahl der Werte für die Zeile treffen
   FontFCA(zeile);
   }


function VerknuepfungAendern(verknuepft, zeile) {
   VERKNUEPFT[SIDE] = verknuepft;
   
   if (VERKNUEPFT[SIDE]==1) {
      VERKNUEPFT[SIDE] = 0;
      Meldung("Verknüpfung Textattribute aus",50);
      }
   else {
      VERKNUEPFT[SIDE] = 1;
      Meldung("Verknüpfung Textattribute an",50);
      Verknuepfen(zeile);   
      }
   Verknuepfungssymbol(); // Verknüpfungssymbol ändern
   Zeilenfocus(zeile,false); 	  // markierte Zeilen ändern
   }
   
   
function Verknuepfungssymbol() {
   // Vars definieren
   var z, v;
   
   // Kettensymbol ändern, Var deffinieren
   if (VERKNUEPFT[SIDE]==0)  {
   	  v = 0; 
      document.getElementById('verknuepfung').src = "/bilder/programm/kette_0.gif";
      }
   else {
      v = 1;
      document.getElementById('verknuepfung').src = "/bilder/programm/kette_1.gif";   
      }

   // Zeilenverkettungssymbole
  for (z=1; z<=ZEILENZAHL[MOTIVART[SIDE]]; z++) {
	  if(z==1)
		  eval("document.getElementById('img_v"+z+"').src = '/bilder/programm/v"+v+"_top.gif';");
	  if(z>1 && z<ZEILENZAHL[MOTIVART[SIDE]]) 
		  eval("document.getElementById('img_v"+z+"').src = '/bilder/programm/v"+v+"_mid.gif';");
	  if(z==ZEILENZAHL[MOTIVART[SIDE]]) 
		  eval("document.getElementById('img_v"+z+"').src = '/bilder/programm/v"+v+"_bot.gif';");
	 }
   }


function Verknuepfen(zeile) {
   // Werte ändern:
   for (var k=1; k<=ZEILENZAHL[MOTIVART[SIDE]]; k++) {   
      eval ("var akt_zeile = 'zeile-"+MOTIVART[SIDE]+"_"+k+"';");
      FONT[SIDE][akt_zeile]       	= FONT[SIDE][zeile];      	// Schriftart
      FONTSIZE[SIDE][akt_zeile]    	= FONTSIZE[SIDE][zeile];   	// Schriftgröße
      FONTCOLOR[SIDE][akt_zeile]    = FONTCOLOR[SIDE][zeile];   // Schriftfarbe
      FONTALIGN[SIDE][akt_zeile]    = FONTALIGN[SIDE][zeile];   // Schirftausrichtung
      
      // Änderungen in den Menüs und als Bildanzeigen
      FontFCA(akt_zeile);
      }   
	  
   // Motiv Anzeigen
   MotivAnzeigen();
   }


function TeaserTextLoeschen() {  // Schon mal angeklickt
	// Text löschen
	for (var z=1; z<=ZEILENZAHL[MOTIVART[SIDE]]; z++) {
		eval("document.getElementById('zeile-"+MOTIVART[SIDE]+"_"+z+"').value = ''");
	    TEXT[SIDE][ZeileLang(z)] = '';
		}
	// Als schon mal angeklickt markieren
	if (INI) FIRST_FOCUS[SIDE][MOTIVART[SIDE]]=0;

    // Motiv Anzeigen
    MotivAnzeigen();
    }


function FontFCA(zeile) { // Zeigt Änderungen der Variablen in den Menüs an
   	  var tag, z, i;
	  
	  // Nur wenn Zeilen vorhanden sind und Seite bedruckbar ist
	  if (ZEILENZAHL[MOTIVART[SIDE]]>0 && BEDRUCKBAR[(SIDE-1)]==1) {
		  // Text setzen
		  for (z=1; z<=ZEILENZAHL[MOTIVART[SIDE]]; z++) {
			tag = document.getElementById(ZeileLang(z)).value = TEXT[SIDE][ZeileLang(z)];
			}
	
		  // Schriftart auswählen
		  eval("tag = document.getElementById('font-"+MOTIVART[SIDE]+"');");
		  for (i=0; i<tag.length; i++) {
			 if (tag.options[i].value==FONT[SIDE][zeile]) tag.selectedIndex = i;   
			 }
			 
		  // Schriftgröße auswählen
		  eval("tag = document.getElementById('fontsize-"+MOTIVART[SIDE]+"');");
		  for (i=0; i<tag.length; i++) {
			 if (tag.options[i].value==FONTSIZE[SIDE][zeile]) tag.selectedIndex = i;      
			 }
	
		  // Schriftfarbe auswählen
		  SchriftfarbeAnzReset();
		  eval("tag = document.getElementById('tc_"+FONTCOLOR[SIDE][zeile]+"_"+MOTIVART[SIDE]+"');");
		  tag.src = '/bilder/programm/auswahl_1.gif';
			 
		  // Schriftausrichtung auswählen
		  switch (FONTALIGN[SIDE][zeile]) {
			 case('left'):
				eval("document.getElementById('fontalign-"+MOTIVART[SIDE]+"_l').checked = true;")
				break;
			 case('center'):
				eval("document.getElementById('fontalign-"+MOTIVART[SIDE]+"_c').checked = true;")
				break;
			 case('right'):
				eval("document.getElementById('fontalign-"+MOTIVART[SIDE]+"_r').checked = true;")
				break;   
			 }
		  }

   // Bildgröße 
   if (MOTIVART[SIDE]>1 && 	BildVorhanden())
	   eval("document.getElementById('img_scale_"+MOTIVART[SIDE]+"').selectedIndex = ((IMG_SCALE[SIDE][MOTIVART[SIDE]]/10)-10)*-1");
   }

function SchriftfarbeAnzReset() {
	var tag, i;
	for (i=0; i<FONTCOLORS.length; i++) {
	  eval("tag = document.getElementById('tc_"+FONTCOLORS[i]+"_"+MOTIVART[SIDE]+"');");
	  tag.src = '/bilder/programm/auswahl_0.gif';
	  }
	}

function TextAttrAenderung(attr, wert, zeile)   { // Absenden   
  // Vars
  var warten = 0;
  var z, znr, zzahl, tag;


  // Wenn Zeilen nicht verknüft sind 
  if (VERKNUEPFT[SIDE]==0 || MOTIVART[SIDE]>1) {
   	  znr	= Zeilennr(zeile)+1;
   	  zzahl	= Zeilennr(zeile)+1;
	  }
  else {
   	  znr	= 1;
   	  zzahl	= ZEILENZAHL[MOTIVART[SIDE]];
	  }
	  
   // Neue Var speichern. Je nach Attribut. Abhängig, ob verknüft oder nicht
   switch(attr) {
		case('font'):
			for (z=znr; z<=zzahl; z++) {
				FONT[SIDE][ZeileLang(z)] = wert;
				}
			break;	   
		case('fontsize'):
			for (z=znr; z<=zzahl; z++) {
				FONTSIZE[SIDE][ZeileLang(z)] = wert;
				}
			break;	   
		case('fontcolor'):
						
			if(EINFARBIG==1 && VERKNUEPFT[SIDE]==0) {
	   			znr		= 1;
   	 			zzahl	= ZEILENZAHL[MOTIVART[SIDE]];		
  			    Meldung("Dieses Produkt kann nur<br>einfarbig bedruckt werden!<br>Alle Druckfarben werden<br>daher einheitlich gesetzt.",30);
				}
			for (z=znr; z<=zzahl; z++) {
				FONTCOLOR[SIDE][ZeileLang(z)] = wert;
				}

			// Gewählte Farbe anzeigen
			SchriftfarbeAnzReset();
			if (MOTIVART[SIDE]!==2) eval("tag = document.getElementById('tc_"+FONTCOLOR[SIDE][zeile]+"_"+MOTIVART[SIDE]+"');"); // 2 hat keinen Stofffarbwähler
		    tag.src = '/bilder/programm/auswahl_1.gif';
			break;	   
		case('fontalign'):
			for (z=znr; z<=zzahl; z++) {
				FONTALIGN[SIDE][ZeileLang(z)] = wert;
				}
			break;	 
		case('text'):
			warten = 750;
			TEXT[SIDE][zeile] = wert;
			break;	   
		}
	   
   // Neues Bild anzeigen
   clearTimeout(ID);  // Bild nicht generieren
   ID = eval('setTimeout("MotivAnzeigen()",'+warten+')');
   }

function Warten(eingabe,zeile) { // Warten auf weitere Eingabe
   TEXT[SIDE][zeile] = eingabe;
   }
   
   
function Zeilennr(zeile) { // Zeilennr -1 für Array zurückgeben
   var zeilennr = zeile.substr(8,1);
   return (zeilennr-1);
   }


function ZeileLang(z) { // Ausführlicher Zeilenname
   eval("var zeile = 'zeile-"+MOTIVART[SIDE]+"_"+z+"'");  
   return zeile;
   }
// ENDE TEXT********************************


function HilfeAktivieren(wert) {
	if (wert==1) {
		HILFE = 1;
		document.getElementById('hilfe').checked = true;
		}
	else {
		HILFE = 0;
		document.getElementById('hilfe').checked = false;
		}
	}


function Hilfe(wert) {
	if (HILFE==1) return overlib(wert);
	}

function Prog_div_hidden(a) {
   document.getElementById(a).style.visibility = "hidden";
   document.getElementById(a).style.display = "none";
   document.getElementById(a).className = "LC_Mittel_aus";
   }


function Prog_div_visible(a) {
   document.getElementById(a).style.visibility = "visible";
   document.getElementById(a).style.display = "block";
   document.getElementById(a).className = "LC_Mittel_an";
   }


function MotivAnzeigen() {
	// Vars
	var TYP;

	switch(MOTIVART[SIDE]) {
		case("2"):
			TYP = 'bild';
			break;
		case("3"):
			TYP = 'textbild';
			break;
		default:
			TYP = 'text';
			break;		
		}
 
	// Vars aufbereiten
	var A_XSPACING	= XSPACING[SIDE][MOTIVART[SIDE]];
	var A_VSPACING	= VSPACING[SIDE][MOTIVART[SIDE]];
	var A_IMG_SCALE	= IMG_SCALE[SIDE][MOTIVART[SIDE]];
	var A_TEXT 		= escape(Turn2SingleArray('TEXT', SIDE));
	var A_FONT		= Turn2SingleArray('FONT', SIDE);
	var A_FONTSIZE	= Turn2SingleArray('FONTSIZE', SIDE);
	var A_FONTCOLOR	= Turn2SingleArray('FONTCOLOR', SIDE);
	var A_FONTALIGN	= Turn2SingleArray('FONTALIGN', SIDE);
	var newvars		= 'sid='+SESSIONID+'&produktnr='+PRODUKTNR+'&typ='+TYP+'&rahmen='+RAHMEN+'&bild='+IMGNAME[SIDE]+'&topspace='+ TOPSPACE[(SIDE-1)]+'&img_scale='+A_IMG_SCALE+'&text='+A_TEXT+'&font='+A_FONT+'&fontsize='+A_FONTSIZE+'&fontcolor='+A_FONTCOLOR+'&fontalign='+A_FONTALIGN+'&bgcolor='+BGCOLOR+'&width='+WIDTH+'&height='+HEIGHT+'&xspacing='+A_XSPACING+'&vspacing='+A_VSPACING+'&bedruckbar='+BEDRUCKBAR[(SIDE-1)]+'&save=';

	// Vorschau anzeigen
	document.getElementById('vorschauimg').src 			= '/funktionen/programm/textbildanzeige.class.php?'+newvars;
	
	// Alpha IE 5x hinzufügen
	if (window.navigator.userAgent.indexOf("MSIE ") > -1 && parseFloat(navigator.appVersion) < 7)
		IETranparency(document.getElementById('vorschauimg'));
	
	// Debugger
	// alert( '/funktionen/programm/textbildanzeige.class.php?typ='+TYP+'&rahmen='+RAHMEN+'&bild='+BILD+'&img_scale='+IMG_SCALE+'&text='+A_TEXT+'&font='+A_FONT+'&fontsize='+A_FONTSIZE+'&fontcolor='+A_FONTCOLOR+'&fontalign='+A_FONTALIGN+'&bgcolor='+BGCOLOR+'&width='+WIDTH+'&height='+HEIGHT+'&vspacing='+VSPACING+' ');

	// Preis für Produkt
	Preisberechnung();
	}


function MotivSpeichern()
	{
	// Vars
	var s, TYP;

	// Vars aufbereiten
	for (s=1; s<=SIDES; s++) {
		// Typ bestimmen
		switch(MOTIVART[s]) {
			case("2"):
				TYP = 'bild';
				break;
			case("3"):
				TYP = 'textbild';
				break;
			default:
				TYP = 'text';
				break;		
			}

		// Vars
		var A_XSPACING	= XSPACING[s][MOTIVART[s]]
		var A_VSPACING	= VSPACING[s][MOTIVART[s]]
		var A_IMG_SCALE	= IMG_SCALE[s][MOTIVART[s]]
		var A_TEXT 		= Turn2SingleArray('TEXT', s);
		var A_FONT		= Turn2SingleArray('FONT', s);
		var A_FONTSIZE	= Turn2SingleArray('FONTSIZE', s);
		var A_FONTCOLOR	= Turn2SingleArray('FONTCOLOR', s);
		var A_FONTALIGN	= Turn2SingleArray('FONTALIGN', s);

		// Bild Speichern
		xajax_XImgSafe(SESSIONID, PRODUKTNR, PRODUCTCOLOR, TOPSPACE[(s-1)], s, SIDES, TYP, RAHMEN, IMGNAME[s], A_IMG_SCALE, A_TEXT, A_FONT, A_FONTSIZE, A_FONTCOLOR, A_FONTALIGN, BGCOLOR, WIDTH, HEIGHT, A_XSPACING, A_VSPACING);
		
		// Debug
		// alert(SESSIONID + " - " + PRODUKTNR + " - " + PRODUCTCOLOR + " - " + TOPSPACE[(s-1)] + " - " + s + " - " + TYP + " - " + RAHMEN + " - " + IMGNAME[s] + " - " + A_IMG_SCALE + " - " + A_TEXT + " - " + A_FONT + " - " + A_FONTSIZE + " - " + A_FONTCOLOR + " - " + A_FONTALIGN + " - " + BGCOLOR + " - " + WIDTH + " - " + HEIGHT + " - " + A_VSPACING);
		}
	}
	
function Turn2SingleArray(typ, side) {
	var c, z;
	var new_obj = Array();
	for (z=1; z<= ZEILENZAHL[MOTIVART[side]]; z++) {
		eval("c = "+typ+"[side]['zeile-"+MOTIVART[side]+"_"+z+"']");
		c = escape(c);   // Escapen
		new_obj.push(c); // Zusammenführen
		}

	// Vereeinen und Rückgabe	
	obj = new_obj.join(',;,');	
	return obj;
	}


function Rahmen(wert) {
	if (wert==1) {
		RAHMEN = 1;
		document.getElementById('rahmen').checked = true;
		}
	else {
		RAHMEN = 0;
		document.getElementById('rahmen').checked = false;
		}

	// Motiv ohne / mit Rahmen anzeigen
	MotivAnzeigen();
	}

function ImgScale(wert) {
	IMG_SCALE[SIDE][MOTIVART[SIDE]] = wert;
	MotivAnzeigen();
	}

// ENDE TEXTFUNKTIONEN UND VARS ***********************************************************************************************


function number_format(number, laenge, sep, th_sep) 
	{
	  number = Math.round( number * Math.pow(10, laenge) ) / Math.pow(10, laenge);
	  str_number = number+"";
	  arr_int = str_number.split(".");
	  if(!arr_int[0]) arr_int[0] = "0";
	  if(!arr_int[1]) arr_int[1] = "";
	  if(arr_int[1].length < laenge){
		nachkomma = arr_int[1];
		for(i=arr_int[1].length+1; i <= laenge; i++){  nachkomma += "0";  }
		arr_int[1] = nachkomma;
	  }
	  if(th_sep != "" && arr_int[0].length > 3){
		Begriff = arr_int[0];
		arr_int[0] = "";
		for(j = 3; j < Begriff.length ; j+=3){
		  Extrakt = Begriff.slice(Begriff.length - j, Begriff.length - j + 3);
		  arr_int[0] = th_sep + Extrakt +  arr_int[0] + "";
		}
		str_first = Begriff.substr(0, (Begriff.length % 3 == 0)?3:(Begriff.length % 3));
		arr_int[0] = str_first + arr_int[0];
	  }
	  return arr_int[0]+sep+arr_int[1];
	}

function PreisMA1(side, motivart) { // Motivart Text
   // Vars definieren
   var benutzte_farben = new Array();

   if(FIRST_FOCUS[side][motivart]==0) {  
	   // Inhalt und Farbe abfragen
	   for(var j=1; j<=ZEILENZAHL[motivart]; j++) {
		   eval ("temp_zeile = 'zeile-"+motivart+"_"+j+"';");
		   temptext = TEXT[side][temp_zeile];
		   temptext = Trim(temptext); // Leerzeichen entfernen
		   
		   if(temptext!="") {  // Text ist vorhanden
			  // Anzahl verschiedener Farben ermitteln
			  if (benutzte_farben[0]!=FONTCOLOR[side][temp_zeile] && benutzte_farben[1]!=FONTCOLOR[side][temp_zeile] && benutzte_farben[2]!=FONTCOLOR[side][temp_zeile] && benutzte_farben[3]!=FONTCOLOR[side][temp_zeile]) {
				 benutzte_farben.push(FONTCOLOR[side][temp_zeile]);
				 }
			  }
		   }
	   // Anzal Farben
	   anzahl_farben = benutzte_farben.length;
	   }
   else anzahl_farben = 0;
	
   // Rückgabe
   return anzahl_farben; // Preis pro Seite
   }

function PreisMA2(side, motivart) { // Motivart Bild
   // Vars definieren
   var anzahl_farben;
   if(IMGNAME[side]!='') anzahl_farben = 1; 
   else anzahl_farben = 0;
   
   // Rückgabe 
   return anzahl_farben; // Preis pro Seite 
   }
   
function PreisMA3(side, motivart) { // Motivart Bild+Text
   // Vars definieren
   var benutzte_farben = new Array();

   if(IMGNAME[side]!='') {  
	   // Inhalt und Farbe abfragen
	   for(var j=1; j<=ZEILENZAHL[motivart]; j++) {
		   eval ("temp_zeile = 'zeile-"+motivart+"_"+j+"';");
		   temptext = TEXT[side][temp_zeile];
		   temptext = Trim(temptext); // Leerzeichen entfernen
			   
		   if(temptext!="") {  // Text ist vorhanden
			  // Anzahl verschiedener Farben ermitteln
			  if (benutzte_farben[0]!=FONTCOLOR[side][temp_zeile] && benutzte_farben[1]!=FONTCOLOR[side][temp_zeile] && benutzte_farben[2]!=FONTCOLOR[side][temp_zeile] && benutzte_farben[3]!=FONTCOLOR[side][temp_zeile]) {
				 benutzte_farben.push(FONTCOLOR[side][temp_zeile]);
				 }
			  }
		   }
	   // Anzal Farben
	   anzahl_farben = benutzte_farben.length;

	   // Bild vorhanden
	   if(IMGNAME[side]!='') anzahl_farben = anzahl_farben+1;
	   }
   else anzahl_farben = 0;
	 
   // Rückgabe  
   return anzahl_farben; 
   }
   
function Preisberechnung() {
   // Vars definieren
   var gesamtpreistag, gesamtpreis, tag, groesse, menge, preistag, preisps, preispstag;
   var farben 		= Array();
   var motivarten	= Array();
   
   // Preis pro Motiv
   for (var i=1; i<=SIDES; i++) {
      motivart = MOTIVART[i]; // Motivart der Seite
      switch(motivart) {
	     case("1"):
		    farben.push(PreisMA1(i,'1'));
			break;
		 case("2"):
		    farben.push(PreisMA2(i,'2'));
			break;	 
	     case("3"):
		    farben.push(PreisMA3(i,'3'));
			break;		
		 }
		 
	  // Motivart der Seite
	  motivarten.push(motivart);
      }
      
   // Größe des Produkts
   if (GROESSEN > 0) {
      groesse = document.getElementById('groesse').selectedIndex; 
	  if (groesse==0) groesse = 1;
      }
   else {
      groesse = 1;
      }
	  
   // Menge
   var tag   = document.getElementById('menge');
   var menge = tag.options[tag.selectedIndex].value;

   // Gesamtpreis 
   var gesamtpreistag = document.getElementById('gesamtpreis')

   // Berechnen
   gesamtpreistag.value = 0;
   setTimeout('xajax_XPreisBerechnen("'+SESSIONID+'", "'+PRODUKTNR+'", "'+farben+'", "'+motivarten+'", "'+menge+'", "'+groesse+'")',500);
   }
   
function Trim(str) {
   while(str.substring(0,1)==' ')str=str.substring(1,str.length);
   while(str.substring(str.length-1,str.length)==' ')str=str.substring(0,str.length-1);
   return str;
   }

 
function SessionReset() {
   var safe = document.getElementById('safe');
   xajax_XSessionReset();
   setTimeout('Reload()',1500);
   }
