
function FormUpdate() {
    var form = document.NZLCostCompare;
    CalcCostCompare(form);
}

function   CalcCostCompare(form) {
	var lifecost1 = parseFloat(form.LifeCost1.value);
	var currentInsurance = parseFloat(form.CurrentInsurance1.value);
	var currentCost = parseFloat(form.CurrentCost1.value);
	var agelife1 = parseFloat(form.AgeLife1.value);

for (i=0;i<document.NZLCostCompare.rbPayPer.length;i++) {
	if (document.NZLCostCompare.rbPayPer[i].checked) {
	  payper = document.NZLCostCompare.rbPayPer[i].value;
	}
}

	if(!ValidateAge(agelife1)) {
	  alert('Quotes for this product can only be provided between the ages of 10 and 70. For quotes over this age go to www.adviser.co.nz or contact us.');
	}

	if(!ValidateNum(lifecost1)) {
		lifecost1 = 0;
	}

	if(!PriceMinMax(currentInsurance)) {
	  alert('The minimum for this benefit is $30,000 and the maximum is $500,000. Please remove any commas or currency dollar signs. If you require sums outside these limits visit www.adviser.co.nz and a personalised quote will be emailed to you.');
	}

	var sumtotalyear = lifecost1*12;
	var sumtotalfortnightly = sumtotalyear/26;
	var savingsYear = currentInsurance-sumtotalyear;

	if (payper == "Fortnightly") {
	  var savings = currentCost-sumtotalfortnightly;
	  var savingsYear = savings*26;
	  var lifecostper = sumtotalfortnightly;
	}
	else if (payper == "Yearly") {
	  var savings = currentCost-sumtotalyear;
	  var savingsYear = savings;
	  var lifecostper = sumtotalyear;
	}
	else if (payper == "Monthly") {
	  var savings = currentCost-lifecost1;
	  var savingsYear = savings*12;
	  var lifecostper = lifecost1;
	}


	if(!ValidateNum(savings)) {
		savings = 0;
	}

	if(!ValidateNum(savingsYear)) {
		savingsYear = 0;
	}

	var savingsTenYears = savingsYear*10;

	form.LifeCost1.value = FmtPrice(lifecostper);
	form.Savings.value = FmtPrice(savings);
	form.SavingsYear.value = FmtPrice(savingsYear);
	form.SavingsTenYears.value = FmtPrice(savingsTenYears);
}

function PriceMinMax(checkVal) {

	returnVal = parseFloat(checkVal);
	
	if(returnVal == 0) return true;	
	else if(returnVal < 30000) return false;
	else if(returnVal > 500000) return false;
	else return true;
}


function ValidateTotal(checkVal) {

	returnVal = parseFloat(checkVal);

	if(returnVal > 0) return false;
	else return true;
}


function FmtPrice(result) {
                    result = ConvNumber(result, 2, ".");
                    return result;
}

function ConvNumber(expr, decplaces, point) {

	var str = "" + Math.round(eval(expr) * Math.pow(10,decplaces));
	while (str.length <= decplaces) {
		str = "0" + str;
	}
	var decpoint = str.length - decplaces;
	return (str.substring(0,decpoint) + point + str.substring(decpoint,str.length));
}

function ValidateNum(checkVal) {

	returnVal = parseFloat(checkVal);

	if(isNaN(returnVal)) return false;
	else if(returnVal < 0) return false;
	else return true;
}

function ValidateLifeCost(checkVal) {

	returnVal = parseFloat(checkVal);

	if(isNaN(returnVal)) return false;
	else return true;
}

function ValidateAge(checkVal) {

	returnVal = parseFloat(checkVal);

	if(returnVal < 10) return false;
	else if(returnVal > 70) return false;
	else return true;
}

