document.getElementById("calc4").innerHTML = '<table width="450" border="0" cellspacing="0"><tr align="center">'+
'<td colspan="2" bgcolor="#FCF5DA"><span class="style2"><strong>Rent vs. Buy Calculator</strong></span></td></tr><tr>'+
'<td colspan="2" bgcolor="#FCF5DA"><span class="style2">Use this calculator to find out if it is cheaper for you to rent or buy within a certain timeframe. These calculations do not include any appreciation in value the property might experience.</span></td></tr>'+
'<tr><td class="style2">Property Value of house you might buy:</td><td class="style2">$<input type="text" class="textbox" id="SalePrice444"  value="120000" size="12" maxlength="15"></td></tr>'+
'<tr><td class="style2">Loan Amount:</td><td class="style2">$<input type="text" class="textbox" id="LoanAmt444" value="100000" size="12" maxlength="15"></td></tr>'+
'<tr><td class="style2">Loan Term:</td><td class="style2"><input type="text" class="textbox" id="TermCombo444" value="30" size="5"> years</td></tr>'+
'<tr><td class="style2">Loan Interest Rate:</td><td class="style2"><input type="text" class="textbox" id="InterestRate444"  value="7.5" size="9" maxlength="15">%</td></tr>'+
'<tr><td align="left" valign="bottom" class="style2">Other Monthly Costs associated with owning a home: (assoc. dues, trash pickup, etc.)</td>'+
'<td class="style2">$<input type="text" class="textbox" id="MonthlyOwnCosts444" value="0" size="9" maxlength="15"></td></tr>'+
'<tr><td class="style2">Your Income Tax Bracket: </td><td><select class="textbox" id="IncomeTax444">'+
'<option value="--">--</option><option value="15">15</option><option value="28" selected>28</option><option value="31">31</option><option value="36">36</option><option value="39">39</option></select><span class="style2">%</span></td></tr>'+
'<tr><td class="style2">Your Tax Filing Status: </td><td><select class="textbox" id="FilingList444">'+
'<option value="--">-- </option><option value="4000">Single </option><option value="6700" selected>Married-Joint</option>'+
'<option value="3350">Married-Indiv.</option><option value="5900">Head of House</option></select></td></tr>'+
'<tr><td class="style2">Current Monthly Rent: </td><td class="style2">$<input type="text" class="textbox" id="CurRent444"  value="850" size="9" maxlength="15"></td></tr>'+
'<tr><td class="style2">Other Monthly Costs associated with renting: </td><td class="style2">$<input type="text" class="textbox" id="OtherExp444"  value="25" size="9" maxlength="15"></td></tr>'+
'<tr><td class="style2">Years to Calculate:<br/><span class="style1">(Timeframe for which you want to compare renting vs. buying)</td><td><input type="text" class="textbox" id="Years444"  value="10" size="3" maxlength="15"></td></tr>'+
'<tr><td colspan="2" align="center"><button id="-formButton" onClick="return runCalc444();">Calculate</button></td></tr>'+
'<tr><td colspan="2" class="style2"><strong>Results</strong></td></tr>'+
'<tr><td width="64%" class="style2">Monthly Payment if you rent: </td><td width="41%"><input type="text" class="textbox" id="RentPmt444"  value="" size="10" maxlength="15"></td></tr>'+
'<tr><td width="64%" class="style2">Monthly Payment if you buy: </td><td width="41%"><input type="text" class="textbox" id="BuyPmt444"  value="" size="10" maxlength="15"></td></tr>'+
'<tr><td width="64%" class="style2">Monthly Payment if you buy (Tax Adjusted): </td><td width="41%">'+
'<input type="text" class="textbox" id="BuyPmtTaxAdj444" value="" size="10" maxlength="15"></td></tr>'+
'<tr><td width="64%" class="style2">Monthly Savings if you buy: </td><td width="41%"><input type="text" class="textbox" id="PmtCompare444"  value="" size="10" maxlength="15"></td></tr>'+
'<tr><td width="64%" class="style2">Monthly Savings if you buy (Tax Adjusted): </td><td width="41%"><input type="text" class="textbox" id="ComparePmtTaxAdj444"  value="" size="10" maxlength="15"></td></tr>'+
'<tr><td width="64%" class="style2">Annual Total payment savings if you buy: </td><td width="41%"><input type="text" class="textbox" id="PaymentSavings444"  value="" size="10" maxlength="15"></td></tr>'+
'<tr><td width="64%" class="style2">Annual Tax Savings if you buy: </td><td width="41%"><input type="text" class="textbox" id="AnnualTaxSavings444"  value="" size="10" maxlength="15"></td></tr>'+
'<tr><td width="64%" class="style2">Total Annual Savings if you buy: </td><td width="41%"><input type="text" class="textbox" id="TotalAnnualSavings444"  value="" size="10" maxlength="15"></td></tr>'+
'<tr><td width="64%" class="style2">Mortgage Principal paid over the timeframe specified: </td><td width="41%"><input type="text" class="textbox" id="TotalPrincipal444"  value="" size="10" maxlength="15"></td></tr>'+
'<tr><td width="64%" class="style2">Total Savings over the timeframe specified: </td><td width="41%"><input type="text" class="textbox" id="TotalSavings444"  value="" size="10" maxlength="15"></td></tr><TR><TD class="style2" colspan="2"><span id="summary444"></span></TD></TR>'+
'<tr><td align="center" bgcolor="#FCF5DA" colspan="2" class="style2"><a href="http://www.mortgagemagic.info/">Mortgage Marketing</a> and <a href="http://www.freemortgagenewsletters.com">Free Mortgage Newsletters available now</a>.</td></tr><tr><td bgcolor="#FCF5DA" colspan="2" class="style1">This information and&nbsp;calculator&nbsp;is a self-help tool for your independent use and&nbsp;is not intended to provide investment advice. We can not and do not guarantee their applicability or accuracy in regards to your&nbsp;personal situation.&nbsp;Please seek the help of a qualified mortgage specialist or&nbsp;other qualified professional&nbsp;regarding all personal finance issues.</td></tr></table>';
 

