// (c) KLIK!  www[dot]klik-info[dot]ch  2008 //

var post_url      = "https://e-payment.postfinance.ch/ncol/prod/orderstandard.asp";
var local_url     = "/abo_commande.php"; 
var kk_data_saved = false;
var mail_stern    = false;
var email_ok      = '';
	
Event.observe(window, 'load', function() {
	var versand1_chf = 59;
	var versand2_chf = 30;
	var versand1_eur = 37.0;
	var versand2_eur = 19.0;
	var eabo_chf = 50;
	var eabo_eur = 31;
	
	Event.observe($('schnupper'), 'change', function() {
		reset_kk_fields();
		$("halbjahr").selectedIndex = 0;
		$("jahr").selectedIndex = 0; $('rabatt').selectedIndex = 0; $("atyp").innerHTML = ""; $("skk").hide();mail_stern = false;$("email_stern_zustell").hide();
		var preis = $F("schnupper").split("##");
		var anzeige = "CHF " + format_number(preis[1]);
		anzeige += preis[2] != 0 && typeof preis[2] != "undefined" ? " | " + format_number(preis[2]) + " EUR" : "";
		$('preis').innerHTML = anzeige == "CHF 0.00" || anzeige == "CHF NaN.00" ? " " : anzeige;
		$("preis_berechnet").value = anzeige;
		$("anrede_rech").focus();
	});
	Event.observe($('halbjahr'), 'change', function() {
		reset_kk_fields(); 
		$("jahr").selectedIndex = 0; $("atyp").innerHTML = ""; $("skk").hide();
		mail_stern = false;$("email_stern_zustell").hide();
		$("schnupper").selectedIndex = 0;
		var preis = $F("halbjahr").split("##");
		var rabatt = $F("rabatt").split("#");
		if (rabatt[1] != 0 && $("halbjahr").selectedIndex != 3 && $("halbjahr").selectedIndex != 4) {
			var r =  rabatt[1] / 100;
		} else {
			var r = 0;
			$("rabatt").selectedIndex = 0;
		}
		if (preis[2] != 0 && typeof preis[2] != "undefined") {
			var anzeige = "CHF " + format_number(preis[1] - (preis[1] - versand2_chf) * r);
			anzeige +=  " | " + format_number(preis[2] - (preis[2] - versand2_eur) * r) + " EUR";
		} else {
			var anzeige = "CHF " + format_number(preis[1] - preis[1] * r);
		}
		$('preis').innerHTML = anzeige == "CHF 0.00" || anzeige == "CHF NaN.00" ? " " : anzeige;
		$("preis_berechnet").value = anzeige;
		$("anrede_rech").focus();
	});
	Event.observe($('jahr'), 'change', function() {
		reset_kk_fields();
		$("email_stern_zustell").hide();mail_stern = false;
		si = $("jahr").selectedIndex;
		if (si == 1 || si == 6 || si == 7 || si == 12 || si == 13) {
			$("jahr").selectedIndex = 0;
			$('preis').innerHTML = "";
			$("preis_berechnet").value = 0;
			return;
		}
		$("rabatt").selectedIndex = 0;
		$("atyp").innerHTML = "";
		if (si > 1 && si < 6) {  $("atyp").innerHTML = "PRINT"; }
		else if (si > 7 && si < 12) {  $("atyp").innerHTML = "PRINT + E-ABO";$("email_stern_zustell").show();mail_stern = true; }
		else if (si > 13) {  $("atyp").innerHTML = "E-ABO";$("email_stern_zustell").show();mail_stern = true; }
		$("skk").hide();
		if ((si == 9 || si == 11 || si == 15) /*&& location.search.indexOf('kkk') > -1*/)$("skk").show();
		$("halbjahr").selectedIndex = 0;
		$("schnupper").selectedIndex = 0;
		var preis = $F("jahr").split("##");
		var rabatt = $F("rabatt").split("#");
		if (rabatt[1] != 0 && (si == 2 || si == 3 || si == 8 || si == 9 || si == 15)) {
			var r = rabatt[1] / 100; 
		} else {
			var r = 0;
			$("rabatt").selectedIndex = 0;
		}
		var anzeige = "CHF " + format_number(preis[1] - preis[1] * r);
		anzeige += preis[2] != 0 && typeof preis[2] != "undefined" ? " | " + format_number(preis[2] - preis[2] * r) + " EUR" : "";
		$('preis').innerHTML = anzeige == "CHF 0.00" || anzeige == "CHF NaN.00" ? " " : anzeige;
		$("preis_berechnet").value = anzeige;
		chk_email();
		$("anrede_rech").focus();
	});
	Event.observe($('rabatt'), 'change', function() {
		var at = ''; var eabo_abzug = 0;
		if ($("halbjahr").selectedIndex != 0) {
			var preis = $F("halbjahr").split("##");
			at = 'h';
		}
		else if ($F("jahr") != "0##0##0") {
			var preis = $F("jahr").split("##");
			at = "j";
			if ($("jahr").selectedIndex == 8 || $("jahr").selectedIndex == 9 || $("jahr").selectedIndex == 15) eabo_abzug = 1;
		}
		else if ($("schnupper").selectedIndex != 0) {
			var preis = $F("schnupper").split("##");
		}
		else {
			return;
		}
		if ($("schnupper").selectedIndex != 0 || $("halbjahr").selectedIndex == 3 || $("halbjahr").selectedIndex == 4 || $("jahr").selectedIndex == 4 || $("jahr").selectedIndex == 5 || ($("jahr").selectedIndex > 9 && $("jahr").selectedIndex < 15)) {
			r = 0;
			$("rabatt").selectedIndex = 0;
		} else {
			var rabatt = $F("rabatt").split("#");
			var r = rabatt[1] != 0 ? rabatt[1] / 100 : 0;
		}
		var abzug_chf = at == 'h' ? versand2_chf : versand1_chf + (eabo_abzug * eabo_chf);
		var abzug_eur = at == 'h' ? versand2_eur : versand1_eur + (eabo_abzug * eabo_eur);
		if ($("jahr").selectedIndex == 15) {
			abzug_chf = eabo_chf; abzug_eur = eabo_eur;
		}
		if (preis[2] != 0 && typeof preis[2] != "undefined") {
			var anzeige = "CHF " + format_number(preis[1] - (preis[1]-abzug_chf) * r);
			anzeige += " | " + format_number(preis[2] - (preis[2]-abzug_eur) * r) + " EUR";
		} else {
			var anzeige = "CHF " + format_number(preis[1] - (preis[1] - (eabo_abzug * eabo_chf)) * r);
		}
		$('preis').innerHTML = anzeige == "CHF 0.00" || anzeige == "CHF NaN.00" ? "" : anzeige;
		$("preis_berechnet").value = anzeige;
		$("anrede_rech").focus();
	});
	$("jahr").selectedIndex = 0;$("halbjahr").selectedIndex = 0;$("schnupper").selectedIndex = 0;$("rabatt").selectedIndex = 0;$('preis').innerHTML = "";$("preis_berechnet").value = 0;
	Event.observe($("email_zustell"), "change",chk_email); 
	Event.observe($("email_rech"), "change",chk_email);
	Event.observe($('kk'), 'click', function() {
		if ($F("kk") == "j") { 
			$("abo").action = post_url;
			amount = $F("preis_berechnet").split(" | ");
			amount = amount[1].substring(0, amount[1].indexOf(".00 EUR"));
			amount = amount + "00";
			$("amount").value = amount;
			var myAjax = new Ajax.Request(
    					"/get_kk_data.php",
    					{   
    						method:"post",
							postBody:"preis=" + $F("preis_berechnet") + "&amount=" + amount, 
       						onComplete:show_new_data
     					}
    		);
		}
		else { 
			$("abo").action = local_url; 
			$("zusatzfelder").innerHTML = "";
			$("amount").value = "";
		}
		kk_data_saved = false;
	});
	$("kk").checked = false; $("agb").checked = false; 
});

