function calculate_mortgage(blnValidate){
	//check for all valid values
	if(blnValidate)
	{
		if (document.getElementById("term").value.search(/\S/)==-1) {
			alert('Please enter valid value for \'Term\'');
			document.getElementById("term").value = 25;
			document.getElementById("term").focus();
			return false;
		}
		if (isNaN(document.getElementById("term").value)) {
			alert('Please enter valid value for \'Term\'');
			document.getElementById("term").focus();
			return false;
		}

		if (document.getElementById("rate").value.search(/\S/)==-1) {
			alert('Please enter valid value for \'Interest Rate\'');
			document.getElementById("rate").value = 5.2;
			document.getElementById("rate").focus();
			return false;
		}
		if (isNaN(document.getElementById("rate").value)) {
			alert('Please enter valid value for \'Interest Rate\'');
			document.getElementById("rate").focus();
			return false;
		}

		if (document.getElementById("amount").value.search(/\S/)==-1) {
			alert('Please enter valid value for \'Amount\'');
			//document.mortgage.amount.value = 1;
			document.getElementById("amount").focus();
			return false;
		}
		if (isNaN(document.getElementById("amount").value)) {
			alert('Please enter valid value for \'Amount\'');
			document.getElementById("amount").focus();
			return false;
		}
	}
	var radio_array = document.mortgage.mtype;

	//if its a repayment mortgage
	if(radio_array[0].checked == true){
		var t,n,p,d,i;

		n=document.getElementById("term").value*12;
		d=document.getElementById("amount").value;
		i=(document.getElementById("rate").value)/1200;
		p=(d*(Math.pow((i+1),n))) / ((Math.pow((i+1),n) - 1)/i);
		t=round(p*n,2);
		p=round(p);
	}
	//if its a interest only mortgage
	if(radio_array[1].checked == true){
		var t,n,p,d,i;

		n=document.getElementById("term").value;
		d=document.getElementById("amount").value;
		i=document.getElementById("rate").value;
		p=(d*n*i/100)/(n*12);
		t=round(p*n*12,0);
		t=Math.abs(t)+Math.abs(d);
		p=round(p);
	}

	//display the outcome
	var str;
	str = "Monthly Payment = <b>" + p + "</b><br /><br />";
	//str = str + "Total Payable Amount = <b> " + t + "</b><br /><br />";
	str = str + '<input type=button value=Calculate onclick="javascript: calculate_mortgage(true);" />';

	document.getElementById("p1").innerHTML = str;
}

function calculateAPR() {
	//var frm=document.aprcalc
	var n=document.getElementById("rate").value;
	var errorMessage="";
	var apr=0;

	n=n/100;
	apr = (Math.pow((1+(n/12)),12))-1
	apr = 100 * apr;

	//return formatNumber(apr);
	return round(apr);
}

function round(number,X) {
// rounds number to X decimal places, defaults to 2
    X = (!X ? 2 : X);
    return Math.round(number*Math.pow(10,X))/Math.pow(10,X);
}
