function FormatNum(Number)	{
// DEP: none
// IN: numeric value
// OUT: string value
	Number = Math.round(Number*100)/100;
	var NumberText = Number + '';
	if ((Number) == Math.round(Number)) {
		//No decimals? Add .00
		NumberText += ".00";
	}
	else if ((Number*10) == Math.round(Number*10)) {
		//If 1 decimal only, add 0
		NumberText += "0";
	} 
	return NumberText;
}	

function getCheckedValue(radioObj) {
// DEP: none
// IN: <radio> objectref
// OUT: string value
	if(!radioObj)
		return "";
	var radioLength = radioObj.length;
	if(radioLength == undefined)
		if(radioObj.checked)
			return radioObj.value;
		else
			return "";
	for(var i = 0; i < radioLength; i++) {
		if(radioObj[i].checked) {
			return radioObj[i].value;
		}
	}
	return "";
}

function setCheckedValue(radioObj, newValue) {
// DEP: none
// IN: <radio> objectref, boolean value
// OUT: none
	if(!radioObj)
		return;
	var radioLength = radioObj.length;
	if(radioLength == undefined) {
		radioObj.checked = (radioObj.value == newValue.toString());
		return;
	}
	for(var i = 0; i < radioLength; i++) {
		radioObj[i].checked = false;
		if(radioObj[i].value == newValue.toString()) {
			radioObj[i].checked = true;
		}
	}
}

function UpdateTotaalBedrag(form) {
// DEP: GetCheckedValue(), UpdateVerzendkosten(), FormatNum()
// IN: <form> objectref
// OUT: numeric value
	var TotaalBedrag = bedrag[parseInt(getCheckedValue(form.aantal))];
	if (TotaalBedrag == undefined) TotaalBedrag = 0;

	// Aanbieding
	TotaalBedrag += UpdateAanbieding(form);

	// iDEAL korting
	if (typeof(ideal_korting) != "undefined") {
		if (getCheckedValue(form.betaalwijze)=="iDEAL") TotaalBedrag = TotaalBedrag * ((100-ideal_korting)/100);
	}

	// Verzendkosten
	TotaalBedrag += UpdateVerzendkosten(form);

	// Bedrag in form zetten
	form.totaalbedrag.value = FormatNum(TotaalBedrag);
	return TotaalBedrag;
}

function ControleerForm(form) {
// DEP: UpdateTotaalBedrag(), getCheckedValue
// IN: <form> objectref
// OUT: boolean TRUE or FALSE
	var returnval = false;
	if (Ingevuld(form.naam) &&
		Ingevuld(form.adres) &&
		Ingevuld(form.postcode) &&
		Ingevuld(form.plaats) &&
		Ingevuld(form.land) &&
		Ingevuld(form.telefoon) &&
		Ingevuld(form.email)) {
			var TotaalBedrag = UpdateTotaalBedrag(form)
			if (TotaalBedrag == 0) {
				alert(NiksGekozenTekst);
				// Formulier wordt NIET verstuurd...
				returnval = false;
			} else {
				// Formulier wordt WEL verstuurd...
				returnval = true;
			}
		} else {
			alert(VeldenNietIngevuldTekst);
			returnval = false;
		}
	return returnval;
}

function Ingevuld(input) {
// DEP: getCheckedValue
// IN: <input> objectref
// OUT: boolean value
	var returnval = false;
	var switcher = input.tagName + "." + input.type;
	switch (switcher) {
		case "INPUT.text":
			if (input.value != "") returnval = true;
		break;
	}
	return returnval;
}

function UpdateAanbieding(form) {
// DEP: getCheckedValue
// IN: <form> objectref
// OUT: numeric value
	var AanbiedingBedrag = 0;
	if (form.aanbieding.checked) {
		var artikelindex = getCheckedValue(form.aantal);
		var akkoord = false;
		if (artikelindex != "") {
			artikelindex = parseInt(artikelindex);
			for (var i=0;i<=parseInt(aanbieding_voorwaarde.length)-1;i++) {
				if ((parseInt(aanbieding_voorwaarde[i]) == artikelindex) || (akkoord)) {
					akkoord = true;
				} else {
					akkoord = false;
				}
			}
		}
		if (akkoord) {
			AanbiedingBedrag = aanbieding_bedrag;
		} else {
			alert(AanbiedingVoorwaardeTekst);
			form.aanbieding.checked = false;
		}
	}
	return AanbiedingBedrag;
}

function UpdateVerzendkosten(form) {
// DEP: getCheckedValue
// IN: <form> objectref
// OUT: numeric value
	var Verzendkosten = 0;
	var artikelindex = getCheckedValue(form.aantal);
	var verzendindex = parseInt(form.verzendlocatie.selectedIndex)+1;
	if (artikelindex != "") {
		artikelindex = parseInt(artikelindex);
		var verschuldigd = false;
		for (var i=0;i<=parseInt(vantoepassing[verzendindex].length)-1;i++) {
			if ((parseInt(vantoepassing[verzendindex][i]) == artikelindex) || (verschuldigd)) {
				verschuldigd = true;
			} else {
				verschuldigd = false;
			}
		}
		if (verschuldigd) {
			Verzendkosten = verzendbedrag[verzendindex];
		}
	}
	form.verzendkosten.value = FormatNum(Verzendkosten);
	return Verzendkosten;
}

function GenereerVerzendopties() {
// DEP: none
// IN: none
// OUT: none
	for (var i=1;i<=verzendlocatie.length-1;i++) {
		document.write("<option value=\"" + i + "\">" + verzendlocatie[i] + "</option>\n");
	}
}
