function VW(){
	OKK();
	AXS();
}
function addAnotherDifferent(InStr) {
	var iChk, sSrch;
	var sTemp = InStr;
	var Delmtr = new Array("%", " ");	
	for (i=0; i<Delmtr.length; i++){
		sSrch = Delmtr[i];
		iChk = sTemp.lastIndexOf(sSrch);
		while (iChk != -1){
			sTemp = sTemp.replace(sSrch, "");
			iChk = sTemp.lastIndexOf(sSrch);
		}
	}	
	return sTemp;
}
function checkNum(thisNum){
var temp;
temp = thisNum;
	if(temp > 30 && temp == document.getElementById("loanLength").value){
			alert ("'Length of Loan Term' must be equal to or less than 30 years.");	
			temp = 30;	
			document.getElementById("loanLength").value = 30;
			}	
return temp;
}
function calculate_new(downpay, inter, years) {
    var principal = downpay;
    var interest = inter / 100 / 12;
    var payments = years * 12;

    var x = Math.pow(1 + interest, payments);
    var monthly = (principal*x*interest)/(x-1);
    
    if (!isNaN(monthly) && 
        (monthly != Number.POSITIVE_INFINITY) &&
        (monthly != Number.NEGATIVE_INFINITY)) {
        return round(monthly);
    }
    else {
        return 0;
    }
}

