function calculate_loan_local(){
	//alert('here');
    var a = document.getElementById('downpay').value;
	//alert(a);
    var b = document.getElementById('loanselling').value;
	//alert(b);
    var b3 = document.getElementById('loanmonths').value;
	//alert(b3);
    var dwnpaylen = a.length;
    //alert(dwnpaylen);
    var x;
    if (a == "") {
        a = 0;
    }
    //alert(a+'>>>>>>>>');
    
    if (b3 == "") {
        document.getElementById('loanpayment').value = "";
    }
    var b4 = document.getElementById('loaninterest').value;
	//alert(b4+">>int");
    var c = parseInt(parseFloat(b) - parseFloat(a));
	//alert(c+'>>>>>>>loan');
	//alert(document.getElementById('downpay').value+"="+document.getElementById('loanselling').value);
    if ((document.getElementById('downpay').value != "") || (document.getElementById('loanselling').value != "")) {
        if (parseInt(document.getElementById('downpay').value) >= parseInt(document.getElementById('loanselling').value)) {
            alert("Down Payment should be less than Selling Price");
            document.getElementById('downpay').select();
            return false;
        }
    }
    //alert('out>>>>>'+c);
    document.getElementById('loanamount').value = c;
	//alert(document.getElementById('loanamount').value);
	if(b4.indexOf('%')!= -1)
		b4 = b4.substring(0, b4.length-1);
    b4 = b4 / 100;
    //b4 = parseInt(b4) / 100;
	//alert(b4);
    var b10 = c;
	//alert(b10+'>>>>>>b10');
    var upper = b10 * (b4 / 12);
	
    //alert(upper+'>>>>>>>>');
    if (upper == 0) {
		//alert('if');
        document.getElementById('loanpayment').value = c / b3;
        document.getElementById('loantotal').value = upper;
        
    }
    else {
		//alert('else');
        var lower = 1 - (1 / Math.pow((1 + (b4 / 12)), b3));
		//alert('lower');
        var monthly_payment = upper / lower + " ";
        document.getElementById('loanpayment').value = monthly_payment.substring(0, monthly_payment.indexOf('.')) +
        
        monthly_payment.substring(monthly_payment.indexOf('.'), monthly_payment.indexOf('.') + 3);
        interestamount = (monthly_payment * b3) - b10;
        interestamount = interestamount + " ";
        document.getElementById('loantotal').value = interestamount.substring(0, interestamount.indexOf('.')) +
        
        interestamount.substring(interestamount.indexOf('.'), interestamount.indexOf('.') + 3);
    }
    
    if (upper == "NaN") {
        upper = "";
    }
    if (document.getElementById('loanpayment').value == "Na") {
        document.getElementById('loanpayment').value = "";
    }
    if (document.getElementById('loantotal').value == "Na") {
        document.getElementById('loantotal').value = "";
    }
    if (document.getElementById('loanamount').value == "Na" || document.getElementById('loanamount').value == "NaN") {
        document.getElementById('loanamount').value = "";
    }
    
    if (document.getElementById('loanmonths').value == "") {
        document.getElementById('loanpayment').value = "";
    }
    if (document.getElementById('loaninterest').value == "" && document.getElementById('loanmonths').value == "") {
        document.getElementById('loanpayment').value = "";
    }
	//alert('returning');
    return false;
    
}

function calculateLoan(loanAmount, downPayment, months, interest){
	var monthlyPayment = 0;
	var tempLoanAmt = loanAmount - downPayment;
	var tempInt = interest/100;
	var upper = tempLoanAmt*(tempInt/12);
	var tempDown = downPayment;
	var tempMonths = months;
	
	if(upper==0){
		monthlyPayment = tempLoanAmt/tempMonths;
		tempLoanAmt = 0;
	}else{
		lower = 1-(1/Math.pow((1+(tempInt/12)), months));
		monthlyPayment = upper/lower;
	}
	return monthlyPayment;
}

function calculateAffordibility(monthly, downPayment, months, interest){
	var affordPrice = 0;
	if (interest == 0) { 
		affordPrice = monthly * months;
	} else {
	  var tempRate = eval(interest / 1200);
	  var tempMpDenom = 1 - Math.pow(eval(1 + parseFloat(tempRate)), eval(-1 * months));
	  affordPrice = eval(parseFloat(monthly) * tempMpDenom / tempRate).toString();
	}
	  affordPrice = eval(eval(parseFloat(affordPrice) + parseFloat(downPayment))).toString();
	return affordPrice;
}

function roundNumber(num, dec) {
	var result = Math.round(num*Math.pow(10,dec))/Math.pow(10,dec);
	return result;
}

