function openwindow(url, winName, width, height) {
window.open(url, winName, 'width='+width+',height='+height+',toolbar=no,location=no,directories=no,status=no,menubar=no,scrollbars=no,resizable=no,copyhistory=no');
}

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" || "9" < ch) && ch != '.') {
                 alert(msg);
                 return false;
             }
         }
         var num = 0 + str
         if (num < min || max < num) {
             alert(msg + " not in range [" + min + ".." + 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.payments, 1, 480, "# of payments") ||
             !checkNumber(form.interest, .001, 99, "Interest") ||
 
             !checkNumber(form.principal, 100, 10000000, "Principal")) {
             form.payment.value = "Invalid";
             return;
         }
 
         var i = form.interest.value;
         
         if (i > 1.0) {
             i = i / 100.0;
             form.interest.value = i;
         }
         i /= 12;
 
         var pow = 1;
         for (var j = 0; j < form.payments.value; j++)
             pow = pow * (1 + i);
         form.payment.value = Math.round(((form.principal.value * pow * i) / (pow - 1))*100)/100
     }
 
function clearForm(form) {
         form.payments.value = "";
         form.interest.value = "";
         form.principal.value = "";
     }

