// Predefined Vars
var datei 	= "";
var x 		= 0;
var y 		= 0;
var quality	= 0;


function Zuschnittinfo() {
	document.getElementById('aufkleberupload').style.background = 'url("bilder/aufkleber.gif") #FFFFFF no-repeat center';
	div_visible('zuschnittinfo');
}

function Zuschnitthilfe() {
	if(datei!="") {
		div_visible('zuschnitthilfe');
		div_hidden('zuschnittinfo');
	}
}	

function Abbrechen() {
	// Koordinaten zurücksetzen
	ResetCoords();
	
	// Rechteckig Aufkleberform wählen
	document.getElementById('aufkleberform').selectedIndex = 0;
	
	// Markierung zurücksetzen
	document.getElementById('x1').value 	= 0;
	document.getElementById('y1').value 	= 0;
	document.getElementById('x2').value 	= 0;
	document.getElementById('y2').value 	= 0;
	document.getElementById('width').value 	= 0;
	document.getElementById('height').value = 0;
	
	// Größenbezug neu berechnen
	Quality();
	
	// Kontur zurückgesetzt anzeigen
	if(datei!="") Apply('hide');
}

function Pointer(id) {
	if(FreieForm() && datei!="") document.getElementById(id).style.cursor = "crosshair";
		else document.getElementById(id).style.cursor = "default";
}

function SampleColor() {
	var hexcolor = rgb2hex();
	document.getElementById('colorsample').style.background = hexcolor;
	ResetCoords();
	if(datei!="") Preview('0');
}

function SampleColorWait() {
	setTimeout('SampleColor()',500);
}

function ResetCoords() {
	x = 0;
	y = 0;
}

function Coords(event){
	if(FreieForm() && datei!="") {
		x = event.offsetX ? (event.offsetX) : event.layerX;
		y = event.offsetY ? (event.offsetY) : event.layerY;
		Preview('0');
	}
	else {
		ResetCoords();
	}
}

function Quality() {
	var bezugname;
	var bezug 	= document.getElementById('bezug').value;
	var size 	= document.getElementById('size').value;
	var size2 	= document.getElementById('size2').value;
	if(!isInteger(size) || size<=0) {
		if(size=="") setTimeout('KeineBreite()',1500);
			else alert("Bitte geben Sie eine Breite/Höhe in cm an");
	   }
	else if(size>120)  alert("Die maximale Breite/Höhe beträgt 120cm!");
	else {
		xajax_XQuality(datei, size,  bezug,  document.getElementById('aufkleberform').value,  document.getElementById('width').value,  document.getElementById('height').value);
		Bezug();
	}

	// Name
	switch(bezug) {
		case("h"): {
			bezugname = " (Höhe x Breite)";
			break;
		}
		case("b"): {
			bezugname = " (Breite x Höhe)";
			break;
		}
	}

	// Name eintragen
	document.getElementById('beschreibung1').value = size + "cm x " + size2 + "cm" + bezugname;

	// Neuen Preis festlegen
	Preis();
}

function KeineBreite() {
	alert("Bitte geben Sie eine Breite/Höhe für den Aufkleber an!");
}


function AddCart() {
	var wait = false;
	while(wait==false) {
		wait = Preview('1'); // Wait till saved... 
	}
	document.form.submit();
}

function QualityImg(q) {
	switch(q) {
		case("1"): {
			document.getElementById('qualityimg').src = "/bilder/bildqualitaet1.gif";
			break;
		}
		case("2"): {
			document.getElementById('qualityimg').src = "/bilder/bildqualitaet2.gif";
			break;	
		}
		case("3"): {
			document.getElementById('qualityimg').src = "/bilder/bildqualitaet3.gif";
			break;		
		}
		case("4"): {
			document.getElementById('qualityimg').src = "/bilder/bildqualitaet4.gif";
			break;
		}
		case("5"): {
			document.getElementById('qualityimg').src = "/bilder/bildqualitaet5.gif";
			break;
		}
		default: {
			document.getElementById('qualityimg').src = "/bilder/bildqualitaet0.gif";
			break;
		}
	}
}

