// JavaScript Document
/***************************
(c) 2008 www.TUFaT.com
All Rights Reserved. Please
do not re-sell/re-distribute
this software.
***************************/
function CalcMillion(form)
{
	var yld = form.yld.value;
  	var inf = form.inf.value;
  	var fin = form.fin.value;
  	var amt = form.amt.value;
  	var dep = form.dep.value;
  	var mi = yld/1200;
	var yrs=0;
	var py=0;
	var ayrs=0;
  	var tt = yrs * py; 
	var StrOut = '';
	
	StrOut = StrOut + "<center><strong>With your Yield of "+formatNumberDec(yld,2,1)+" % ";
	StrOut = StrOut + "with monthly deposits of $ "+formatNumberDec(dep,2,1)+" </strong><br/>";
	StrOut = StrOut + "<strong>With an Initial Amount of $ "+formatNumberDec(eval(amt),2,1)+"</strong><br/>";
	var sfin = fin;
	StrOut = StrOut + "<strong>And a Final Amount of $ "+formatNumberDec(eval(sfin),2,1)+"</strong><br/>" ;
	var fact = 1; 
	var need_a = 1;
	while(amt < (fin*fact) && yrs < 100) 
	{
		yrs++;
		for (i=0; i<12; i++)
		{
			amt = amt * (1 + eval(mi)) + eval(dep);
		}
		fact = fact * (1 + inf/100); 
		if (amt > fin && need_a == 1)
		{
			ayrs = yrs; 
			afin = fin/fact;
			need_a = 0;
		}
		//dep = dep * (1 + inf/100); 
	}
  	if (ayrs > 0)
	{
		safin = afin;
		StrOut = StrOut + "<strong>You will reach your goal in "+ayrs+" years,<br>But due to "+formatNumberDec(inf,3,1)+"% inflation<br> your $ "+formatNumberDec(sfin,2,1)+" will only be worth <br>$ "+formatNumberDec(safin,2,1)+" in today's dollars</strong><br/>";
	}
	if (yrs < 100)
	{
		samt = amt;
		StrOut = StrOut + "<strong>To reach $ "+formatNumberDec(sfin,2,1)+" in todays dollars<br>you will have to wait "+yrs+" years<br>when your balance will be $ "+formatNumberDec(samt,2,1)+"</strong><br/>";
	} else {
    	StrOut = StrOut + "<strong>Even after 100 years, you will only have $ "+formatNumberDec(amt,2,1)+", worth<br>$ "+formatNumberDec((amt/fact),2,1)+" in today's dollars</strong><br/>";
  	}
	document.getElementById("results").innerHTML=StrOut;
	document.getElementById("results").style.display='block';
}

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;
}
