function round(number)
{
  return Math.floor(number*Math.pow(10,2))/Math.pow(10,2);
}
var results = "";

// mortgage calculator
function mortgage_calc()
{
  var mi = document.mortgage_form.interest_rate.value / 1200;
  var base_1 = 1;
  var base_2 = 1 + mi;
  for (i=0; i<document.mortgage_form.amortization_length.value * 12; i++)
  {
    base_1 = base_1 * base_2
  }
  var input_principal =  document.mortgage_form.principal_loan.value
  var input_down_payment =  document.mortgage_form.down_payment.value
  var input_downpayment = document.mortgage_form.down_payment.value
  var input_interest =  document.mortgage_form.interest_rate.value
  var input_amortization =  document.mortgage_form.amortization_length.value
  var after_down_payment = document.mortgage_form.principal_loan.value - document.mortgage_form.down_payment.value
  var a = round(after_down_payment * mi / ( 1 - (1/base_1)))
  var d = round(after_down_payment * mi / ( 1 - (1/base_1)));

	results =("<table border=0 width=\"370\" cellspacing=0 cellpadding=0 align=\"center\">");
  	results +=("<tr>"); 
    results +=("<td colspan=2 bgcolor='#cccccc'><p class=font1>Loan Criteria: </p></td>");
	results +=("</tr>");	


  	results +=("<tr>"); 
    results +=("<td ><p class=font1>Purchase Price: </p></td>");
    results +=("<td width=100><p class=font1>$" + input_principal + "&nbsp;</p></td>");
	results +=("</tr>");


  	results +=("<tr>"); 
    results +=("<td bgcolor=eeeeee><p class=font1>Down Payment: </p></td>");
    results +=("<td bgcolor=eeeeee width=100><p class=font1>$" + input_down_payment + "&nbsp;</p></td>");
	results +=("</tr>");


  	results +=("<tr>"); 
    results +=("<td><p class=font1>Interest Rate: </td>");
    results +=("<td width=100><p class=font1>" + input_interest + "%&nbsp;</p></td>");
	results +=("</tr>");


  	results +=("<tr>"); 
    results +=("<td bgcolor=eeeeee><p class=font1>Amortization Period: </p></td>");
    results +=("<td bgcolor=eeeeee width=100><p class=font1>" + input_amortization + " years&nbsp;</p></td>");
	results +=("</tr>");


  	results +=("<tr>"); 
    results +=("<td colspan=2 bgcolor='#cccccc'><p class=font1>Results: </p></td>");
	results +=("</tr>");


  	results +=("<tr>"); 
    results +=("<td><p class=font1>Monthly payment including interest: </p></td>");
    results +=("<td width=100><p class=font1>$" + a + "&nbsp;</p></td>");
	results +=("</tr>");


    results +=("<tr>"); 
    results +=("<td bgcolor=eeeeee><p class=font1>Estimated Monthly Payment: </p></td>");
    results +=("<td bgcolor=eeeeee width=100><p class=font1>$" + d + "&nbsp;</p></td>");
	results +=("</tr>");
    results +=("</table>");
$('mortgage_res').innerHTML = results;
return false;
}

