// <![CDATA[
var XMLHTTP = null;
if (window.XMLHttpRequest) {
	XMLHTTP = new XMLHttpRequest();
} else if (window.ActiveXObject) {
	try {
		XMLHTTP = new ActiveXObject("Msxml2.XMLHTTP");
	} catch (ex) {
		try {
			XMLHTTP = new ActiveXObject("Microsoft.XMLHTTP");
		} catch (ex) {
		}
	}
}


function reloadImage() {
	anfrageDatei = "newvalid.php";
	XMLHTTP.open("POST",anfrageDatei);
	XMLHTTP.onreadystatechange = displayImage;
	XMLHTTP.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
	XMLHTTP.send("action=reload");
	return false;
}

function displayImage() {
	if (XMLHTTP.readyState == 4) {
		validierung = XMLHTTP.responseText;
		validImage = document.getElementById("validimage");
		validImage.src = "bilder/validimage.php?valid="+validierung;
		document.getElementById("validhidden").value = validierung;
	}
}

function updateVersandart(versandArt) {
	versandkostenWert = versandkosten[versandArt];
	totalSumme = document.getElementById("totalsummehidden").value;
	zahlungSumme = document.getElementById("zahlungskostenhidden").value;
	totalAll = Number(totalSumme) + Number(versandkostenWert) + Number(zahlungSumme);
	document.getElementById("versandkostenhidden").value = versandkostenWert;
	document.getElementById("versandkostendiv").innerHTML = "&euro; "+number_format(versandkostenWert,2,",",".");
	document.getElementById("totalallhidden").value = totalAll;
	document.getElementById("totalalldiv").innerHTML = "&euro; "+number_format(totalAll,2,",",".");
}

function updateVersandKosten(versandkostenWert) {
//	alert("Änderung Parameter: "+versandkostenWert);
	versandSplit = versandkostenWert.split(":");
	versandId = versandSplit[0];
	versandKosten = versandSplit[1];
	totalSumme = document.getElementById("totalsummehidden").value;
	zahlungSumme = document.getElementById("zahlungskostenhidden").value;
	totalAll = Number(totalSumme) + Number(versandKosten) + Number(zahlungSumme);
	document.getElementById("versandkostenhidden").value = versandKosten;
	document.getElementById("versandkostendiv").innerHTML = "&euro; "+number_format(versandKosten,2,",",".");
	document.getElementById("totalallhidden").value = totalAll;
	document.getElementById("totalalldiv").innerHTML = "&euro; "+number_format(totalAll,2,",",".");
}

function updateVersandKostenCountry(landNeu) {
//	alert(landNeu);

	postString = "action=updateversandkostencountry&land="+landNeu;
	anfrageDatei = "shopajax.php";
	XMLHTTPvk = new XMLHttpRequest;
	XMLHTTPvk.open("POST",anfrageDatei);
	XMLHTTPvk.onreadystatechange = updateVersandKostenCountryReturn;
	XMLHTTPvk.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
	XMLHTTPvk.send(postString);
	return false;
}

