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 floor(number)
{
  return Math.floor(number*Math.pow(10,2))/Math.pow(10,2);
}



function dosum()
{
  var mi = stripNum(document.temps.IR.value) / 1200;

  var base = 1;

  var mbase = 1 + mi;

  for (i=0; i<stripNum(document.temps.YR.value) * 12; i++)

  {

    base = base * mbase

  }

  document.temps.PI.value = formatNumber(floor(stripNum(document.temps.LA.value) * mi / ( 1 - (1/base)))) ;
  document.temps.MT.value = formatNumber(floor(stripNum(document.temps.AT.value) / 12)) ;

  document.temps.MI.value = formatNumber(floor(stripNum(document.temps.AI.value) / 12)) ;

  var dasum = stripNum(document.temps.LA.value) * mi / ( 1 - (1/base)) +

	stripNum(document.temps.AT.value) / 12 + 

	stripNum(document.temps.AI.value) / 12;

  document.temps.MP.value = formatNumber(floor(dasum));

  document.temps.TP.value = formatNumber(floor(stripNum(document.temps.MP.value) * stripNum(document.temps.YR.value)

   * 12));



}


function computeForm(form) {

if(form.principal.value == "") {
   alert("Please enter the your mortgage's current principal balance.");
   form.principal.focus();
   } else
   if(form.payment.value == "") {
       alert("Please enter the amount of your mortgage payment.");
       form.payment.focus();
       } else 
       if(form.intRate.value == "") {
           alert("Please enter your mortgage's current annual interest rate.");
           form.intRate.focus();
           } else
           if(form.intRate2.value == "") {
               alert("Please enter the annual interest rate you'll be refinancing at.");
               form.intRate2.focus();
               } else
               if(form.nper2.value == "") {
                   alert("Please enter the number of years you are refinancing for.");
                   form.nper2.focus();
                    } else
                    if(form.closingCost.value == "") {
                         alert("Please enter the closing cost percentage points.");
                         form.closingCost.focus();
                         } else
                         if(stripNum(form.intRate2.value) > stripNum(form.intRate.value)) {
                            alert("You've entered a refinancing rate that is higher than your present rate.  The refinancing rate must be lower than your present rate in order for this calculator to work.");
                            } else {



    var pmt1 = stripNum(form.payment.value);

    var prin = stripNum(form.principal.value);

     var prin1 = prin;

    var closeCostAmt = 0;
    var VcloseCost = stripNum(form.closingCost.value);
    if(form.ptsDol.selectedIndex == 0) {
    var closeCostPerc = eval(VcloseCost) / 100;
      closeCostAmt = closeCostPerc * prin;
       } else {
      closeCostAmt = VcloseCost;
       }
     
    

    var intPort1 = 0;

    var prinPort1 = 0;

    var accumInt1 = 0;

    var accumPrin1 = 0;

    var i1 = stripNum(form.intRate.value);

    if (i1 >= 1.0) {

        i1 = i1 / 100.0;

    var sumi1 = i1;

    }

    var i1  = i1  / 12;

    var i2 = stripNum(form.intRate2.value);

       if (i2 >= 1.0) {

           i2 = i2 / 100.0;

        var sumi2 = i2;   

       }

       var i2  = i2  / 12;

    var count1 = 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; }

       }

    form.origInt.value = "$" + formatNumber(accumInt1);

     var prin2 = 0;

    if(form.yesNo.selectedIndex == 0) {
       prin2 = prin;
       } else {
       prin2 = eval(prin) + eval(closeCostAmt);
       }

    var Vnper2 = stripNum(form.nper2.value);
    var pow = 1;

    for (var j = 0; j < Vnper2 *12; j++)

        pow = pow * (1 + i2);

    var fpayment2 = (prin2 * pow * i2) / (pow - 1);

    form.payment2.value = "$" + formatNumber(fpayment2);


   var fmoSave = eval(pmt1) - eval(fpayment2);

   form.moSave.value = "$" + formatNumber(fmoSave);
		
  var ftotInt2 = eval(fpayment2 * Vnper2 *12) - eval(prin2);

   form.totInt2.value = "$" + formatNumber(ftotInt2);

   var fintSave = accumInt1 - ftotInt2;

    if(fintSave <= 0) {
       form.intSave.value = "$0.00";
    } else {
       form.intSave.value = "$" + formatNumber(fintSave);
    }

    var prin3 = prin2;
    var prin4 = prin;

    var intPort3 = 0;
    var intPort4 = 0;

    var prinPort3 = 0;
    var prinPort4 = 0;

    var accumInt3 = 0;
    var accumInt4 = 0;

    var accumPrin3 = 0;
    var accumPrin4 = 0;

    var amortIntSave = 0;

    var count3 = 0;

    while(amortIntSave < closeCostAmt) {

        intPort3 = prin3 * i2;
        intPort4 = prin4 * i1;

        prinPort3 = fpayment2 - intPort3;
        prinPort4 = pmt1 - intPort4;

        prin3 = prin3 - prinPort3;
        prin4 = prin4 - prinPort4;

        accumPrin3 = accumPrin3 + prinPort3;
        accumPrin4 = accumPrin4 + prinPort4;

        accumInt3 = accumInt3 + intPort3;
        accumInt4 = accumInt4 + intPort4;

        amortIntSave = accumInt4 - accumInt3;

        count3 = count3 + 1;

        if(count3 > 600) {break; } else {continue; }

       }


    form.closeMo.value = count3;

   var fnetSave = eval(fintSave) - eval(closeCostAmt);
   
   var pmtUpDown = "";
      if(fpayment2 > pmt1) {
          pmtUpDown = "increase by $" + formatNumber(eval(fpayment2) - eval(pmt1)) + "";
          } else {
          pmtUpDown = "decrease by $" + formatNumber(eval(pmt1) - eval(fpayment2)) + "";
          }

    var intSaveYesNo = "";
      if(accumInt1 < ftotInt2) {
          intSaveYesNo = "pay an additional $" + formatNumber(eval(ftotInt2) - eval(accumInt1)) + " in interest charges over the life of the mortgage.";
          } else {
          intSaveYesNo = "save $" + formatNumber(eval(accumInt1) - eval(ftotInt2)) + " in interest charges over the life of the mortgage. However, in order for this refinancing to yield any savings at all you will need to stay in your current home for at least " + count3 + " months.  That's how long it will take for the monthly interest savings to offset the closing costs attributable to refinancing.";
          }

   if(fnetSave <= 0) {
      form.netSave.value = "$0.00";
   } else {
      form.netSave.value = "$" +formatNumber(fnetSave);
   }
// form.summary.value
    document.all.summarytext.innerText = "If you refinance your current " + formatNumber(sumi1 * 100) + "% mortgage to a " + formatNumber(sumi2 * 100) + "% mortgage, your monthly payment will " + pmtUpDown + " and you will " + intSaveYesNo + "";

   }
		
}/*	document.all.summarytext.innerText="If you refinance your current " + parseInt(form.intRate.value *100,10) + "." + parseInt(form.intRate.value *100 % 1 *100,10) + "% mortgage to a " + parseInt(form.intRate2.value *100,10) + "." + parseInt(form.intRate2.value *100 % 1 *100,10) + "% mortgage, your monthly payment will drop by " + form.moSave.value + " and you will save " + form.intSave.value + " in interest charges over the life of the mortgage.  However, in order for this refinancing to yield any savings at all you will need to stay in your current home for at least " + form.closeMo.value + " months.  That's how long it will take for your monthly payment savings to offset the closing costs attributable to refinancing." ;		
}*/  
function clearForm(form)
{
	form.principal.value = "";
    form.payment.value = "";
    form.intRate.value = "";
    form.intRate2.value = "";
    form.nper2.value = "";
    form.closingCost.value = "";
    form.payment2.value = "";
    form.moSave.value = "";
    form.closeMo.value = "";
    form.intSave.value = "";
    form.origInt.value = "";
    form.netSave.value = "";
    form.totInt2.value = "";
	document.all.summarytext.innerText="" ;
    //form.summary.value = "";
}
<!-- done hiding from old browsers -->


<!-- 
function showbuttons() {   

    var agt       = navigator.userAgent.toLowerCase();
    var IEMAC     = ((agt.indexOf("msie") != -1) && agt.indexOf("mac")!=-1);
	 var N6        = (agt.indexOf("netscape6") != -1 || (agt.indexOf("netscape/6") !=-1 ));

    if ( IEMAC || N6 ) {
      return "<P>";
    }

    return "<P><FORM><INPUT TYPE='button' value='Calculate' Name='btnCallCalc' onClick='document.calculator.calculate()' class='Border'><!--INPUT TYPE='button' value='View Report' Name='btnOpenNote' onClick='openNote()'  class='Border' --></FORM>";
}

function openNote()
 { 
 
 var agt=navigator.userAgent.toLowerCase(); 
 var is_aol   = (agt.indexOf("aol") != -1);

 leftpos=0;
 if (screen) {
   leftpos=screen.width/2 - 300;
 } 

 if (is_aol) {
   var s = " ";
   s=document.calculator.sJavaScriptReport('HTML');
    document.write(s);
 }
 else {
   var OpenWindow=window.open("","newwin","toolbar=yes,menubar=yes,location=no,directories=no,status=no,scrollbars=yes,resizable=yes,copyhistory=no,width=600,height=380,left="+leftpos+",top=20");
   var s = " ";
   s=document.calculator.sJavaScriptReport('HTML');
   OpenWindow.document.write(s);
   OpenWindow.document.close(); 
   OpenWindow.focus();
 }



 }
//  -->



<!--
//  Affordability Calculator
//  
// Home Affordability Calculator 
function selectcell() {
  document.inputForm.moInc.select()
  document.inputForm.moInc.focus()
}

