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

// monthly payment
function calcsimple()
{
  var mi = document.base_calc.IntRate.value / 1200;
  var base = 1;
  var mbase = 1 + mi;
  for (i=0; i<document.base_calc.TermAmt.value * 12; i++)
  {
    base = base * mbase
  }
  document.base_calc.PaymentAmt.value = floor(document.base_calc.LoanAmt.value * mi / ( 1 - (1/base)))
//  document.base_calc.MT.value = floor(document.base_calc.AT.value / 12)
//  document.base_calc.MI.value = floor(document.base_calc.AI.value / 12)
  var mort_sum = document.base_calc.LoanAmt.value * mi / ( 1 - (1/base));
//  +
//	document.base_calc.AT.value / 12 + 
//	document.base_calc.AI.value / 12;
  document.base_calc.MP.value = floor(mort_sum);
}

// Should I Refinance?
function refinanceCalc()
{
  var mi = document.base_calc.IntRate.value / 1200;
  var new_mi = document.base_calc.NewIntRate.value / 1200;
  var base = 1;
  var mbase = 1 + mi;
  var new_mbase = 1 + new_mi;
  
  for (i=0; i<document.base_calc.TermAmt.value * 12; i++)
  {
    base = base * mbase
  }
  document.base_calc.CurrPayment.value = floor(document.base_calc.OrigLoanAmt.value * mi / ( 1 - (1/base)))
  
  base = 1
  for (i=0; i<document.base_calc.NewTermAmt.value * 12; i++)
  {
    base = base * new_mbase
  }
  document.base_calc.NewPayment.value = floor(document.base_calc.NewLoanAmt.value * new_mi / ( 1 - (1/base)))
  
  document.base_calc.MonthlySavings.value = floor(document.base_calc.CurrPayment.value - document.base_calc.NewPayment.value) 
}

// Line of Credit
function equityCalc()
{
	var maxPercentage = 1;
	 
	if (document.base_calc.DocumentationType.value == "FULL")
	{
		if (document.base_calc.PropertyType.value == "INVESTMENT") { maxPercentage = .95; }
		else { maxPercentage = 1; }
	}
	else
	{
		if (document.base_calc.PropertyType.value == "INVESTMENT") { maxPercentage = .899; }
		else { maxPercentage = .899; }
	}		
  document.base_calc.EquityMax.value =  floor((document.base_calc.AppraisedValue.value - document.base_calc.MortgageOwed.value) *maxPercentage) 
}

// maximum purchase
function purchCalc()
{
  	var mi = document.advanced_calc.IntRate.value / 1200;
  	var base = 1;
  	var mbase = 1 + mi;
  	var MonthlyDebtService = 0;
  
  	for (i=0; i<document.advanced_calc.TermAmt.value * 12; i++)
  		base = base * mbase;
  
  	MonthlyDebtService = floor(document.advanced_calc.AutoAmt.value) + 
		floor(document.advanced_calc.CCAmt.value) + 
		floor(document.advanced_calc.StudentAmt.value) + 
		floor(document.advanced_calc.OtherAmt.value);
	
  	
	if(document.advanced_calc.MonthlyIncome.value<MonthlyDebtService)
	{
		document.advanced_calc.ConservativeEstimate.value = 0;
		document.advanced_calc.AggressiveEstimate.value = 0;
	}
	else
	{
	  document.advanced_calc.ConservativeEstimate.value = floor(((document.advanced_calc.MonthlyIncome.value - MonthlyDebtService) * ( 36 / 100)) * ( 1 - (1/base)) / mi);
  	document.advanced_calc.AggressiveEstimate.value = floor(((document.advanced_calc.MonthlyIncome.value - MonthlyDebtService) * ( 43 / 100)) * ( 1 - (1/base)) / mi);
  }
	
	if (document.advanced_calc.ConservativeEstimate.value < 0)
		document.advanced_calc.ConservativeEstimate.value = 0;
	
	if (document.advanced_calc.AggressiveEstimate.value < 0)
		document.advanced_calc.AggressiveEstimate.value = 0;
	
	document.advanced_calc.ConservativeEstimate.value = formatCurrency(document.advanced_calc.ConservativeEstimate.value);
	document.advanced_calc.AggressiveEstimate.value = formatCurrency(document.advanced_calc.AggressiveEstimate.value);
	
	document.advanced_calc.MonthlyTax.value = floor(document.advanced_calc.AT.value / 12);
  document.advanced_calc.MonthlyIns.value = floor(document.advanced_calc.AI.value / 12);	 
}

function formatCurrency(currencyAmt) 
{
	currencyAmt = currencyAmt.toString().replace(/\$|\,/g,'');
	if(isNaN(currencyAmt))
		currencyAmt = "0";

	currencySign = (currencyAmt == (currencyAmt = Math.abs(currencyAmt)));
	currencyAmt = Math.floor(currencyAmt*100+0.50000000001);
	currencyCents = currencyAmt%100;
	currencyAmt = Math.floor(currencyAmt/100).toString();

	if(currencyCents<10)
		currencyCents = "0" + currencyCents;
		
	for (var i = 0; i < Math.floor((currencyAmt.length-(1+i))/3); i++)
		currencyAmt = currencyAmt.substring(0,currencyAmt.length-(4*i+3))+','+
		currencyAmt.substring(currencyAmt.length-(4*i+3));
	return (((currencySign)?'':'-') + '$' + currencyAmt + '.' + currencyCents);
}

