// Copyright 2000 by GKD
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 range [" + min + ".." + max + "]");
			return false;
   		}
		input.value = str;
		return true;
	}


function computeRepay(repay)
{
	if ((repay.payments.value == null || repay.payments.value.length == 0) ||
	(repay.interest.value == null || repay.interest.value.length == 0) ||
	(repay.principal.value == null || repay.principal.value.length == 0))
		{
			return;
		}

	if (!checkNumber(repay.payments, 1, 30, "term of loan") ||
	!checkNumber(repay.interest, 1, 30, "Interest") ||
	!checkNumber(repay.principal, 1000, 10000000, "Principal"))
		{
			repay.payment.value = "Invalid";
			return;
		}
	var i = repay.interest.value;
	i = i / 1200.0;
	var pow = 1;
	for (var j = 0; j != (repay.payments.value * 12); j++)
	pow = pow * (1 + i);
	repay.payment.value = (repay.principal.value * pow * i) / (pow - 1);
	repay.payment.value = Math.round(repay.payment.value);
}


function clearRepay(repay) 
{
	repay.payments.value = "";
	repay.interest.value = "";
	repay.principal.value = "";
}