var Form1 = null;
var SalePrice = null;
var IncomeTax = null;
var LoanAmt = null;
var FilingList = null;
var TermCombo = null;
var MonthlyOwnCosts = null;
var InterestRate = null;
var Years = null;
var State = null;
var CurRent = null;
var FormButton1 = null;
var RentPmt = null;
var BuyPmt = null;
var PmtCompare = null;
var RentPmtTaxAdj = null;
var BuyPmtTaxAdj = null;
var ComparePmtTaxAdj = null;
var PaymentSavings = null;
var AnnualTaxSavings = null;
var TotalAnnualSavings = null;
var TotalPrincipal = null;
var TotalSavings = null;

function Pmt444(InterestRate, Term, LoanAmount){
	var pennies
	var strPennies
	var len
	var MonthlyPayment
	InterestRate = InterestRate /1200;
	Term = Term * 12;
	MonthlyPayment = LoanAmount * InterestRate /(1 - (1 / Math.pow(1 + InterestRate, Term)));
	Pennies = MonthlyPayment * 100;
	Pennies = Math.round(Pennies);
	strPennies = "" + Pennies;
	len = strPennies.length;
	MonthlyPayment = strPennies.substring(0, (len - 2), len) + "." + strPennies.substring((len - 2), len);
	return MonthlyPayment;
}

function PureNumber444(NumString){	
	var length1 = NumString.length + 1;
	var n = 0;
	var NewNumber = "";

	if (isNaN(NumString)) {
		for (n=0;n<length1;n++){
			if ((NumString.charAt(n) <= "9") && (NumString.charAt(n) >= "0")) 
			NewNumber += NumString.charAt(n);
		}
	}else NewNumber = NumString;
	return NewNumber;
}

