<!-- //
var rate;
var nper;
var pv;
var sales;
var Pmt;
var n;
var montax;
var monmort;
var monins = 0;
var monfee;
var montotal;
var rent;

function calculate(form){
rate = parseJunk(form.intrate)*1/1200;
nper = 360;
n=Math.pow(1+rate, nper);
pv = parseJunk(form.loanamt)*1;
Pmt = ((pv*n)/(n-1))*rate;
montax = parseJunk(form.annlest)*1/12;
sales = parseJunk(form.salprc)*1;
monmort = getMortgage(sales, pv);
monfee = parseJunk(form.condoHOA)*1;
montotal = Math.round(Pmt) + Math.round(montax) + monmort + Math.round(monfee) + Math.round(monins);
intwriteOff = writeOff(Pmt, pv);
taxwriteoff = parseJunk(form.annlest)*1;
totwriteoff = (intwriteOff*1) + (taxwriteoff*1);
taxdiv = form.taxbrac.options[form.taxbrac.selectedIndex].value;
monsavings = Math.round(totwriteoff*(taxdiv/1200));
realpay = montotal - monsavings;
version_of_results(form);
}

function writeOff(Pmt, pv){
var nper1 = 12*(30 - 1);
var n1 = Math.pow(1 + rate, nper1);
var pv1 = Math.round(Pmt)*(((n1-1)/rate)/n1);
var D63 = Math.round(Pmt)*12;
var C63 = pv1;
var B63 = pv;
var F63 = D63 - (B63 - C63);
return Math.round(F63);
}

function getppmt(Pmt, pv){
var nper1 = 12*(30 - 1);
var n1 = Math.pow(1 + rate, nper1);
var pv1 = Math.round(Pmt)*(((n1-1)/rate)/n1);
var C63 = pv1;
var B63 = pv;
E63 = (B63 - C63)/12;
return Math.round(E63);
}


function getMortgage(c1, c2){

if ((c2/c1) > 0.95){
window.alert("Down payment must be at least 5%");
return 0;
}
else if ((c2/c1) >= 0.9){
var temp = 0.0078*(c2/12);
return temp;
}
else if ((c2/c1) >= 0.8){
var temp = 0.0052*(c2/12);
return temp;
}

}

function showcondo(form,condo1, condo2){
if (condo1 == 1){
form.condono.checked = 0;
form.condoyes.checked = 1;
}
else if (condo2 == 1){
form.condoyes.checked = 0;
form.condono.checked = 1;
}

if (condo1 == 1){
   if (parseJunk(form.salprc)*1 < 150000){
        monins = 25;
   }
   else{
   monins = 30;
   }
   form.monthins.value = '$'+monins;
}
else if (condo2 == 1){
monins = 0;
form.monthins.value = "N/A";
}
}

function version_of_results(form){

convertNum(Math.round(montotal)+"",'monthpay_own');
form.monthpay_rent.value = form.rent.value;
form.monthpay_rent2.value = form.rent.value;
form.monthpay_rent3.value = form.rent.value;
convertNum(Math.round(Pmt)+"", 'pmtresult');
convertNum(Math.round(montax)+"", 'monthtax');
convertNum(Math.round(monmort)+"", 'monthmort');
convertNum(monfee+"", 'monthfee');
convertNum(intwriteOff+"", 'annlwriteoff');
convertNum(taxwriteoff+"", 'annlrealoff');
convertNum(totwriteoff+"", 'totalannloff');
convertNum(totwriteoff+"",'totalannloff2');
form.taxbracket.value = taxdiv+'%';
convertNum(monsavings+"", 'monthsavings');
convertNum(Math.round(montotal)+"", 'net_monthpay_own');
convertNum(monsavings+"", 'less_taxsavings');
convertNum(Math.round(getppmt(Pmt, pv))+"", 'ppmt');
convertNum(Math.round(realpay)+"", 'net_savings');

}

function parseJunk(string){

var newstring = "";

for (i=0; i<=string.value.length; i++){
	if ((string.value.substring(i,i+1) >= "0") && (string.value.substring(i,i+1) <= "9") || (string.value.substring(i,i+1) == ".")){

		newstring = newstring + string.value.substring(i,i+1);
	}

}


return newstring;
}

function convertNum(num, name){

var pos = num.indexOf(".");
if (pos != -1){
var lastpos = num.length; 
var temp2 = "." + num.substring(pos*1+1, lastpos);
}
else{
pos = num.length;
var temp2="";
}
var tempstring = "";
var count = 0;

for (i=pos; i>0; i--){
		count = count+1;
		if ((count%3 == 0) && (num.length > 3) && count != pos){
			tempstring = "," + num.substring(i-1,i) + tempstring;
		}
		else{
			tempstring = num.substring(i-1,i) + tempstring;
		}
}

tempstring = tempstring + temp2;

if (name != 'intrate'){
document.forms['calc'].elements[name].value = '$' + tempstring;
}
else if (name == 'less_savings'){
document.forms['calc'].elements[name].value = '-$' + tempstring;
}

}


