/* ==========================================================================
	 Naam:			form.js
	 Functie: 	Na ingave controleren van ingave en aanpassen totalen
	 Door:			Zinster Webdesign
	 
	 Gewijzigd:
	 Versie	Datum				Door	Omschrijving
	 ======	==========	====	=================================================
	 v0.1		22/11/2009 	PS		Nieuw
   ========================================================================== */

/* ==========================================================================
	 Functienaam:			initialiseer
	 Functiefunctie:	Zet alle aantallen op nul
	 Note:						In ie (tijdelijke bestanden moeten dan verwijderd worden)
	 ========================================================================== */
function initialiseer() { // selectedIndex
	
	var selects = document.getElementsByTagName("select");
	for (var i=0; i<selects.length; i++) {
		if (selects[i].id != "land" && selects[i].id != "land_verzend") {
			// selects[i].value = "0";
			selects[i].selectedIndex = 0;
		}
	}
	var totaal = document.getElementById("Ordertotaal");
	totaal.value = 0;
	
	return false;
}

/* ==========================================================================
	 Functienaam:			submitForm
	 Functiefunctie:	Controleer invoer en stuur formulier naar mailafhandeling
	 ========================================================================== */
function submitForm() {
	
	var error = "";
	var error_veld = "";
	// if (document.frmBestel.Ordertotaal.value == "0.00" || document.frmBestel.Ordertotaal.value == "€   0.00" || document.frmBestel.Ordertotaal.value.length < 1) {
	if (document.frmBestel.Ordertotaal.value == "€   0.00" || document.frmBestel.Ordertotaal.value.length < 1) { // haha
		alert("U heeft nog niets besteld");
		return;
	} else if(document.frmBestel.naam.value.length < 1) {
		error = "Voer uw naam in a.u.b.";
		error_veld = "naam";
	} else if(document.frmBestel.adres.value.length < 3) {
		error = "Voer een geldig adres in a.u.b.";
		error_veld = "adres";
	} else if(document.frmBestel.plaats.value.length < 2) {
		error = "Voer een geldige woonplaats in a.u.b.";
		error_veld = "plaats";
	} else if(document.frmBestel.land.value.length < 1) {
		error = "Voer een geldig land in a.u.b.";
		error_veld = "land";
	} else if(document.frmBestel.email.value.length < 4) {
		error = "Voer een geldig e-mail adres in a.u.b.";
		error_veld = "email";
	}
	
	if (error.length == 0) {
		alert("Uw bestelling is verzonden.");
		document.frmBestel.submit();
	} else {
		alert(error);
		self.location.href="bestellen.htm#persoon";
		var h_veld = document.getElementById(error_veld);
		h_veld.focus();
	}
	
}

/* ==========================================================================
	 Functienaam:			haalAantal
	 Functiefunctie:	Haal ingegeven aantal van veld
	 ========================================================================== */
function haalAantal(naam) {
	
	var naam_select	= "sel_" + naam;
	var h_select		= document.getElementById(naam_select);
	var aantal			= parseFloat(h_select.value);
	
	return aantal;
}
	
/* ==========================================================================
	 Functienaam:			getValue
	 Functiefunctie:	Haal ingegeven berekende waarde bij ingegeven veld
	 ========================================================================== */
function getValue(naam) {
	
	// alert("301. getValue: " + naam);
	
	var h_veld = document.getElementById(naam);
	// 4/1. var waarde = parseFloat(h_veld.innerHTML.substr(2));
	// 5/1. var waarde = parseFloat(h_veld.innerHTML);
	var waarde = parseFloat(h_veld.value.substr(3));
	
	return waarde;
}

/* ==========================================================================
	 Functienaam:			zetVerzend
	 Functiefunctie:	Zet verzendkosten
	 ========================================================================== */
function zetVerzend() {
	
	// alert("302. zetVerzend()" );
	
	var h_verzend	= document.getElementById("verzend");
	var h_landv	= document.getElementById("land_verzend");
	var h_land = document.getElementById("land");
	
	if (h_landv.value == "N.v.t.") {
		if (h_land.value == "Nederland") {
			// 8/1. h_verzend.innerHTML = "n.v.t.";
			h_verzend.value = " 0.00";
		} else {
			// 4/1. h_verzend.innerHTML = "&euro; 10,00";
			// 8/1. h_verzend.innerHTML = "10,00";
			h_verzend.value = "    " + "10.00";
		}
	} else {
		if (h_landv.value == "Nederland") {
			// 8/1. h_verzend.innerHTML = "n.v.t.";
			h_verzend.value = " 0.00";
		} else {
			// 4/1. h_verzend.innerHTML = "&euro; 10,00";
			// 8/1. h_verzend.innerHTML = "10,00";
			h_verzend.value = "    " + "10.00";
		}
	}
	
		
	toonTotgen();
	
}