function round(x) {
  return Math.round(x*100)/100;
}
function AXS(){
	var i;
	var downPayPercent = takeOutSign(document.getElementById("downPay").value);
	var loanAmount = changeStringTwo(document.getElementById("pPrice").value);
	var pPrice = loanAmount;
	loanAmount = loanAmount*(100-downPayPercent)/100;
	var rent = changeStringTwo(document.getElementById("cRent").value);
	var newRentInc = takeOutSign(document.getElementById("cRentInc").value);
	var newDownPay = takeOutSign(document.getElementById("downPay").value);
	var newBracket = takeOutSign(document.getElementById("cBracket").value);
	var newPropTax = takeOutSign(document.getElementById("PropTax").value);
	var IncInPricePercent = takeOutSign(document.getElementById("homeAppreciate").value);
	var interestRate = takeOutSign(document.getElementById("iRate").value)/100;
	var yearLoan = checkNum(document.getElementById("loanLength").value);
	var aRate = 1 + (interestRate/12);
	var payment 
    payment = (loanAmount * (aRate-1) * Math.pow(aRate,yearLoan*12)) / (Math.pow(aRate,yearLoan*12)-1);
	payment = parseInt(payment);
	var yearOwn = checkNum(document.getElementById("stayLength").value);
	var homeValAfterOwnYears = 0;	
	var incAmount = 0;
	homeValAfterOwnYears = pPrice;
	var pp = 1+IncInPricePercent/(100);
	homeValAfterOwnYears = pPrice * Math.pow(pp,yearOwn);
	homeValAfterOwnYears = parseInt(homeValAfterOwnYears);
	var monthlyInterest = interestRate/12;
	var loanMonths = yearLoan * 12;
	var ownPayMonths = yearOwn * 12;
	var PayOff = loanAmount;
	var interestDue = 0;
	var pricipalCredit=0;
	
	var totalRentInc = 0;
	var totalPag = parseInt(rent);
	for(i=0;i<yearOwn;i++){
	    for(j=0;j<12;j++){
	        totalRentInc = totalRentInc + totalPag;
	    }
	    totalPag = totalPag * (1+(newRentInc / 100));
	    //alert(totalPag);
	}
	
	var lastTotal = calculate_new((parseInt(pPrice)*(100-parseFloat(downPayPercent))/100),(parseFloat(interestRate)*100),parseInt(yearLoan));
	lastTotal = lastTotal * 12 * yearOwn;
	var totalImpInc = 0;
	var newHomeValue = parseFloat(pPrice);
	var totalHome = 0;
	var propTaxIncrement = parseFloat(newPropTax);
	for(i=0;i<parseInt(yearOwn);i++){
	    if (i != 0)
	    {
	        propTaxIncrement = propTaxIncrement * (1.02);
	    }
	    totalHome = newHomeValue * (propTaxIncrement / 100) ;
	    totalImpInc = totalImpInc + totalHome;
	}
	
	//alert(totalImpInc);
	if (parseInt(yearOwn) < parseInt(yearLoan)){		
	    for (i=0;i<ownPayMonths;i++) {
		    interestDue = PayOff * monthlyInterest;
		    pricipalCredit = payment - interestDue;
		    PayOff = PayOff - pricipalCredit;
		    }
		    PayOff = Math.round(PayOff);
	}
	else{
		PayOff = 0;
	}
	var tehInt=0;
	    principalCredit = 0;
	var intDue=0;
	var remLoanAmount = loanAmount;
	if (parseInt(yearOwn) <= parseInt(yearLoan)){
		for (i=0;i<ownPayMonths;i++) {	
			intDue = loanAmount * monthlyInterest;
			principalCredit = payment - intDue;
			remLoanAmount = remLoanAmount - principalCredit;
			tehInt = tehInt + intDue;		
		}
	}
	else {
		for (i=0;i<loanMonths;i++) {	
			intDue = loanAmount * monthlyInterest;
			principalCredit = payment - intDue;
			remLoanAmount = remLoanAmount - principalCredit;
			tehInt = tehInt + intDue;		
		}
	}
	
	
	var interestFinal = 0;
	loanRemain = loanAmount;monthlyInterest;
	for(i=0;i<yearOwn;i++){
	    
	}
	
    tehInt = parseInt(tehInt);
	var equity = 0;
	equity = homeValAfterOwnYears - PayOff;
	equity = parseInt(equity);
	var loanTimePropertyTax = newPropTax*pPrice * yearLoan/100;
	var TPropertyTax = newPropTax*pPrice * yearOwn/100;
	var TTSaving = 0;
	if (parseInt(yearOwn)<=parseInt(yearLoan)) {
		TTSaving = parseInt((tehInt + ((totalImpInc * 1.13) - TPropertyTax)) * newBracket / 100);
		}
	else { 
		TTSaving = parseInt((tehInt + ((totalImpInc * 1.13) - loanTimePropertyTax)) * newBracket/100);
		}
	var mortgagePayment = payment * 12;
	var yearOwn = document.getElementById("stayLength").value;
    var interestRate = takeOutSign(document.getElementById("iRate").value)/100;	
	
	var HOASingle = parseFloat(changeStringTwo(document.getElementById("cHoa").value));
	var totalHoa = 0;
	for(i=0;i<yearOwn;i++){
	    for(j=0;j<12;j++){
	        totalHoa = totalHoa + HOASingle;
	    }
	}

	var mortgageIns = (0.52/100)*loanAmount;
	var loanClosingCost = loanAmount * (0.5/100);
	var homeOwnInsurence = pPrice * (0.15/100);
	var totalMortgagePayment = parseInt((mortgagePayment+mortgageIns));
	if (parseInt(yearOwn) <= parseInt(yearLoan)){	
		totalMortgagePayment = totalMortgagePayment * yearOwn + homeOwnInsurence*yearOwn +TPropertyTax+loanClosingCost;
		}
	else {
		totalMortgagePayment = totalMortgagePayment * yearLoan + homeOwnInsurence*yearOwn +TPropertyTax+loanClosingCost;		
		}
	var costOfSellingHome = homeValAfterOwnYears*6/100;
	var downPay = parseInt(newDownPay)/100 * pPrice;
	var totalCost = 0;
	totalCost = parseInt((downPay+totalMortgagePayment+PayOff+costOfSellingHome)-(TTSaving+homeValAfterOwnYears)) + parseInt(totalHoa);
	//if (totalCost < 0) totalCost = 0;
	var monthlyCost = 0;
	monthlyCost = parseInt(totalCost/yearOwn/12);		
	var totalSaving; 
	var string;
	
		
    /**********************/
   
   
    
    var totalRentNew = (rent*(1+interestRate)*(yearOwn*12));
    
    var totalBuyNew = ((interestRate + (interestRate / ((Math.pow((1 + interestRate),(yearOwn * 12))) - 1)))+1) * pPrice;
    
    
    
    
    var newValue = totalRentInc;
    //alert(totalRentInc);
    //alert(totalRentInc - totalRentWOInc);
    /**********************/
    
	//string = string + addSignDollar(totalSaving);
	document.getElementById("r17").innerHTML = addSignDollar(PayOff);
	document.getElementById("r18").innerHTML = addSignDollar(homeValAfterOwnYears);
	//document.getElementById("r20").innerHTML = addSignDollar(monthlyCost);
	
	var newr22 = (lastTotal + totalImpInc + totalHoa + (pPrice - (pPrice*(100-downPayPercent)/100))) - TTSaving;
	
	document.getElementById("r22").innerHTML = addSignDollar(newr22);
	
	var totSavin = (newr22) - equity;
    if (totSavin < 0) totSavin = totSavin * (-1);
    
	document.getElementById("r24").innerHTML = "-" + addSignDollar(TTSaving);
	
	if (OKK()>totSavin){
	    totalSaving	= parseInt(OKK()) - parseInt(totSavin);	
	    string = "Owning";
		}
	else{
	    totalSaving	= parseInt(totSavin) - parseInt(OKK());	
  	    string = "Renting";
		}
		
	if (string == "Owning"){
        document.getElementById("r23").style.display = "";
        document.getElementById("r23").innerHTML = addSignDollar(totalSaving);
        document.getElementById("r232").style.display = "none";
        document.getElementById("spanRent").innerHTML = "Owning";
    }
    else {
        document.getElementById("r232").style.display = "";
        document.getElementById("r232").innerHTML = addSignDollar(totalSaving);
        document.getElementById("r23").style.display = "none";
        document.getElementById("spanRent").innerHTML = "Renting";
    }
		
	document.getElementById("r25").innerHTML = addSignDollar(equity);
	document.getElementById("r252").innerHTML = "-"+addSignDollar(equity);
	document.getElementById("rPropTax").innerHTML = addSignDollar(totalImpInc);
	document.getElementById("rHoa").innerHTML = addSignDollar(totalHoa);
	document.getElementById("rSavin").innerHTML = addSignDollar(totSavin);
	document.getElementById("rDown").innerHTML = addSignDollar(pPrice - (pPrice*(100-downPayPercent)/100));
	document.getElementById("totPay").innerHTML = addSignDollar(newValue);
	document.getElementById("totPay2").innerHTML = addSignDollar(lastTotal);
	document.getElementById("getYear").innerHTML = document.getElementById("stayLength").value;
	document.getElementById("years1").innerHTML = document.getElementById("stayLength").value;
	document.getElementById("years2").innerHTML = document.getElementById("stayLength").value;
	document.getElementById("years3").innerHTML = document.getElementById("stayLength").value;
	document.getElementById("bracket").innerHTML = document.getElementById("cBracket").value;
}
function OKK(){
	var yearOwn = document.getElementById("stayLength").value;
	var totalRent = 0;
	var rent = changeStringTwo(document.getElementById("cRent").value);
	var rentNew = Math.pow(1.0228,(yearOwn - 1));  
	var newRent = (rentNew) + (rentNew * rent);
	var monthlyRent = (parseInt((newRent - rent)/2) + parseInt(rent));	
	var totalRent = monthlyRent * yearOwn * 12;	
	var newRentInc = takeOutSign(document.getElementById("cRentInc").value);
	//document.getElementById("r19").innerHTML = addSignDollar(monthlyRent);
	
	var totalRentInc = 0;
	var totalPag = parseInt(rent);
	for(i=0;i<yearOwn;i++){
	    for(j=0;j<12;j++){
	        totalRentInc = totalRentInc + totalPag;
	    }
	    totalPag = totalPag * (1+(newRentInc / 100));
	}
	var newValue = totalRentInc;
	document.getElementById("r21").innerHTML = addSignDollar(newValue); 
	document.getElementById("r212").innerHTML = addSignDollar(newValue); 
	
	return newValue;
}
function redoitAgain(){
    document.getElementById("cRent").value = addSignDollar(document.getElementById("cRent").value);
	document.getElementById("pPrice").value = addSignDollar(document.getElementById("pPrice").value);
	document.getElementById("cHoa").value = addSignDollar(document.getElementById("cHoa").value);
	document.getElementById("iRate").value = putItAgain(document.getElementById("iRate").value);
	document.getElementById("PropTax").value = putItAgain(document.getElementById("PropTax").value);
	document.getElementById("loanLength").value = document.getElementById("loanLength").value;
	document.getElementById("stayLength").value = document.getElementById("stayLength").value;
	document.getElementById("homeAppreciate").value = putItAgain(document.getElementById("homeAppreciate").value);
	document.getElementById("cBracket").value = putItAgain(document.getElementById("cBracket").value);
	document.getElementById("downPay").value = putItAgain(document.getElementById("downPay").value);
}
function takeOutSign(entry) {
	out = "%"; 
	add = ""; 
	temp = entry;
	while (temp.indexOf(out)>-1) {
		pos= temp.indexOf(out);
		temp = "" + (temp.substring(0, pos) + add +
		temp.substring((pos + out.length), temp.length));
		}
	if (temp<0){	
		alert ("The value you entered must be a possitive number.");												
		temp = 0;				
		}		
	return temp;
}	
function putItAgain(theNumber){
	theNumber = addAnotherDifferent(theNumber);
	if (theNumber == takeOutSign(document.getElementById("iRate").value) && theNumber == 0){
		alert ("The 'Interest Rate' cannot be zero. The value is returned to 7.5%.");
		theNumber = 7.5;
	}
	  theNumber = Math.round(theNumber * 1000) / 1000;
	  return(theNumber + "%");	
}
function changeStringTwo(entry){
	out = ","; 
	add = ""; 
	temp = "" + entry;
	newStrTwoAry = temp.split(out);
	temp = newStrTwoAry.join(add);
	outVal = "$"; 	
	if (temp.indexOf(out)>-1){
		pos= temp.indexOf(out);
		temp = "" + (temp.substring(0, pos) + add + 
		temp.substring((pos + out.length), temp.length));
		}
	if (temp.indexOf(outVal)>-1){
		pos= temp.indexOf(outVal);
		temp = "" + (temp.substring(0, pos) + add + 
		temp.substring((pos + outVal.length), temp.length));
		}
	return temp;
}
function addSignDollar(thisnum) {	
        if(thisnum < 0) usenum = (thisnum * (-1));
        else usenum = thisnum;
		num=changeStringTwo(usenum);		
			if(isNaN(num)) num = "0";
			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));			 
		if (thisnum < 0) return ('-$' + num );
		else return ('$' + num );
}