
function validateNumForm( form ){

	if (isNaN(form.value)){
		alert( 'Please enter only numeric digits' );
	}
}

function validateNum( numValue ) {
	var numTemp = ( isNaN(numValue) ? 0 : numValue );
	return ( numTemp );
}

function formatTwoDec( moneyValue ){
	var strMoney = '' + moneyValue;
	var	intDecPos = strMoney.lastIndexOf(".");
	var	intLenth = strMoney.length;

		if ( intDecPos == -1 ){
			strMoney += '.00';
			
		} else if ( (intLenth-intDecPos) == 2 ){
			strMoney += '0';
		}
	return( strMoney );
}

function calculatePayments(form){
	var strErrMssg		= "";
	var price			= validateNum( form.price.value );
	var pst				= validateNum( form.pst.value );
	var gst				= validateNum( form.gst.value );
	var term			= form.term.options[form.term.selectedIndex].value;
	var interest_rate	= validateNum( form.interest_rate.value );
	var down_payment 	= validateNum( form.down_payment.value );
	var trade_in		= validateNum( form.trade_in.value );

	var pstTax			= 0;
	var gstTax			= 0;
	var netLoan			= 0;
	var irate			= 0;
	var mnthlyPay		= 0;

	if ( price == 0 ){
		strErrMssg = 'Please fill in the Negotiated Price \n';
	}
	if ( interest_rate == 0 ){
		strErrMssg += 'Please fill in the Interest Rate';
	}

	if ( strErrMssg == '' ){
		netLoan		= price - down_payment - trade_in;
		pstTax		= ( pst > 0 ? ( netLoan * ( pst/100 )) : 0 ); 
		gstTax		= ( gst > 0 ? ( netLoan * ( pst/100 )) : 0 );
		netLoan		= netLoan + pstTax + gstTax;

		if ( interest_rate > 0 ) {
			irate = ( interest_rate/100 )/12;
			mnthlyPay = netLoan/( (1/irate)*(1 - Math.pow(1/(1+irate), term)) );
			form.payment.value = formatTwoDec(Math.round(mnthlyPay*100)/100);
		} else {
			form.payment.value = formatTwoDec(Math.round((netLoan/term)*100)/100);
		}
	} else {
		alert( strErrMssg );
	}
}

