var expressMin;
var standardMin;
var expressMax;
var standarMaxd;
var productionTimeMin = 1;
var productionTimeMax = 2;
var lang;

function loadXML(path) {
	var a = document.all;               //Ã¤ltere Versionen von Internet Explorer
	var b = document.layers;            //Ã¤ltere Versionen von Netscape Navigator
	var c = document.getElementById;    //jetziger Standard
	
	if ( (a) && !(c) ) {}     //Internet Explorer bis Version 4
	else if ( (a) && (c) ){   //Internet Explorer ab Version 6
		xmlDoc = new ActiveXObject("Microsoft.XMLDOM");
		xmlDoc.async = false;
		xmlDoc.onreadystatechange = readXMLiE;
		xmlDoc.load(path);
	}   
	else if ( (b) && !(c) ) {}  //Netscape Navigator bis Version 4
	else if ( !(b) && (c) ) {   //Netscape Navigator ab Version 6
		/*
		xmlDoc = document.implementation.createDocument("", null, null);
		xmlDoc.onload=readXMLfF; 
		*/
		new Ajax.Request(path, {
			method: "get",
			asynchronous: false,
			onSuccess: function(resp, jsonObj) {
				xmlDoc = resp.responseXML;
				readXMLfF();
			}
		});
	} 
}

function readXMLiE(){
	if(xmlDoc.readyState == 4){
		var mySelect = document.createElement("select");
		var id = document.createAttribute("id");
		id.nodeValue = "shipping-country";
		mySelect.setAttributeNode(id);
	
		
		for (i=0; i < xmlDoc.getElementsByTagName("country").length; i++ ){
			country = xmlDoc.getElementsByTagName("country")[i];
			var myOption = document.createElement("option");

			for (k = 0; k < country.getElementsByTagName("label").length; k++){
				if ( country.getElementsByTagName("label")[k].attributes.getNamedItem("id").nodeValue == getLanguage().toUpperCase() ){
					myOption.innerText = country.getElementsByTagName("label")[k].text;
				}
			}
			
			myOption.setAttribute("value",
				country.getElementsByTagName("tld")[0].text +'-'+
				country.getElementsByTagName("express_min")[0].text +'-'+
				country.getElementsByTagName("express_max")[0].text +'-'+
				country.getElementsByTagName("standard_min")[0].text +'-'+
				country.getElementsByTagName("standard_max")[0].text
			);
			
			mySelect.appendChild(myOption);
		}
		
		document.getElementById("content_response").appendChild(mySelect);
		setFocus();
	}
}

function readXMLfF(){
	var mySelect = document.createElement("select");
	var id = document.createAttribute("id");
	id.nodeValue = "shipping-country";
	mySelect.setAttributeNode(id);
	
	for (i=0; i < xmlDoc.getElementsByTagName("country").length; i++ ){
		country = xmlDoc.getElementsByTagName("country")[i];
		var myOption = document.createElement("option");

		for (k = 0; k < country.getElementsByTagName("label").length; k++){
			if ( country.getElementsByTagName("label")[k].attributes.getNamedItem("id").nodeValue == getLanguage().toUpperCase() ){
				myOption.text = country.getElementsByTagName("label")[k].textContent;
			}
		}

		myOption.setAttribute("value",
			country.getElementsByTagName("tld")[0].textContent +'-'+
			country.getElementsByTagName("express_min")[0].textContent +'-'+
			country.getElementsByTagName("express_max")[0].textContent +'-'+
			country.getElementsByTagName("standard_min")[0].textContent +'-'+
			country.getElementsByTagName("standard_max")[0].textContent
		);
		
		mySelect.appendChild(myOption);
	}

	document.getElementById("content_response").appendChild(mySelect);
	setFocus();
}

function getLanguage(){
	if (!lang){
		lang = document.getElementsByTagName('html')[0].getAttribute('lang')
	}
	return lang;
}

function calculate(obj){
	if (obj.value != 0 ){
		standardMin = parseInt(obj.value.split("-")[3]);
		standardMax = parseInt(obj.value.split("-")[4]);
		expressMin = parseInt(obj.value.split("-")[1]);
		expressMax = parseInt(obj.value.split("-")[2]);
		document.getElementById('shipping-time').innerHTML = (standardMin + productionTimeMin) + "-" + (standardMax + productionTimeMax) + " " + txtWorkdays + " ";
		if (expressMin && expressMax){
			document.getElementById('shipping-time').innerHTML += "(" + txtExpress + ": " + (expressMin + productionTimeMin) + "-" + (expressMax + productionTimeMax) + ")";

		}
	}
}

function setFocus(){
	obj = document.getElementById("shipping-country");	

	for ( var i=0; i < obj.options.length; i++){
		if (obj.options[i].value && obj.options[i].value.split("-")[0] == getLanguage() ){
			obj.options[i].selected = true;
			break;
		}
	}

	obj.onchange = function(){
		calculate(obj);
	};
	calculate(obj);
}
