function stripNum(num) {
var iPercent
var iDollar
var iSpace
var iComma
var numLength = num.length
if(numLength > 0) {
   num=num.toString();
   iPercent = num.indexOf("%");
   if(iPercent >= 0) {
      num=num.substring(0,iPercent) + "" + num.substring(iPercent + 1,numLength);
      numLength=num.length;
      }
   iDollar = num.indexOf("$");
   if(iDollar >= 0) {
      num=num.substring(0,iDollar) + "" + num.substring(iDollar + 1,numLength);
      numLength=num.length;
      }
   iSpace = num.indexOf(" ");
   if(iSpace >= 0) {
      num=num.substring(0,iSpace) + "" + num.substring(iSpace + 1,numLength);
      numLength=num.length;
      }
   iComma = num.indexOf(",");
   if(iComma >= 0) {
      while(iComma >=1) {
         num=num.substring(0,iComma) + "" + num.substring(iComma + 1,numLength);
         numLength=num.length;
         iComma = num.indexOf(",");
      }
      }
      num = eval(num);
} else {
num = 0;
}
return num;
}

function formatNumber(num) {
var isNeg=0;
    if(num < 0) {
       num=num*-1;
       isNeg=1;
    }
	onum=Math.round(num*100)/100;
	integer=Math.floor(onum);
	if (Math.ceil(onum) == integer) {
		decimal="00";
	} else{
		decimal=Math.round((onum-integer)*100)
	}
	decimal=decimal.toString();
	if (decimal.length<2) decimal="0"+decimal;
	integer=integer.toString();
	var tmpnum="";
	var tmpinteger="";
	var y=0;
	for (x=integer.length;x>0;x--) {
		tmpnum=tmpnum+integer.charAt(x-1);
		y=y+1;
		if (y==3 & x>1) {
			tmpnum=tmpnum+",";
			y=0;
		}
	}
	for (x=tmpnum.length;x>0;x--) {
		tmpinteger=tmpinteger+tmpnum.charAt(x-1);
	}
	finNum=tmpinteger+"."+decimal;
    if(isNeg == 1) {
       finNum = "-" + finNum;
    }
	return finNum;
}

function computeForm(form) {
if(form.payment.value == "") {
   alert("Please enter the amount of your mortgage payment.");
   } else 
     if(form.principal.value == "") {
       alert("Please enter the your mortgage's current principal balance.");
       }
       else
       if(form.intRate.value == "") {
           alert("Please enter your mortgage's annual interest rate.");
           } else {
    var pmt1 = stripNum(form.payment.value);
    var pmt2 = pmt1 / 2;
    var prin1 = stripNum(form.principal.value);
    var prin2 = stripNum(form.principal.value);
    var intPort1 = 0;
    var intPort2 = 0;
    var prinPort1 = 0;
    var prinPort2 = 0;
    var accumInt1 = 0;
    var accumPrin1 = 0;
    var accumInt2 = 0;
    var accumPrin2 = 0;
    var i = stripNum(form.intRate.value);
    if (i >= 1.0) {
        i = i / 100.0;
    }
    var i1  = i  / 12;
    var i2 = i / 26;
    var count1 = 0;
    var count2 = 0;
    while(prin1 > 0) {
        intPort1 = prin1 * i1;
        prinPort1 = pmt1 - intPort1;
        prin1 = prin1 - prinPort1;
        accumPrin1 = accumPrin1 + prinPort1;
        accumInt1 = accumInt1 + intPort1;
        count1 = count1 + 1;
        if(count1 > 600) {break; } else {continue; }
       }
//added	   
if(count1 > 600) {
 alert("Using your entered terms you will never pay off this amount.  Please either lower the principal amount, lower the interest rate, or increase the payment amount.")
        form.origInt.value = "";
        form.biwkInt.value = "";
        form.intSave.value = "";
        form.time.value = "";
        } else 
//end added    
	form.origInt.value = "$" + formatNumber(accumInt1);
    while(prin2 > 0) {
        intPort2 = prin2 * i2;
        prinPort2 = pmt2 - intPort2;
        prin2 = prin2 - prinPort2;
        accumPrin2 = accumPrin2 + prinPort2;
        accumInt2 = accumInt2 + intPort2;
        count2 = count2 + 1;
        if(count1 > 600) {break; } else {continue; }
       }
    form.biwkInt.value = "$" + formatNumber(accumInt2);
    var VintSave = eval(accumInt1) - eval(accumInt2);
    form.intSave.value = "$" + formatNumber(VintSave);
    form.time.value = "What you are really doing is adding a 13th payment to your yearly number of payments, and splitting it up between 26 bi-weekly payments. In your case this means that by paying an extra $" + formatNumber(pmt1 / 26) + " every two weeks you will pay off your mortgage in " + parseInt(count2 /26*12,10) + " months instead of the current " + count1 + " months, and save $" + formatNumber(accumInt1 - accumInt2) + " in mortgage interest in the process. Is there anything else you would rather spend your $" + formatNumber(accumInt1 - accumInt2) + " on besides interest?";
   }
}