// JavaScript Document
/***************************
(c) 2008 www.TUFaT.com
All Rights Reserved. Please
do not re-sell/re-distribute
this software.
***************************/
function formatNumberDec(num, places, comma) {
	var isNeg=0;
	if(num < 0) {
	   num=num*-1;
	   isNeg=1;
	}
	var myDecFact = 1;
	var myPlaces = 0;
	var myZeros = "";
	while(myPlaces < places) {
	   myDecFact = myDecFact * 10;
	   myPlaces = eval(myPlaces) + eval(1);
	   myZeros = myZeros + "0";
	}
	onum=Math.round(num*myDecFact)/myDecFact;
	integer=Math.floor(onum);
	if (Math.ceil(onum) == integer) {
		decimal=myZeros;
	} else{
		decimal=Math.round((onum-integer)* myDecFact)
	}
	decimal=decimal.toString();
	if (decimal.length<places) {
		fillZeroes = places - decimal.length;
	   for (z=0;z<fillZeroes;z++) {
		decimal="0"+decimal;
		}
	 }
	if(places > 0) {
	  decimal = "." + decimal;
	}
	if(comma == 1) {
		integer=integer.toString();
		var tmpnum="";
		var tmpinteger="";
		var y=0;
		for (x=integer.length;x>0;x--) {
			tmpnum=tmpnum+integer.charAt(x-1);
			y=y+1;
			if (y==3 & x>1) {
				tmpnum=tmpnum+",";
				y=0;
			}
		}
		for (x=tmpnum.length;x>0;x--) {
			tmpinteger=tmpinteger+tmpnum.charAt(x-1);
		}
		finNum=tmpinteger+""+decimal;
	} else {
		finNum=integer+""+decimal;
	}
    if(isNeg == 1) {
       finNum = "-" + finNum;
    }
	return finNum;
}


function CalcBalloon(form)
{	
	var bal= form.bal.value;
	var prepay= form.prepay.value;
	var int= form.int.value;
	var fxd= form.fxd.value;
	init = fxd.substr(0,1); 
	if (init == "1")
	{ 
		init= 10; 
	}
	tt = init * 12; 
	ir = int / 1200;
	temp = Math.pow((1 + eval(ir)), -360);
	paymt = (bal * ir) / (1 - temp);
	var StrOut='';
	StrOut = StrOut + "<strong>Your Monthly Payment for "+init+" Years will be $ "+formatNumberDec(paymt,2,1)+"</strong><br />";
	if (prepay > 0)
	{
		StrOut = StrOut + "<strong>Plus $ "+formatNumberDec(prepay,2,1)+" monthly prepayment for $ "+formatNumberDec((eval(paymt)+eval(prepay)),2,1)+" total</strong><br />";
	}
	StrOut = StrOut + "<strong>Amortization Table for First "+init+" Years</strong>";
	StrOut = StrOut + "<center><table border=1 width='80%' cellspacing=0 cellpadding=3 align=center><tr><td>Yr</td><td>Start Bal</td><td>Int</td><td>End Bal</td><br />"; 
	for (i=1; i<=init; i++)
	{
		sbal = bal; 
		ti = 0;
		for (j=0; j<12; j++)
		{
			ci = bal * ir; 
			bal =eval(bal)+ eval(ci - paymt - prepay); 
			ti = eval(ti) + eval(ci);
		}
		StrOut = StrOut + "<tr><td align='right'>"+i+"</td><td align='right'>"+formatNumberDec(sbal,2,1)+"</td><td align='right'>"+formatNumberDec(ti,2,1)+"</td><td align='right'>"+formatNumberDec(bal,2,1)+"</td>";
	}
	StrOut = StrOut + "</table>"; 
	StrOut = StrOut + "<p align=center><strong>After "+init+" Years Your Balance will be $ "+formatNumberDec(bal,2,1)+"<br/>";
	rest = 30 - init;
	StrOut = StrOut + "Let's see what happens in the next "+rest+" years</strong></p>";
	
	StrOut = StrOut + "<table border=1 width='80%' cellspacing=0 cellpadding=3><tr><td>Rate</td><td>Payment</td><td>Tot Int</td>\n";
	StrOut = StrOut + "<td>Rate</td><td>Payment</td><td>Tot Int</td>\n";
	for (fi = 4; fi <= 8; fi += .25)
	{
		ir = fi/1200; 
		fi2 = fi + 4;
		temp = Math.pow((1 + ir) , -(rest * 12));
		np = (bal * ir) / (1 - temp);
		ti = (rest * 12 * np) - bal;
		
		ir2 = fi2/1200;
		temp = Math.pow((1 + ir2), -(rest * 12));
		np2 = (bal * ir2) / (1 - temp);
		ti2 = (rest * 12 * np2) - bal;
		StrOut = StrOut + "<tr><td align='right'>"+formatNumberDec(fi,2,1)+"</td><td align='right'>"+formatNumberDec(np,2,1)+"</td><td align='right'>"+formatNumberDec(ti,2,1)+"</td>\n";
		StrOut = StrOut + "<td align='right'>"+formatNumberDec(fi2,2,1)+"</td><td align='right'>"+formatNumberDec(np2,2,1)+"</td><td align='right'>"+formatNumberDec(ti2,2,1)+"</td>\n";
	}
	StrOut = StrOut + "</table>"; 
	StrOut = StrOut + "<p align=center><strong>This shows what your new monthly payment will be as well	as the total interest you will pay for the next "+rest+" years depending what your new interest rate will be.</strong></p>";
	document.getElementById("results").innerHTML=StrOut;
	document.getElementById("results").style.display='block';
}
