gurtError = new Array();
gurtError['german'] = new Array();
gurtError['german']['längsteSeiteHöhe'] = "Falsche Eingabe im Feld 'Längste Seite' (Höhe ist größer)";
gurtError['german']['längsteSeiteBreite'] = "Falsche Eingabe im Feld 'Längste Seite' (Breite ist größer)";
gurtError['german']['gesamtzulang'] = "Ihr Gurtmaß liegt bei @laenge@cm. Pakete mit einem Gurtmaß größer 300cm können leider nicht mit DPD befördert werden.";
gurtError['german']['maxzulang'] = "Ihr längstes Maß ist @laenge@cm (erlaubt sind maximal 175cm). Ihr Paket kann leider mit DPD nicht verschickt werden.";
hinweisMsg = new Array();
hinweisMsg['german'] = new Array();
hinweisMsg['german']['2kg*'] = "Nur Pakete mit einem max. Ummaß von 110 cm (Ummaß = Umfang + Länge) und  max. Länge von 50 cm, ansonsten kommt der 2 kg Preis zur Anrechnung.";
 
function field_ok(field){
	field.style.border = "1px solid #CFD8F9";
}
	 
function field_error(field) {
	field.style.border = "1px dashed red";
}
	
function check(field) {		
	field.value = field.value.replace(/[^0-9]/g, "");
	if ((field.value!="") && (!isNaN(field.value)) && (field.value > 0)) {
		field_ok(field);
		return true;
	}
	else {
		field_error(field);
		return false;
	}
}

function getValueOfRadio(r) {
	for (i=0; i<r.length; ++i) {
		if (r[i].checked) return r[i].value;
	}
}

function formatPreis(preis) {
	preis = preis.toFixed(2);
	preis = preis.replace(/\./, ",");
	return preis;	
}

function gurtOk() {
	f = document.gurt;
	ok = check(f.gwidth);
	ok = check(f.gheight) && ok;
	ok = check(f.gmax) && ok;
	error = document.getElementById("gurterror");
	if (parseInt(f.gmax.value) < parseInt(f.gheight.value)) {
		error.innerHTML = gurtError[lang]['längsteSeiteHöhe'];
		field_error(f.max);
		ok = false;
	}
	else 
		if (parseInt(f.gmax.value) < parseInt(f.gwidth.value)) {
			error.innerHTML = gurtError[lang]['längsteSeiteBreite']; 
			field_error(f.max);
			ok = false;
		}
		else {
			error.innerHTML = "";
		}
		

	if (!ok) document.getElementById("gurtmass").innerHTML = "";
	return ok; 
}

function calcGurt() {
	if (!gurtOk()) return;
	f = document.gurt;
	w = parseInt(f.gwidth.value);
	l = parseInt(f.gheight.value);
	max = parseInt(f.gmax.value);
	laenge = 2 * (w+l) + max;
	document.getElementById("gurtmass").innerHTML = laenge + " cm"; 
	error = document.getElementById("gurterror");
	if (laenge > 300) {
		msg = gurtError[lang]['gesamtzulang'].replace(/@laenge@/, laenge);
		error.innerHTML = msg;
	}
	else if (max>175) {
		msg = gurtError[lang]['maxzulang'].replace(/@laenge@/, max);
		error.innerHTML = msg;
	} 
	else {
		error.innerHTML = "";
	}
} 

function loeschenGurt() {
	document.getElementById("gurterror").innerHTML = "";
	document.getElementById("gurtmass").innerHTML = "";
	document.gurt.reset();
}

function paketscheinLoeschen() {
	document.paketschein.reset();
}

function trackingLoeschen() {
	document.tracking.reset();
	document.tracking.pknr = "";
}

function loeschenPreisDeu() {
	document.deutschland.reset();
	hinweisDeu();
	document.getElementById("preisDeu").innerHTML = "";
}

function loeschenPreisEur() {
	document.europa.reset();
	document.getElementById("preisEur").innerHTML = "";
	document.getElementById("countryCodeEur").innerHTML = "";
}

function calcPreisDeu() {
	f = document.deutschland;
	w = parseFloat(f.weightDeu.value);
	insel = getValueOfRadio(f.InselDeu);
	nc = getValueOfRadio(f.NCDeu);
	preis = w + parseFloat(insel) + parseFloat(nc);
	document.getElementById("preisDeu").innerHTML = formatPreis(preis) + " €";
	hinweisDeu();
}