function rgb2hex() {
	var RGB = new Array(256);
	var k = 0;
	var hex = new Array("0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "A", "B", "C", "D", "E", "F");
	
	for (i = 0; i < 16; i++) {	
		for (j = 0; j < 16; j++) {		
			RGB[k] = hex[i] + hex[j];
			k++;
		}
	}

	while ((document.getElementById('red').value > 255) || (document.getElementById('red').value < 0) || (!isInteger(document.getElementById('red').value))) {
		alert("Alle RGB-Werte müssen zwischen 0 und 255 liegen.")
		document.getElementById('red').value = 0;
		document.getElementById('red').focus();
	}
	while ((document.getElementById('green').value > 255) || (document.getElementById('green').value < 0) || (!isInteger(document.getElementById('green').value))) {
		alert("Alle RGB-Werte müssen zwischen 0 und 255 liegen.")
		document.getElementById('green').value = 0;
		document.getElementById('green').focus();
	}		
	while ((document.getElementById('blue').value > 255) || (document.getElementById('blue').value < 0) || (!isInteger(document.getElementById('blue').value))) {
		alert("Alle RGB-Werte müssen zwischen 0 und 255 liegen.")
		document.getElementById('blue').value = 0;
		document.getElementById('blue').focus();
	}
	if (document.getElementById('red').value == "")
		document.getElementById('red').value = 0;
	if (document.getElementById('green').value == "")
		document.getElementById('green').value = 0;
	if (document.getElementById('blue').value == "")
		document.getElementById('blue').value = 0;
	document.getElementById('red').value = dropLeadingZeros(document.getElementById('red').value);
	document.getElementById('green').value = dropLeadingZeros(document.getElementById('green').value);
	document.getElementById('blue').value = dropLeadingZeros(document.getElementById('blue').value);
	var rr = RGB[document.getElementById('red').value]
	var gg = RGB[document.getElementById('green').value]
	var bb = RGB[document.getElementById('blue').value]
	var hexcolor = "#" + rr + gg + bb;	
	return hexcolor;
}

function isInteger(s) {
	return (s.toString().search(/^-?[0-9]+$/) == 0);
}

function dropLeadingZeros(num){
	var num, newTerm;
	while (num.charAt(0) == "0") {
		newTerm = num.substring(1, num.length);
		num = newTerm;
	}
	if (num == "") 
		num = "0";
	return num;
}

function Uploaded(file) {
	UploadClose(); // Uploadfenster schließen
	
	datei = file; // Gloabal speichern nicht in var datei!!
	div_hidden('aufkleberinfo');
	div_visible('aufklebereinstellungen');
	div_visible('eundw');
	setTimeout("Preview('0')", 500);
	ResetCoords();
 	Zuschnittinfo();
	var motivdatei1 = datei.substr(2,(datei.length)-2);
	var motivdatei2 = "prev_" + datei.substr(0, (datei.length)-4) + ".png";
	document.getElementById('motivdatei1').value = motivdatei1;
	document.getElementById('motivdatei2').value = motivdatei2;
	
	Apply('hide');
}

function Preview(save) {
	var formname,form,r,g,b,transp = "";
	var x1,y1,x2,y2,width,height;
	
	// Aufkleberform
	form = document.getElementById('aufkleberform').value;
	
	// Name
	switch(form) {
		case("0"): {
			formname = "rechteckig";
			break;
		}
		case("1"): {
			formname = "rund/oval";
			break;
		}
		case("2"): {
			formname = "freie Kontur";
			break;
		}
	}

	// Name eintragen
	document.getElementById('beschreibung2').value = "Aufkleberform: " + formname;

	
	// Transparenz
	if(false) { // Freie Form
		r = document.getElementById('red').value;
		g = document.getElementById('green').value;
		b = document.getElementById('blue').value;
		transp = r + ',' + g + ',' + b;
		}
	
	// Markierung
	x1 		= document.getElementById('x1').value;
	y1 		= document.getElementById('y1').value;
	x2 		= document.getElementById('x2').value;
	y2 		= document.getElementById('y2').value;
	width	= document.getElementById('width').value;
	height	= document.getElementById('height').value;

	// Qualität und Größe anzeigen
	Quality();

	// Vorschau
	document.getElementById('previmg').style.background = 'url("/drucken/aufkleber/preview.class.php?datei=' + datei + '&form=' + form + '&transp=' + transp + '&coords='+ x +','+ y +'&marquee='+x1+','+y1+','+x2+','+y2+','+width+','+height+'&save='+save+'") no-repeat center';	

// Rückgabe
	return true;
}

function Pause(zeit){
	//Zeit hier in ms angeben
	var starttime = (new Date).getTime();
	while (starttime+zeit > (new Date).getTime()) {
		// Get some coffee;
	}
}

function Preis() {
	var bezug = document.getElementById('aufkleberform').value;
	var menge = document.getElementById('menge').value;	
	xajax_XPreisBerechnen(bezug, menge);
}

function Apply(action) {
	if(action=="hide") {
		div_hidden('testWrap');
		Preview('0');
		Quality();
	}
	else  div_visible('testWrap');
}


function Bezug() {
	var bezug 	= document.getElementById('bezug').value;
	var size	= document.getElementById('size').value
	var form	= document.getElementById('aufkleberform').value
	var width	= document.getElementById('width').value
	var height	= document.getElementById('height').value
	if(isInteger(size)) {
		xajax_XSize(datei, size,  bezug, form, width, height);
	}
}

function ShowSize(mass) {
	document.getElementById('mass').innerHTML = mass;
}

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;
   }