var preis_glas=0;
var preis_rahmen=0;
var preis_rueckwand=0;
var m2=0;
var warn = false;

var setsize_qmware=false;
var erster = true;
var lastpic = '';

function show_massanfertigung() {
	var obj = document.getElementById('wunschgroesse_message');
	if (obj) {
		obj.innerHTML = 'Sie haben Ihre Wunschgröße nicht gefunden? Dann wählen Sie unsere <a href="javascript:select_massanfertigung();"><strong style="color: red">Maßanfertigung!</strong></a>';
	}
}

function select_massanfertigung() {
	var m = document.getElementById('id4');
	m.value = 8;
	return;
}

function colon2point(obj) {
    var anArray = new Array(2);
    anArray[0] = new Array(",");
    anArray[1] = new Array(".");
    
    for (var i=0; i<anArray[0].length; i++){
		var myRegExp = new RegExp(anArray[0][i],"g");
		obj.value = obj.value.replace(myRegExp, anArray[1][i]);
	}
	return;
}

function checkwarn() {
	var warn = false;
	var ao_breite = document.getElementById('ao_breite');
	var ao_hoehe = document.getElementById('ao_hoehe');
	
	if (parseFloat(ao_hoehe.value) > parseFloat(ao_breite.value)){
		var ms = parseFloat(ao_breite.value);
		var msf = ao_breite;
		var ms2 = parseFloat(ao_hoehe.value);
		var ms2f = ao_hoehe;
	}else {
		var ms = parseFloat(ao_hoehe.value);
		var msf = ao_hoehe;
		var ms2 = parseFloat(ao_breite.value);
		var ms2f = ao_breite;
	}
	
	if (maxW > maxH) {
		var mmin = maxH;
		var mmax = maxW;
	}else {
		var mmin = maxW;
		var mmax = maxH;
	}
	
	if (ao_breite.value.length > 0 && ao_hoehe.value.length > 0) {
		if (minSize > 0 && ms < minSize) {
			warn = true;
		}
		if (minSize > 0 && ms2 < minSize) {
			warn = true;
		}
		if (mmin > 0 && ms > mmin) {
			warn = true;
		}
		if (mmax > 0 && ms2 > mmax) {
			warn = true;
		}
	}
	if (warn) {
		alert("Bitte überprüfen Sie Ihre Eingabe, ein Rahmen mit diesen Werten kann nicht erstellt werden!");
		return false;
	}
	colon2point(document.getElementById('ao_breite'));
	colon2point(document.getElementById('ao_hoehe'));
	
	return true;
}

function change_id1(x) {
	what_to_do();
}