// how much can i afford calculator
function afford_calc() {
	var d = round(document.afford_form.down_payment.value)
	var m = round(document.afford_form.monthly_payment.value)
	var a = (document.afford_form.interest_rate.value / 100) // 8.25
	var j = (a / 12) // interest rate per month
	var n = round(document.afford_form.loan_length_yrs.value * 12)
	var l = Math.pow((1 + j), -360) // to the -360th power
	var p = round(((1-l) / j) * m + d) // total cost of home
	var must_qual = round(p - d)
	var mort_ins_monthly = round(document.afford_form.mortgage_insurance.value / 12) // monthly amount paid in mortgage insurance
	var ypt = (document.afford_form.prop_tax_rate.value / 100) // yearly property tax
	var mpt = (ypt / 12) // monthly property tax
	var yhi = (document.afford_form.home_ins_rate.value) // yearly home owners insurance
	var mhi = round(yhi / 12) // monthly home owners insurance
	var total_tax_insurance = (mpt*p + mhi) // tax and insurance (.00104 * 190000  + 50)
	var p_and_i = round(m - total_tax_insurance - mort_ins_monthly) //  total monthly payment before adjustment
	var p_adjusted = round(((1-l) / j) * p_and_i + d) // total cost of home
	var total_tax_insurance_adjusted = round(mpt*p_adjusted + mhi) // tax and insurance
	var must_qual_adjusted = (p_adjusted - d)
	var p_and_i_adjusted = round(m - total_tax_insurance_adjusted - mort_ins_monthly) //  total monthly payment after adjustment

	    results =("<table border=0 width=\"370\" cellspacing=0 cellpadding=0 align=\"center\">");
		
		results +=("<tr>"); 
	    results +=("<td colspan=2><p class=font1>By making a down payment of $" + d + " and paying $" + m + " per month, you will able to afford a home that costs $" + p_adjusted + ". You will need to qualify for a loan of $" + must_qual_adjusted + ".</p></td>");
		results +=("</tr>");
		
	  	results +=("<tr>"); 
	    results +=("<td colspan=2 bgcolor='#cccccc'><p class=font1>Summary of Your Monthly Payment: </p></td>");
		results +=("</tr>");	


	  	results +=("<tr>"); 
	    results +=("<td ><p class=font1>Principal and Interest: </p></td>");
	    results +=("<td width=100><p class=font1>$" + p_and_i_adjusted + "&nbsp;</p></td>");
		results +=("</tr>");


	  	results +=("<tr>"); 
	    results +=("<td bgcolor=eeeeee><p class=font1>Taxes and Insurance: </p></td>");
	    results +=("<td bgcolor=eeeeee width=100><p class=font1>$" + total_tax_insurance_adjusted + "&nbsp;</p></td>");
		results +=("</tr>");


	  	results +=("<tr>"); 
	    results +=("<td><p class=font1>Mortgage Insurance: </td>");
	    results +=("<td width=100><p class=font1>$" + mort_ins_monthly + "&nbsp;</p></td>");
		results +=("</tr>");


	    results +=("</table>");
		
		results +=("<br><br>");
		results +=("<table border=0 width=\"370\" cellspacing=2 cellpadding=2 BGCOLOR=\"#'#cccccc'\" align=\"center\">");
		results +=("<tr BGCOLOR=\"#FFFFFF\">"); 
	    results +=("<td><p class=font1>Principal</p></td><td><p class=font1>Interest</p></td><td><p class=font1>Payment</p></td><td><p class=font1>Principal Paid</p></td><td><p class=font1>Total Interest Paid</p></td>");
		results +=("</tr>");
	var bal = must_qual_adjusted // balance
	var int = round(j * bal) // interest
	var pay = p_and_i_adjusted // monthly payments
	var pri = Math.abs(pay - int)// principle
	var prin = round(pri)
	var tot_int = 0
	for (;bal>0;) {
		results +=("<tr BGCOLOR=\"#FFFFFF\">");
		results +=("<td>" + bal + "</td><td>" + int + "</td><td>" + pay + "</td><td>" + prin + "</td><td>" + tot_int + "</td>");
		results +=("</tr>"); 
	if (bal < pay) {
	var final_bal = bal
	}
	var bal = round(bal - prin)
	var tot_int = round(int + tot_int)
	var int = round(j * bal)
	var pay = round(pay)
	var pri = Math.abs(int - pay)
	var prin = round(pri)
	}
		results +=("<tr BGCOLOR=\"#FFFFFF\">");
		results +=("<td>0</td><td>0</td><td>" + final_bal + "</td><td>" + final_bal + "</td><td>" + tot_int + "</td>");
		results +=("</tr>"); 
		results +=("</table>");
	$('afford_res').innerHTML = results;
}

