
function doSum(a)
	{
	a.value=check(a.value);
	}

function check(a) 
	{
        var pest = 0;
	var b = "";

   	for(i=0;i<=a.length;i++)
		{
   		var u = a.charAt(i);
	        if((u>="0"&&u<="9")||u==".")
		      {
			if(u==".")
				{
				var pest = pest+1;
      				if(pest==2){break;}
				}
			var b = b + u;
			}
		}
	return b;
	}


function checkNumber(quest,input,min,msg)
	{
        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 != '.') 
			{
			return false;
		        }
		    }

    	if(input.value!="")
	    {
	    var num = 0 + str
	    if (num < min) 
		{
		var sendn = "Question " + quest + ": ("+ msg + ")";
	        var sendq = "You have entered " + input.value + ". Please enter a number greater than " + min +".";
		fixpro(sendn,sendq);
	        return false;
	       }
           input.value = str;
           return true;
	   }
	}

function roundPen(n,num)
	{
	if(n > 0)
		{
		var nums = num*1.0;
		if(num==2)
			{
			pennies = n*100;}
			if(num==3)	
				{
				pennies = n*1000;
				}
			pennies = Math.round(pennies);
			strPennies = "" + pennies;
			len = strPennies.length;
			return strPennies.substring(0, len - nums) + "." + strPennies.substring(len - nums, len);
			}
	else return 0;
	}

function controlVarst(n)
	{
	if(controlVars(n)==true){}
	}

function controlVars(n)
	{
	if(compute(n)==true)
		{
		if(n!=2){var AMORT = document.paycalc.NAMORT.value * 1.0;}
		if(n!=3){var MORTGAGE = document.paycalc.AMOUNT.value * 1.0;}
		if(n!=4){var INRATE = (document.paycalc.INTEREST.value * 1.0)/100;}
		if(n!=5){var PAYMENT = document.paycalc.PAYMENT.value * 1.0;}

		var FREQ = 0//(document.paycalc.PFREQ.selectedIndex)*1.0;
		//alert(FREQ);
		if(n==2){if(compAmort(MORTGAGE,INRATE,PAYMENT,FREQ)==false){return false;}else{return true;}}
		if(n==3){if(compAmnt(AMORT,INRATE,PAYMENT,FREQ)==false){return false;}else{return true;}}
		if(n==4){if(compInt(AMORT,MORTGAGE,PAYMENT,FREQ)==false){return false;}else{return true;}}
		if(n==5){if(compPay(AMORT,MORTGAGE,INRATE,FREQ)==false){return false;}else{return true;}}
		else{return true;}
		}
	else{return false;}
	}


function compPay(AMORT,MORTGAGE,INRATE,FREQ)
	{
	var compound = 2/12;
	var monTime = AMORT * 12;
	var yrRate = INRATE/2;
	var rdefine = Math.pow((1.0 + yrRate),compound)-1.0;
	var comfact = Math.pow((1.0 + rdefine),monTime);
	var PAYMNT = (MORTGAGE*rdefine * comfact)/  (comfact - 1.0);
	var rPAYMENT = PAYMNT;
	document.paycalc.PAYMENT.value=roundPen(rPAYMENT,2);
	return true;
	}


function compAmnt(AMORT,INRATE,PAYMENT,FREQ)
	{
	var rPAYMENT = PAYMENT;
	var compound = 2/12;
	var monTime = AMORT * 12;
	var yrRate = INRATE/2;
	var rdefine    = Math.pow((1.0 + yrRate),compound)-1.0;
	var comfact = Math.pow((1.0 + rdefine),monTime);
	var bal = rPAYMENT*(comfact-1)/(rdefine*comfact);
	document.paycalc.AMOUNT.value=roundPen(bal,2);
	return true;
	}

function findRate(q,n,MORTGAGE,AMORT,COMPOUND,PAYMENT)
	{
	var compound = COMPOUND/12;
	var monTime = AMORT * 12;
	var newpay = 0;
	for(i=q;newpay<=PAYMENT;i=i+n)
		{
		var RATE = i/100;
		var yrRate = RATE/COMPOUND;
		var rdefine    = Math.pow((1.0 + yrRate),compound)-1.0;
		var comfact = Math.pow((1.0 + rdefine),monTime);
		var newpay = (MORTGAGE*rdefine * comfact)/  (comfact - 1.0);
		}
	return i-n-n;
	}


function compInt(AMORT,MORTGAGE,PAYMENTx,FREQ)
	{
	var COMPOUND = 2;
	var intpayment = PAYMENTx;
	var wholerate = findRate(1,1,MORTGAGE,AMORT,COMPOUND,intpayment);
	var solverate = findRate(wholerate,.001,MORTGAGE,AMORT,COMPOUND,intpayment);
	document.paycalc.INTEREST.value = roundPen(solverate,3);
	return true;
	}

function findAmort(q,n,MORTGAGE,RATE,COMPOUND,PAYMENTAG)
	{
	var compound = COMPOUND/12;
	var yrRate = RATE/COMPOUND;
	var rdefine    = Math.pow((1.0 + yrRate),compound)-1.0;
	var newpay = 1000000000;
	for(i=q;newpay>=PAYMENTAG;i=i+n)
		{
		var monTime = i * 12;
		var comfact = Math.pow((1.0 + rdefine),monTime);
		var newpay = (MORTGAGE*rdefine * comfact)/  (comfact - 1.0);
		}
	return i-n-n;
	}

function compAmort(MORTGAGE,INRATE,PAYMENTt,FREQ)
	{
	var returnpay = PAYMENTt*1.0;
	var COMPOUND = 2;
	var wholecom = findAmort(1,1,MORTGAGE,INRATE,COMPOUND,returnpay);
	var solvecom = findAmort(wholecom,.001,MORTGAGE,INRATE,COMPOUND,returnpay);
	document.paycalc.NAMORT.value = roundPen(solvecom,2);
	return true;
	}

function compute(n)
	{
	if (n!=3) 
		{
		if((document.paycalc.AMOUNT.value == null|| document.paycalc.AMOUNT.value.length == 0)|| (document.paycalc.AMOUNT.value <10000) )
			{ 		
			fixpro('Question 3: (Mortgage Amount)','Please enter a number greater than 10000.');
			return false;
			}
		}
	return true;
	}

function retFreq(n)
	{
	if(n==3){return 52;}
	}