function chknos(nos)
{
var str = nos;//.value;
if(str.length == 0) {
 return false;
}
oneDecimal = false;
for (var i = 0; i <str.length; i++) {
 var y = str.substring(i, i + 1);
 if (y == "." && !oneDecimal) {
    oneDecimal = true;
    continue
 }
 if (y < "0" || y > "9") {
 alert("Please enter positive numbers only. Calculator will use the default value for this entry. Click on underlined items for help and default values.");
 return false;
 }
}
 return true;
}
function number(nos,def)
{
if(!chknos(nos)) {
 return def;
}
var use = nos;//.value;
if(use == "" || use == null || (0 + use) == 0) {
 return def;
}
return parseFloat(use); 
}
function f1(nos, y) {
var str = "" + formatNumber(Math.round(nos));
if (str.length == 0) {
   str = "0";
}
str = "$" + str;
i = y - str.length;
while (0 < i--) {
 str = " " + str;
}
return str;
}
function f2(nos, y, dec) {
  var str = "" + Math.round(eval(nos)*Math.pow(10,dec));
    while (str.length <= dec) {
      str = "0" + str;
    }
  var decpoint = str.length - dec;
  str = str.substring (0,decpoint) + "." +
    str.substring (decpoint, str.length);
if (str.length == 0) {
    str = "0";
}
str = str;
i = y - str.length;
while (0 < i--) {
 str = " " + str;
}
return str;
}
function f3(nos, y) {
var str = "" + Math.round(nos);
if (str.length == 0) {
     str = "0";
}
i = y - str.length;
while (0 < i--) {
 str = " " + str;
}
return str;
}
var newLoan = 0;
function compute(input)
{
var table = input.form;
percentDown = number(stripNum(table.percentDown.value), 3);
moTtlInc = number(stripNum(table.moInc.value),0)
moDebt = number(stripNum(table.moDebt.value), 0)
percentCC = number(stripNum(table.percentCC.value), 3);
if (percentDown < 5) {
    percentDown = 3.0; 
}
if (percentDown >= 20) {
   pmi_rate = 0;
   availInc = moTtlInc * 0.33;
   if ((moTtlInc * 0.38 - moDebt) <= (moTtlInc * 0.33)) {
      availInc = moTtlInc * 0.38 - moDebt;
   }
}
if (percentDown < 20) {
   availInc = moTtlInc * 0.28;
   if ((moTtlInc * 0.36 - moDebt) <= (moTtlInc * 0.28)) {
      availInc = moTtlInc * 0.36 - moDebt;
   }
}
if (percentDown <= 15) {
   pmi_rate = 0.0073 - (percentDown - 3) * 0.000108;
}
if (percentDown > 15 && percentDown < 20) {
    pmi_rate = 0.0060 - (percentDown - 15) * 0.00076;
}
taxRate = number(stripNum(table.taxRate.value), 1.2) / 1200;
intRate = table.rate.options[table.rate.selectedIndex].text;
term = table.term.options[table.term.selectedIndex].text;
insRate = number(stripNum(table.insRate.value), 0.3) / 1200;
downTotal = number(stripNum(table.down.value), 0);
moFees = number(stripNum(table.fees.value), 0) / 12;
loan = (1 - Math.pow(intRate/1200 + 1, -term*12))*
 (availInc) / (intRate/1200);
moTax = loan * taxRate * (1/(1 - percentDown/100));
moIns = loan * insRate * (1/(1 - percentDown/100));
mopmi = pmi_rate * loan /12;

for ( var i = 1; i <= 100; i++) {
    moPI2 = availInc - moFees - moTax - moIns - mopmi;
    moPI1 = (Math.round((moPI2)*Math.pow(10,3)))/1000;
    newLoan = (1 - Math.pow(intRate/1200 + 1, -term*12)) * moPI1 / (intRate/1200);
    moTax = newLoan * taxRate * (1/(1 - percentDown/100));
    moIns = newLoan * insRate * (1/(1 - percentDown/100));
    mopmi = pmi_rate * newLoan /12;
    moPI2 = availInc - moFees - moTax - moIns - mopmi;
    moPI = (Math.round((moPI2)*Math.pow(10,3)))/1000;
    if ((moPI1 - moPI) == 0) {
       
       i = 100;
    }
}

downPay = newLoan * ((1/(1 - percentDown/100)) - 1);
propValue = newLoan + downPay;
downClose = propValue * percentCC/100;
down_close = downClose + downPay;
addDown = downTotal - down_close;
table.moInc.value = formatNumber(f3(moTtlInc, 1));
table.moDebt.value = formatNumber(f3(moDebt, 1));
table.down.value = formatNumber(f3(downTotal, 1));
table.taxRate.value = formatNumber(f2(taxRate*1200, 1, 2));
table.insRate.value = formatNumber(f2(insRate*1200, 1, 2));
table.fees.value = formatNumber(f3(moFees*12, 1));
table.percentDown.value = formatNumber(f2(percentDown, 1, 1));
table.percentCC.value = formatNumber(f2(percentCC, 1, 1));
totalPay = moPI + moTax + moIns + moFees + mopmi;
if (newLoan <= 0) totalPay =0;
table.totalPay.value = f1(totalPay, 10);
if (newLoan <= 0) moTax = 0;
table.moTax.value = f1(moTax, 10);
if (newLoan <= 0) moIns =0;
table.moIns.value = f1(moIns, 10);
table.moFees.value = f1(moFees, 10);
if (newLoan <= 0) downClose = 0;
table.downClose.value = f1(downClose, 10);
if (newLoan <= 0) mopmi = 0;
table.mopmi.value = f1(mopmi, 10);
if (newLoan <= 0) down_close = 0;
table.down_close.value = f1(down_close, 10);
if (newLoan <= 0) addDown = 0;
table.addDown.value = f1(addDown, 10);
if (moPI <= 0) moPI = 0;
table.moPI.value=f1(moPI, 10);
if(newLoan <= 0) newLoan = 0;
table.maxLoan.value = f1(newLoan, 10);
if (newLoan <= 0) propValue = 0;
table.propValue.value = f1(propValue, 10);
if (newLoan <= 0) downPay = 0;
table.downPay.value = f1(downPay, 10);
intRate=intRate*1000
document.cookie="condition_loan="+intRate.toString()+term.toString()+(Math.round(newLoan)).toString()
}
function checkLoan(form) {
   var moInc = document.inputForm.moInc.value;
   if (isNaN(newLoan) || newLoan == 0 || newLoan < 1000 || moInc == 0) {
        alert("Maximum Mortgage Amount is either blank, zero or less than 1000. You must enter enough income to generate a mortgage loan amount of 1000 or greater to run an Amortization Table.")
   document.inputForm.moInc.select()
   document.inputForm.moInc.focus()
   
   }else{

}
}
<!-->