function paymentChart(loanprice, pay){
	var chartInt = new Array();
	var array24 = new Array();
	var array36 = new Array();
	var array48 = new Array();
	var array60 = new Array();
	var array66 = new Array();
	var array72 = new Array();
	
	var loanmonths = document.getElementById('loanmonths').value;
	var loandown = document.getElementById('downpay').value;
	var loaninterest = document.getElementById('loaninterest').value;

	if(loaninterest.indexOf('%')!= -1)
		loaninterest = loaninterest.substring(0, loaninterest.length-1);
		
	var startInt = loaninterest-1;
	
	for(i=0; i<5; i++){
		chartInt[i] = startInt;
		array24[i] = Math.round(calculateLoan(loanprice, loandown, 24, startInt))+'.00';
		array36[i] = Math.round(calculateLoan(loanprice, loandown, 36, startInt))+'.00';
		array48[i] = Math.round(calculateLoan(loanprice, loandown, 48, startInt))+'.00';
		array60[i] = Math.round(calculateLoan(loanprice, loandown, 60, startInt))+'.00';
		array66[i] = Math.round(calculateLoan(loanprice, loandown, 66, startInt))+'.00';
		array72[i] = Math.round(calculateLoan(loanprice, loandown, 72, startInt))+'.00';
		startInt = startInt+1;
	}
	document.getElementById('payChart').style.display = 'block';
	fillHead(chartInt);
	fillChart(array24, 1, pay);
	fillChart(array36, 2, pay);
	fillChart(array48, 3, pay);
	fillChart(array60, 4, pay);
	fillChart(array66, 5, pay);
	fillChart(array72, 6, pay);
	//alert('Estimated Payment Chart'+"\n"+chartInt+"\n"+array24+"\n"+array36+"\n"+array48+"\n"+array60+"\n"+array66+"\n"+array72);
}

function affordibilityChart(afford){
	var chartInt = new Array();
	var array24 = new Array();
	var array36 = new Array();
	var array48 = new Array();
	var array60 = new Array();
	var array66 = new Array();
	var array72 = new Array();
	var affordMonth = document.getElementById('estMonth').value;
	var affordDown = document.getElementById('estDown').value;
	var affordInterest = document.getElementById('estInterest').value;
	var affordMonthly = document.getElementById('estMonthly').value;
	
	var affordMonths = document.getElementById('loanmonths').value;
	
	if(affordInterest.indexOf('%')!= -1)
		affordInterest = affordInterest.substring(0, affordInterest.length-1);
		
	var startInt = affordInterest-1;
	//calculateAffordibility(monthly, downPayment, months, interest)
	for(i=0; i<5; i++){
		chartInt[i] = startInt;
		array24[i] = Math.round(calculateAffordibility(affordMonthly, affordDown, 24, startInt))+'.00';
		array36[i] = Math.round(calculateAffordibility(affordMonthly, affordDown, 36, startInt))+'.00';
		array48[i] = Math.round(calculateAffordibility(affordMonthly, affordDown, 48, startInt))+'.00';
		array60[i] = Math.round(calculateAffordibility(affordMonthly, affordDown, 60, startInt))+'.00';
		array66[i] = Math.round(calculateAffordibility(affordMonthly, affordDown, 66, startInt))+'.00';
		array72[i] = Math.round(calculateAffordibility(affordMonthly, affordDown, 72, startInt))+'.00';
		startInt = startInt+1;
	}
	//alert('Affordibility Chart'+"\n"+chartInt+"\n"+array24+"\n"+array36+"\n"+array48+"\n"+array60+"\n"+array66+"\n"+array72);
	document.getElementById('estChart').style.display = 'block';
	fillEstHead(chartInt);
	fillEstChart(array24, 8, afford);
	fillEstChart(array36, 9, afford);
	fillEstChart(array48, 10, afford);
	fillEstChart(array60, 11, afford);
	fillEstChart(array66, 12, afford);
	fillEstChart(array72, 13, afford);
	
}


function fillChart(array, count, pay){
	var payMonth = document.getElementById('loanmonths').selectedIndex;
	for(i=0; i<array.length; i++){
		document.getElementById('cf'+count+(i+1)).innerHTML = '$'+array[i];
		if(array[i]==pay && count==(payMonth+1)){
			document.getElementById('cf'+count+(i+1)).style.backgroundColor = '#B6CEFB';
		}else{
			document.getElementById('cf'+count+(i+1)).style.backgroundColor = '#FFFFFF';
		}
	}
}

function fillEstChart(array, count, pay){
	var payMonth = document.getElementById('estMonth').selectedIndex;
	//alert((payMonth+8)+"::"+count+"::"+pay);
	for(i=0; i<array.length; i++){
		document.getElementById('cf'+count+(i+1)).innerHTML = '$'+array[i];
		if(array[i]==pay && count==(payMonth+8)){
			document.getElementById('cf'+count+(i+1)).style.backgroundColor = '#B6CEFB';
		}else{
			document.getElementById('cf'+count+(i+1)).style.backgroundColor = '#FFFFFF';
		}
	}
}

function fillHead(array){
	for(i=0; i<array.length; i++){
		document.getElementById('cf0'+(i+1)).innerHTML = roundNumber(array[i], 1)+'%';
	}
}

function fillEstHead(array){
	for(i=0; i<array.length; i++){
		document.getElementById('cf7'+(i+1)).innerHTML = roundNumber(array[i], 1)+'%';
	}

function formatCurrency(num) {
	num = num.toString().replace(/\$|\,/g,'');
	num = Math.floor(num).toString();
	for (var i = 0; i < Math.floor((num.length-(1+i))/3); i++)
		num = num.substring(0,num.length-(4*i+3))+','+
		num.substring(num.length-(4*i+3));
	return ('$' + num);
}
}
