function calculatePayment()
{
var intInterest;
var intPeriod;
var intValue;
var intPayment;
var blnCalculate = true;
var strMessage;

		intPeriod = document.calculatorform.loanperiod.value;
		intValue = document.calculatorform.loanamount.value;
		intDown = document.calculatorform.downamount.value;
		intInterest = document.calculatorform.interestrate.value;
		
if (intInterest != null && ! intInterest == "")
{
		intInterest = removeChars(document.calculatorform.interestrate.value);
}
else
{
		intInterest = 0;
}
if (intPeriod != null && ! intPeriod == "")
{
		intPeriod = removeChars(document.calculatorform.loanperiod.value);
}
else
{
		intPeriod = 0;
}
if (intValue != null && ! intValue == "")
{
		intValue = removeChars(document.calculatorform.loanamount.value);
}
else
{
		intValue = 0;
}
if (intDown != null && ! intDown == "")
{
		intDown = removeChars(document.calculatorform.downamount.value);
}
else
{
		intDown = 0;
}

	if (! checkNumber(intValue)) 
		{
		document.calculatorform.loanamount.focus();
		strMessage='Please enter a numeric loan amount.';
		blnCalculate=false;
		}
	else if(! checkNumber(intDown))
		{
		document.calculatorform.downamount.focus();
		strMessage='Please enter a numeric down amount.';
		blnCalculate=false;
		}
		
	else if(! checkNumber(intPeriod))
		{
		document.calculatorform.loanperiod.focus();
		strMessage='Please enter a numeric loan period.';
		blnCalculate=false;
		}
	
	else if(! checkNumber(intInterest))
		{
		document.calculatorform.interestrate.focus();
		strMessage='Please enter a numeric interest rate.';
		blnCalculate=false;
		}
	
	
	if (blnCalculate)
	{
		intInterest = intInterest / 100 / 12;
		intPeriod = intPeriod * 12;
		intValue = intValue;
				
		intPayment = ((intValue-intDown) * intInterest)/(1-(1/(Math.pow((1+intInterest),intPeriod))))
		if (formatCurrency(intPayment) != "$0.00")
		{
			document.calculatorform.monthlypayment.value=formatCurrency(intPayment);
			expandcontract('Row2','');
		}
		else
		{	
			alert("Invalid input. Please try again.");
			expandcontract('Row2','none');		
		}
	}
	else
	{
		alert(strMessage);
		document.calculatorform.monthlypayment.value=""		
	}
}

function removeChars(s) {
  /*
  ** Remove % and $ characters
  ** returns new string
  */
  r = "";
  for (i=0; i < s.length; i++) {
    if (s.charAt(i) != '$' &&
    	s.charAt(i) != ',' &&
        s.charAt(i) != '%') {
      r += s.charAt(i);
      }
    }
  return r;
  }

function checkNumber(sText)
{
   var ValidChars = "0123456789.";
   var IsNumber=true;
   var Char;
   for (i = 0; i < sText.length && IsNumber == true; i++) 
   { 
      Char = sText.charAt(i); 
      if (ValidChars.indexOf(Char) == -1) 
      {
         IsNumber = false;
      }
   }
   return IsNumber;
}

function formatCurrency(num) {
num = num.toString().replace(/\$|\,/g,'');
if(isNaN(num))
num = "0";
sign = (num == (num = Math.abs(num)));
num = Math.floor(num*100+0.50000000001);
cents = num%100;
num = Math.floor(num/100).toString();
if(cents<10)
cents = "0" + cents;
for (var i = 0; i < Math.floor((num.length-(1+i))/3); i++)
num = num.substring(0,num.length-(4*i+3))+','+
num.substring(num.length-(4*i+3));
return (((sign)?'':'-') + '$' + num + '.' + cents);
}

function expandcontract(tbodyid,dis) {
  document.getElementById(tbodyid).style.display = dis;
}