function what_to_do(what) {
	var qm;
	var kmsg;
	var mmax;
	var mmin;
	var ms2d;
	var msf;
	var ms2;
	var ms;
	var field;
	var message;
	var k;
	var options;
	var ao_breite = document.getElementById('ao_breite');
	var ao_hoehe = document.getElementById('ao_hoehe');
	
	colon2point(ao_breite);
	colon2point(ao_hoehe);
	var obj4 = document.getElementById("id4");
	var obj11 = document.getElementById("id11");
	var p = document.getElementById('ao_price');
	
	if (obj4 != null) {
		if (obj4.value == 8) {
			// dynamische Eingabe von Breite und Höhe
			m2 = true;
			preis_rahmen = 0;
			preis_glas = 0;
		}else {
			m2=false;
			preis_rahmen = preismod[4][obj4.value];
			
			obj=obj4;
			for (k=0;k<obj.options.length;k++) {
				if (obj.value == obj.options[k].value) {
					var v = obj.options[k].text;
					break;
				}
			}
			position = v.indexOf('x');
			if (!position) {
				position = v.indexOf('X');
			}
			var w = parseFloat(v.slice(0, position));
			var h = parseFloat(v.slice(position+1,v.length));
		}
		m2 = (obj4.value==8);
		show_input(m2); // falls m2 Ware, dann Eingabefelder zeigen
		if (m2) {
			/* ok, dynamische Eingabe, also selber rechnen und checken */
			message = document.getElementById('ao_message');
			
			field = -1;
			if (ao_hoehe.value > ao_breite.value){
				ms = ao_breite.value;
				ms2 = ao_hoehe.value;
				ms2f = ao_hoehe;
				msf = ao_breite;
			}else {
				ms = ao_hoehe.value;
				ms2 = ao_breite.value;
				msf = ao_hoehe;
				ms2d = ao_breite;
			}
			
			if (maxW > maxH) {
				mmin = maxH;
				mmax = maxW;
			}else {
				mmin = maxW;
				mmax = maxH;
			}
			
			kmsg = '';
			if (ao_breite.value.length > 0 && ao_hoehe.value.length > 0) {
				warn = false;
				msg = Array();
				msgID = 0;
				
				if (minSize > 0 && ms < minSize) {
					msg[msgID] = Array();
					msg[msgID]["text"] = 'Rahmen zu niedrig';
					msg[msgID]["field"] = msf;
					msgID++;
				}
				if (minSize > 0 && ms2 < minSize) {
					msgID = msg.length;
					msg[msgID] = Array();
					msg[msgID]["text"] = 'Rahmen zu schmal';
					msg[msgID]["field"] = ms2f;
					msgID++;
				}
				if (mmin > 0 && ms > mmin) {
					msgID = msg.length;
					msg[msgID] = Array();
					msg[msgID]["text"] = 'Rahmen zu hoch';
					msg[msgID]["field"] = msf;
					msgID++;
				}
				if (mmax > 0 && ms2 > mmax) {
					msgID = msg.length;
					msg[msgID] = Array();
					msg[msgID]["text"] = 'Rahmen zu breit';
					msg[msgID]["field"] = ms2f;
					msgID++;
				}
				ao_breite.style.backgroundColor = "";
				ao_hoehe.style.backgroundColor = "";
				if (msgID > 0) {
					kmsg = "";
					for (k=0;k<msgID;k++) {
						if (kmsg > "") {
							kmsg = kmsg + "<br />";
						}
						kmsg = kmsg + msg[k]["text"];
						msg[k]["field"].style.backgroundColor = "red";
					}
					kmsg = kmsg + "<br />Die Ausma&szlig m&uuml;ssen im Bereich von<br />" + minSize + " x " + minSize + " bis " + mmin + " x " + mmax + " liegen.";
				}
				message.innerHTML = kmsg;
				w = parseFloat(ao_breite.value);
				h = parseFloat(ao_hoehe.value);
				
				qperimeter = 2*(w+h);
				qm = 2 * (w / 100 + h / 100);
				preis_rahmen = qm*preismod[4][8];
				for (k=0;k<perimeter.length;k++) {
					if (qperimeter >= perimeter[k]["perimeter"]) {
						preis_rahmen=preis_rahmen+(perimeter[k]["value"] * 1.19);
						break;
					}
				}
			}else {
				w = 0;
				h = 0;
				qm = 0;
				preis_rahmen = 0;
			}
		}
		
		// so, in w steht die Breite in cm, in h die Höhe...
		var a = (w/100) * (h/100);	// Fläche in m2 berechnen;
		var u = 2*(w+h);
		if (u>280 && obj11.value<41) {
			alert("Der Rahmenumfang ist zu groß für Normalglas. Wir haben die entsprechende Acrylglas-Variante für Sie ausgewählt");
			obj11.value=2+parseFloat(obj11.value);
		}
		options = obj11.options;
		for (k=0;k<options.length;k++) {
			if (options[k].value == 39 || options[k].value == 40) {
				if (u>280) {
					options[k].disabled = true;
				}else {
					options[k].disabled = false;
				}
			}
		}
	}
			
	if (obj11 != null) {
		if (obj11.value != 43) {
			preis_glas = a * preismod[11][obj11.value];
			if (window.preismod[12]) {
				preis_rueckwand = a*preismod[12][60];
			}
		}else {
			// Leerrahmen
			preis_glas = 0;
			preis_rueckwand = 0;
		}
	}else {
		// Leerrahmen
		preis_glas = 0;
		preis_rueckwand = 0;
	}
	
	set_color();
	var preis_unmodified = product_prize + preis_glas + preis_rueckwand + preis_rahmen;
	var preis_modified = calc_staffel(preis_unmodified);
	if (obj4.value != -1) {
		p.innerHTML = calc_gruppendiscount(preis_modified, gruppenrabatt);
	}else {
		p.innerHTML = '';
	}
	setTimeout("what_to_do()", 500);
}

function set_color() {
	var c = document.getElementsByName('id[1]');
	var s;
	var rx;
	var lnk;
	var pic;
	var pics;
	var obj;
	if (c) {
		obj=c[0];
		if (obj != null) {
			pics = document.getElementById('picd_' + obj.value);
			if (pics != null) {
				pic=document.getElementById('pic_preview');
				lnk=document.getElementById('link_preview');
				if (pic != null && pic.src != pics.src) {
					pic.src=pics.src;
				}
				if (lnk != null) {
					// info_images durch popup_images ersetzen
					var ipArray = new Array(2);
					ipArray[0] = new Array("info_images");
					ipArray[1] = new Array("original_images");
					rx = new RegExp(ipArray[0], "g");
					s = pics.src;
					
					lnk.href=s.replace(rx, ipArray[1]);
				}
			}
		}
	}
}
function show_input(mode) {
	var showdiv = document.getElementById('qmdiv');
	var aobreite = document.getElementById('ao_breite');
	var aohoehe  = document.getElementById('ao_hoehe');
	if (mode) {
		/* es soll die manuelle Eingabemaske ausgegeben werden! */
		aobreite.disabled=false;
		aohoehe.disabled=false;
		showdiv.style['visibility']="visible";
	}else {
		aobreite.disabled=true;
		aohoehe.disabled=true;
		showdiv.style['visibility']="hidden";
	}
}

function entumlauten(string) {
    var anArray = new Array(2);
    anArray[0] = new Array("Ö", "ö", "Ä", "ä", "Ü", "ü", "ß");
    anArray[1] = new Array("Oe", "oe", "Ae", "ae", "Ue", "ue", "sz");
    
    for (i=0; i<anArray[0].length; i++){
		myRegExp = new RegExp(anArray[0][i],"g");
		string = string.replace(myRegExp, anArray[1][i]);
	}
    return string;
}