function ToDollars444(Bucks) {
	var Pennies;
	var strPennies;
	var len;
	Pennies = Bucks * 100;
	Pennies = Math.round(Pennies);
	strPennies = "" + Pennies;
	len = strPennies.length;
	Bucks = strPennies.substring(0, (len - 2), len) + "." + strPennies.substring((len - 2), len);
	Bucks = "$" + Bucks;
	return Bucks;

}

function fv444(rate, per, nper, pmt, pv){
	
	rate = eval((rate)/(per * 100));
	nper = parseFloat(nper);
	pmt = parseFloat(pmt);
	pv = parseFloat(pv);

	if ((pmt == 0) || (nper == 0)){
		alert("Please enter values higher than zero.");
		return(0);
	}

	if (rate == 0){ // Interest rate is 0
		fv_value = -(pv + (pmt * nper)); 
	}
	else{
		x = Math.pow(1 + rate, nper);
		fv_value = - ( -pmt + x * pmt + rate * x * pv ) /rate;
	}
	fv_value = conv_number444(fv_value,2); 
	return (fv_value);

}

function conv_number444(expr, decplaces){ 
	var str = "" + Math.round(eval(expr) * Math.pow(10,decplaces));
	while (str.length <= decplaces){
	str = "0" + str;
	}
	var decpoint = str.length - decplaces;
	return (str.substring(0,decpoint) + "." + str.substring(decpoint,str.length));
}



