;
function isNum(str) 
{
	// checks 'str' contains only digits and '.'
	for (var i = 0; i < str.length; i++) 
	{
		var ch = str.substring(i, i + 1)
		if ((ch < "0" || "9" < ch) && ch != '.') 
		{
			return false
		}
	}
	if ((str.length==0)) 
	{
		return false
	}
	else 
	{
		return true
	}
}

function twodp(num) 
{
	num="$"+Math.round(100*num)/100;
	if (num.indexOf(".")==-1) num+=".00";
	if (num.indexOf(".")==num.length-2) num+="0";
	return num.substring(1,num.length);
}

function ClearCalc() 
{
	document.calcPayment.amount.value=""
	document.calcPayment.aprpcnt.value=""
	document.calcPayment.nmonths.value=""
	document.calcPayment.mpayment.value=""
	document.calcPayment.trepaid.value=""
	document.calcPayment.tcharge.value=""
}

function FindPayment() 
{
	msg=""

	ppstring=document.calcPayment.amount.value
	if (!isNum(ppstring)) 
	{
		msg+="Please enter a valid loan amount such as 5000.\n"
	}

	aprstring=document.calcPayment.aprpcnt.value
	if (!isNum(aprstring)) 
	{
		msg+="The APR is not valid. Please enter a value such as 6.5\n"
	}

	nstring=document.calcPayment.nmonths.value
	if (!isNum(nstring)) 
	{
		msg+="Please select a repayment period.\n"
	}

	if (msg.length==0)  
	{

		var p=parseFloat(ppstring)
		var n=parseFloat(nstring)
		var apr=parseFloat(aprstring)
		var r=Math.pow((1+apr/100),1/12)

		if (apr>0) 
		{
			rn=Math.pow(r,n)
			a=p*(1-r)*rn/(1-rn)
		}
		else  
		{
			a=p/n
		}

		p=twodp(p)
		a=twodp(a)
		totp=twodp(a*n)
		interest=twodp(a*n-p)

		document.calcPayment.amount.value=p
		document.calcPayment.mpayment.value=a
		document.calcPayment.trepaid.value=totp
		document.calcPayment.tcharge.value=interest
	}
	else 
	{
		alert(msg+"\nPlease enter only digits or '.' into the boxes.\n")
	}
}
