// JavaScript Document
function floor(number)
{
  return Math.floor(number*Math.pow(10,2))/Math.pow(10,2);
}

function doMortgageCalculation(form)
{
  var mi = form.interest_rate.value / 1200;
  var base = 1;
  var mbase = 1 + mi;
  for (i=0; i<form.years.value * 12; i++)
  {
    base = base * mbase
  }
  form.monthly_prin_int.value = floor(form.loan_amount.value * mi / ( 1 - (1/base)))
  form.monthly_tax.value = floor(form.annual_tax.value / 12)
  form.monthly_ins.value = floor(form.annual_ins.value / 12)
  var dasum = form.loan_amount.value * mi / ( 1 - (1/base)) +
	form.annual_tax.value / 12 + 
	form.annual_ins.value / 12;
  form.total_payment.value = floor(dasum);
}

function floor(number)
{
  return Math.floor(number*Math.pow(10,2))/Math.pow(10,2);
}

function formatCurrency(strValue)
{
	strValue = strValue.toString().replace(/\$|\,/g,'');
	dblValue = parseFloat(strValue);

	blnSign = (dblValue == (dblValue = Math.abs(dblValue)));
	dblValue = Math.floor(dblValue*100+0.50000000001);
	intCents = dblValue%100;
	strCents = intCents.toString();
	dblValue = Math.floor(dblValue/100).toString();
	if(intCents<10)
		strCents = "0" + strCents;
	for (var i = 0; i < Math.floor((dblValue.length-(1+i))/3); i++)
		dblValue = dblValue.substring(0,dblValue.length-(4*i+3))+','+
		dblValue.substring(dblValue.length-(4*i+3));
	return (((blnSign)?'':'-') + dblValue + '.' + strCents);
}


function updateSubtotal(form)
{
	var mortgage = parseFloat(form.mortgage.value.toString().replace(/\$|\,/g,''));
	var equity = parseFloat(form.equity.value.toString().replace(/\$|\,/g,''));
	var savings = parseFloat(form.savings.value.toString().replace(/\$|\,/g,''));
	form.subtotal.value = formatCurrency(mortgage + equity + savings);
}

function calculateBudget(form)
{
	updateSubtotal(form);
	var subtotal = parseFloat(form.subtotal.value.toString().replace(/\$|\,/g,''));
	var land = parseFloat(form.land.value.toString().replace(/\$|\,/g,''));
	form.budget.value = formatCurrency(subtotal - land);
}
