function NumFormat( __StringNumber ) {
 InString = _Trim(__StringNumber);
 OutString = "";
 InLength = InString.length;
 for(__x=InLength; __x!=0; __x--) {
  if(OutString.length == 3 | OutString.length == 7 | OutString.length == 11) {
   OutString = "," + OutString;
   OutString = InString.substring(__x-1,__x) + OutString;
  } else {
   OutString = InString.substring(__x-1,__x) + OutString;
  }
 }
 return OutString;
}

function _Trim( str ) {
	astr = String( str );
	t_str = String("");
	LastCharAt = 0;
	for(x=astr.length-1;x>=0;x--) {
		if( astr.charAt(x) != " " ) {
			LastCharAt = x+1;
			break;
		}
	}
	return astr.substring(0,LastCharAt);
}

function computeForm(form) {

    var pmt1 = form.payment.value;
    var prin1 = form.principal.value;
    var intPort1 = 0;
    var prinPort1 = 0;
    var accumInt1 = 0;
    var accumPrin1 = 0;
    var i1 = form.intRate.value;

    if (i1 > 1.0) {
        i1 = i1 / 100.0;
        //BF
        //form.intRate.value = i1;
    }

    var i1  = i1  / 12;
    var i2 = form.intRate2.value;

       if (i2 > 1.0) {
           i2 = i2 / 100.0;
			//BF
           //form.intRate2.value = 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 = "$" + parseInt(accumInt1,10);
    var pow = 1;
    for (var j = 0; j < form.nper2.value *12; j++)
        pow = pow * (1 + i2);
    var fpayment2 = (form.principal.value * pow * i2) / (pow - 1);
    form.payment2.value = "$" + parseInt(fpayment2,10) + "." + parseInt(fpayment2 % 1 * 100,10);
   var fmoSave = form.payment.value - fpayment2;
   form.moSave.value = "$" + parseInt(fmoSave,10) + "." + parseInt(fmoSave % 1 *100,10);
   var ftotInt2 = (fpayment2 * form.nper2.value *12) - form.principal.value;
   form.totInt2.value = "$" + parseInt(ftotInt2,10);
   var fintSave = accumInt1 - ftotInt2;
		if (fintSave < 0) 
			fintSave *= (-1);
    form.intSave.value = "$" + parseInt(fintSave,10);
    form.closeMo.value = parseInt(form.closingCost.value / fmoSave,10);
   var fnetSave = fintSave - form.closingCost.value;
		if (fnetSave < 0)
			fnetSave *= (-1);
   form.netSave.value = "$" + parseInt(fnetSave,10);
    //form.summary.value = "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.interest.value = "";
    form.interest2.value = "";
    form.term.value = "";
    form.closingCost.value = "";
    form.payment2.value = "";
    form.savings.value = "";
    form.breakeven.value = "";
    form.IntSaved.value = "";
    form.netSave.value = "";
    form.Rinterest.value = "";
}

    function computeField(input) {
        if (input.value != null && input.value.length != 0)
            input.value = "" + NumFormat(parseInt(input.value));

}

function _StrTran( _str2b_chg, _substr2_look4, _substr2_sub ) {
//=====================================================================
// function _StrTran( _str2b_chg, _substr2_look4, _substr2_sub )
//
//
//=====================================================================
 var _Str_2B_Chg = String( _str2b_chg );
 var _Str_2_Look_4 = String( _substr2_look4 );
 var _Str_2_Sub = String( _substr2_sub );
 var _Out_Str = "";

 _len2chg = _Str_2B_Chg.length;
 _len2lk4 = _Str_2_Look_4.length;
 for( _stepr=0; _stepr<_len2chg; _stepr++ ) {
  if(_Str_2B_Chg.substring(_stepr,_stepr+_len2lk4) == _Str_2_Look_4)
   _Out_Str += _Str_2_Sub;
  else
   _Out_Str += _Str_2B_Chg.substring(_stepr,_stepr+_len2lk4)
 }
 return _Out_Str;
}


