<!-- 

//Percentage and rent calculation
function isBlank(aString) {
	var lString=" ";
	var TempChar;
	var Count;
	var SpacesOnly = 0;
	if (aString.length == 0||aString==""||aString==null)	{
		return(true);
	}

	for (Count=0; Count < aString.length; Count++)	{
		if(aString.charAt(Count) != lString)	{
			return(false);
		}
	}
	
	return(true);
}

function isValid(field, fieldName) {
  var lValue = field.value;
  if(isNaN(field.value) || isBlank(field.value) ) {
		alert("Please enter a numeric value for the field : " + fieldName);
		field.value = "";
		field.focus();
		return false;
  }	

  return true;
}


function ClearBuyorRent(aForm) {
		document.getElementById('mle').innerHTML = "";		
		document.getElementById('eqv').innerHTML = "";		
		document.getElementById('tts').innerHTML = "";
		document.getElementById('tpp').innerHTML = "";		
		document.getElementById('trs').innerHTML = "";
}


//E = P × r × (1 + r)n / ((1 + r)n - 1)
function aGetRate(aLoanAmt, aTerm, aEMI) {
   var lMinRate = -100;
   var lMaxRate = 100;
   var lLoanAmt = aLoanAmt;
   var lEMI = aEMI;
   var lTerm = aTerm;
   var lMidRate = (lMinRate + lMaxRate) / 2;
   var guessEMI = 0;
   var r = 0;

	 if (lLoanAmt < (lEMI*lTerm)) {
		 while (lMinRate < (lMaxRate - 0.00001)) {
				lMidRate = (lMinRate + lMaxRate) / 2;
				r = lMidRate/1200;

				guessEMI = lLoanAmt * r * Math.pow((1 + r),lTerm)/(Math.pow((1 + r), lTerm)-1);
				if (guessEMI > lEMI) {
						 lMaxRate = lMidRate;
				} else {
						 lMinRate = lMidRate;
				}
		 }
	} else {
		lMinRate = -100;
		lMaxRate = 0;
		 while (lMinRate < (lMaxRate - 0.00001)) {
				lMidRate = (lMinRate + lMaxRate) / 2;
				r = lMidRate/1200;

				guessEMI = lLoanAmt * r * Math.pow((1 + r),lTerm)/(Math.pow((1 + r), lTerm)-1);
				if (guessEMI > lEMI) {
						 lMaxRate = lMidRate;
				} else {
						 lMinRate = lMidRate;
				}
		 }
	}
  return lMidRate;
}

function aGetEMI(aLoanAmt, aTerm, aRate) {
	var lEMI = 0;
	lEMI = aLoanAmt * aRate/1200 * Math.pow((1 + aRate/1200), aTerm)/(Math.pow((1 + aRate/1200), aTerm)-1);
	return lEMI;
}


// Rent or Buy Calculator : start
// Could have hacked the function CalculateAmortization, to be on the safer side use this one.
function CalculateMortExpense(aForm) {
	var lLoanAMT 	= eval(aForm.loanamt.value);
	var lDownPay 	= eval(aForm.downpay.value);
	var lMRate 		= eval(aForm.irate.value);
	var lTerm 		= eval(aForm.term.value) * 12;
	var lEqRate 	= eval(aForm.yield.value);
	var lTax  		= eval(aForm.tax.value);
	var lRent  		= eval(aForm.rent.value);	
	var lIRR			= eval(aForm.irr.value);
	
	if (isValid(aForm.loanamt, "Mortgage Loan Amount") && 
			isValid(aForm.term, "No. of Years") && 
			isValid(aForm.irate, "Interest Rate on Mortgage") &&
			isValid(aForm.yield, "Percent Yield on Equity") &&
			isValid(aForm.tax, "Tax Rate") &&
			isValid(aForm.rent, "Monthly Rent Payment") &&
			isValid(aForm.irr, "Percent Yield on Investment")) {
			
		var lBalance = lLoanAMT - lDownPay;
		var lEMI = aGetEMI(lBalance, lTerm, lMRate);
		var lTotalPayment = lEMI * lTerm;
		var lTotalCharges = lTotalPayment - lBalance;
		
		//Monthly Mortgage Charges done
		document.getElementById('mm').innerHTML = lEMI.toFixed(2);	
		
		//Total Mortgage Charges done
		document.getElementById('mle').innerHTML = lTotalPayment.toFixed(2);		
		
		//Opportunity Cost
		var lCost2Cap = (lLoanAMT + lDownPay) * Math.pow((1 + lEqRate/100), lTerm/12);//Compound 12 times in a year
		document.getElementById('eqv').innerHTML = lCost2Cap.toFixed(2);		
		
		//Taxs saving
		var lTaxsaves = lTotalCharges * lTax/100;
		document.getElementById('tts').innerHTML = lTaxsaves.toFixed(2);
		
		//Profit of purchase
		var lPurProfit = lCost2Cap + lTaxsaves - lTotalPayment;
		document.getElementById('tpp').innerHTML = lPurProfit.toFixed(2);
				
		//Rent savings
		var lMContribution = lEMI - lRent;
		var lRentSavings = lDownPay;
		for(var i=0; i<lTerm; i++) {
			lRentSavings	= lRentSavings * (1 + lIRR/1200) + lMContribution;
		}		
		document.getElementById('trs').innerHTML = lRentSavings.toFixed(2);
		
		if (lPurProfit >= lRentSavings)
				document.getElementById('omsg').innerHTML = "Better to Buy";
				
		if (lPurProfit < lRentSavings)
				document.getElementById('omsg').innerHTML = "Better to Rent";				
	}
}
//Rent or Buy Calculator : end

-->