// qualifying income calculator
function income_calc() {
	var a = round(document.income_form.income.value)
	var g = round(document.income_form.other_income.value)
	var b = round(document.income_form.debt_1.value)
	var c = round(document.income_form.debt_2.value)
	var d = round(document.income_form.debt_3.value)
	var e = round(document.income_form.income.value / 12)
	var f = round(document.income_form.other_income.value / 12)
	var input_income = (a + g)
	var total_monthly = (e + f)
	var total_debt = (b + c + d)
	var wages_monthly = e
	var piti = round(total_monthly * .28)
	var piti_with_debt = round(total_monthly * .36)
	var qual_piti = piti
	var qual_piti_with_debt = round(piti_with_debt - total_debt)

		results =("<table border=0 width=\"370\" cellspacing=0 cellpadding=0 align=\"center\">");
		
	  	results +=("<tr>"); 
	    results +=("<td colspan=2 bgcolor='#cccccc'><p class=font1>Loan Criteria: </p></td>");
		results +=("</tr>");	

	  	results +=("<tr>"); 
	    results +=("<td ><p class=font1>Combined Annual Gross Income: </p></td>");
	    results +=("<td width=100><p class=font1>$" + input_income + "&nbsp;</p></td>");
		results +=("</tr>");

	  	results +=("<tr>"); 
	    results +=("<td bgcolor=eeeeee><p class=font1>Wages Per Month: </p></td>");
	    results +=("<td bgcolor=eeeeee width=100><p class=font1>$" + wages_monthly + "&nbsp;</p></td>");
		results +=("</tr>");

	  	results +=("<tr>"); 
	    results +=("<td><p class=font1>Total Debt: </td>");
	    results +=("<td width=100><p class=font1>$" + total_debt + "&nbsp;</p></td>");
		results +=("</tr>");

	  	results +=("<tr>"); 
	    results +=("<td colspan=2 bgcolor='#cccccc'><p class=font1>Results: </p></td>");
		results +=("</tr>");


	  	results +=("<tr>"); 
	    results +=("<td><p class=font1>PITI using 36% RATE A: </p></td>");
	    results +=("<td width=100><p class=font1>$" + piti_with_debt + "&nbsp;</p></td>");
		results +=("</tr>");
		
	  	results +=("<tr>"); 
	    results +=("<td bgcolor=eeeeee><p class=font1>PITI using 28% RATE B: </p></td>");
	    results +=("<td bgcolor=eeeeee width=100><p class=font1>$" + piti + "&nbsp;</p></td>");
		results +=("</tr>");

	  	results +=("<tr>"); 
	    results +=("<td><p class=font1>Monthly Payment Cap (RATE A): </p></td>");
	    results +=("<td width=100><p class=font1>$" + qual_piti_with_debt + "&nbsp;</p></td>");
		results +=("</tr>");

	  	results +=("<tr>"); 
	    results +=("<td bgcolor=eeeeee><p class=font1>Monthly Payment Cap (RATE B): </p></td>");
	    results +=("<td bgcolor=eeeeee width=100><p class=font1>$" + qual_piti + "&nbsp;</p></td>");
		results +=("</tr>");
		results +=("</table>");
		
		results +=("<br><br>");
		results +=("<table border=0 width=\"370\" cellspacing=5 cellpadding=0 align=\"center\">");
		results +=("<tr>");
		results +=("<td>");
		results +=("<b>RATE A</b><br>The 36% income is based on the PITI (mortgage principal plus interest amount plus your monthly property tax and home insurance), PLUS any other debt payments you must pay every month. "); 
		results +=("<br><br><b>RATE B</b><br>The 28% income is based on PITI (Principal + Interest + Tax + Insurance) or more specifically, the mortgage principal plus interest amount plus your monthly property tax and home insurance the lender typically holds in an escrow account for you. ");
		results +=("</td>"); 
		results +=("</tr>"); 
		results +=("</table>");
	$('income_res').innerHTML = results;
}