function reset_kk_fields() {
	$("abo").action = local_url; 
	$("zusatzfelder").innerHTML = "";
	$("amount").value = "";
	$("kk").checked = false; $("agb").checked = false; 
}

function show_new_data(r) {
	$("zusatzfelder").innerHTML = r.responseText;
}

function chk_email() {
	if (mail_stern == true) {
		var myAjax = new Ajax.Request(
					"/check_email.php",
					{   
						method:"post",
						postBody:"email=" + $F("email_zustell"), 
						onComplete:set_email_ok
					}
		);
	}
};
function set_email_ok(r) {
	if (r.responseText == 'ik') {
		email_ok = 'Veuillez entrer une adresse e-mail valide s.v.p.!';
	} else if (r.responseText == 'dpl') {
		email_ok = 'Cet e-mail a déjà été enregistré!';
	} else if (r.responseText == ' ') {
		email_ok = 'Introduire une adresse e-mail valide! Vous en aurez besoin pour vous connecter';
	} else {
		email_ok = '';
	}
}

function format_number(zahl) {
	zahl = Math.round(zahl);
	zahl = "" + zahl;
	if (zahl.indexOf(".",0) == -1) {
		zahl = "" + zahl + ".00";
	}
	else if (zahl.indexOf(".",0) == zahl.length-2) {
		zahl = zahl + "0";
	}
	return zahl;
}

