function initialize(){
		document.premie.valAanbouwdekking.setAttribute('disabled','true');
		document.premie.valWeight.setAttribute('disabled','true');
		document.premie.valHuidigeDagwaarde.setAttribute('disabled','true');
		document.premie.eer.setAttribute('disabled','true');
		document.premie.valCataloguswaarde_2.setAttribute('disabled','true');
		document.premie.kilometers[0].setAttribute('disabled','true');
		document.premie.kilometers[1].setAttribute('disabled','true');
		document.premie.bm.setAttribute('disabled','true');
		document.premie.inboedel.setAttribute('disabled','true');
		document.premie.valInboedel.setAttribute('disabled','true');
		document.premie.luifel.setAttribute('disabled','true');
		document.premie.valLuifel.setAttribute('disabled','true');
		document.premie.autoverhaal.setAttribute('disabled','true');
		document.premie.rechtsbijstand.setAttribute('disabled','true');
		document.premie.ongevallen.setAttribute('disabled','true');
		document.premie.valOngevallen[0].setAttribute('disabled','true');
		document.premie.valOngevallen[1].setAttribute('disabled','true');
		document.premie.valOngevallen[2].setAttribute('disabled','true');
	
	}
function isdekking() {
	if (document.premie.dekking[0].checked){ // aanbouwdekking
		document.premie.valAanbouwdekking.removeAttribute('disabled');
		document.premie.valWeight.setAttribute('disabled','true');
		document.premie.valHuidigeDagwaarde.setAttribute('disabled','true');
		document.premie.eer.setAttribute('disabled','true');
		document.premie.valCataloguswaarde_2.setAttribute('disabled','true');
		document.premie.kilometers[0].setAttribute('disabled','true');
		document.premie.kilometers[1].setAttribute('disabled','true');
		document.premie.bm.setAttribute('disabled','true');
		document.premie.inboedel.setAttribute('disabled','true');
		document.premie.valInboedel.setAttribute('disabled','true');
		document.premie.luifel.setAttribute('disabled','true');
		document.premie.valLuifel.setAttribute('disabled','true');
		document.premie.autoverhaal.setAttribute('disabled','true');
		document.premie.rechtsbijstand.setAttribute('disabled','true');
		document.premie.ongevallen.setAttribute('disabled','true');
		document.premie.valOngevallen[0].setAttribute('disabled','true');
		document.premie.valOngevallen[1].setAttribute('disabled','true');
		document.premie.valOngevallen[2].setAttribute('disabled','true');
	}	
	else if (document.premie.dekking[1].checked){ // wa dekking
		document.premie.valAanbouwdekking.setAttribute('disabled','true');
		document.premie.valWeight.removeAttribute('disabled');
		document.premie.valHuidigeDagwaarde.setAttribute('disabled','true');
		document.premie.eer.setAttribute('disabled','true');
		document.premie.valCataloguswaarde_2.setAttribute('disabled','true');
		document.premie.kilometers[0].setAttribute('disabled','true');
		document.premie.kilometers[1].setAttribute('disabled','true');
		document.premie.bm.removeAttribute('disabled');
		document.premie.inboedel.removeAttribute('disabled');
		document.premie.valInboedel.removeAttribute('disabled');
		document.premie.luifel.removeAttribute('disabled');
		document.premie.valLuifel.removeAttribute('disabled');
		document.premie.autoverhaal.removeAttribute('disabled');
		document.premie.rechtsbijstand.removeAttribute('disabled');
		document.premie.ongevallen.removeAttribute('disabled');
		document.premie.valOngevallen[0].removeAttribute('disabled');
		document.premie.valOngevallen[1].removeAttribute('disabled');
		document.premie.valOngevallen[2].removeAttribute('disabled');
	}
	else if (document.premie.dekking[2].checked){ // beperktcasco dekking
		document.premie.valAanbouwdekking.setAttribute('disabled','true');
		document.premie.valWeight.removeAttribute('disabled');
		document.premie.valHuidigeDagwaarde.removeAttribute('disabled');
		document.premie.eer.setAttribute('disabled','true');
		document.premie.valCataloguswaarde_2.setAttribute('disabled','true');
		document.premie.kilometers[0].setAttribute('disabled','true');
		document.premie.kilometers[1].setAttribute('disabled','true');
		document.premie.bm.removeAttribute('disabled');
		document.premie.inboedel.removeAttribute('disabled');
		document.premie.valInboedel.removeAttribute('disabled');
		document.premie.luifel.removeAttribute('disabled');
		document.premie.valLuifel.removeAttribute('disabled');
		document.premie.autoverhaal.removeAttribute('disabled');
		document.premie.rechtsbijstand.removeAttribute('disabled');
		document.premie.ongevallen.removeAttribute('disabled');
		document.premie.valOngevallen[0].removeAttribute('disabled');
		document.premie.valOngevallen[1].removeAttribute('disabled');
		document.premie.valOngevallen[2].removeAttribute('disabled');
	}
	else if (document.premie.dekking[3].checked){ //casco dekking
		document.premie.valAanbouwdekking.setAttribute('disabled','true');
		document.premie.valWeight.removeAttribute('disabled');
		document.premie.valHuidigeDagwaarde.setAttribute('disabled','true');
		document.premie.eer.removeAttribute('disabled');
		document.premie.valCataloguswaarde_2.removeAttribute('disabled');
		document.premie.kilometers[0].removeAttribute('disabled');
		document.premie.kilometers[1].removeAttribute('disabled');
		document.premie.bm.removeAttribute('disabled');
		document.premie.inboedel.removeAttribute('disabled');
		document.premie.valInboedel.removeAttribute('disabled');
		document.premie.luifel.removeAttribute('disabled');
		document.premie.valLuifel.removeAttribute('disabled');
		document.premie.autoverhaal.removeAttribute('disabled');
		document.premie.rechtsbijstand.removeAttribute('disabled');
		document.premie.ongevallen.removeAttribute('disabled');
		document.premie.valOngevallen[0].removeAttribute('disabled');
		document.premie.valOngevallen[1].removeAttribute('disabled');
		document.premie.valOngevallen[2].removeAttribute('disabled');
	}
	else if (document.premie.dekking[4].checked){ //casco dekking instapmodule
		document.premie.valAanbouwdekking.setAttribute('disabled','true');
		document.premie.valWeight.removeAttribute('disabled');
		document.premie.valHuidigeDagwaarde.setAttribute('disabled','true');
		document.premie.eer.removeAttribute('disabled');
		document.premie.valCataloguswaarde_2.removeAttribute('disabled');
		document.premie.kilometers[0].removeAttribute('disabled');
		document.premie.kilometers[1].removeAttribute('disabled');
		document.premie.bm.removeAttribute('disabled');
		document.premie.inboedel.removeAttribute('disabled');
		document.premie.valInboedel.removeAttribute('disabled');
		document.premie.luifel.removeAttribute('disabled');
		document.premie.valLuifel.removeAttribute('disabled');
		document.premie.autoverhaal.removeAttribute('disabled');
		document.premie.rechtsbijstand.removeAttribute('disabled');
		document.premie.ongevallen.removeAttribute('disabled');
		document.premie.valOngevallen[0].removeAttribute('disabled');
		document.premie.valOngevallen[1].removeAttribute('disabled');
		document.premie.valOngevallen[2].removeAttribute('disabled');
	}
	document.premie.polistext.value = "";
	calcPremie();
}

