/**
 * Premie.js - Premium calculation
 * 
 * @author  Webstores <info at webstores dot nl>
 *           Copyright (c) Webstores internet totaalbureau <http://www.webstores.nl/>
 */

// Beperkt casco
var bcpremie = 0.03;

// All-risk
var arpremie = new Array();
arpremie[0] = 0.0445;
arpremie[1] = 0.041;
arpremie[2] = 0.0375;
arpremie[3] = 0.0375;
arpremie[4] = 0.0375;
arpremie[5] = 0.0375;
arpremie[5] = 0.0375;

// Huidig jaar
if(offerteDatum!=0) {
	var year = new Date(offerteDatum*1000).getFullYear();
} else {
	var year = new Date().getFullYear();
}

// Worth Table
var wt = new Array();
wt[0] = 1.00;
wt[1] = 1.05,
wt[2] = 1.10;
wt[3] = 1.15;
wt[4] = 1.20;
wt[5] = 1.25;
wt[6] = 1.30;
wt[7] = 1.35;
wt[8] = 1.40;
wt[9] = 1.45;
wt[10] = 1.50;
wt[11] = 1.50;
wt[12] = 1.50;
wt[13] = 1.50;
wt[14] = 1.50;
wt[15] = 1.50;
wt[16] = 1.50;
wt[17] = 1.50;
wt[18] = 1.50;
wt[19] = 1.50;
wt[20] = 1.50;

// buildyearCode Table
var bt = new Array();
bt["2009"] = 0,
bt["2008"] = 1;
bt["2007"] = 2;
bt["2006"] = 3;
bt["2005"] = 4;
bt["2004"] = 5;
bt["2003"] = 6;
bt["2002"] = 7;
bt["2001"] = 8;
bt["2000"] = 9;
bt["1999"] = 10;
bt["1998"] = 11;
bt["1997"] = 12;
bt["1996"] = 13;
bt["1995"] = 14;
bt["1994"] = 15;
bt["1993"] = 16;
bt["1992"] = 17;
bt["1991"] = 18;
bt["1990"] = 19;
bt["1989"] = 20;
bt["1988"] = 21;
bt["1987"] = 21;
bt["1986"] = 21;
bt["1985"] = 21;

// undamaged Table
var ut = new Array();
ut["-100"] = 0.10;
ut["-4"] = 0.10;
ut["-3"] = 0.20;
ut["-2"] = 0.30;
ut["-1"] = 0.40;
ut["0"] = 0.50;
ut["1"] = 0.60;
ut["2"] = 0.70;
ut["3"] = 0.72;
ut["4"] = 0.74;
ut["5"] = 0.76;
ut["6"] = 0.78;
ut["7"] = 0.80;

function vLookup(keyword, table) {
	if(table[keyword]) {
		return table[keyword];
	}
	else {
		var end = table.last();
		if(keyword > end) {
			return end;
		}
	}
}

function getAllRiskPremie(catValue) {
	if(catValue<20001) {
		return arpremie[0];
	} else if(catValue<40001) {
		return arpremie[1];
	} else if(catValue<60001) {
		return arpremie[2];
	} else if(catValue<80001) {
		return arpremie[3];
	} else if(catValue<115000) {
		return arpremie[4];
	} else {
		return arpremie[5];
	}
}

/**
 * All-risk premieberekening
 */
function getAllRisk(bouwjaar, aankoopbedrag, schadevrijejaren) {
	var bouwjaarcode = vLookup(bouwjaar, bt);
	var dagwaardeperc = vLookup(bouwjaarcode, wt); 
	var korting_cp = vLookup(schadevrijejaren, ut);
	
	var calc = ((aankoopbedrag * dagwaardeperc) * getAllRiskPremie(aankoopbedrag)) * (1 - korting_cp);
	//var calc = (aankoopbedrag * dagwaardeperc) * getAllRiskPremie(aankoopbedrag);
	
	if(calc < 150) {
		calc = 150;
		//* (1 - korting_cp)
	} else {
		calc = calc;
//		* (1 - korting_cp)
	}
	
	return calc;
}

/**
 * WA-Beperkt Casco premieberekening
 */
function getBeperktCasco(bouwjaar, aankoopbedrag, schadevrijejaren) {
	var korting_cp = vLookup(schadevrijejaren, ut);
	
	var calc = (aankoopbedrag * bcpremie) * (1 - korting_cp);
	//var calc = aankoopbedrag * bcpremie;
	
	if(calc < 150) {
		calc = 150;
//		* (1 - korting_cp)
	} else {
		calc = calc;
//		* (1 - korting_cp)
	}

	return calc;
}
