﻿function rnd(number){var TP = "" + Math.round(number * 100) / 100;var i = TP.indexOf('.');if (i < 0) return TP + ".00";var t = TP.substring(0, i + 1) + TP.substring(i + 1, i + 3);if (i + 2 == TP.length) t += "0";return t;}
function trim(strValue){var strAllowed="0123456789.",strResults='';for(var i=0;i<strValue.length;i++){for(var j=0;j<strAllowed.length;j++){if(strValue.charAt(i) == strAllowed.charAt(j)){strResults += strValue.charAt(i);break;}}}return strResults;}

function FormatCurrency(num){var sign,cents;num = num.toString().replace(/\$|\,/g,'');if(isNaN(num)){num = "0";}sign = (num == (num = Math.abs(num)));num = Math.floor(num*100+0.50000000001);cents = num%100;num = Math.floor(num/100).toString();if(cents<10){cents = "0" + cents;}for (var i = 0; i < Math.floor((num.length-(1+i))/3); i++){num = num.substring(0,num.length-(4*i+3))+','+num.substring(num.length-(4*i+3));}return (((sign)?'':'-') + '$' + num + '.' + cents);}

function calculate(){
	var txtPrice = getObj("txtPurchasePrice");
	var txtDownPmt = getObj("txtDownPmt");
	var txtLoanTerm = getObj("txtLoanTerm");
	var txtAPR = getObj("txtAPR");
	var txtCityTaxRate = getObj("txtCityTaxRate");
	var txtCountyTaxRate = getObj("txtCountyTaxRate");
	var purchaseprice,downpayment,term,financeamount,apr,citytax,citytaxrate,countytax,countytaxrate,mi,base,mbase,monthlytax,monthlypayment;
	
	if(txtPrice&&txtPrice!=null){ purchaseprice = trim(txtPrice.value); txtPrice.value=FormatCurrency(purchaseprice); }
	if(txtDownPmt&&txtDownPmt!=null){ downpayment = trim(txtDownPmt.value); txtDownPmt.value=FormatCurrency(downpayment); }
	if(txtLoanTerm&&txtLoanTerm!=null){ term = trim(txtLoanTerm.value); }
	if(txtAPR&&txtAPR!=null){ apr = trim(txtAPR.value); }
	if(txtCityTaxRate&&txtCityTaxRate!=null){ citytax = trim(txtCityTaxRate.value); txtCityTaxRate.value=citytax; }
	if(txtCountyTaxRate&&txtCountyTaxRate!=null){ countytax = trim(txtCountyTaxRate.value); txtCountyTaxRate.value=countytax; }
	
	financeamount = purchaseprice - downpayment;
	mi 				= apr/1200;
	base 			= 1;
	mbase 			= 1 + mi;
	citytaxrate		= (citytax * purchaseprice)/100;
	countytaxrate	= (countytax * purchaseprice)/100;
	monthlytax		= (citytaxrate + countytaxrate)/12;
	for(i=0;i<term*12;i++){base=base*mbase;}
	monthlypayment	= (financeamount * mi / ( 1 - (1/base))) + (monthlytax);
	
	getObj("PI").innerHTML = FormatCurrency(financeamount * mi / ( 1 - (1/base)));
	getObj("MT").innerHTML = FormatCurrency(monthlytax);
	getObj("MP").innerHTML = FormatCurrency(monthlypayment);
}