// =========================================================================
// premie calculation //
function roundUp(value,base) {
	rest = value % base;
	if(rest != 0)
		value += base - rest;
	return value;
}

//globals ###########################################################################
	var onetime1 = true;
	var onetime2 = true;
	var onetime3 = true;
	var onetime4 = true;
	var onetime5 = true;
	var onetime6 = true;

function calcPremie(){
//vars ##############################################################################
	var vPremie = 0;
	var vPremieCasco = 0;
	var vKilometrage = document.premie.kilometers[0].checked?1:0;
	var vValue = 0;
	var vRest = 0;
	var vAddPremie = 0;
	var vAddSum = 0;
	var vTotal = 0;
	var vPremieStr = "";
	var vAddPremieStr = "";
	var vErStr = "";
	
//checke benodigden velden ingevuld zijn##############################################
	with (document.premie){
		if (dekking[0].checked){
			if(valAanbouwdekking.value == "") return false;
		}	
		if (dekking[1].checked){
			if(valWeight.value == "") return false;
		}	
		if (dekking[2].checked){
			if(valWeight.value == "") return false;
			if(valHuidigeDagwaarde.value == "") return false;
		}	
		if (dekking[3].checked){
			if(valWeight.value == "") return false;
			if(valCataloguswaarde_2.value == "") return false;
		}	
		if (dekking[4].checked){
			if(valWeight.value == "") return false;
			if(valCataloguswaarde_2.value == "") return false;
		}

//checks #############################################################################
		
		if (dekking[0].checked){
			if(valAanbouwdekking.value < 15000 && valAanbouwdekking.value != "") {
				alert("De minimale eindwaarde is € 15000,-");
				polistext.value = "De minimale eindwaarde is € 15000,-";
				return false;
			}	
			if(valAanbouwdekking.value > 50000 && valAanbouwdekking.value != "") {
				alert("De maximale eindwaarde is € 50000,-, informeer bij uw verzekeringsadviseur voor hogere bedragen.");
				polistext.value = "De maximale eindwaarde is € 50000,-, informeer bij uw verzekeringsadviseur voor hogere bedragen.";
				return false;
			}
		}
		if(valWeight.value < 1500 && valWeight.value != "") {
			alert("Het minimale gewicht is 1500 Kg.");
			polistext.value = "Het minimale gewicht is 1500 Kg.";
			return false;
		}
		if(valWeight.value > 5000 && valWeight.value != "") {
			alert("Het maximale gewicht is 5000 Kg, informeer bij uw verzekeringsadviseur voor hogere gewichten.");
			polistext.value = "Het maximale gewicht is 5000 Kg, informeer bij uw verzekeringsadviseur voor hogere gewichten.";
			return false;
		}
		if(valHuidigeDagwaarde.value > 30000 && valHuidigeDagwaarde.value < 75000 && valHuidigeDagwaarde.value != "" && onetime1) {
			alert("Bij een verzekerd bedrag van € 30.000,- tot € 75.000,- worden diefstalpreventieve eisen gesteld; de kampeerauto dient te zijn uitgerust met een SCM Klasse 1 antidiefstalsysteem en ruitgravering van het kenteken .");
			onetime1 = false;
		}
		if(valHuidigeDagwaarde.value >= 75000 && valHuidigeDagwaarde.value <= 100000 && valHuidigeDagwaarde.value != "" && onetime2) {
			alert("Bij een verzekerd bedrag van € 75.000,- tot en met € 100.000,- worden diefstalpreventieve eisen gesteld; de kampeerauto dient te zijn uitgerust met een SCM Klasse 3 antidiefstalsysteem en ruitgravering van het kenteken; bovendien geldt er een verplicht eigen risico van € 225,- .");
			onetime2 = false;
		}
		if(valHuidigeDagwaarde.value >= 10000 && valHuidigeDagwaarde.value <= 200000 && valHuidigeDagwaarde.value != "" && onetime5) {
			alert("Bij een verzekerd bedrag van € 100.000,- tot en met € 200.000,- worden diefstalpreventieve eisen gesteld; de kampeerauto dient te zijn uitgerust met een SCM Klasse 3 antidiefstalsysteem en ruitgravering van het kenteken; bovendien geldt er een verplicht eigen risico van € 500,- .");
			onetime2 = false;
		}
		if(valHuidigeDagwaarde.value > 200000 && valHuidigeDagwaarde.value != "") {
			alert("De maximale huidige waarde is € 200.000,-, informeer bij uw verzekeringsadviseur voor hogere bedragen.");
			polistext.value = "De maximale huidige waarde is € 200.000,-, informeer bij uw verzekeringsadviseur voor hogere bedragen.";
			return false;
		}
		if(valCataloguswaarde_2.value > 30000 && valCataloguswaarde_2.value < 75000 && valCataloguswaarde_2.value != "" && onetime3) {
			alert("Bij een verzekerd bedrag van € 30.000,- tot € 75.000,- worden diefstalpreventieve eisen gesteld; de kampeerauto dient te zijn uitgerust met een SCM Klasse 1 antidiefstalsysteem en ruitgravering van het kenteken.");
			onetime3 = false;
		}
		if(valCataloguswaarde_2.value >= 75000 && valCataloguswaarde_2.value <= 100000 && valCataloguswaarde_2.value != "" && onetime4) {
			alert("Bij een verzekerd bedrag van € 75.000,- tot en met € 100.000,- worden diefstalpreventieve eisen gesteld; de kampeerauto dient te zijn uitgerust met een SCM Klasse 3 antidiefstalsysteem en ruitgravering van het kenteken; bovendien geldt er een verplicht eigen risico van € 225,-.");
			onetime4 = false;
		}
		if(valCataloguswaarde_2.value >= 10000 && valCataloguswaarde_2.value <= 200000 && valCataloguswaarde_2.value != "" && onetime6) {
			alert("Bij een verzekerd bedrag van € 100.000,- tot en met € 200.000,- worden diefstalpreventieve eisen gesteld; de kampeerauto dient te zijn uitgerust met een SCM Klasse 3 antidiefstalsysteem en ruitgravering van het kenteken; bovendien geldt er een verplicht eigen risico van € 500,-.");
			onetime4 = false;
		}

		if(valCataloguswaarde_2.value > 200000 && valCataloguswaarde_2.value != "") {
			alert("De maximale huidige waarde is € 200.000,-, informeer bij uw verzekeringsadviseur voor hogere bedragen.");
			polistext.value = "De maximale huidige waarde is € 200.000,-, informeer bij uw verzekeringsadviseur voor hogere bedragen.";
			return false;
		}
		if(valLuifel.value > 5000 && luifel.checked) {
			alert("De maximale waarde is € 5000,-, informeer bij uw verzekeringsadviseur voor hogere bedragen.");
			polistext.value = "De maximale waarde is € 5000,-, informeer bij uw verzekeringsadviseur voor hogere bedragen.";
			return false;
		}
		if(valInboedel.value > 5000 && inboedel.checked) {
			alert("De maximale waarde is € 5000,-, informeer bij uw verzekeringsadviseur voor hogere bedragen.");
			polistext.value = "De maximale waarde is € 5000,-, informeer bij uw verzekeringsadviseur voor hogere bedragen.";
			return false;
		}
	}

	
	
	if(document.premie.dekking[0].checked && document.premie.valAanbouwdekking.value != "") {
		vValue = roundUp(eval(document.premie.valAanbouwdekking.value), 5000);
		vDesc = "Aanbouwdekking";
		vPremie = (vValue * 0.007) + 75;
		//vPremie = calDeduction(vPremie);
		if(vPremie < 50) vPremie = 50;
		vPremieStr = vDesc + "\t\t\t\t\t€ " + numToString(vPremie) + "\n";
	}
	else if(document.premie.valWeight.value != "") {
		var vWeight = roundUp(eval(document.premie.valWeight.value), 500);
		vDesc = "wettelijke aansprakelijkheid";
		vPremie = (vWeight * 0.05) + 250;
		vPremie = calDeduction(vPremie);
		if(vPremie < 50)
			vPremie = 50;
		vPremieStr = vDesc + "\t\t\t€ " + numToString(vPremie) + "\n";
	}
	else return false;
	if(document.premie.dekking[2].checked && document.premie.valHuidigeDagwaarde.value != "") {
		vValue = parseInt(document.premie.valHuidigeDagwaarde.value);
		vDesc = "Beperkt casco";
		vPremieCasco = vValue * 0.018;
		vPremieCasco = calDeduction(vPremieCasco);
		if(vPremieCasco < 50)
			vPremieCasco = 50;
		vPremie += vPremieCasco
		vPremieStr += vDesc + "\t\t\t\t\t€ " + numToString(vPremieCasco) + "\n";
	}
	else if((document.premie.dekking[3].checked || document.premie.dekking[4].checked) && document.premie.valCataloguswaarde_2.value != "") {
		if(document.premie.dekking[3].checked){
			vDesc = "Casco";
			vValue = parseInt(document.premie.valCataloguswaarde_2.value);
			if(vValue < 10000)
				vPremieCasco = vValue * 0.04;
			else if(vValue >= 10000 && vValue <= 35000)
				vPremieCasco = vValue * 0.039;
			else if(vValue > 35000 && vValue <= 35500)
				vPremieCasco = vValue * 0.0386;
			else if(vValue > 35500 && vValue <= 36000)
				vPremieCasco = vValue * 0.0382;
			else if(vValue > 36000 && vValue <= 70000)
				vPremieCasco = vValue * 0.038;
			else if(vValue > 70000 && vValue <= 90000)
				vPremieCasco = vValue * 0.039;
			else if(vValue > 90000){
				vPremieCasco = 3510 + ((vValue - 90000)* 0.052);
			}
			if (vKilometrage == 0) vPremieCasco *= 0.9;
		}
		else {
			vDesc = "Casco Instapmodule";
			vValue = parseInt(document.premie.valCataloguswaarde_2.value);
			if(vValue < 10000)
				vPremieCasco = vValue * 0.034;
			else if(vValue >= 10000 && vValue <= 35000)
				vPremieCasco = vValue * 0.03315;
			else if(vValue > 35000 && vValue <= 35500)
				vPremieCasco = vValue * 0.03281;
			else if(vValue > 35500 && vValue <= 36000)
				vPremieCasco = vValue * 0.03247;
			else if(vValue > 36000 && vValue <= 70000)
				vPremieCasco = vValue * 0.0323;
			else if(vValue > 70000 && vValue <= 90000)
				vPremieCasco = vValue * 0.03315;
			else if(vValue > 90000){
				vPremieCasco = 2983.5 + ((vValue - 90000)* 0.0442);
			}
			if (vKilometrage == 0) vPremieCasco *= 0.882352941;
		}
		if (vValue > 75000){ vSwitch = 0}
		else {vSwitch = 1}
		var eerIndex = document.premie.eer.selectedIndex;
		switch(eerIndex){
			case 0:
			vPremieCasco = vPremieCasco;
			vErStr = vSwitch?"U heeft geen extra eigen risico.\n":"U heeft een verplicht extra eigen risico van € 225,-.\n";
			break;
			case 1:
			vPremieCasco = vPremieCasco - 25;  
			vErStr = vSwitch?"U heeft een vrijwillig extra eigen risico van € 50,-.\n":"U heeft een vrijwillig extra eigen risico van € 50,-.\nU heeft een verplicht extra eigen risico van € 225,-.\n";
			break;
			case 2:
			vPremieCasco = vPremieCasco - 45;
			vErStr = vSwitch?"U heeft een vrijwillig extra eigen risico van € 100,-.\n":"U heeft een vrijwillig extra eigen risico van € 100,-.\nU heeft een verplicht extra eigen risico van € 225,-.\n";
			break;
			case 3:
			vPremieCasco = vPremieCasco - 60;
			vErStr = vSwitch?"U heeft een vrijwillig extra eigen risico van € 150,-.\n":"U heeft een vrijwillig extra eigen risico van € 150,-.\nU heeft een verplicht extra eigen risico van € 225,-.\n";
			break;
			case 4:
			vPremieCasco = vPremieCasco - 120;
			vErStr = vSwitch?"U heeft een vrijwillig extra eigen risico van € 400,-.\n":"U heeft een vrijwillig extra eigen risico van € 400,-.\nU heeft een verplicht extra eigen risico van € 225,-.\n";
			break;
		}
		vPremieCasco = calDeduction(vPremieCasco);
		vPremie += vPremieCasco;
		vPremieStr += document.premie.dekking[4].checked?vDesc + "\t\t\t\t€ " + numToString(vPremieCasco) + "\n":vDesc + "\t\t\t\t\t\t€ " + numToString(vPremieCasco) + "\n";
	}
	if(document.premie.inboedel.checked && document.premie.valInboedel.value != "") {
		vString = "Inboedel"
		vAddValue = parseInt(document.premie.valInboedel.value);
		vAddPremie = vAddValue * 0.015;
		if(vAddPremie < 25)
			vAddPremie = 25;
		vAddSum = vAddPremie;
		vAddPremieStr = vString + "\t\t\t\t\t€ " + numToString(vAddPremie) + "\n";
		vAddPremie = 0;
	}
	if(document.premie.luifel.checked && document.premie.valLuifel.value != "") {
		vString = "(Zonne-)luifel"
		vAddValue = parseInt(document.premie.valLuifel.value);
		vAddPremie = vAddValue * 0.015;
		if(vAddPremie < 25)
			vAddPremie = 25;
		vAddPremieStr += vString + "\t\t\t\t\t€ " + numToString(vAddPremie) + "\n";
		vAddSum += vAddPremie;
		vAddPremie = 0;
	}
	if(document.premie.autoverhaal.checked) {
		vString = "Autoverhaalservice-extra"
		vAddPremie = 30;
		vAddPremieStr += vString + "\t\t\t€ " + numToString(vAddPremie) + "\n";
		vAddSum += vAddPremie;
		vAddPremie = 0;
	}
	if(document.premie.rechtsbijstand.checked) {
		vString = "Motorrijtuigrechtsbijstand"
		vAddPremie = 40;
		vAddPremieStr += vString + "\t\t\t€ " + numToString(vAddPremie) + "\n";
		vAddSum += vAddPremie;
		vAddPremie = 0;
	}
	vTax = (vPremie + vAddSum) * 0.075;
	
if(document.premie.ongevallen.selectedIndex > 0 && (document.premie.valOngevallen[0].checked || document.premie.valOngevallen[1].checked || document.premie.valOngevallen[2].checked)) {
		vString = "Ongevallen inzittenden";
		vSeats = document.premie.ongevallen[document.premie.ongevallen.selectedIndex].value;
		if(document.premie.valOngevallen[0].checked){
			vAddPremie += vSeats * 5;
		}
		else if(document.premie.valOngevallen[1].checked){
			vAddPremie += vSeats * 7.5;
		}
		else if(document.premie.valOngevallen[2].checked){
			vAddPremie += vSeats * 12.5;
		}
		vAddPremieStr += vString + "\t\t\t\t€ " + numToString(vAddPremie) + "\n";
		vAddSum += vAddPremie;
	}
	vTotal = vPremie + vAddSum + vTax;
	vTaxStr = "Assurantiebelasting\t\t\t\t€ " + numToString(vTax) + "\n";
	if(vTotal > 0) {
		if(document.premie.dekking[0].checked){
			document.premie.polistext.value = vErStr;
		}
		else {
			document.premie.polistext.value = vErStr;			
			document.premie.polistext.value += deductionExpression();
		}
		//document.premie.polistext.value += vErStr;
		document.premie.polistext.value += "De premie voor uw kampeerautoverzekering bedraagt:\n\n";
		document.premie.polistext.value += vPremieStr;
		document.premie.polistext.value += vAddPremieStr;
		document.premie.polistext.value += vTaxStr;
		document.premie.polistext.value += "--------------------------------------------------------------\n";
		document.premie.polistext.value += "te betalen per jaar:\t\t\t\t€ " + numToString(vTotal);
		document.premie.polistext.value += "\n\nHet eerste jaar bedragen de poliskosten € 8,50 exclusief 7.5% assurantiebelasting.";
		document.premie.vSum.value = formatcurrency(vTotal);
	}
	else
		document.premie.polistext.value = "hier ziet u de premie-uitkomst";
}
	
function calDeduction(value) {
	deducedvalue = value * (1 - document.premie.bm[document.premie.bm.selectedIndex].value);
	return deducedvalue;
}
function deductionExpression() {
	var rPremieStr = "De premie is gebaseerd op een Bonus/malus korting van " + Math.round(100 * document.premie.bm[document.premie.bm.selectedIndex].value) +"%\n";
	return rPremieStr;
}



//number format
function numToString(value) {
	var fCurrency = formatcurrency(value);
	if(value < 10)
		var fCurrencyStr = "   "+String(fCurrency);
	else if(value < 100)
		var fCurrencyStr = "  "+String(fCurrency);
	else if(value < 1000)
		var fCurrencyStr = " "+String(fCurrency);
	else
		var fCurrencyStr = String(fCurrency);
	returnVal = fCurrencyStr.replace(/\./, ",");
	return returnVal;
}

function changeOther(chgfield1, chgfield2){
	if(eval('document.premie.' +chgfield1+ '.checked') == true){
		eval('document.premie.' +chgfield1+ '.checked = false')
	}
	if (chgfield2){
		if(eval('document.premie.' +chgfield2+ '.checked') == true){
			eval('document.premie.' +chgfield2+ '.checked = false')
		}
	}
}