function updateVersandKostenCountryReturn() {
	if (XMLHTTPvk.readyState == 4) {
//		alert("xml ist da!");
		debug = XMLHTTPvk.responseText;
//		alert(debug);
		var abrechnungsXML = XMLHTTPvk.responseXML;

		ergebnisAnzahl = abrechnungsXML.documentElement.getAttribute("totalresults");
		var versandItems = abrechnungsXML.getElementsByTagName('versanditem');

		versandBisher = document.getElementById("versandkostenhidden").value;
		versandSelect = document.getElementById("versandartSelect");
		if(versandSelect) {
			versandSelectIndex = versandSelect.selectedIndex; // den ausgewählten merken wir uns
			while(versandSelect.length > 0) versandSelect.options[versandSelect.length-1] = null; // alle löschen

//			alert("versandSelect.length: "+versandSelect.length+"\nergebnisAnzahl: "+ergebnisAnzahl+"\nversandBisher: "+versandBisher+"\nversandSelect: "+versandSelect+"\nversandSelectIndex: "+versandSelectIndex);

			for (var i=0; i<versandItems.length; i++) {
				versandItem = versandItems[i].firstChild.nodeValue;
				versand = versandItem.split("|");
				versandValue = versand[0];
				versandText = versand[1];
				vkOption = new Option(versandText,versandValue);
				versandSelect.options[versandSelect.length] = vkOption;
//				alert("versandItem "+i+": "+versandItem);
			}
			versandSelect.selectedIndex = versandSelectIndex; // den ursprünglich ausgewählten wiederherstellen
			neueSelected = versandSelect.options[versandSelectIndex].value;
//			alert("neueSelected: "+neueSelected);
			updateVersandKosten(neueSelected);
			versandNachher = document.getElementById("versandkostenhidden").value;
			if(versandBisher != versandNachher) {
				vk_message = document.getElementById("versandkostenmessage").value;
				alert(vk_message);
			}
		} else {
			versandKosten = versandItems[0].firstChild.nodeValue;
			updateVersandKosten("0:"+versandKosten);
			versandNachher = document.getElementById("versandkostenhidden").value;
			if(versandBisher != versandNachher) {
				vk_message = document.getElementById("versandkostenmessage").value;
				alert(vk_message);
			}
		}
	}
}

function updateZahlungsmethode(zahlungskosten) {
	zahlungskostenWert = zahlungsmethoden[zahlungskosten];
	totalSumme = document.getElementById("totalsummehidden").value;
	versandSumme = document.getElementById("versandkostenhidden").value;
	totalAll = Number(totalSumme) + Number(versandSumme) + Number(zahlungskostenWert);
	document.getElementById("zahlungskostenhidden").value = zahlungskostenWert;
	document.getElementById("zahlungskostendiv").innerHTML = "&euro; "+number_format(zahlungskostenWert,2,",",".");
	document.getElementById("totalallhidden").value = totalAll;
	document.getElementById("totalalldiv").innerHTML = "&euro; "+number_format(totalAll,2,",",".");
}

function numberformat(wert) {
	stringWert = String(wert);
	retVal = stringWert.replace(/\./,",");
	return retVal;
}

function number_format (number, decimals, dec_point, thousands_sep) {
	var n = number, prec = decimals;

	var toFixedFix = function (n,prec) {
		var k = Math.pow(10,prec);
		return (Math.round(n*k)/k).toString();
	};

	n = !isFinite(+n) ? 0 : +n;
	prec = !isFinite(+prec) ? 0 : Math.abs(prec);
	var sep = (typeof thousands_sep === 'undefined') ? ',' : thousands_sep;
	var dec = (typeof dec_point === 'undefined') ? '.' : dec_point;
 
	var s = (prec > 0) ? toFixedFix(n, prec) : toFixedFix(Math.round(n), prec); //fix for IE parseFloat(0.55).toFixed(0) = 0;
 
	var abs = toFixedFix(Math.abs(n), prec);
	var _, i;

	if (abs >= 1000) {
		_ = abs.split(/\D/);
		i = _[0].length % 3 || 3;
 
		_[0] = s.slice(0,i + (n < 0)) +
			  _[0].slice(i).replace(/(\d{3})/g, sep+'$1');
		s = _.join(dec);
	} else {
		s = s.replace('.', dec);
	}

	var decPos = s.indexOf(dec);
	if (prec >= 1 && decPos !== -1 && (s.length-decPos-1) < prec) {
		s += new Array(prec-(s.length-decPos-1)).join(0)+'0';
	}
	else if (prec >= 1 && decPos === -1) {
		s += dec+new Array(prec).join(0)+'0';
	}
	return s;
}

function checkKassaForm() {
	var zm = 0;
	var errormessage1 = document.getElementById("errormsg1").value;
	var errormessage2 = document.getElementById("errormsg2").value;
	zahlungsmethode = document.basketcheckout.zahlungsmethode;
	for(i=0;i<zahlungsmethode.length;i++) {
		if(zahlungsmethode[i].checked == true) zm = zahlungsmethode[i].value;
	}
	if(zm == 0) {
		alert(errormessage2);
		return false;
	}
	if(document.getElementById("agb_gelesen").checked != true) {
		alert(errormessage1);
		return false;
	}
	return true;
}
// ]]>