function stripNumFixedRate(num) {

var iPercent
var iDollar
var iSpace
var iComma
var numLength = num.length

//lalalla Line #114

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 computeMonthlyPaymentFixedRate(prin, numPmts, intRate) {

var pmtAmt = 0;

if(intRate == 0) {
   pmtAmt = prin / numPmts;
} else {
   
   if (intRate >= 1.0) {
     intRate = intRate / 100.0;
   }
   intRate /= 12;

   var pow = 1;
   for (var j = 0; j < numPmts; j++)
      pow = pow * (1 + intRate);

   pmtAmt = (prin * pow * intRate) / (pow - 1);

}

return pmtAmt;

}


function formatNumberDecFixedRate(num, places, comma) {

var isNeg=0;

    if(num < 0) {
       num=num*-1;
       isNeg=1;
    }

    var myDecFact = 1;
    var myPlaces = 0;
    var myZeros = "";
    while(myPlaces < places) {
       myDecFact = myDecFact * 10;
       myPlaces = eval(myPlaces) + eval(1);
       myZeros = myZeros + "0";
    }
    
	onum=Math.round(num*myDecFact)/myDecFact;
		
	integer=Math.floor(onum);

	if (Math.ceil(onum) == integer) {
		decimal=myZeros;
	} else{
		decimal=Math.round((onum-integer)* myDecFact)
	}
	decimal=decimal.toString();
	if (decimal.length<places) {
        fillZeroes = places - decimal.length;
	   for (z=0;z<fillZeroes;z++) {
        decimal="0"+decimal;
        }
     }

   if(places > 0) {
      decimal = "." + decimal;
   }

   if(comma == 1) {
	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;
   } else {
      finNum=integer+""+decimal;
   }

    if(isNeg == 1) {
       finNum = "-" + finNum;
    }

	return finNum;
}


function computeFormFixedRate(report) {

if(document.armPayment.principal.value == 0 || document.armPayment.principal.value == "") {
   alert("Please enter the mortgage's principal amount.");
   document.armPayment.principal.focus();
} else
if(document.armPayment.adjust_amt.value == 0 || document.armPayment.adjust_amt.value == "") {
   alert("Please enter the expected amount of each adjustment (eg. \".25\" if rates are expected to increase or \"-.25\" if rates are expected to decrease).");
   document.armPayment.adjust_amt.focus();
} else
if(document.armPayment.fixed_rate.value == 0 || document.armPayment.fixed_rate.value == "") {
   alert("Please enter the annual interest rate for the fixed mortgage.");
   document.armPayment.fixed_rate.focus();
} else
if(document.armPayment.adj_start_rate.value == 0 || document.armPayment.adj_start_rate.value == "") {
   alert("Please enter the interest rate for the fully amortizing adjustable mortgage.");
   document.armPayment.adj_start_rate.focus();
} else
if(document.armPayment.adj_start_months.value == 0 || document.armPayment.adj_start_months.value == "") {
   alert("Please enter the number of months the rate will be fixed for the fully amortizing adjustable mortgage.");
   document.armPayment.adj_start_months.focus();
} else
if(document.armPayment.adj_rate_cap.value == 0 || document.armPayment.adj_rate_cap.value == "") {
   alert("Please enter the maximum allowable interest rate (rate cap) for the fully amortizing adjustable rate mortgage.");
   document.armPayment.adj_rate_cap.focus();
} else
if(document.armPayment.io_start_rate.value == 0 || document.armPayment.io_start_rate.value == "") {
   alert("Please enter the interest rate for the interest-only adjustable mortgage.");
   document.armPayment.io_start_rate.focus();
} else
if(document.armPayment.io_start_months.value == 0 || document.armPayment.io_start_months.value == "") {
   alert("Please enter the number of months the rate will be fixed for the interest-only adjustable mortgage.");
   document.armPayment.io_start_months.focus();
} else
if(document.armPayment.io_rate_cap.value == 0 || document.armPayment.io_rate_cap.value == "") {
   alert("Please enter the maximum allowable interest rate (rate cap) for the interest-only adjustable rate mortgage.");
   document.armPayment.io_rate_cap.focus();
} else {

var Vprincipal = stripNumFixedRate(document.armPayment.principal.value);

var VnumYears = document.armPayment.numYears.options[document.armPayment.numYears.selectedIndex].value;
var term_months = VnumYears * 12;

var Vadjust_amt = stripNumFixedRate(document.armPayment.adjust_amt.value);

var Vfixed_rate = stripNumFixedRate(document.armPayment.fixed_rate.value);

var Vadj_start_rate = stripNumFixedRate(document.armPayment.adj_start_rate.value);
var Vadj_start_months = stripNumFixedRate(document.armPayment.adj_start_months.value);
var Vadj_rate_cap = stripNumFixedRate(document.armPayment.adj_rate_cap.value);

var Vio_start_rate = stripNumFixedRate(document.armPayment.io_start_rate.value);
var Vio_start_months = stripNumFixedRate(document.armPayment.io_start_months.value);
var Vio_rate_cap = stripNumFixedRate(document.armPayment.io_rate_cap.value);

if(Vprincipal < 100) {
   alert("Please enter a mortgage loan amount that is greater than $100.");
   document.armPayment.principal.focus();
} else
if(Vprincipal > 100000000) {
   alert("Please enter a mortgage loan amount that is less than $100,000,000.");
   document.armPayment.principal.focus();
} else
if(Vadjust_amt > 3) {
   alert("Rate adjustment amount must be less than or equal to 3.000%.");
   document.armPayment.adjust_amt.focus();
} else
if(Vadjust_amt < -3) {
   alert("Rate adjustment amount must be greater than or equal to -3.000%.");
   document.armPayment.adjust_amt.focus();
} else
if(Vadj_start_rate > 25) {
   alert("Please enter a starting interest rate for the fully amortizing adjustable rate mortgage that is less than or equal to 25.000%.");
   document.armPayment.adj_start_rate.focus();
} else
if(Vadj_rate_cap < 5) {
   alert("Please enter a rate cap for the fully amortizing adjustable rate mortgage that is greater than or equal to 5.000%.");
   document.armPayment.adj_rate_cap.focus();
} else
if(Vadj_rate_cap > 25) {
   alert("Please enter a rate cap for the fully amortizing adjustable rate mortgage that is less than or equal to 25.000%.");
   document.armPayment.adj_rate_cap.focus();
} else
if(Vadj_start_months > 120) {
   alert("Number of months before adjustments for the fully amortizing adjustable rate mortgage must be less than or equal to 120.");
   document.armPayment.adj_start_months.focus();

} else
if(Vio_start_rate > 25) {
   alert("Please enter a starting interest rate for the interest-only adjustable rate mortgage that is less than or equal to 25.000%.");
   document.armPayment.io_start_rate.focus();
} else
if(Vio_rate_cap < 5) {
   alert("Please enter a rate cap for the interest-only adjustable rate mortgage that is greater than or equal to 5.000%.");
   document.armPayment.io_rate_cap.focus();
} else
if(Vio_rate_cap > 25) {
   alert("Please enter a rate cap for the interest-only adjustable rate mortgage that is less than or equal to 25.000%.");
   document.armPayment.io_rate_cap.focus();
} else
if(Vio_start_months > 120) {
   alert("Number of months before adjustments for the interest-only adjustable rate mortgage must be less than or equal to 120.");
   document.armPayment.io_start_months.focus();
} else {



var Vfixed_pmt = computeMonthlyPaymentFixedRate(Vprincipal, term_months, Vfixed_rate);
Vfixed_pmt = Math.round(Vfixed_pmt * 100) / 100;
document.armPayment.fixed_pmt.value = "$" + formatNumberDecFixedRate(Vfixed_pmt,2,1);

var Vadj_start_pmt = computeMonthlyPaymentFixedRate(Vprincipal, term_months, Vadj_start_rate);
//Vadj_start_pmt = Math.round(Vadj_start_pmt * 100) / 100;
document.armPayment.adj_start_pmt.value = "$" + formatNumberDecFixedRate(Vadj_start_pmt,2,1);

var Vio_start_pmt = Vio_start_rate / 100 / 12 * Vprincipal;
document.armPayment.io_start_pmt.value = "$" + formatNumberDecFixedRate(Vio_start_pmt,2,1);

var fix_rate = Vfixed_rate;
var adj_rate = Vadj_start_rate;
var io_rate = Vio_start_rate;

var fix_pmt = Vfixed_pmt;
var adj_pmt = Vadj_start_pmt;
var io_pmt = Vio_start_pmt;

var fix_accum_pmts = 0;
var adj_accum_pmts = 0;
var io_accum_pmts = 0;

var fix_prin = Vprincipal;
var fix_int_port = 0;
var fix_accum_int = 0;
var fix_prin_port = 0;
var fix_accum_prin = 0;

var adj_prin = Vprincipal;
var adj_int_port = 0;
var adj_accum_int = 0;
var adj_prin_port = 0;
var adj_accum_prin = 0;

var io_prin = Vprincipal;
var io_int_port = 0;
var io_accum_int = 0;
var io_prin_port = 0;
var io_accum_prin = 0;

var cnt = 0;
var adj_adjust_nprs = 0;
var io_adjust_nprs = 0;
var Vadjust_months = 12;
var adj_new_term_months = 0;
var io_new_term_months = 0;

var fix_i = 0;
var adj_i = 0;
var io_i = 0;

var pmtRows = "";

while(cnt < term_months) {

   cnt += 1;

   if(cnt <= Vadj_start_months) {
      adj_rate = Vadj_start_rate;
   } else {
      if((eval(cnt)-eval(1)) % Vadjust_months == 0) {
         adj_adjust_nprs += 1;
         adj_new_term_months = eval(term_months) - eval(cnt) + eval(1);
         adj_rate = eval(adj_adjust_nprs * Vadjust_amt) + eval(Vadj_start_rate);
         if(adj_rate < 2) {
            adj_rate = 2;
         }
         if(adj_rate > Vadj_rate_cap) {
            adj_rate = Vadj_rate_cap;
         }
         adj_pmt = computeMonthlyPaymentFixedRate(adj_prin, adj_new_term_months, adj_rate);
         //adj_pmt = Math.round(adj_pmt * 100) / 100;
      }
   }


   if(cnt <= Vio_start_months) {
      io_rate = Vio_start_rate;
   } else {
      if((eval(cnt)-eval(1)) % Vadjust_months == 0) {
         io_adjust_nprs += 1;
         io_new_term_months = eval(term_months) - eval(cnt) + eval(1);
         io_rate = eval(io_adjust_nprs * Vadjust_amt) + eval(Vio_start_rate);
         if(io_rate < 2) {
            io_rate = 2;
         }
         if(io_rate > Vio_rate_cap) {
            io_rate = Vio_rate_cap;
         }
         io_pmt = Math.round(io_rate / 100 / 12 * Vprincipal * 100) / 100;
      }
   }


   fix_i = fix_rate / 100 / 12;
   adj_i = adj_rate / 100 / 12;

   if(cnt < term_months) {

      fix_int_port = Math.round(fix_prin * fix_i * 100) / 100;
      fix_accum_int += fix_int_port;
      fix_prin_port= eval(fix_pmt) - eval(fix_int_port);
      fix_accum_prin = eval(fix_accum_prin) + eval(fix_prin_port);
      fix_prin = eval(fix_prin) - eval(fix_prin_port);

      adj_int_port = Math.round(adj_prin * adj_i * 100) / 100;
      adj_accum_int += adj_int_port;
      adj_prin_port= eval(adj_pmt) - eval(adj_int_port);
      adj_accum_prin = eval(adj_accum_prin) + eval(adj_prin_port);
      adj_prin = eval(adj_prin) - eval(adj_prin_port);

   } else {

      fix_int_port = Math.round(fix_prin * fix_i * 100) / 100;
      fix_accum_int += fix_int_port;
      fix_prin_port= fix_prin;
      fix_accum_prin = eval(fix_accum_prin) + eval(fix_prin_port);
      fix_prin = eval(fix_prin) - eval(fix_prin_port);
      fix_pmt = eval(fix_prin_port) + eval(fix_int_port);

      adj_int_port = Math.round(adj_prin * adj_i * 100) / 100;
      adj_accum_int += adj_int_port;
      adj_prin_port= adj_prin;
      adj_accum_prin = eval(adj_accum_prin) + eval(adj_prin_port);
      adj_prin = eval(adj_prin) - eval(adj_prin_port);
      adj_pmt = eval(adj_prin_port) + eval(adj_int_port);
   }

   fix_accum_pmts += fix_pmt;
   adj_accum_pmts += adj_pmt;
   io_accum_pmts += io_pmt;
   io_accum_int += io_pmt;

if(report == 1) {
    pmtRows = ("" + pmtRows + "<tr><td align=right><font face='arial'><small>" + cnt + "</small></font></td><td align=right><font face='arial'><small>$" + formatNumberDecFixedRate(fix_pmt,2,1) + "</small></font></td><td align=right><font face='arial'><small>$" + formatNumberDecFixedRate(fix_prin,2,1) + "</small></font></td><td align=right><font face='arial'><small>$" + formatNumberDecFixedRate(adj_pmt,2,1) + "</small></font></td><td align=right><font face='arial'><small>$" + formatNumberDecFixedRate(adj_prin,2,1) + "</small></font></td><td align=right><font face='arial'><small>$" + formatNumberDecFixedRate(io_pmt,2,1) + "</small></font></td><td align=right><font face='arial'><small>$" + formatNumberDecFixedRate(io_prin,2,1) + "</small></font></td></tr>");
}

}

document.armPayment.fixed_total_pmts.value = "$" + formatNumberDecFixedRate(fix_accum_pmts,2,1);
document.armPayment.fixed_total_int.value = "$" + formatNumberDecFixedRate(fix_accum_int,2,1);
document.armPayment.fixed_max_pmt.value = "$" + formatNumberDecFixedRate(Vfixed_pmt,2,1);


document.armPayment.adj_total_pmts.value = "$" + formatNumberDecFixedRate(adj_accum_pmts,2,1);
document.armPayment.adj_total_int.value = "$" + formatNumberDecFixedRate(adj_accum_int,2,1);
var Vadj_max_pmt = 0;
if(adj_pmt > Vadj_start_pmt) {
   Vadj_max_pmt = adj_pmt;
} else {
   Vadj_max_pmt = Vadj_start_pmt;
}
document.armPayment.adj_max_pmt.value = "$" + formatNumberDecFixedRate(Vadj_max_pmt,2,1);

document.armPayment.io_total_pmts.value = "$" + formatNumberDecFixedRate(io_accum_pmts,2,1);
document.armPayment.io_total_int.value = "$" + formatNumberDecFixedRate(io_accum_int,2,1);
var Vio_max_pmt = 0;
if(io_pmt > Vio_start_pmt) {
   Vio_max_pmt = io_pmt;
} else {
   Vio_max_pmt = Vio_start_pmt;
}
document.armPayment.io_max_pmt.value = "$" + formatNumberDecFixedRate(Vio_max_pmt,2,1);

var fix_max_rate = fix_rate;

var adj_max_rate = 0;
if(adj_rate > Vadj_start_rate) {
   adj_max_rate = adj_rate;
} else {
   adj_max_rate = Vadj_start_rate;
}

var io_max_rate = 0;
if(io_rate > Vio_start_rate) {
   io_max_rate = io_rate;
} else {
   io_max_rate = Vio_start_rate;
}

if(report == 1) {

var part1 = ("<head><title>Amortization Schedule</title></head>" + "<body bgcolor= '#FFFFFF'><br><br><center><font face='arial'><big><strong>Adjustable Rate Mortgage vs. Fixed Mortgage Summary</strong></big></font></center><br>");


var part2 = ("<center><table border=1 cellpadding=2 cellspacing=0 bordercolor='#EEEEEE'><tr bgcolor='silver'><td colspan='4'><font face='arial'><small><b>Comparisons</b></small></font></td><td align='center'><font face='arial'><small><b>Fixed Mortgage</b></small></font></td><td align='center'><font face='arial'><small><b>Fully Amortizing ARM</b></small></font></td><td align='center' colspan='2'><font face='arial'><small><b>Interest Only ARM</b></small></font></td></tr><tr><td colspan=4><font face='arial'><small>Mortgage loan amount:</small></font></td><td align='right'><font face='arial'><small>$" + formatNumberDecFixedRate(Vprincipal,2,1) + "</small></font></td><td align='right'><font face='arial'><small>$" + formatNumberDecFixedRate(Vprincipal,2,1) + "</small></font></td><td align='right'><font face='arial'><small>$" + formatNumberDecFixedRate(Vprincipal,2,1) + "</small></font></td></tr><tr><td colspan=4><font face='arial'><small>Mortgage term:</small></font></td><td align='right'><font face='arial'><small>" + VnumYears + " years</small></font></td><td align='right'><font face='arial'><small>" + VnumYears + " years</small></font></td><td align='right'><font face='arial'><small>" + VnumYears + " years</small></font></td></tr><tr><td colspan=4><font face='arial'><small>Beginning interest rate:</small></font></td><td align='right'><font face='arial'><small>" + formatNumberDecFixedRate(Vfixed_rate,3,1) + "%</small></font></td><td align='right'><font face='arial'><small>" + formatNumberDecFixedRate(Vadj_start_rate,3,1) + "%</small></font></td><td align='right'><font face='arial'><small>" + formatNumberDecFixedRate(Vio_start_rate,3,1) + "%</small></font></td></tr><tr><td colspan=4><font face='arial'><small>Maximum interest rate:</small></font></td><td align='right'><font face='arial'><small>" + formatNumberDecFixedRate(Vfixed_rate,3,1) + "%</small></font></td><td align='right'><font face='arial'><small>" + formatNumberDecFixedRate(adj_max_rate,3,1) + "%</small></font></td><td align='right'><font face='arial'><small>" + formatNumberDecFixedRate(io_max_rate,3,1) + "%</small></font></td></tr><tr><td colspan=4><font face='arial'><small>Beginning monthly payment:</small></font></td><td align='right'><font face='arial'><small>$" + formatNumberDecFixedRate(Vfixed_pmt,2,1) + "</small></font></td><td align='right'><font face='arial'><small>$" + formatNumberDecFixedRate(Vadj_start_pmt,2,1) + "</small></font></td><td align='right'><font face='arial'><small>$" + formatNumberDecFixedRate(Vio_start_pmt,2,1) + "</small></font></td></tr><tr><td colspan=4><font face='arial'><small>Maximum monthly payment:</small></font></td><td align='right'><font face='arial'><small>$" + formatNumberDecFixedRate(Vfixed_pmt,2,1) + "</small></font></td><td align='right'><font face='arial'><small>$" + formatNumberDecFixedRate(Vadj_max_pmt,2,1) + "</small></font></td><td align='right'><font face='arial'><small>$" + formatNumberDecFixedRate(Vio_max_pmt,2,1) + "</small></font></td></tr><tr><td colspan=4><font face='arial'><small>Interest rate cap:</small></font></td><td align='right'><font face='arial'><small>N/A</small></font></td><td align='right'><font face='arial'><small>" + formatNumberDecFixedRate(Vadj_rate_cap,3,1) + "%</small></font></td><td align='right'><font face='arial'><small>" + formatNumberDecFixedRate(Vio_rate_cap,3,1) + "%</small></font></td></tr><tr><td colspan=4><font face='arial'><small>Expected rate adjustment amount:</small></font></td><td align='right'><font face='arial'><small>N/A</small></font></td><td align='right'><font face='arial'><small>" + formatNumberDecFixedRate(Vadjust_amt,2,1) + "%</small></font></td><td align='right'><font face='arial'><small>" + formatNumberDecFixedRate(Vadjust_amt,2,1) + "%</small></font></td></tr><tr><td colspan=4><font face='arial'><small>Initial fixed rate period:</small></font></td><td align='right'><font face='arial'><small>N/A</small></font></td><td align='right'><font face='arial'><small>" + Vadj_start_months + " months</small></font></td><td align='right'><font face='arial'><small>" + Vio_start_months + " months</small></font></td></tr><tr><td colspan=4><font face='arial'><small>Total payments:</small></font></td><td align='right'><font face='arial'><small>$" + formatNumberDecFixedRate(fix_accum_pmts,2,1) + "</small></font></td><td align='right'><font face='arial'><small>$" + formatNumberDecFixedRate(adj_accum_pmts,2,1) + "</small></font></td><td align='right'><font face='arial'><small>$" + formatNumberDecFixedRate(io_accum_pmts,2,1) + "</small></font></td></tr><tr><td colspan=4><font face='arial'><small>Total interest:</small></font></td><td align='right'><font face='arial'><small>$" + formatNumberDecFixedRate(fix_accum_int,2,1) + "</small></font></td><td align='right'><font face='arial'><small>$" + formatNumberDecFixedRate(adj_accum_int,2,1) + "</small></font></td><td align='right'><font face='arial'><small>$" + formatNumberDecFixedRate(io_accum_int,2,1) + "</small></font></td></tr><tr><td colspan=4><font face='arial'><small>Ending principal balance:</small></font></td><td align='right'><font face='arial'><small>$" + formatNumberDecFixedRate(fix_prin,2,1) + "</small></font></td><td align='right'><font face='arial'><small>$" + formatNumberDecFixedRate(adj_prin,2,1) + "</small></font></td><td align='right'><font face='arial'><small>$" + formatNumberDecFixedRate(Vprincipal,2,1) + "</small></font></td></tr><tr><td colspan=7><center><font face='arial'><b>Schedule of Payments</b></font><br><font face='arial'><small><small>Please allow for slight rounding differences.</small></small></font></center></td></tr><tr bgcolor='silver'><td align='center'><font face='arial'><small><b>Pmt</b></small></font></td><td align='center' colspan='2'><font face='arial'><small><b>Fixed Mortgage</b></small></font></td><td align='center' colspan='2'><font face='arial'><small><b>Fully Amortizing ARM</b></small></font></td><td align='center' colspan='2'><font face='arial'><small><b>Interest Only ARM</b></small></font></td></tr><tr bgcolor='silver'><td align='center'><font face='arial'><small><b>#</b></small></font></td><td align='center'><font face='arial'><small><b>Payment</b></small></font></td><td align='center'><font face='arial'><small><b>Balance</b></small></font></td><td align='center'><font face='arial'><small><b>Payment</b></small></font></td><td align='center'><font face='arial'><small><b>Balance</b></small></font></td><td align='center'><font face='arial'><small><b>Payment</b></small></font></td><td align='center'><font face='arial'><small><b>Balance</b></small></font></td></tr>");



var part3 = ("" + pmtRows + "");



var part4 = ("</table><br><center><form method='post'><input type='button' value='Close Window' onClick='window.close()'></form></center></body></html>");



var schedule = (part1 + "" + part2 + "" + part3 + "" + part4 + "");



  reportWin = window.open("","","width=500,height=400,toolbar=yes,menubar=yes,scrollbars=yes");

  reportWin.document.write(schedule);

  reportWin.document.close();

}


      }
   }

}

function clearResultsFixedRate(form) {

document.armPayment.fixed_pmt.value = "";
document.armPayment.fixed_total_pmts.value = "";
document.armPayment.fixed_total_int.value = "";
document.armPayment.fixed_max_pmt.value = "";

document.armPayment.adj_start_pmt.value = "";
document.armPayment.adj_total_pmts.value = "";
document.armPayment.adj_total_int.value = "";
document.armPayment.adj_max_pmt.value = "";

document.armPayment.io_start_pmt.value = "";
document.armPayment.io_total_pmts.value = "";
document.armPayment.io_total_int.value = "";
document.armPayment.io_max_pmt.value = "";
}


function stripNumMortgageRate(num) {

var iPercent
var iDollar
var iSpace
var iComma
var numLength = num.length

//lalalla Line #114

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 computeMonthlyPaymentMortgageRate(prin, numPmts, intRate) {

var pmtAmt = 0;

if(intRate == 0) {
   pmtAmt = prin / numPmts;
} else {
   
   if (intRate >= 1.0) {
     intRate = intRate / 100.0;
   }
   intRate /= 12;

   var pow = 1;
   for (var j = 0; j < numPmts; j++)
      pow = pow * (1 + intRate);

   pmtAmt = (prin * pow * intRate) / (pow - 1);

}

return pmtAmt;

}


function computeFixedInterestCostMortgageRate(principal, intRate, pmtAmt) { 

   var i = eval(intRate);
   if(i >= 1) {
   i /= 100;
   }
   i /= 12;

   var prin = eval(principal);
   var intPort = 0;
   var accumInt = 0;
   var prinPort = 0;
   var pmtCount = 0;
   var testForLast = 0;


   //CYCLES THROUGH EACH PAYMENT OF GIVEN DEBT
   while(prin > 0) {

      testForLast = (prin * (1 + i));

      if(pmtAmt < testForLast) {
         intPort = prin * i;
         accumInt = eval(accumInt) + eval(intPort);
         prinPort = eval(pmtAmt) - eval(intPort);
         prin = eval(prin) - eval(prinPort);
      } else {
      //DETERMINE FINAL PAYMENT AMOUNT
      intPort = prin * i;
      accumInt = eval(accumInt) + eval(intPort);
      prinPort = prin;
      prin = 0;
      }

      pmtCount = eval(pmtCount) + eval(1);

      if(pmtCount > 1000 || accumInt > 1000000000) {
         prin = 0;
      }

   }

return accumInt;

}


function formatNumberDecMortgageRate(num, places, comma) {

var isNeg=0;

    if(num < 0) {
       num=num*-1;
       isNeg=1;
    }

    var myDecFact = 1;
    var myPlaces = 0;
    var myZeros = "";
    while(myPlaces < places) {
       myDecFact = myDecFact * 10;
       myPlaces = eval(myPlaces) + eval(1);
       myZeros = myZeros + "0";
    }
    
	onum=Math.round(num*myDecFact)/myDecFact;
		
	integer=Math.floor(onum);

	if (Math.ceil(onum) == integer) {
		decimal=myZeros;
	} else{
		decimal=Math.round((onum-integer)* myDecFact)
	}
	decimal=decimal.toString();
	if (decimal.length<places) {
        fillZeroes = places - decimal.length;
	   for (z=0;z<fillZeroes;z++) {
        decimal="0"+decimal;
        }
     }

   if(places > 0) {
      decimal = "." + decimal;
   }

   if(comma == 1) {
	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;
   } else {
      finNum=integer+""+decimal;
   }

    if(isNeg == 1) {
       finNum = "-" + finNum;
    }

	return finNum;
}



function fillRatesMortgageRate(form) {

   if(form.startRate.value.length == 0) {
      alert("Please enter a starting interest before selecting the increment factor.");
      form.startRate.focus();
   } else {

      var VstartRate = stripNumMortgageRate(form.startRate.value);
      if(VstartRate < 1) {
        VstartRate = VstartRate * 100;
      }

      var Vincrement = form.increment.options[form.increment.selectedIndex].value;

      var Vrate_1 = VstartRate;
      form.rate_1.value = formatNumberDecMortgageRate(Vrate_1,3);

      var Vrate_2 = eval(Vrate_1) + eval(Vincrement);
      form.rate_2.value = formatNumberDecMortgageRate(Vrate_2,3);

      var Vrate_3 = eval(Vrate_2) + eval(Vincrement);
      form.rate_3.value = formatNumberDecMortgageRate(Vrate_3,3);

      var Vrate_4 = eval(Vrate_3) + eval(Vincrement);
      form.rate_4.value = formatNumberDecMortgageRate(Vrate_4,3);

      var Vrate_5 = eval(Vrate_4) + eval(Vincrement);
      form.rate_5.value = formatNumberDecMortgageRate(Vrate_5,3);

      computeFormMortgageRate(form);

   }

}
      

function computeFormMortgageRate(form) {

if(form.principal.value.length == 0) {
   alert("Please enter the amount of the mortgage.");
   form.principal.focus();
} else
if(form.numYears.value == "") {
  alert("Please enter mortgage's term in years.");
  form.numYears.focus();
} else {

var Vprin = stripNumMortgageRate(form.principal.value);
var VnumYears = stripNumMortgageRate(form.numYears.value);

var Vrate_1 = stripNumMortgageRate(form.rate_1.value);
var Vrate_2 = stripNumMortgageRate(form.rate_2.value);
var Vrate_3 = stripNumMortgageRate(form.rate_3.value);
var Vrate_4 = stripNumMortgageRate(form.rate_4.value);
var Vrate_5 = stripNumMortgageRate(form.rate_5.value);

var Vmonths = VnumYears * 12;

var VmoPmt_1 = computeMonthlyPaymentMortgageRate(Vprin, Vmonths, Vrate_1);
form.moPmt_1.value = "$" + formatNumberDecMortgageRate(VmoPmt_1,0,1);

var VmoPmt_2 = computeMonthlyPaymentMortgageRate(Vprin, Vmonths, Vrate_2);
form.moPmt_2.value = "$" + formatNumberDecMortgageRate(VmoPmt_2,0,1);

var VmoPmt_3 = computeMonthlyPaymentMortgageRate(Vprin, Vmonths, Vrate_3);
form.moPmt_3.value = "$" + formatNumberDecMortgageRate(VmoPmt_3,0,1);

var VmoPmt_4 = computeMonthlyPaymentMortgageRate(Vprin, Vmonths, Vrate_4);
form.moPmt_4.value = "$" + formatNumberDecMortgageRate(VmoPmt_4,0,1);

var VmoPmt_5 = computeMonthlyPaymentMortgageRate(Vprin, Vmonths, Vrate_5);
form.moPmt_5.value = "$" + formatNumberDecMortgageRate(VmoPmt_5,0,1);


var VtotPrin_1 = Vprin;
form.totPrin_1.value = "$" + formatNumberDecMortgageRate(VtotPrin_1,0,1);

var VtotPrin_2 = Vprin;
form.totPrin_2.value = "$" + formatNumberDecMortgageRate(VtotPrin_2,0,1);

var VtotPrin_3 = Vprin;
form.totPrin_3.value = "$" + formatNumberDecMortgageRate(VtotPrin_3,0,1);

var VtotPrin_4 = Vprin;
form.totPrin_4.value = "$" + formatNumberDecMortgageRate(VtotPrin_4,0,1);

var VtotPrin_5 = Vprin;
form.totPrin_5.value = "$" + formatNumberDecMortgageRate(VtotPrin_5,0,1);


var VtotInt_1 = computeFixedInterestCostMortgageRate(Vprin, Vrate_1, VmoPmt_1);
VtotInt_1 = Math.round(VtotInt_1);
form.totInt_1.value = "$" + formatNumberDecMortgageRate(VtotInt_1,0,1);

var VtotInt_2 = computeFixedInterestCostMortgageRate(Vprin, Vrate_2, VmoPmt_2);
VtotInt_2 = Math.round(VtotInt_2);
form.totInt_2.value = "$" + formatNumberDecMortgageRate(VtotInt_2,0,1);

var VtotInt_3 = computeFixedInterestCostMortgageRate(Vprin, Vrate_3, VmoPmt_3);
VtotInt_3 = Math.round(VtotInt_3);
form.totInt_3.value = "$" + formatNumberDecMortgageRate(VtotInt_3,0,1);

var VtotInt_4 = computeFixedInterestCostMortgageRate(Vprin, Vrate_4, VmoPmt_4);
VtotInt_4 = Math.round(VtotInt_4);
form.totInt_4.value = "$" + formatNumberDecMortgageRate(VtotInt_4,0,1);

var VtotInt_5 = computeFixedInterestCostMortgageRate(Vprin, Vrate_5, VmoPmt_5);
VtotInt_5 = Math.round(VtotInt_5);
form.totInt_5.value = "$" + formatNumberDecMortgageRate(VtotInt_5,0,1);


var VtotPmts_1 = eval(VtotPrin_1) + eval(VtotInt_1);
form.totPmts_1.value = "$" + formatNumberDecMortgageRate(VtotPmts_1,0,1);

var VtotPmts_2 = eval(VtotPrin_2) + eval(VtotInt_2);
form.totPmts_2.value = "$" + formatNumberDecMortgageRate(VtotPmts_2,0,1);

var VtotPmts_3 = eval(VtotPrin_3) + eval(VtotInt_3);
form.totPmts_3.value = "$" + formatNumberDecMortgageRate(VtotPmts_3,0,1);

var VtotPmts_4 = eval(VtotPrin_4) + eval(VtotInt_4);
form.totPmts_4.value = "$" + formatNumberDecMortgageRate(VtotPmts_4,0,1);

var VtotPmts_5 = eval(VtotPrin_5) + eval(VtotInt_5);
form.totPmts_5.value = "$" + formatNumberDecMortgageRate(VtotPmts_5,0,1);

}
}


function createReportMortgageRate(form) {

if(form.principal.value.length == 0) {
   alert("Please enter the amount of the mortgage.");
   form.principal.focus();
} else
if(form.numYears.value == "") {
  alert("Please enter mortgage's term in years.");
  form.numYears.focus();
} else {

computeFormMortgageRate(form);

var Vprin = stripNumMortgageRate(form.principal.value);
var VnumYears = stripNumMortgageRate(form.numYears.value);

var termRows = "";

termRows = ("" + termRows + "<tr><td><font face='arial'><small>Monthly payment:</small></font></td><td align=right><font face='arial'><small>" + form.moPmt_1.value + "</small></font></td><td align=right><font face='arial'><small>" + form.moPmt_2.value + "</small></font></td><td align=right><font face='arial'><small>" + form.moPmt_3.value + "</small></font></td><td align=right><font face='arial'><small>" + form.moPmt_4.value + "</small></font></td><td align=right><font face='arial'><small>" + form.moPmt_5.value + "</small></font></td></tr>");

termRows = ("" + termRows + "<tr><td><font face='arial'><small>Principal payments:</small></font></td><td align=right><font face='arial'><small>" + form.totPrin_1.value + "</small></font></td><td align=right><font face='arial'><small>" + form.totPrin_2.value + "</small></font></td><td align=right><font face='arial'><small>" + form.totPrin_3.value + "</small></font></td><td align=right><font face='arial'><small>" + form.totPrin_4.value + "</small></font></td><td align=right><font face='arial'><small>" + form.totPrin_5.value + "</small></font></td></tr>");

termRows = ("" + termRows + "<tr><td><font face='arial'><small>Interest payments:</small></font></td><td align=right><font face='arial'><small>" + form.totInt_1.value + "</small></font></td><td align=right><font face='arial'><small>" + form.totInt_2.value + "</small></font></td><td align=right><font face='arial'><small>" + form.totInt_3.value + "</small></font></td><td align=right><font face='arial'><small>" + form.totInt_4.value + "</small></font></td><td align=right><font face='arial'><small>" + form.totInt_5.value + "</small></font></td></tr>");

termRows = ("" + termRows + "<tr><td><font face='arial'><small>Total payments:</small></font></td><td align=right><font face='arial'><small>" + form.totPmts_1.value + "</small></font></td><td align=right><font face='arial'><small>" + form.totPmts_2.value + "</small></font></td><td align=right><font face='arial'><small>" + form.totPmts_3.value + "</small></font></td><td align=right><font face='arial'><small>" + form.totPmts_4.value + "</small></font></td><td align=right><font face='arial'><small>" + form.totPmts_5.value + "</small></font></td></tr>");

var part1 = ("<head><title>Mortgage Rate Comparison</title></head>" + "<body bgcolor= '#FFFFFF'><br><br><center><font face='arial'><big><strong>Mortgage Rate Comparison</strong></big></font></center>");

var part2 = ("<center><table border=1 cellpadding=2 cellspacing=0><tr><td colspan=6><font face='arial'><small><b>Principal: $" + formatNumberDecMortgageRate(Vprin,0,1) + "<br>Term: " + VnumYears + " years</b></small></font></td></tr><tr bgcolor='silver'><td><font face='arial'><small><b>Interest Rate</b></small></font></td><td align='center'><font face='arial'><small><b>" + form.rate_1.value + "%</b></small></font></td><td align='center'><font face='arial'><small><b>" + form.rate_2.value + "%</b></small></font></td><td align='center'><font face='arial'><small><b>" + form.rate_3.value + "%</b></small></font></td><td align='center'><font face='arial'><small><b>" + form.rate_4.value + "%</b></small></font></td><td align='center'><font face='arial'><small><b>" + form.rate_5.value + "%</b></small></font></td></tr>");

var part3 = ("" + termRows + "");

var part4 = ("</table><br><center><form method='post'><input type='button' value='Close Window' onClick='window.close()'></form></center></body></html>");

var schedule = (part1 + "" + part2 + "" + part3 + part4 + "");

  reportWin = window.open("","","width=500,height=400,toolbar=yes,menubar=yes,scrollbars=yes");

  reportWin.document.write(schedule);

  reportWin.document.close();

   }

}


function stripNumMortgageTerm(num) {

var iPercent
var iDollar
var iSpace
var iComma
var numLength = num.length

//lalalla Line #114

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 computeMonthlyPaymentMortgageTerm(prin, numPmts, intRate) {

var pmtAmt = 0;

if(intRate == 0) {
   pmtAmt = prin / numPmts;
} else {
   
   if (intRate >= 1.0) {
     intRate = intRate / 100.0;
   }
   intRate /= 12;

   var pow = 1;
   for (var j = 0; j < numPmts; j++)
      pow = pow * (1 + intRate);

   pmtAmt = (prin * pow * intRate) / (pow - 1);

}

return pmtAmt;

}


function computeFixedInterestCostMortgageTerm(principal, intRate, pmtAmt) { 

   var i = eval(intRate);
   if(i >= 1) {
   i /= 100;
   }
   i /= 12;

   var prin = eval(principal);
   var intPort = 0;
   var accumInt = 0;
   var prinPort = 0;
   var pmtCount = 0;
   var testForLast = 0;


   //CYCLES THROUGH EACH PAYMENT OF GIVEN DEBT
   while(prin > 0) {

      testForLast = (prin * (1 + i));

      if(pmtAmt < testForLast) {
         intPort = prin * i;
         accumInt = eval(accumInt) + eval(intPort);
         prinPort = eval(pmtAmt) - eval(intPort);
         prin = eval(prin) - eval(prinPort);
      } else {
      //DETERMINE FINAL PAYMENT AMOUNT
      intPort = prin * i;
      accumInt = eval(accumInt) + eval(intPort);
      prinPort = prin;
      prin = 0;
      }

      pmtCount = eval(pmtCount) + eval(1);

      if(pmtCount > 1000 || accumInt > 1000000000) {
         prin = 0;
      }

   }

return accumInt;

}


function formatNumberDecMortgageTerm(num, places, comma) {

var isNeg=0;

    if(num < 0) {
       num=num*-1;
       isNeg=1;
    }

    var myDecFact = 1;
    var myPlaces = 0;
    var myZeros = "";
    while(myPlaces < places) {
       myDecFact = myDecFact * 10;
       myPlaces = eval(myPlaces) + eval(1);
       myZeros = myZeros + "0";
    }
    
	onum=Math.round(num*myDecFact)/myDecFact;
		
	integer=Math.floor(onum);

	if (Math.ceil(onum) == integer) {
		decimal=myZeros;
	} else{
		decimal=Math.round((onum-integer)* myDecFact)
	}
	decimal=decimal.toString();
	if (decimal.length<places) {
        fillZeroes = places - decimal.length;
	   for (z=0;z<fillZeroes;z++) {
        decimal="0"+decimal;
        }
     }

   if(places > 0) {
      decimal = "." + decimal;
   }

   if(comma == 1) {
	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;
   } else {
      finNum=integer+""+decimal;
   }

    if(isNeg == 1) {
       finNum = "-" + finNum;
    }

	return finNum;
}



function computeFormMortgageTerm(form) {

if(form.principal.value.length == 0) {
   alert("Please enter the amount of the mortgage.");
   form.principal.focus();
} else
if(form.intRate.value == "") {
  alert("Please enter mortgage's annual interest rate.");
  form.intRate.focus();
} else {

var Vprin = stripNumMortgageTerm(form.principal.value);
var VintRate = stripNumMortgageTerm(form.intRate.value);

var VmoPmt_10 = computeMonthlyPaymentMortgageTerm(Vprin, 120, VintRate);
form.moPmt_10.value = "$" + formatNumberDecMortgageTerm(VmoPmt_10,0,1);

var VmoPmt_15 = computeMonthlyPaymentMortgageTerm(Vprin, 180, VintRate);
form.moPmt_15.value = "$" + formatNumberDecMortgageTerm(VmoPmt_15,0,1);

var VmoPmt_20 = computeMonthlyPaymentMortgageTerm(Vprin, 240, VintRate);
form.moPmt_20.value = "$" + formatNumberDecMortgageTerm(VmoPmt_20,0,1);

var VmoPmt_25 = computeMonthlyPaymentMortgageTerm(Vprin, 300, VintRate);
form.moPmt_25.value = "$" + formatNumberDecMortgageTerm(VmoPmt_25,0,1);

var VmoPmt_30 = computeMonthlyPaymentMortgageTerm(Vprin, 360, VintRate);
form.moPmt_30.value = "$" + formatNumberDecMortgageTerm(VmoPmt_30,0,1);


var VtotPrin_10 = Vprin;
form.totPrin_10.value = "$" + formatNumberDecMortgageTerm(VtotPrin_10,0,1);

var VtotPrin_15 = Vprin;
form.totPrin_15.value = "$" + formatNumberDecMortgageTerm(VtotPrin_15,0,1);

var VtotPrin_20 = Vprin;
form.totPrin_20.value = "$" + formatNumberDecMortgageTerm(VtotPrin_20,0,1);

var VtotPrin_25 = Vprin;
form.totPrin_25.value = "$" + formatNumberDecMortgageTerm(VtotPrin_25,0,1);

var VtotPrin_30 = Vprin;
form.totPrin_30.value = "$" + formatNumberDecMortgageTerm(VtotPrin_30,0,1);


var VtotInt_10 = computeFixedInterestCostMortgageTerm(Vprin, VintRate, VmoPmt_10);
VtotInt_10 = Math.round(VtotInt_10);
form.totInt_10.value = "$" + formatNumberDecMortgageTerm(VtotInt_10,0,1);

var VtotInt_15 = computeFixedInterestCostMortgageTerm(Vprin, VintRate, VmoPmt_15);
VtotInt_15 = Math.round(VtotInt_15);
form.totInt_15.value = "$" + formatNumberDecMortgageTerm(VtotInt_15,0,1);

var VtotInt_20 = computeFixedInterestCostMortgageTerm(Vprin, VintRate, VmoPmt_20);
VtotInt_20 = Math.round(VtotInt_20);
form.totInt_20.value = "$" + formatNumberDecMortgageTerm(VtotInt_20,0,1);

var VtotInt_25 = computeFixedInterestCostMortgageTerm(Vprin, VintRate, VmoPmt_25);
VtotInt_25 = Math.round(VtotInt_25);
form.totInt_25.value = "$" + formatNumberDecMortgageTerm(VtotInt_25,0,1);

var VtotInt_30 = computeFixedInterestCostMortgageTerm(Vprin, VintRate, VmoPmt_30);
VtotInt_30 = Math.round(VtotInt_30);
form.totInt_30.value = "$" + formatNumberDecMortgageTerm(VtotInt_30,0,1);


var VtotPmts_10 = eval(VtotPrin_10) + eval(VtotInt_10);
form.totPmts_10.value = "$" + formatNumberDecMortgageTerm(VtotPmts_10,0,1);

var VtotPmts_15 = eval(VtotPrin_15) + eval(VtotInt_15);
form.totPmts_15.value = "$" + formatNumberDecMortgageTerm(VtotPmts_15,0,1);

var VtotPmts_20 = eval(VtotPrin_20) + eval(VtotInt_20);
form.totPmts_20.value = "$" + formatNumberDecMortgageTerm(VtotPmts_20,0,1);

var VtotPmts_25 = eval(VtotPrin_25) + eval(VtotInt_25);
form.totPmts_25.value = "$" + formatNumberDecMortgageTerm(VtotPmts_25,0,1);

var VtotPmts_30 = eval(VtotPrin_30) + eval(VtotInt_30);
form.totPmts_30.value = "$" + formatNumberDecMortgageTerm(VtotPmts_30,0,1);

}
}


function createReportMortgageTerm(form) {

if(form.principal.value.length == 0) {
   alert("Please enter the amount of the mortgage.");
   form.principal.focus();
} else
if(form.intRate.value == "") {
  alert("Please enter mortgage's annual interest rate.");
  form.intRate.focus();
} else {

computeFormMortgageTerm(form);

var Vprin = stripNumMortgageTerm(form.principal.value);
var VintRate = stripNumMortgageTerm(form.intRate.value);

var termRows = "";

termRows = ("" + termRows + "<tr><td><font face='arial'><small>Monthly payment:</small></font></td><td align=right><font face='arial'><small>" + form.moPmt_10.value + "</small></font></td><td align=right><font face='arial'><small>" + form.moPmt_15.value + "</small></font></td><td align=right><font face='arial'><small>" + form.moPmt_20.value + "</small></font></td><td align=right><font face='arial'><small>" + form.moPmt_25.value + "</small></font></td><td align=right><font face='arial'><small>" + form.moPmt_30.value + "</small></font></td></tr>");

termRows = ("" + termRows + "<tr><td><font face='arial'><small>Principal payments:</small></font></td><td align=right><font face='arial'><small>" + form.totPrin_10.value + "</small></font></td><td align=right><font face='arial'><small>" + form.totPrin_15.value + "</small></font></td><td align=right><font face='arial'><small>" + form.totPrin_20.value + "</small></font></td><td align=right><font face='arial'><small>" + form.totPrin_25.value + "</small></font></td><td align=right><font face='arial'><small>" + form.totPrin_30.value + "</small></font></td></tr>");

termRows = ("" + termRows + "<tr><td><font face='arial'><small>Interest payments:</small></font></td><td align=right><font face='arial'><small>" + form.totInt_10.value + "</small></font></td><td align=right><font face='arial'><small>" + form.totInt_15.value + "</small></font></td><td align=right><font face='arial'><small>" + form.totInt_20.value + "</small></font></td><td align=right><font face='arial'><small>" + form.totInt_25.value + "</small></font></td><td align=right><font face='arial'><small>" + form.totInt_30.value + "</small></font></td></tr>");

termRows = ("" + termRows + "<tr><td><font face='arial'><small>Total payments:</small></font></td><td align=right><font face='arial'><small>" + form.totPmts_10.value + "</small></font></td><td align=right><font face='arial'><small>" + form.totPmts_15.value + "</small></font></td><td align=right><font face='arial'><small>" + form.totPmts_20.value + "</small></font></td><td align=right><font face='arial'><small>" + form.totPmts_25.value + "</small></font></td><td align=right><font face='arial'><small>" + form.totPmts_30.value + "</small></font></td></tr>");

var part1 = ("<head><title>Mortgage Term Comparison</title></head>" + "<body bgcolor= '#FFFFFF'><br><br><center><font face='arial'><big><strong>Mortgage Term Comparison</strong></big></font></center>");

var part2 = ("<center><table border=1 cellpadding=2 cellspacing=0><tr><td colspan=6><font face='arial'><small><b>Principal: $" + formatNumberDecMortgageTerm(Vprin,0,1) + "<br>Interest Rate: " + formatNumberDecMortgageTerm(VintRate,3,1) + "%</b></small></font></td></tr><tr bgcolor='silver'><td align='center'><font face='arial'><small><b>Description</b></small></font></td><td align='center'><font face='arial'><small><b>10 Years</b></small></font></td><td align='center'><font face='arial'><small><b>15 Years</b></small></font></td><td align='center'><font face='arial'><small><b>20 Years</b></small></font></td><td align='center'><font face='arial'><small><b>25 Years</b></small></font></td><td align='center'><font face='arial'><small><b>30 Years</b></small></font></td></tr>");

var part3 = ("" + termRows + "");

var part4 = ("</table><br><center><form method='post'><input type='button' value='Close Window' onClick='window.close()'></form></center></body></html>");

var schedule = (part1 + "" + part2 + "" + part3 + part4 + "");

  reportWin = window.open("","","width=500,height=400,toolbar=yes,menubar=yes,scrollbars=yes");

  reportWin.document.write(schedule);

  reportWin.document.close();

   }

}


function stripNumARMFixed(num) {

var iPercent
var iDollar
var iSpace
var iComma
var numLength = num.length

//lalalla Line #114

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 formatNumberARMFixed(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 computeFormARMFixed(form) {

if(form.moRent.value == "" || form.moRent.value == 0) {
   alert("Please enter the amount of your monthly rent payment.");
   form.moRent.focus();
   } else
      if(form.homeCost.value == "" || form.homeCost.value == 0) {
      alert("Please enter the purchase price of the home.");
      form.homeCost.focus();
   } else
      if(form.noYears.value == "" || form.noYears.value == 0) {
      alert("Please your number of years you are financing the home for.");
      form.noYears.focus();
   } else
      if(form.payRate.value == "" || form.payRate.value == 0) {
      alert("Please enter the mortgage's annual interest rate.");
      form.payRate.focus();
   } else
      if(form.stayYrs.value == "" || form.stayYrs.value == 0) {
      alert("Please enter the number of years you plan to stay in this property.");
      form.stayYrs.focus();
   } else {

//GET RENTAL INFO
var VmoRent = stripNumARMFixed(form.moRent.value);
var VtotRent = 0;

var VmoRentIns = stripNumARMFixed(form.moRentIns.value);
if(VmoRentIns == "" || VmoRentIns == 0) {
VmoRentIns = 0
}

var VinflateRate = stripNumARMFixed(form.inflateRate.value);
if(VinflateRate == "" || VinflateRate == 0) {
VinflateRate = 0
} else
if(VinflateRate >= 1) {
VinflateRate = VinflateRate / 100;
}
VinflateRate = eval(VinflateRate) + eval(1);

//GET TIME INFO & CONVERT TO MONTHS
var VstayYrs = stripNumARMFixed(form.stayYrs.value);
var VstayMonths = VstayYrs * 12;
var count = 0;

//GET LOAN INFO
var i = stripNumARMFixed(form.payRate.value);
if (i > 1.0) {
  i = i / 100.0;
 }
i /= 12;

var VhomeCost = stripNumARMFixed(form.homeCost.value);
var VnoYears = stripNumARMFixed(form.noYears.value);

var VdownPmt = stripNumARMFixed(form.downPmt.value);

var VorigPrin = eval(VhomeCost) - eval(VdownPmt);
var intPort = 0;
var VaccumInt = 0;
var prinPort = 0;
var prin = VorigPrin;

//CALULCATE MONTHLY MORTGAGE PAYMENT
var noMonths = VnoYears * 12;

var pow = 1;
for (var j = 0; j < noMonths; j++)
   pow = pow * (1 + i);

var VmoPmt = (VorigPrin * pow * i) / (pow - 1);

//GET HOME APPRECIATION INFO
var VapprecRate = stripNumARMFixed(form.apprecRate.value);
if(VapprecRate == "" || VapprecRate == 0) {
VapprecRate = 0;
} else
if(VapprecRate >= 0) {
VapprecRate = VapprecRate / 100;
}
VapprecRate = eval(VapprecRate) + eval(1);
var VaccumApprec = VhomeCost * VapprecRate;

//GET PMI (PRIVATE MORTGAGE INSURANCE) INFO
var Vpmi = stripNumARMFixed(form.pmi.value);
if(Vpmi == 0 || Vpmi == "") {
Vpmi = 0;
} else
if(Vpmi >= .01) {
Vpmi = Vpmi / 100;
}
Vpmi = Vpmi / 12;
var pmiYN = 0;
var VaccumPmi = 0;
var downPayPerc = VdownPmt / VhomeCost;
if(downPayPerc < .20) {
pmiYN = 1;
VaccumPmi = 0;
}

//*******CALCULATE CLOSING COSTS

//POINTS
var Vfees = stripNumARMFixed(form.fees.value);
if(Vfees == 0 || Vfees == "") {
Vfees = 0;
} else
if(Vfees >= 1 ) {
Vfees = Vfees / 100;
}
var VfeeCost = VorigPrin * Vfees;

//ORIGINATION FEE
var Vpoints = stripNumARMFixed(form.points.value);
if(Vpoints == 0 || Vpoints == "") {
Vpoints = 0;
} else
if(Vpoints >= 1 ) {
Vpoints = Vpoints / 100;
}
var VpointCost = VorigPrin * Vpoints;

//OTHER LOAN COSTS
var VloanCosts= stripNumARMFixed(form.loanCosts.value);
if(VloanCosts == 0 || VloanCosts == "") {
VloanCosts = 0;
}

//TOTAL CLOSING COSTS
var VclosingCosts = eval(VpointCost) + eval(VfeeCost) + eval(VloanCosts);

//GET INVESTMENT INFO
var VinvestIntPort = 0;
var VinvestPrin = eval(VdownPmt) + eval(VclosingCosts);

var earnInt = stripNumARMFixed(form.saveRate.value);
if (earnInt >= 1.0) {
  earnInt = earnInt / 100.0;
 }
earnInt /= 12;

//INITIATE INFLATION FACTOR
var VaccumInflate = 1;

//*****CYCLE THROUGH NUMBER OF MONTHS
while(count < VstayMonths) {

//ACCUMULATE RENT PAYMENTS & INSURANCE & APPRECIATION
if(count > 0 && count % 12 == 0) {
VaccumApprec = VaccumApprec * VapprecRate;
VmoRent = VmoRent * VinflateRate;
VaccumInflate = VaccumInflate * VinflateRate;
}
VtotRent = eval(VtotRent) + eval(VmoRent);
VtotRent = eval(VtotRent) + eval(VmoRentIns);

//ACCUMULATE INTEREST PAYMENTS
if(count < noMonths) {
   intPort = prin * i;
   VaccumInt = eval(VaccumInt) + eval(intPort)
   prinPort = eval(VmoPmt) - eval(intPort);
   prin = eval(prin) - eval(prinPort);
}

//IF PMI APPLICABLE, ACCUMULATE
if(pmiYN == 1) {
VaccumPmi = eval(VaccumPmi) + eval(Vpmi * prin);
}

//AMORTIZE INVESTED DOWNPAYMENT AND CLOSING COSTS
VinvestIntPort = earnInt * VinvestPrin;
VinvestPrin = eval(VinvestPrin) + eval(VinvestIntPort);

//INCREASE COUNT
count = eval(count) + eval(1);
}

//CALCULATE TOTAL ASSOCIATION DUES
var VassocDues = stripNumARMFixed(form.assocDues.value);
if(VassocDues == "" || VassocDues == 0) {
VassocDues = 0;
}
var VtotAssocDues = VassocDues * 12 * VstayYrs * VaccumInflate;

//CALCULATE TOTAL PROPERTY TAXES
var VpropTax = stripNumARMFixed(form.propTax.value);
if(VpropTax == "" || VpropTax == 0) {
VpropTax = 0;
}
var VtotPropTax = VpropTax * VstayYrs * VaccumInflate;

//CALCULATE TOTAL MAINTENANCE COSTS
var Vmaint = form.maint.value;
if(Vmaint == "" || Vmaint == 0) {
Vmaint = 0;
}
var VtotMaintCost = Vmaint * 12 * VstayYrs * VaccumInflate;

//CALCULATE TOTAL HOMEOWNER INSURANCE COSTS
var VhomeIns = stripNumARMFixed(form.homeIns.value);
if(VhomeIns == "" || VhomeIns == 0) {
VhomeIns = 0;
} else
if(VhomeIns >= .01) {
VhomeIns = VhomeIns / 100;
}
var VtotHomeInsCost = VhomeIns * VhomeCost * VstayYrs * VaccumInflate;

//CALCULATE NET GAIN ON HOME
var VnetGain = eval(VaccumApprec) - eval(VhomeCost);

//CALCULATE TAX SAVINGS ON INTEREST, POINTS AND PROPERTY TAXES
var VtotTaxDeduct = eval(VaccumInt) + eval(VtotPropTax) + eval(VfeeCost);
var VincomeTax = stripNumARMFixed(form.incomeTax.value);
if(VincomeTax == 0 || VincomeTax == "") {
VincomeTax = 0;
} else
if(VincomeTax >= 1) {
VincomeTax = VincomeTax / 100;
}
var VtotTaxSave = VincomeTax * VtotTaxDeduct;

//CALCULATE REALTOR COMMISSION ON SALE OF HOME
var VrealtorCom = stripNumARMFixed(form.realtorCom.value);
if(VrealtorCom == 0 || VrealtorCom == "") {
VrealtorCom = 0;
} else
if(VrealtorCom >= 1) {
VrealtorCom = VrealtorCom / 100;
}
var VsellCost = VaccumApprec * VrealtorCom;

//CALCULATE NET EARNINGS ON INVESTMENT
var VinvestEarn = eval(VinvestPrin) - eval(VdownPmt) - eval(VclosingCosts);

form.totRent.value = VtotRent;
form.moPmt.value = VmoPmt;
form.accumInt.value = VaccumInt;
form.closeCosts.value = VclosingCosts;
form.totPropTax.value = VtotPropTax;
form.totMaintCost.value = VtotMaintCost;
form.totHomeInsCost.value = VtotHomeInsCost;
form.netGain.value = VnetGain;
form.pmiCost.value = VaccumPmi;
form.investPrin.value = VinvestEarn;
form.totAssocDues.value = VtotAssocDues;
form.totTaxSave.value = VtotTaxSave;
form.sellCost.value = VsellCost;

var VtotRentCosts = VtotRent;
form.totRentCosts.value = VtotRentCosts;
var VtotRentBenefits = VinvestEarn;
form.totRentBenefits.value = VtotRentBenefits;
var VnetRentCost = eval(VtotRent) - eval(VinvestEarn);

var VtotBuyCosts = eval(VaccumInt) + eval(VclosingCosts) + eval(VtotPropTax) + eval(VtotMaintCost) + eval(VtotHomeInsCost) + eval(VaccumPmi) + eval(VtotAssocDues) + eval(VsellCost);
form.totBuyCosts.value = VtotBuyCosts;

var VtotBuyBenefits = eval(VnetGain) + eval(VtotTaxSave);
form.totBuyBenefits.value = VtotBuyBenefits;
var VnetBuyCost = eval(VtotBuyCosts) - eval(VtotBuyBenefits);


form.netRentCost.value = "$" + formatNumberARMFixed(VnetRentCost);
form.netBuyCost.value = "$" + formatNumberARMFixed(VnetBuyCost);

var diff = 0;
var Vsummary = "";
if(VnetRentCost > VnetBuyCost) {
diff = eval(VnetRentCost) - eval(VnetBuyCost);
Vsummary = "You will save $" + formatNumberARMFixed(diff) + " if you buy instead of rent."
} else {
diff = eval(VnetBuyCost) - eval(VnetRentCost);
Vsummary = "You will save $" + formatNumberARMFixed(diff) + " if you rent instead of buy."
}

form.results.value = Vsummary;

}

}

function showReportARMFixed(form) {

computeFormARMFixed(form);

var part1 = ("<HEAD><TITLE>Rent Vs. Buy Report</TITLE></HEAD>" + "<BODY BGCOLOR = '#FFFFFF'><BR><BR><CENTER></CENTER>");

var part2 = ("<CENTER><TABLE BORDER=1 CELLSPACING=0 CELLPADDING=4><TR><TD COLSPAN=2 ALIGN=CENTER><font face='arial'><big><b>Rent</b></big></font></TD><TD ALIGN=CENTER><font face='arial'><big><b>vs.</b></big></font></TD><TD COLSPAN=2 ALIGN=CENTER><font face='arial'><big><b>Buy</b></big></font></TD></TR><TR><TD COLSPAN=2 VALIGN=TOP><font face='arial'><small><b>Monthly Rent Payment: $" + formatNumberARMFixed(form.moRent.value) + "<BR>Annual Return on Investment: " + formatNumberARMFixed(form.saveRate.value) + "%</b></small></font></TD><TD></TD><TD COLSPAN=2><font face='arial'><small><b>Purchase Price: $" + formatNumberARMFixed(form.homeCost.value) + "<BR>Down Payment: $" + formatNumberARMFixed(form.downPmt.value) + "<BR>Mortgage Term: " + form.noYears.value + " years<BR>Interest Rate: " + formatNumberARMFixed(form.payRate.value) + "%<BR>Monthly Mortgage Payment: $" + formatNumberARMFixed(form.moPmt.value) + "<BR></b></small></font></TD></TR><TR><TD COLSPAN=5><CENTER><font face='arial'><big><b>Cost Benefit Analysis</b></big></font><BR><font face='arial'><small><small>Calculations are based upon a " + form.inflateRate.value + "% annual inflation rate over the course of " + form.stayYrs.value + " years (the time between now and when you estimate you would sell the home). Please allow for slight rounding differences.</small></small></font></CENTER></TD></TR><TR BGCOLOR=\"#CCCCCC\"><TD><font face='arial'><small><b>Renting Costs</b></small></font></TD><TD><font face='arial'><small><b>Amount</b></small></font></TD><TD> </TD><TD><font face='arial'><small><b>Buying Costs</b></small></font></TD><TD><font face='arial'><small><b>Amount</b></small></font></TD></TR>");

var row1 = "<TR><TD><font face='arial'><small>Total Rent & Insurance Payments:</small></font></TD><TD ALIGN=RIGHT><font face='arial'><small>$" + formatNumberARMFixed(form.totRent.value) + "</small></font></TD><TD> </TD><TD><font face='arial'><small>Total of Interest Payments:</small></font></TD><TD ALIGN=RIGHT><font face='arial'><small>$" + formatNumberARMFixed(form.accumInt.value) + "</small></font></TD></TR>";

var row2 = "<TR><TD ALIGN=RIGHT> </TD><TD> </TD><TD> </TD><TD><font face='arial'><small>Total Closing Costs:</small></font></TD><TD ALIGN=RIGHT><font face='arial'><small>$" + formatNumberARMFixed(form.closeCosts.value) + "</small></font></TD></TR>";

var row3 = "<TR><TD ALIGN=RIGHT> </TD><TD> </TD><TD> </TD><TD><font face='arial'><small>Total Property Tax Costs:</small></font></TD><TD ALIGN=RIGHT><font face='arial'><small>$" + formatNumberARMFixed(form.totPropTax.value) + "</small></font></TD></TR>";

var row4 = "<TR><TD ALIGN=RIGHT> </TD><TD> </TD><TD> </TD><TD><font face='arial'><small>Total Maintenance Costs:</small></font></TD><TD ALIGN=RIGHT><font face='arial'><small>$" + formatNumberARMFixed(form.totMaintCost.value) + "</small></font></TD></TR>";

var row5 = "<TR><TD ALIGN=RIGHT> </TD><TD> </TD><TD> </TD><TD><font face='arial'><small>Total Homeowner's Insurance Costs:</small></font></TD><TD ALIGN=RIGHT><font face='arial'><small>$" + formatNumberARMFixed(form.totHomeInsCost.value) + "</small></font></TD></TR>";

var row6 = "<TR><TD ALIGN=RIGHT> </TD><TD> </TD><TD> </TD><TD><font face='arial'><small>Total Association Dues:</small></font></TD><TD ALIGN=RIGHT><font face='arial'><small>$" + formatNumberARMFixed(form.totAssocDues.value) + "</small></font></TD></TR>";

var row7 = "<TR><TD ALIGN=RIGHT> </TD><TD> </TD><TD> </TD><TD><font face='arial'><small>Total PMI Costs:</small></font></TD><TD ALIGN=RIGHT><font face='arial'><small>$" + formatNumberARMFixed(form.pmiCost.value) + "</small></font></TD></TR>";

var row7B = "<TR><TD ALIGN=RIGHT> </TD><TD> </TD><TD> </TD><TD><font face='arial'><small>Cost of selling home:</small></font></TD><TD ALIGN=RIGHT><font face='arial'><small>$" + formatNumberARMFixed(form.sellCost.value) + "</small></font></TD></TR>";

var row8 = "<TR><TD ALIGN=RIGHT><font face='arial'><small><B>Total Costs</B></small></font></TD><TD ALIGN=RIGHT><font face='arial'><small><B>$" + formatNumberARMFixed(form.totRentCosts.value) + "</B></small></font></TD><TD> </TD><TD ALIGN=RIGHT><font face='arial'><small><B>Total Costs</B></small></font></TD><TD ALIGN=RIGHT><font face='arial'><small><B>$" + formatNumberARMFixed(form.totBuyCosts.value) + "</B></small></font></TD></TR>";

var spacer = "<TR><TD ALIGN=RIGHT> </TD><TD> </TD><TD> </TD><TD> </TD><TD ALIGN=RIGHT> </TD></TR>";

var row9 = "<TR BGCOLOR=\"#CCCCCC\"><TD><font face='arial'><small><B>Renting Benefits</B></small></font></TD><TD><font face='arial'><small><B>Amount</B></small></font></TD><TD> </TD><TD><font face='arial'><small><B>Buying Benefits</B></small></font></TD><TD><font face='arial'><small><B>Amount</B></small></font></TD></TR>";

var row10 = "<TR><TD><font face='arial'><small>Interest Earned on Invested Funds:</small></font></TD><TD ALIGN=RIGHT><font face='arial'><small>$" + formatNumberARMFixed(form.investPrin.value) + "</small></font></TD><TD> </TD><TD><font face='arial'><small>Tax Savings:</small></font></TD><TD ALIGN=RIGHT><font face='arial'><small>$" + formatNumberARMFixed(form.totTaxSave.value) + "</small></font></TD></TR>";

var row11 = "<TR><TD ALIGN=RIGHT> </TD><TD> </TD><TD> </TD><TD><font face='arial'><small>Home Appreciation:</small></font></TD><TD ALIGN=RIGHT><font face='arial'><small>$" + formatNumberARMFixed(form.netGain.value) + "</small></font></TD></TR>";

var row12 = "<TR><TD ALIGN=RIGHT><font face='arial'><small><B>Total Benefits</B></small></font></TD><TD ALIGN=RIGHT><font face='arial'><small><B>$" + formatNumberARMFixed(form.totRentBenefits.value) + "</B></small></font></TD><TD> </TD><TD ALIGN=RIGHT><font face='arial'><small><B>Total Benefits</B></small></font></TD><TD ALIGN=RIGHT><font face='arial'><small><B>$" + formatNumberARMFixed(form.totBuyBenefits.value) + "</B></small></font></TD></TR>";

var row13 = "<TR><TD ALIGN=RIGHT><font face='arial'><small><B>NET COST OF RENTING:</B></small></font></TD><TD ALIGN=RIGHT><font face='arial'><small><B>" + form.netRentCost.value + "</B></small></font></TD><TD> </TD><TD ALIGN=RIGHT><font face='arial'><small><B>NET COST OF BUYING:</B></small></font></TD><TD ALIGN=RIGHT><font face='arial'><small><B>" + form.netBuyCost.value + "</B></small></font></TD></TR>";

var summary = "<TR BGCOLOR=\"#CCCCCC\"><TD COLSPAN=5><font face='arial'><small><B>Summary:</B> " + form.results.value + "</small></font></TD></TR>";

var part4 = ("</TABLE><BR><CENTER><FORM METHOD='POST'><INPUT TYPE=\'BUTTON\' VALUE=\'Close\' onClick=\'window.close()\'></FORM></CENTER></BODY></HTML>");

var schedule = (part1 + "" + part2 + "" + row1 + "" + row2 + "" + row3 + "" + row4 + "" + row5 + "" + row6 + "" + row7 + "" + row7B + "" + row8 + "" + spacer + "" + row9 + "" + row10 + "" + row11 + "" + row12 + "" + spacer + "" + row13 + "" + summary + "" + part4 + "");

  reportWin = window.open("","","width=600,height=400,toolbar=yes,menubar=yes,scrollbars=yes");
  reportWin.document.write(schedule);
  reportWin.document.close();

}

function showHelpARMFixed(form) {

var title = "";
var explain = "";

if(form.help[0].checked) {
title = "Monthly rent";
explain = "Enter the amount of the monthly rent payment."
} else
if(form.help[1].checked) {
title = "Monthly rental insurance";
explain = "Enter the monthly rental insurance premium."
} else
if(form.help[2].checked) {
title = "Expected annual inflation rate";
explain = "Enter the annual inflation rate. Enter 4% as 4. This is used to inflate the costs of rent, insurance, maintenance, dues and property taxes for the length of time you will own the home."
} else
if(form.help[3].checked) {
title = "Purchase price of home";
explain = "Enter the total purchase price of the home -- not including closing costs.";
} else
if(form.help[4].checked) {
title = "Down payment amount";
explain = "Enter the amount you will have available to put down on the house after you have set aside the cash you will need to pay the closing costs.";
} else
if(form.help[5].checked) {
title = "Length of mortgage term";
explain = "Enter the number of years you are financing the home for.";
} else
if(form.help[6].checked) {
title = "Mortgage's annual interest rate";
explain = "Enter the annual interest rate of the morgage. Enter 8% as simply 8 (do not include percent sign).";
} else
if(form.help[7].checked) {
title = "Discount points on purchase of the home";
explain = "Discount points are paid up front in order to reduce the interest rate of your mortgage. Each point represents 1% of your mortgage balance. Enter 1% as simply 1 (do not include percent sign).";
} else
if(form.help[8].checked) {
title = "Origination fees";
explain = "The percentage (often as high as 1% of the loan amount) that a lending institution charges for processing and originating a loan.";
} else
if(form.help[9].checked) {
title = "Other loan costs";
explain = "The total of other loan related costs, such as filing fees, appraiser fees, etc.";
} else
if(form.help[10].checked) {
title = "Mortgage Insurance (PMI)";
explain = "If your downpayment is less than 20% of the value of the home you are buying, you may be required to pay mortgage insurance of somewhere between 0.2% and 0.5% of your principal balance each month. Enter .04% simply as .4 (do not include percent sign).";
} else
if(form.help[11].checked) {
title = "Homeowner's insurance rate";
explain = "Your homeowner's insurance rate -- entered as a percentage of your home's value. Typical rate is 0.5%. Enter .5% simply as .5 (do not include percent sign).";
} else
if(form.help[12].checked) {
title = "Monthly association dues";
explain = "If you are a member of a homeowner's association, enter your monthly dues in this field.";
} else
if(form.help[13].checked) {
title = "Average monthly maintenance";
explain = "Enter the amount you expect to spend on repairing and maintaining your home.";
} else
if(form.help[14].checked) {
title = "Annual property tax";
explain = "Enter the amount of property taxes you expect to pay each year.";
} else
if(form.help[15].checked) {
title = "State plus Federal income tax rate";
explain = "Enter your combined state and federal income tax percentage rate. Enter 28% simply as 28 (do not include percent sign).";
} else
if(form.help[16].checked) {
title = "Interest rate you expect to earn on savings";
explain = "Enter the annual interest rate you expect to earn on the down payment and closing costs you will invest if you decide to rent instead of buy. Enter 7% simply as 7 (do not include percent sign).";
} else
if(form.help[17].checked) {
title = "Expected percentage your home will appreciate by each year";
explain = "Enter the percentage amount you expect your house to appreciate by each year. Enter 3% simply as 3 (do not include percent sign).";
} else
if(form.help[18].checked) {
title = "Number of years you will stay at this property";
explain = "Enter the number of years you expect to rent or own the property you are considering. Typically, if you plan to move out of a home in less than 5 years from the date of purchase, you may be better off renting.";
} else
if(form.help[19].checked) {
title = "Realtor commission rate";
explain = "Enter the percentage of your home's selling price that you expect to pay a real estate agent or broker when it's time to sell your home. Enter 7% simply as 7 (do not include percent sign).";
}

var part1 = ("<HEAD><TITLE>Help Screen</TITLE></HEAD>" + "<BODY BGCOLOR = '#FFFFFF'><BR><BR><CENTER><TABLE><TR><TD><font face='arial'><small><B>" + title + ":</B> " + explain + "</small></font></TD></TR></TABLE></CENTER>");

var part4 = ("<BR><CENTER><FORM METHOD='POST'><INPUT TYPE=\'BUTTON\' VALUE=\'Close\' onClick=\'window.close()\'></FORM></CENTER></BODY></HTML>");

var schedule = (part1 + "" + part4 + "");

  reportWin = window.open("","","width=300,height=200,toolbar=yes,menubar=yes,scrollbars=yes");
  reportWin.document.write(schedule);
  reportWin.document.close();

}

function stripNumInterestOnly(num) {

var iPercent
var iDollar
var iSpace
var iComma
var numLength = num.length

//lalalla Line #114

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 formatNumberDecInterestOnly(num, places, comma) {

var isNeg=0;

    if(num < 0) {
       num=num*-1;
       isNeg=1;
    }

    var myDecFact = 1;
    var myPlaces = 0;
    var myZeros = "";
    while(myPlaces < places) {
       myDecFact = myDecFact * 10;
       myPlaces = eval(myPlaces) + eval(1);
       myZeros = myZeros + "0";
    }
    
	onum=Math.round(num*myDecFact)/myDecFact;
		
	integer=Math.floor(onum);

	if (Math.ceil(onum) == integer) {
		decimal=myZeros;
	} else{
		decimal=Math.round((onum-integer)* myDecFact)
	}
	decimal=decimal.toString();
	if (decimal.length<places) {
        fillZeroes = places - decimal.length;
	   for (z=0;z<fillZeroes;z++) {
        decimal="0"+decimal;
        }
     }

   if(places > 0) {
      decimal = "." + decimal;
   }

   if(comma == 1) {
	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;
   } else {
      finNum=integer+""+decimal;
   }

    if(isNeg == 1) {
       finNum = "-" + finNum;
    }

	return finNum;
}


function computeFormInterestOnly(form) {

if (form.principal.value == null || form.principal.value.length == 0) {
   alert("Please enter the loan's principal amount.");
   form.principal.focus();
} else
if (form.interest.value == null || form.interest.value.length == 0) {
   alert("Please enter the loan's annual interest rate.");
   form.interest.focus();
} else {

   var Vprincipal = stripNumInterestOnly(form.principal.value);

    var i = stripNumInterestOnly(form.interest.value);

    if (i >= 1.0) {

        i = i / 100.0;

    }

    i /= 12;

   var Vpayment = Vprincipal * i;

    form.payment.value = "$" + formatNumberDecInterestOnly(Vpayment,2,1);
   }
}
