<!--//
function Do_Trim( aFloatString )
{
  Index   = new Number( "-1" );
  Trimmed = new String( "" );
  TempStr = new String( "" );

  Index = aFloatString.indexOf( ".", 0 );

  if( Index > -1 ) TempStr = aFloatString.concat( "00" );
  else
  {
    TempStr = aFloatString.concat( ".00" );
    Index = TempStr.indexOf( ".", 0 );
  }
  Index += 3;
  Trimmed = TempStr.substring( 0, Index );
  return Trimmed;
}


function binomial(a, n)
{
  var i;
  var sum, pow, term, cof;

  if(n < 0)
    return 1.0 / binomial(a, -n);

  sum = 1.0;
  pow = n;
  term = 1;
  cof = 1.0
  for(i = 1; i < 10; i++) {
    cof = cof * pow / i;
    pow = pow - 1.0;
    term = term * a;
    sum = sum + cof * term;
  }

  return sum;
}


function CalculatePayment()
{
  document.PaymentCalculator.MonthlyPayment.value = "";

  if( isNaN( document.PaymentCalculator.LoanAmount.value ) )
  {
    alert( 'Loan Amount is not a valid numerical value!' );
    document.PaymentCalculator.LoanAmount.focus();
    return( false );
  }
  if( isNaN( document.PaymentCalculator.InterestRate.value ) )
  {
    alert( 'Loan Amount is not a valid numerical value!' );
    document.PaymentCalculator.InterestRate.focus();
    return( false );
  }
  if( isNaN( document.PaymentCalculator.LoanTerm.value ) )
  {
    alert( 'Loan Term is not a valid numerical value!' );
    document.PaymentCalculator.LoanTerm.focus();
    return( false );
  }

  LoanAmount      = new Number( document.PaymentCalculator.LoanAmount.value );
  InterestRate    = new Number( document.PaymentCalculator.InterestRate.value );
  InterestRate    = InterestRate / 100.0;
  LoanTerm        = new Number( document.PaymentCalculator.LoanTerm.options[document.PaymentCalculator.LoanTerm.selectedIndex].value );
  MonthlyRate     = new Number( InterestRate / 12.0 );
  MonthlyPayment  = new Number( 0 );

  MonthlyPayment = LoanAmount * MonthlyRate / (1.0 - binomial(MonthlyRate, -LoanTerm));
  document.PaymentCalculator.MonthlyPayment.value = Do_Trim( MonthlyPayment.toString() );

  return(true);
}


if( document.PaymentCalculator.LoanAmount.value != "" && isNaN( document.PaymentCalculator.LoanAmount.value ) == false )
{
  CalculatePayment();
}
//-->