function testeEingaben(){
var f = document.forms["abo"];
var m = "";
if (f.name_rech.value == "") {
if (m != "")m += ", ";
else f.name_rech.focus();
m += "Nom (facturation)";
}
if (f.vorname_rech.value == "") {
if (m != "")m += ", ";
else f.vorname_rech.focus();
m += "Prénom (facturation)";
}
if (f.strasse_rech.value == "") {
if (m != "")m += ", ";
else f.strasse_rech.focus();
m += "Rue (facturation)";
}
if (f.ort_rech.value == "") {
if (m != "")m += ", ";
else f.ort_rech.focus();
m += "Cp / ville (facturation)";
}
if (f.land_rech.value == "") {
if (m != "")m += ", ";
else f.land_rech.focus();
m += "Pays (facturation)";
}
if (f.tel_rech.value == "") {
if (m != "")m += ", ";
else f.tel_rech.focus();
m += "Téléphone (facturation)";
}
if (f.name_zustell.value == "") {
if (m != "")m += ", ";
else f.name_zustell.focus();
m += "Nom (livraison)";
}
if (f.vorname_zustell.value == "") {
if (m != "")m += ", ";
else f.vorname_zustell.focus();
m += "Prénom (livraison)";
}
if (f.strasse_zustell.value == "") {
if (m != "")m += ", ";
else f.strasse_zustell.focus();
m += "Rue (livraison)";
}
if (f.ort_zustell.value == "") {
if (m != "")m += ", ";
else f.ort_zustell.focus();
m += "Cp / ville (livraison)";
}
if (f.land_zustell.value == "") {
if (m != "")m += ", ";
else f.land_zustell.focus();
m += "Pays (livraison)";
}
if (f.tel_zustell.value == "") {
if (m != "")m += ", ";
else f.tel_zustell.focus();
m += "Téléphone (livraison)";
}
if (mail_stern == true && f.email_zustell.value == "") {
if (m != "")m += ", ";
else f.email_zustell.focus();
m += "e-mail (livraison)";
}
if (($("jahr").selectedIndex == 0 || $("jahr").selectedIndex == 1 || $("jahr").selectedIndex == 6 || $("jahr").selectedIndex == 7 || $("jahr").selectedIndex == 12 || $("jahr").selectedIndex == 13) && $("halbjahr").selectedIndex == 0 && $("schnupper").selectedIndex == 0) {
if (m != "")m += ", ";
m += "Type d'Abonnement" ;
}

if (m != "" || email_ok != '' || (f.kk.checked && !f.agb.checked)) {
	if (m != "")m = "Veuillez entrer " + m + " s.v.p.\n";
	if (email_ok != '') { m += "\n" + email_ok + "\n"; }
	if (f.kk.checked && !f.agb.checked) {
		m += "\nSi vous payez avec carte de crédit, il vous faut accepter les CGV.";
	}
	alert(m);
	return false;
} else if ($("abo").action == post_url && kk_data_saved == false) {
	
	var myAjax = new Ajax.Request(
				"/set_ajax_status.php",
				{   
					method:"post",
					postBody:$("abo").serialize(), 
					onComplete:set_ajax_status
				}
	);
	return false;
} else {
	return true;
}
}

function set_ajax_status() {
	kk_data_saved = true;
	$("abo").submit();
}