function binomial(a, n)
{
  var i;
  var sum, pow1, term, cof;
  if(n < 0)
    return 1.0 / binomial(a, -n);
  sum = 1.0;
  pow1 = n;
  term = 1;
  cof = 1.0
  for(i = 1; i < 10; i++) {
    cof = cof * pow1 / i;
    pow1 = pow1 - 1.0;
    term = term * a;
    sum = sum + cof * term;
  }
  return sum;
}

function compute_amount(form)
{
  var P, I, N, Y, M;
  if((form.loan.value.length == 0) ||
     (form.rate.value.length == 0) ||
     (form.num.value.length == 0))
    form.amount.value = "0.00";
  else {
    P = eval(form.loan.value);
    I = eval(form.rate.value) / 100.0;
    N = eval(form.num.value);
    Y = 12;

    if(Y == 0.0)
      M = 0.0;
    else {
      M = P * I / Y / (1.0 - binomial(I / Y, -N));
      M = M * 100;
      M = Math.round(M);
      M = M / 100;
    }       
    form.amount.value = "" + M;
  }
}
