// JavaScript Document
/***************************
(c) 2008 www.TUFaT.com
All Rights Reserved. Please
do not re-sell/re-distribute
this software.
***************************/
window.onerror=null
bState = true

function CalcLoan(form)
{
	var abal = form.abal.value; // Loan amount
	var pay1 = form.pay1.value; // Minimum monthly payment
	var pay2 = form.pay2.value; // Maximum monthly payment
	var intr = form.intr.value; // Annual Interest Rate (Fixed Plan)
	var StrOut = '';
	
	intr = intr/1200;  // Calculate monthly interest rate
	
	var interestCheck = abal * intr; // Interest you will pay per month 
	// Check minimum payment is greater than interest
	if(interestCheck >= pay1) // Have problem payment does not cover interest GIVE ALERT
	{
		alert("Error! Minimum payment has to be higher than " + interestCheck + " just to pay interest!");
	}
	
	else if(interestCheck >= pay2)
	{
		alert("Error! Maximum payment has to be higher than " + interestCheck + " just to pay interest!");
	}
	
	else // Otherwise NO problems do calculations and display results
	{
		for (i=0; i<2; i++)
		{
			mv = abal; 
			mm = 0; 
			ti = 0;
			if (i == 0)
			{ 
				py = pay1; 
				mt = "minimum"; 
			} else { 
				py = pay2; 
				mt = "maximum"; 
			}


			// Get number of periods to pay off loan
			// mm = number of periods
			mm = Math.log(py/abal) - Math.log(py/abal - intr);
			mm = mm / Math.log(1 + intr);

			// Calculate total interest and store in ti
			ti = mm * py - abal;


			StrOut = StrOut + "<strong>Using the "+mt+" payment it will take";
			StrOut = StrOut + " "+mm+" months ("+formatNumberDec((mm/12),3,1)+" years) to pay off your loan</strong><br/>";
			StrOut = StrOut + "- Total interest: $ "+formatNumberDec(ti,2,1)+" ("+formatNumberDec((ti/mm),2,1)+" average per month)<br/><br/>";
		}
		document.getElementById("results").innerHTML=StrOut
		document.getElementById("results").style.display='block';
		
	}// End of else

	
	
}// End of CalcLoan 


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;
}
