<!--
pd = 'paydata'; /* SAVING CALCULATOR DATA */
numDays       = 60;  /* DAYS UNTIL COOKIE EXPIRES (EG. 183 DAYS = 6 MONTHS) */

/*  THE FOLLOWING TWO FUNCTIONS CHECK THAT ALL NUMERIC VALUES ARE REAL NUMBER AND REMOVE DOUBLE DECIMALS */

function check(a) 
{
   var pest = 0;
   var b = "";
   for(i=0;i<=a.length;i++)
   {
   var u = a.charAt(i);
      if((u>="0"&&u<="9")||u==".")
      {
      	if(u=="."){
      	var pest = pest+1;
      	if(pest==2){break;}}
var b = b + u;
}
}
return b;
}

function doSum(a){ 
   a.value = check(a.value);
}

/* CALLS UPON THE FUNCTIONS TO DETERMINE IF THE NUMBERS ENTERED ARE VALID AND TO CALCULATE THE RESULTS OF THE ENTERED DATA FOR EXAMPLE - MORTGAGE PAYMENT, GDS AND TDS RATIOS, AND LOAN TO VALUE. THIS FUNCTION IS EXECUTED EVERYTIME A VALUE IS CHANGED IN A FIELD */
function computeField(quest,input,min,max,msage)
{
       doSum(input);
} 

/* RETURNS THE SELECTED INDEX VALUE OF SELECT LISTS IN THE CALCULATOR TO BE USED IN CALCULATIONS */
function getIndex(n){return n.selectedIndex;}

function calcRdefine(intrate,compound, freq){
 return Math.pow((1.0 + ((intrate/100)/compound)),(compound/freq))-1.0;}

function calcBal(mortgage,intrate,compound,freq,payment,term){
rdefine = calcRdefine(intrate,compound, freq);
return (mortgage*(Math.pow((1.0 + rdefine),(term)))) -  ((payment * ((Math.pow((1.0 + rdefine),(term))) - 1.0))/rdefine);
}

/* ROUNDS OFF MONETARY NUMBERS TO TWO DECIMALS (PENNIES) */

function roundPen(n)
{
if(n > 0){
pennies = n*100;
pennies = Math.round(pennies);
strPennies = "" + pennies;
len = strPennies.length;
return strPennies.substring(0, len - 2) + "." + strPennies.substring(len -2, len);
}
else return 0;
}

/* THIS FUNCTION CALCULATES THE LOAN TO VALUE RATIO */
function LTVcalc(MORTGAGE, MORTGAGE2, APPRAISE){
	return (MORTGAGE/APPRAISE) + (MORTGAGE2/APPRAISE);
}

function Ratios(PAY1, PAY2, HEAT, TAX, DEBT, INCOME){
	return (PAY1/INCOME)+(PAY2/INCOME)+(HEAT/INCOME)+(TAX/INCOME)+(DEBT/INCOME);
}

/* THIS FUNCTION CALCULATES THE MONTHLY MORTGAGE PAYMENT BASED ON THE USER'S INPUT */
function calcPay(MORTGAGE, AMORT, INRATE, COMPOUND, FREQ){
	var compound = COMPOUND/12;
	var monTime = AMORT * 12;
	var RATE = (INRATE*1.0)/100;
	var yrRate = RATE/COMPOUND;
	var rdefine    = Math.pow((1.0 + yrRate),compound)-1.0;
	var PAYMENT = (MORTGAGE*rdefine * (Math.pow((1.0 + rdefine),monTime)))/  ((Math.pow((1.0 + rdefine),monTime)) - 1.0);
	
	if(FREQ==12){
		// monthly payments
		return PAYMENT;
	}
	if(FREQ==26||FREQ==24){
		//bi-weekly payments
		return PAYMENT/2.0;
	}
	if(FREQ==52){
		//weekly payments
		return PAYMENT/4.0;
	}
}

function calcTotal(MORTGAGE, LTV){
	if(LTV>.75&&LTV<=.80){
		return MORTGAGE*1.0125;
	}
	
	if(LTV>.80&&LTV<=.85){
		return MORTGAGE*1.02;
	}
	
	if(LTV>.80){
		return MORTGAGE*1.025;
	}
	
	if(LTV<=.75){
		return MORTGAGE
	}
}


/* VALIDATES ALL THE FIELDS AND CALCULATES VALUES TO BE ENTERED INTO THE TEXT BOXES AT THE BOTTOM OF THE PAGE WHEN THE USER CLICKS ON COMPUTE OR COMPUTE AMORTIZATION */
function compute(){

term = 5;
freq = 12; // monthly payments
amort = document.paycalc.ammort.value;
mortgage = document.paycalc.amount.value;
intrate = document.paycalc.rate.value;
var payment = calcPay(mortgage, amort, intrate, 2, freq);

document.paycalc.mainpay.value = '$' + roundPen(payment);

}

//-->
