/* * calculator.js * Written by Sam Minnee, Totally Digital * For enquiries, contact sam@totallydigital.co.nz */ function calculatePremium() {	// Get insured amount	var insuredAmount = document.forms.CalculatorForm.InsuredAmount.value;	insuredAmount = insuredAmount.replace(/[^0-9.\-]/g, '');	insuredAmount = parseFloat(insuredAmount);	if(isNaN(insuredAmount)) insuredAmount = 0;	document.forms.CalculatorForm.InsuredAmount.value = formatNumber(insuredAmount);		var premium, numOver;	// Calculated premium based on that	if(insuredAmount <= 500000) {		premium = 225;	}	else if(insuredAmount <= 1000000) {		numOver = getNumOver(insuredAmount, 500000);		premium = 225 + numOver * 0.7;	}	else if(insuredAmount <= 1500000) {		numOver = getNumOver(insuredAmount, 1000000);		premium = 575 + numOver * 0.65;	}	else if(insuredAmount <= 2000000) {		numOver = getNumOver(insuredAmount, 1500000);		premium = 900 + numOver * 0.6;	}	else {		numOver = getNumOver(insuredAmount, 2000000);		premium = 1200 + numOver * 0.55;	}	document.forms.CalculatorForm.CalculatedPremium.value = formatNumber(premium);}/* * Handle a keypress in the premium field */function calculatePremium_keyPress() {	if(event.keyCode == 13) {		calculatePremium();		event.returnValue = false;	}}// Gets the number of 1000s over a given value, rounding upfunction getNumOver(value, over) {	numOver = (value - over) / 1000;			if(Math.round(numOver) < numOver)		numOver = Math.round(numOver)+1;	else		numOver = Math.round(numOver);	return numOver;}function formatNumber(val) {	// Split into wholnumber.decimal	val = parseInt(val * 100);	if(val == 0) return "0.00";	val = val.toString();		var wholeNumber = val.substr(0, val.length-2);	var decimal = val.substr(val.length-2);		// Split into th,ous,and blocks	if(wholeNumber.length > 3) {		var i = wholeNumber.length % 3;		if(i == 0) i = 3;				var newWholeNumber = wholeNumber.substr(0,i);		for(;i<wholeNumber.length;i+=3) {			newWholeNumber += ',' + wholeNumber.substr(i,3);		}		wholeNumber = newWholeNumber;	}		return wholeNumber + '.' + decimal;	} 