function hinweisDeu() {
	f = document.deutschland;
	w = f.weightDeu.value;
	hinweis = document.getElementById("hinweisDeu");
	if (w=="3.95") 
		hinweis.innerHTML = hinweisMsg[lang]['2kg*'];
	else 
		hinweis.innerHTML = "";
}

function calcPreisEur() {
	f = document.europa;
	country = f.countryEur.value;
	thisFare = fare[country][f.weightEur.selectedIndex];
	isInsel = getValueOfRadio(f.InselEur);
	nc = getValueOfRadio(f.NCEur);
	preis = parseFloat(thisFare) + parseFloat(isInsel)*parseInt(islandSurcharge[country]) + parseFloat(nc);
	document.getElementById("preisEur").innerHTML = formatPreis(preis) + " €";
}

function setDeliveryEur() {
	country = document.europa.countryEur.value;
	document.getElementById("deliveryEur").innerHTML = delivery[country];
	document.getElementById("countryCodeEur").innerHTML = document.europa.countryEur.value;

	var lastSpan = document.getElementById("lastHint");
	var id = "hinweisEur"+lastSpan.innerHTML;
	var span = document.getElementById(id);
	if (span) span.style.display = "none";
	span = document.getElementById("hinweisEur"+country);
	if (span) span.style.display = "";
	lastSpan.innerHTML = country;

	var lastSpan = document.getElementById("lastNoTransport");
	var id = "noTransport"+lastSpan.innerHTML;
	var span = document.getElementById(id);
	if (span) span.style.display = "none";
	span = document.getElementById("noTransport"+country);
	if (span) span.style.display = "";
	lastSpan.innerHTML = country;
}

function tracking() {
	t = document.tracking;
	pknr = t.pknr.value;
	typ = getValueOfRadio(t.typ);
	url = "http://extranet.dpd.de/cgi-bin/delistrack?submit=suchen&lang=de&pknr="+pknr+"&typ="+typ;
	width = 630;
	height = 500;
	x = (screen.availWidth-width) / 2;
	y = (screen.availHeight-height) / 2;
	w = window.open(url, "dpdtrack", "width="+width+",height="+height+",resizable=yes,screenX="+x+",screenY="+y);
}

function paketscheinDrucken() {
	p = document.paketschein;
	url = "../common/php/paketschein.php5";
	url += "?name_e="+p.name_e.value+"&street_e="+p.street_e.value+"&plz_e="+p.plz_e.value+"&city_e="+p.city_e.value+"&country_e="+p.country_e.value;
	url += "&name_a="+p.name_a.value+"&street_a="+p.street_a.value+"&plz_a="+p.plz_a.value+"&city_a="+p.city_a.value+"&country_a="+p.country_a.value;
	width = 800;
	height = 600;
	x = (screen.availWidth-width) / 2;
	y = (screen.availHeight-height) / 2;
	w = window.open(url, "paketschein", "width="+width+",height="+height+",resizable=yes,screenX="+x+",screenY="+y);	
}

function registerOnBlur(el) {
	el.onblur = function() { check(el); }
}

function init() {
	document.tracking.onsubmit =  function() { tracking(); }
	document.paketschein.onsubmit = function() { paketscheinDrucken(); }
	document.europa.onsubmit = function() { calcPreisEur(); }
	document.gurt.onsubmit = function() { calcGurt(); }
	document.deutschland.onsubmit = function() { calcPreisDeu(); }
	registerOnBlur(document.getElementById("gmax"));
	registerOnBlur(document.getElementById("gheight"));
	registerOnBlur(document.getElementById("gwidth"));
	document.getElementById("btnTracking").onclick = function() { tracking(); }
	document.getElementById("btnTrackingLoeschen").onclick = function() { trackingLoeschen(); }
	document.getElementById("btnPaketschein").onclick = function() { paketscheinDrucken(); }
	document.getElementById("btnPaketscheinLoeschen").onclick = function() { paketscheinLoeschen(); }
	document.getElementById("selWeight").onchange = function() { hinweisDeu(); }
	document.getElementById("btnGurt").onclick = function() { calcGurt(); }
	document.getElementById("btnGurtLoeschen").onclick = function() { loeschenGurt(); }
	document.getElementById("btnPreisDeu").onclick = function() { calcPreisDeu(); }
	document.getElementById("btnPreisDeuLoeschen").onclick = function() { loeschenPreisDeu(); }
	document.getElementById("btnPreisEur").onclick = function() { calcPreisEur(); }
	document.getElementById("btnPreisEurLoeschen").onclick = function() { loeschenPreisEur(); }
	document.getElementById("selCountry").onchange = function() { setDeliveryEur(); }
	hinweisDeu();
	setDeliveryEur();
}