/* ==========================================================================
	 Functienaam:			toonTotgen
	 Functiefunctie:	Toon totaal generaal
	 ========================================================================== */
function toonTotgen() {
	
	// alert("201. toonTotgen ");
/* =========================================================================================
ORIGINEEL PIM: var totaal = getValue('tot_1') + getValue('tot_2') + getValue('tot_3');
VERANDERD IN : var totaal = getValue('tot_2') + getValue('tot_3');
DIT MOET NAAR HET ORIGINEEL HERSTELD WORDEN ALS HET BLOK MET "SNEL BESTELLEN"
WEER GEACTIVEERD MOET WORDEN.
============================================================================================ */
	var totaal = getValue('tot_2') + getValue('tot_3');
	var totgen = totaal;
	
	var h_totaal = document.getElementById("totaal");
	// 4/1. h_totaal.innerHTML = "&euro; " + totaal.toFixed(2);
	// 8/1. h_totaal.innerHTML = totaal.toFixed(2);
	h_totaal.value = "€   " + totaal.toFixed(2);
	
	var verzend = getValue('verzend');
	if (verzend > 0) {
		var totgen  = totaal + verzend;
	}
	/*
	var h_totgen = document.getElementById("totincl");
	h_totgen.innerHTML = "&euro; " + totgen.toFixed(2);
	*/
	var h_totgen = document.getElementById("Ordertotaal");
	h_totgen.value = "€   " + totgen.toFixed(2); // haha
	// h_totgen.value = totgen.toFixed(2);
}

/* ==========================================================================
	 Functienaam:			toonTotaal
	 Functiefunctie:	Toon totaal van volgnummer
	 ========================================================================== */
function toonTotaal(volgnummer) {
	
	// alert("201. toonTotaal " + volgnummer);

/* =========================================================================================
	if (volgnummer == '1') {
		var totaal = getValue('reg_1_1') + getValue('reg_1_2') + getValue('reg_1_3') + getValue('reg_1_4');
	} else if (volgnummer == '2') {
		var totaal = getValue('sub_2_1') + getValue('sub_2_5') + getValue('sub_2_8') + getValue('sub_2_11');
	} else {
		var totaal = getValue('reg_3_1') + getValue('reg_3_2') + getValue('reg_3_3');
	}
BOVENSTAAND IS HET ORIGINEEL VAN PIM.
DIT MOET NAAR HET ORIGINEEL HERSTELD WORDEN ALS HET BLOK MET "SNEL BESTELLEN"
WEER GEACTIVEERD MOET WORDEN.
============================================================================================ */
/* ===================== BOVENSTAAND ORIGINEEL VAN PIM VERANDERD IN: ======================= */
	
	if (volgnummer == '2') {
		var totaal = getValue('sub_2_1') + getValue('sub_2_5') + getValue('sub_2_8') + getValue('sub_2_11');
	} if (volgnummer == '3') {
		var totaal = getValue('reg_3_1') + getValue('reg_3_2') + getValue('reg_3_3');
	}
	
	var naamtot = "tot_" + volgnummer;
	var h_totaal = document.getElementById(naamtot);
	// 4/1. h_totaal.innerHTML = "&euro; " + totaal.toFixed(2);
	// 8/1. h_totaal.innerHTML = totaal.toFixed(2);
	h_totaal.value = "€   " + totaal.toFixed(2);
	
	toonTotgen();
	
}

/* ==========================================================================
	 Functienaam:			toonSubTotaal
	 Functiefunctie:	Toon subtotaal van veldnaam
	 ========================================================================== */
