// JavaScript Document
/***************************
(c) 2008 www.TUFaT.com
All Rights Reserved. Please
do not re-sell/re-distribute
this software.
***************************/
var e=Math.exp(1);
var earate=1; <!-- Effective Annual Rate -->
var chc = 5;
var p = 1;
var r = 1;
var t = 1;
var n = 1;
var comp=0;
var units=0;
var rate=0;

function log()
{
	units=eval(document.boxes.units.value);
	//rate=eval (document.boxes.fvalue.value);
	p = eval (document.boxes.prvalue.value);
	y = eval (document.boxes.totyr.value);
	t = eval (document.boxes.fvalue.value);
	r = ((Math.log(t)-Math.log(p))/y);
	r = (Math.exp(r))-1;
	rate=r;
	rate2=r;
	r = r*100000000000
	r = Math.round(r)
	r=r/1000000000
	var StrOut = '';
	StrOut = StrOut + "To accumulate a future balance of: $ "+formatNumberDec(t,2,1)+"<br/>Given a current amount of: $ "+formatNumberDec(p,2,1)+"<br/>over "+y+" years, compounded "+units+" times a year ("+(y*units)+" total periods)<br/><hr><br/>";
	StrOut = StrOut + "The following rates are required:<br>";
	rate=rate+1;
	rate=Math.pow(rate,(1/units));
	rate=((rate-1)*units)*100;
	if(units==1000){
		rate2=(Math.log(t)-Math.log(p))/y;
		rate=rate2*100;
	}
	rate=rate*1000000000;
	rate=Math.round(rate);
	rate=rate/1000000000;
	StrOut = StrOut + "- Required Nominal rate is <strong>"+formatNumberDec(rate,4,1)+" %</strong><br>";
	StrOut = StrOut + "- Required Effective rate is <strong>"+formatNumberDec(r,4,1)+" %</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;
}

