<!--
function dosum()
{
var frm = document.main;	
var tmp1, tmp2, tmp3, tmp4, tmp5, tmp6, tmp7, tmp8, tmp9, tmp10
tmp1 = parseFloat(frm.home.value);
if (isNaN(tmp1)) tmp1=0;
tmp2 = parseFloat(frm.dp_percent.value);
if (isNaN(tmp2)) tmp2=0;
tmp3 = parseFloat(frm.rate.value);
if (isNaN(tmp3)) tmp3=0;
tmp4 = parseFloat(frm.close_points.value);
if (isNaN(tmp4)) tmp4=0;
tmp5 = parseFloat(frm.term.options[frm.term.selectedIndex].value);
if (isNaN(tmp5)) tmp5=0;
tmp6 = parseFloat(frm.tax.value);
if (isNaN(tmp6)) tmp6=0;
tmp7 = parseFloat(frm.insurance.value);
if (isNaN(tmp7)) tmp7=0;
frm.mortgage.value = round(tmp1 - ((tmp2 / 100) * tmp1));
tmp8 = parseFloat(frm.mortgage.value);
if (isNaN(tmp8)) tmp8=0;
frm.dp_amount.value = round(tmp1 * (tmp2 / 100));
tmp9 = parseFloat(frm.dp_amount.value);
if (isNaN(tmp9)) tmp9=0;
frm.mo_tax.value = round(tmp6 / 12);
tmp10 = parseFloat(frm.mo_tax.value);
if (isNaN(tmp10)) tmp10=0;
frm.mo_ins.value = round(tmp7 / 12);
tmp11 = parseFloat(frm.mo_ins.value);
if (isNaN(tmp11)) tmp11=0;
frm.points.value = round((tmp4 / 100) * tmp8);	
frm.close_cost.value = round(990 + (.01 * tmp8));
frm.prepaids.value = round(((.015 * tmp8) * .8333) + (.0035 * tmp8));
frm.mo_pmt.value = round(getPayment(tmp8, tmp3, tmp5));
frm.totPmt.value = round(eval(frm.mo_pmt.value) + tmp10 + tmp11);
frm.totalCash.value = round(tmp9 + eval(frm.points.value) + eval(frm.close_cost.value) + eval(frm.prepaids.value));
frm.apr.value = getAPR(tmp5, tmp3, tmp8, frm.mo_pmt.value);
}
function getPayment(amount, rate, term)
{	
rate = rate / 100;
var payment = (amount * rate) / (1 - Math.pow((1 + (rate/12)), (-1 * (term*12))));
return payment/12;
}
function oldTerm(rate, bal, mo_pmt) 
{	
var ppy = 12;
rate = rate / 100;
monthsLeft = -1 * (Math.log(1-(bal/mo_pmt)*(rate/ppy)))/Math.log(1+(rate/ppy));
return monthsLeft;
}
function getAPR (term, rate, amount, pmt) 
{ 
months = term * 12;
if (rate > 1) rate = rate / 100; 
tmp1 = Math.round(((.01 * amount) + 375 + (((amount * rate) / 365) * 30))*100)/100;
tmp2 = rate / 12;
tmp3 = Math.round((amount - tmp1) * 100) / 100;
cmpd = Math.pow( (1 + tmp2) , (-1 * months) );
apr = ((pmt * (1 - (cmpd) )) / tmp3) * 12 * 100;
apr = Math.round(apr * 1000) / 1000;
return apr;
}
function MyCheckEnteredValue(element) {
var lField = ltrim(rtrim(String(element.value)));
myReg=new RegExp("^[$]?[0-9]*\\.?[0-9]"); 
if (!(myReg.test(lField) && lField!='.')) {
alert("Only numeric values are allowed");
return false;
}
return true;
}
function rtrim(argvalue) {
while (1) {
if (argvalue.substring(argvalue.length - 1, argvalue.length) != " ")
break;
argvalue = argvalue.substring(0, argvalue.length - 1);
}
return argvalue;
}
function ltrim(argvalue) {
while (1) {
if (argvalue.substring(0, 1) != " ")
break;
argvalue = argvalue.substring(1, argvalue.length);
}
return argvalue;
}
// Round a field two (2) decimals
function round(number)	// no decimals
{
return Math.round(number*Math.pow(10,2))/Math.pow(10,2);
}