function toonSubtotaal(naam) {
	
	// alert("401. " + naam);

	// volgnum = Number(naam.substr(2,1));
	volgnum = Number(naam.substr(2));
	
	if (volgnum <= 4 && volgnum > 0) {
		var subtot = getValue('reg_2_1') + getValue('reg_2_2') + getValue('reg_2_3') + getValue('reg_2_4');
		var h_subtot = document.getElementById('sub_2_1');
		// 4/1. h_subtot.innerHTML = "&euro; " + subtot.toFixed(2);
		// 8/1. h_subtot.innerHTML = subtot.toFixed(2);
		h_subtot.value = "€   " + subtot.toFixed(2);
	} else if (volgnum == 5) {
		var subtot = getValue('reg_2_5');
		var h_subtot = document.getElementById('sub_2_5');
		// 4/1. h_subtot.innerHTML = "&euro; " + subtot.toFixed(2);
		// 8/1. h_subtot.innerHTML = subtot.toFixed(2);
		h_subtot.value = "€   " + subtot.toFixed(2);
	} else if (volgnum <= 9) {
		var subtot = getValue('reg_2_6') + getValue('reg_2_7') + getValue('reg_2_8') + getValue('reg_2_9') + getValue('reg_2_0');
		var h_subtot = document.getElementById('sub_2_8');
		// 4/1. h_subtot.innerHTML = "&euro; " + subtot.toFixed(2);
		// 8/1. h_subtot.innerHTML = subtot.toFixed(2);
		h_subtot.value = "€   " + subtot.toFixed(2);
	} else {
		var subtot = getValue('reg_2_10') + getValue('reg_2_11') + getValue('reg_2_12');
		var h_subtot = document.getElementById('sub_2_11');
		// 4/1. h_subtot.innerHTML = "&euro; " + subtot.toFixed(2);
		// 8/1. h_subtot.innerHTML = subtot.toFixed(2);
		h_subtot.value = "€   " + subtot.toFixed(2);
	}
	
}
	
/* ==========================================================================
	 Functienaam:			checkIngave
	 Functiefunctie:	Controleer ingave
	 ========================================================================== */
function checkIngave(naam,bedrag) {
	
	// alert("101. " + naam + "," + bedrag);
	if (naam.substr(0,1) == "2") {
		
		if (naam.substr(2,1) <= "4" && naam.substr(2,1) > "0") {
			// ---------- Regel 1: Niet meer dan 4 monitors ----------
			var totMonitor = haalAantal("2_1") + haalAantal("2_2") + haalAantal("2_3") + haalAantal("2_4");
			if (totMonitor > 4) {
				alert("Niet meer dan 4 monitoren (" + totMonitor + ")");
				var naam_select	= "sel_" + naam;
				var h_select		= document.getElementById(naam_select);
				h_select.value = 0;
			}
		} else if ((naam.substr(2,1) >= "5" && naam.substr(2,1) <= "9") || naam.substr(2,1) == "0") {
			// ---------- Regel 2: Niet meer dan 2 buiten units ----------
			var totUnit = haalAantal("2_6") + haalAantal("2_7") + haalAantal("2_8") + haalAantal("2_9") + haalAantal("2_0");
			if (totUnit > 2) {
				alert("Niet meer dan 2 buiten-units (" + totUnit + ")");
				var naam_select	= "sel_" + naam;
				var h_select		= document.getElementById(naam_select);
				h_select.value = 0;
			}
		}
		
		if (naam.substr(2,1) <= "8") {
			var totAudio = haalAantal("2_5");
			// alert("102. " + naam + "," + bedrag);
			if (totAudio >= 1) {
				// ---------- Regel 3: 1 of 2 audio handsets alleen mogelijk als 1 buiten unit ----------
				var totUnit = haalAantal("2_6") + haalAantal("2_7") + haalAantal("2_8") + haalAantal("2_9") + haalAantal("2_0");
				if (totUnit != 1) {
					alert("Audio handsets alleen mogelijk bij 1 buiten-unit (" + totAudio + " / " + totUnit + ")");
					var naam_select	= "sel_2_5";
					var h_select		= document.getElementById(naam_select);
					h_select.value = 0;
				} else {
					// ---------- Regel 4: 1 of 2 audio handsets alleen mogelijk als 1 of 2 monitor units ----------
					var totMonitor = haalAantal("2_1") + haalAantal("2_2") + haalAantal("2_3") + haalAantal("2_4");
					if (totMonitor < 1 || totMonitor > 2) {
						alert("Audio handsets alleen mogelijk bij 1 of 2 monitor-units (" + totAudio + " / " + totMonitor + ")");
						var naam_select	= "sel_2_5";
						var h_select		= document.getElementById(naam_select);
						h_select.value = 0;
					}
				}
			}
		}

	}
	
	var aantal = haalAantal(naam);
	var subtot = aantal * bedrag;
	
	var naam_regtot = "reg_" + naam;
	var h_regtot		= document.getElementById(naam_regtot);
	// 4/1. h_regtot.innerHTML = "&euro; " + subtot.toFixed(2);
	// 8/1. h_regtot.innerHTML = subtot.toFixed(2);
	h_regtot.value = "€   " + subtot.toFixed(2);
	
	if (naam.substr(0,1) == "2") {
		toonSubtotaal(naam);
	}
	
	toonTotaal(naam.substr(0,1));
}

/* ==========================================================================
	 EOF
	 ========================================================================== */