﻿
function floor(number)
{
  return Math.floor(number*Math.pow(10,2))/Math.pow(10,2);
}

function dosum()
{
  var mi = document.temps.IR.value / 1200;
  var base = 1;
  var mbase = 1 + mi;

  for (i=0; i<document.temps.YR.value * 12; i++)
  {
    base = base * mbase
  }

  document.temps.PI.value = floor(document.temps.LA.value * mi / ( 1 - (1/base)))
  document.temps.MT.value = floor(document.temps.AT.value / 12)
  document.temps.MI.value = floor(document.temps.AI.value / 12)
  var dasum = document.temps.LA.value * mi / ( 1 - (1/base)) +
	document.temps.AT.value / 12 + 
	document.temps.AI.value / 12;
  document.temps.MP.value = floor(dasum);
}

function checkNumber(input, min, max, msg)
{   
    msg = msg + " field has invalid data: " + input.value;
    var str = input.value;
    
    for (var i = 0; i < str.length; i++)
    {   
        var ch = str.substring(i, i + 1)
        if ((ch < "0" || ch > "9") && ch != '.')
        {
            alert(msg);
            return false;
        }
    }

    var num = parseFloat(str)
    if (num < min || num > max)
    {
        alert(msg + " not in the range " + min + " to " + max);
        return false;
    }
    
    input.value = str;
    return true;
}

function computeField(input)
    {   if (    input.value != null && input.value.length != 0    )
	          input.value = "" + eval(input.value);
        computeForm(input.form);
    }
function computeForm(form)
    {   if (   form.payments.value == null ||
                form.payments.value.length == 0 ||
                form.interest.value == null ||
                form.interest.value.length == 0 ||
                form.principal.value == null ||
                form.principal.value.length == 0  )
            return;
        if (   !checkNumber(form.principal, 100, 9999999, "Principal") ||
                !checkNumber(form.payments, 1, 480, "Number of Payments") ||
                !checkNumber(form.interest, .001, 99, "Interest")    )
            {   form.payment.value = "Invalid";    return;    }
        var i = form.interest.value;
        if (    i < 1    )
            {   i *= 100;    form.interest.value = i;    }
        i /= 1200;
        var pow = 1;
        for (var j = 0; j < form.payments.value; j++)
             pow = pow * (1 + i);
        monthly = (form.principal.value * pow * i) / (pow - 1)
        form.payment.value = Math.ceil(100 * monthly)/100
    }
function clearForm(form)
    {   form.principal.value = "";
        form.payments.value = "";
        form.interest.value = "";
    }



// Original:  Michael C. Hundt (mchundt@nglic.com)
// Web Site:  http://www.cinet.net/~mhundt/mystuff.htm

// This script and many more are available free online at
// The JavaScript Source!! http://javascript.internet.com

var i = 0; // interest
var m = 0; // months
var f = 0; // factor
var den = 0; 
var s = "0"; // string
var d = 0; // decimal place
function CalcA() {
    var $interestField = jQuery("#interestField").val();
    var $monthsField = jQuery("#monthsField").val();
    var $paymentField = jQuery("#paymentField").val();
    var $periodField = jQuery("#periodField").val();

    if ($interestField == "" || $monthsField == "" || $paymentField == "") {
        alert("Please fill in all of the required fields.");
    }
    else {
        if ($periodField == "y") {
            m = $monthsField * 12;
        }
        else {
            m = $monthsField;
        }

        i = Math.pow((($interestField / 100) + 1), .0833333) - 1;
        den = i / (i + 1);
        f = Math.pow((i + 1), m) - 1;
        f /= den;
        f *= $paymentField;
        d = String(f).indexOf(".");
        s = String(f).substring(0, (d + 3));
        jQuery("#totalField").val("$" + s);
    }
}

function leave() {
    window.open('../popup.htm', 'leavepopup', 'toolbar=no,menubar=no,location=no,height=400,width=500');
}