function runCalc444() {
	if (document.getElementById("SalePrice444").value == ""){
		window.alert("Please enter a Sales Price.");
		return;
	}
	if (document.getElementById("LoanAmt444").value == ""){
		window.alert("Please enter a Loan Amount.");
		return;
	}
	if (document.getElementById("TermCombo444").value == "--"){
		window.alert("Please choose a Loan Term.");
		return;
		}
	if (document.getElementById("InterestRate444").value == ""){
		window.alert("Please enter an Interest Rate.");
		return;
	}
	if (document.getElementById("InterestRate444").value < 1){
		window.alert("Please enter Interest Rate as a number");
		return;
	}
	if (document.getElementById("IncomeTax444").value == "--"){
		window.alert("Please choose an Income Tax Bracket.");
		return;
	}
	if (document.getElementById("FilingList444").value == "--"){
		window.alert("Please choose a Tax Filing Status.");
		return;
	}
	if (document.getElementById("MonthlyOwnCosts444").value == ""){
		window.alert("Please enter an amount into Other Monthly Ownership Costs (or enter 0 for none).");
		return;
	}
	if (document.getElementById("Years444").value == ""){
		window.alert("Please enter the amount of years you wish to calculate over.");
		return;
	}
	if (document.getElementById("CurRent444").value == ""){
		window.alert("Please enter your current monthly rent.");
		return;
	}
	var LoanAmount = document.getElementById("LoanAmt444").value;
	var SalesPrice = document.getElementById("SalePrice444").value
	var Term = document.getElementById("TermCombo444").value
	var Rate = document.getElementById("InterestRate444").value
	var Payment = Pmt444(Rate, Term, LoanAmount);
	var MoCosts = document.getElementById("MonthlyOwnCosts444").value
	var OtherThing = (((document.getElementById("SalePrice444").value) * 0.0225)/12);
	var CurMoRent = parseInt(document.getElementById("CurRent444").value) + parseInt(document.getElementById("OtherExp444").value);
	var RentalTerm = document.getElementById("Years444").value;
	var FutureValue = fv444(Rate, 12, (RentalTerm * 12), (Payment * -1), LoanAmount);
	var TotalPmtForTerm = ((RentalTerm * 12) * Payment) * -1;
	var TotalPrinciplePaid = (parseInt(LoanAmount * 10000) + parseInt(FutureValue * 10000)) / 10000;
	var TotalInterestPaid = (TotalPmtForTerm + TotalPrinciplePaid);
	var AvgIntYearly = (TotalInterestPaid / RentalTerm) * -1;
	var AvgIntMonthly = (AvgIntYearly / 12);
	var IncomeTaxBracket = ((document.getElementById("IncomeTax444").value)/100);
	var FilingStatus = document.getElementById("FilingList444").value; {
	Payment = parseInt(Payment * 10000);
	MoCosts = parseInt(MoCosts * 10000);
	OtherThing = parseInt(OtherThing * 10000);
	AvgIntMonthly = parseInt(AvgIntMonthly * 10000);
	SalesPrice = parseInt(SalesPrice * 10000);
	}
	var Total1 = ((Payment + MoCosts + OtherThing)/10000);
	var Total2 = (Total1 - parseInt(CurMoRent)) * -1;
	var IntDividedByTerm = ((TotalInterestPaid * -1) / RentalTerm);
	var SalesPriceTimesPropTax = ((SalesPrice * 0.019) / 10000);
	var Total3 = Total1 - (((IntDividedByTerm + SalesPriceTimesPropTax - FilingStatus) * IncomeTaxBracket) / 12);
	var Total4 = ((Total3 - CurMoRent) * -1);
	var Total5 = ((Total1 - Total3) * 12);
	var Total6 = (Total2 * 12);
	var Total7 = (Total5 + Total6);
	var CompoundedSavings	
	
	if (Total7 <= 0){
		CompoundedSavings = (Total7 * RentalTerm);
	}
	else{
		CompoundedSavings = Total7 * (((Math.pow(1.03, parseInt(RentalTerm)))-1)/0.03);
	}
	var Total8 = (TotalPrinciplePaid + CompoundedSavings);{  // Currency Format($0.00) //
	Total1 = ToDollars444(Total1);
	Total2 = ToDollars444(Total2);
	Total3 = ToDollars444(Total3);
	Total4 = ToDollars444(Total4);	
	Total5 = ToDollars444(Total5);
	Total6 = ToDollars444(Total6);
	Total7 = ToDollars444(Total7);
	var summarydollars = Total8;
	Total8 = ToDollars444(Total8);
	TotalPrinciplePaid = ToDollars444(TotalPrinciplePaid);
	}

	// Place results out on form //
	
	{
	document.getElementById("RentPmt444").value = addCommas444(ToDollars444(parseInt(CurMoRent)));
	//document.getElementById("RentPmtTaxAdj").value = ToDollars(parseInt(CurMoRent-(((IntDividedByTerm + SalesPriceTimesPropTax - FilingStatus) * IncomeTaxBracket) / 12)));
	document.getElementById("BuyPmt444").value = addCommas444(Total1);
	document.getElementById("PmtCompare444").value = addCommas444(Total2);
	document.getElementById("BuyPmtTaxAdj444").value = addCommas444(Total3);
	document.getElementById("ComparePmtTaxAdj444").value = addCommas444(Total4);
	document.getElementById("AnnualTaxSavings444").value = addCommas444(Total5);
	document.getElementById("PaymentSavings444").value = addCommas444(Total6);
	document.getElementById("TotalAnnualSavings444").value = addCommas444(Total7);
	document.getElementById("TotalPrincipal444").value = addCommas444(TotalPrinciplePaid);
	document.getElementById("TotalSavings444").value = addCommas444(Total8);

  if (summarydollars > 0) {
	document.getElementById("summary444").innerHTML = "<strong>It is wiser to buy rather than rent because you'll save "+addCommas444(Total8)+ " over the time period you specified.</strong>";
  }
  else {
    document.getElementById("summary444").innerHTML = "<strong>It is wiser to rent rather than buy because if you bought, you wouldn't save any money over the time period you specified.</strong>";
  }
 }
 }

function addCommas444(nStr)
{
	nStr += '';
	x = nStr.split('.');
	x1 = x[0];
	x2 = x.length > 1 ? '.' + x[1] : '';
	var rgx = /(\d+)(\d{3})/;
	while (rgx.test(x1)) {
		x1 = x1.replace(rgx, '$1' + ',' + '$2');
	}
	return x1 + x2;
}
