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'></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();
 }



 }
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{
//window.open("amortz.html","Amortz","menubar,scrollbars,width=520,height=400")
}
}

function stripNumFixedRate(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 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 == "" 
	|| document.armPayment.adjust_amt.value == 0 || document.armPayment.adjust_amt.value == ""
	|| document.armPayment.fixed_rate.value == 0 || document.armPayment.fixed_rate.value == ""
	|| document.armPayment.adj_start_rate.value == 0 || document.armPayment.adj_start_rate.value == ""
	|| document.armPayment.adj_start_months.value == 0 || document.armPayment.adj_start_months.value == ""
	|| document.armPayment.adj_rate_cap.value == 0 || document.armPayment.adj_rate_cap.value == ""
	|| document.armPayment.io_start_rate.value == 0 || document.armPayment.io_start_rate.value == "" 
	|| document.armPayment.io_start_months.value == 0 || document.armPayment.io_start_months.value == ""
	|| document.armPayment.io_rate_cap.value == 0 || document.armPayment.io_rate_cap.value == "") {
   		alert("Inserire tutti i campi..");
	} 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("Inserire un mutuo maggiore di \u20AC100.");
		   document.armPayment.principal.focus();
		} else
		if(Vprincipal > 100000000) {
		   alert("Inserire un mutuo inferiore a \u20AC100.000.000");
		   document.armPayment.principal.focus();
		} else
		if(Vadjust_amt > 3) {
		   alert("Inserire una variazione annuale tasso variabile minore o uguale al 3%.");
		   document.armPayment.adjust_amt.focus();
		} else
		if(Vadjust_amt < -3) {
		   alert("La Variazione annuale tasso variabile deve essere piu' grande o uguale al -3%.");
		   document.armPayment.adjust_amt.focus();
		} else
		if(Vadj_start_rate > 25) {
		   alert("Inserire un tasso di interesse iniziale che e' inferiore o uguale al 25%");
		   document.armPayment.adj_start_rate.focus();
		} else
		if(Vadj_rate_cap < 5) {
		   alert("Inserire un tasso limite pił grande o uguale al 5%.");
		   document.armPayment.adj_rate_cap.focus();
		} else
		if(Vadj_rate_cap > 25) {
		   alert("Inserire un tasso limite inferiore o uguale a 25%.");
		   document.armPayment.adj_rate_cap.focus();
		} else
		if(Vadj_start_months > 120) {
		   alert("Il numero di mesi prima dell'aumento tasso deve essere inferiore o uguale a 120");
		   document.armPayment.adj_start_months.focus();
		
		} else
		if(Vio_start_rate > 25) {
		   alert("Inserire un tasso di interesse iniziale inferiore o uguale al 25%.");
		   document.armPayment.io_start_rate.focus();
		} else
		if(Vio_rate_cap < 5) {
		   alert("Inserire il tasso limite per i soli interessi a tasso variabile protetto maggiore o uguale del 5%");
		   document.armPayment.io_rate_cap.focus();
		} else
		if(Vio_rate_cap > 25) {
		   alert("Inserire il tasso limite per i soli interessi a tasso variabile protetto inferiore o uguale del 25%");
		   document.armPayment.io_rate_cap.focus();
		} else
		if(Vio_start_months > 120) {
		   alert("Il numero di mesi prima dell'aumento tasso dei soli interessi a tasso varaibile protetto deve essere inferiore o uguale a 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 = "\u20AC" + formatPers(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 = "\u20AC" + formatPers(formatNumberDecFixedRate(Vadj_start_pmt,2,1));
			
			var Vio_start_pmt = Vio_start_rate / 100 / 12 * Vprincipal;
			document.armPayment.io_start_pmt.value = "\u20AC" + formatPers(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>\u20AC" + formatPers(formatNumberDecFixedRate(fix_pmt,2,1)) + "</small></font></td><td align=right><font face='arial'><small>\u20AC" + formatPers(formatNumberDecFixedRate(fix_prin,2,1)) + "</small></font></td><td align=right><font face='arial'><small>\u20AC" + formatPers(formatNumberDecFixedRate(adj_pmt,2,1)) + "</small></font></td><td align=right><font face='arial'><small>\u20AC" + formatPers(formatNumberDecFixedRate(adj_prin,2,1)) + "</small></font></td><td align=right><font face='arial'><small>\u20AC" + formatPers(formatNumberDecFixedRate(io_pmt,2,1)) + "</small></font></td><td align=right><font face='arial'><small>\u20AC" + formatPers(formatNumberDecFixedRate(io_prin,2,1)) + "</small></font></td></tr>");
			}

		}

		document.armPayment.fixed_total_pmts.value = "\u20AC" + formatPers(formatNumberDecFixedRate(fix_accum_pmts,2,1));
		document.armPayment.fixed_total_int.value = "\u20AC" + formatPers(formatNumberDecFixedRate(fix_accum_int,2,1));
		document.armPayment.fixed_max_pmt.value = "\u20AC" + formatPers(formatNumberDecFixedRate(Vfixed_pmt,2,1));


		document.armPayment.adj_total_pmts.value = "\u20AC" + formatPers(formatNumberDecFixedRate(adj_accum_pmts,2,1));
		document.armPayment.adj_total_int.value = "\u20AC" + formatPers(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 = "\u20AC" + formatPers(formatNumberDecFixedRate(Vadj_max_pmt,2,1));
		
		document.armPayment.io_total_pmts.value = "\u20AC" + formatPers(formatNumberDecFixedRate(io_accum_pmts,2,1));
		document.armPayment.io_total_int.value = "\u20AC" + formatPers(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 = "\u20AC" + formatPers(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>Tasso Fisso - Tasso Variabile - Solo Interessi</title></head>" + "<link href='/file_comuni/css/stileListino.css' rel='stylesheet' type='text/css' /><body bgcolor= '#FFFFFF'><br><br><center><font face='arial'><big><strong>Riepilogo dati Tasso Fisso - Tasso Variabile - Solo Interessi</strong></big></font></center><br>");
		
		
		var part2 = ("<center><table border=1 cellpadding=2 cellspacing=0 bordercolor='#EEEEEE' bgcolor='#ECF8FF' class='txt11'><tr bgcolor='silver'><td colspan='4'><font face='arial'><small><b>Raffronto</b></small></font></td><td align='center'><font face='arial'><small><b>Tasso fisso</b></small></font></td><td align='center'><font face='arial'><small><b>Tasso variabile protetto</b></small></font></td><td align='center' colspan='2'><font face='arial'><small><b>Solo interessi protetto</b></small></font></td></tr><tr><td colspan=4><font face='arial'><small>Importo Mutuo:</small></font></td><td align='right'><font face='arial'><small>\u20AC" + formatPers(formatNumberDecFixedRate(Vprincipal,2,1)) + "</small></font></td><td align='right'><font face='arial'><small>\u20AC" + formatPers(formatNumberDecFixedRate(Vprincipal,2,1)) + "</small></font></td><td align='right'><font face='arial'><small>\u20AC" + formatPers(formatNumberDecFixedRate(Vprincipal,2,1)) + "</small></font></td></tr><tr><td colspan=4><font face='arial'><small>Durata mutuo:</small></font></td><td align='right'><font face='arial'><small>" + VnumYears + " anni</small></font></td><td align='right'><font face='arial'><small>" + VnumYears + " anni</small></font></td><td align='right'><font face='arial'><small>" + VnumYears + " anni</small></font></td></tr><tr><td colspan=4><font face='arial'><small>Tasso iniziale interesse:</small></font></td><td align='right'><font face='arial'><small>" + formatPers(formatNumberDecFixedRate(Vfixed_rate,3,1)) + "%</small></font></td><td align='right'><font face='arial'><small>" + formatPers(formatNumberDecFixedRate(Vadj_start_rate,3,1)) + "%</small></font></td><td align='right'><font face='arial'><small>" + formatPers(formatNumberDecFixedRate(Vio_start_rate,3,1)) + "%</small></font></td></tr><tr><td colspan=4><font face='arial'><small>Tassa massimo di interesse:</small></font></td><td align='right'><font face='arial'><small>" + formatPers(formatNumberDecFixedRate(Vfixed_rate,3,1)) + "%</small></font></td><td align='right'><font face='arial'><small>" + formatPers(formatNumberDecFixedRate(adj_max_rate,3,1)) + "%</small></font></td><td align='right'><font face='arial'><small>" + formatPers(formatNumberDecFixedRate(io_max_rate,3,1)) + "%</small></font></td></tr><tr><td colspan=4><font face='arial'><small>Rata mensile iniziale:</small></font></td><td align='right'><font face='arial'><small>\u20AC" + formatPers(formatNumberDecFixedRate(Vfixed_pmt,2,1)) + "</small></font></td><td align='right'><font face='arial'><small>\u20AC" + formatPers(formatNumberDecFixedRate(Vadj_start_pmt,2,1)) + "</small></font></td><td align='right'><font face='arial'><small>\u20AC" + formatPers(formatNumberDecFixedRate(Vio_start_pmt,2,1)) + "</small></font></td></tr><tr><td colspan=4><font face='arial'><small>Rata mensile massima:</small></font></td><td align='right'><font face='arial'><small>\u20AC" + formatPers(formatNumberDecFixedRate(Vfixed_pmt,2,1)) + "</small></font></td><td align='right'><font face='arial'><small>\u20AC" + formatPers(formatNumberDecFixedRate(Vadj_max_pmt,2,1)) + "</small></font></td><td align='right'><font face='arial'><small>\u20AC" + formatPers(formatNumberDecFixedRate(Vio_max_pmt,2,1)) + "</small></font></td></tr><tr><td colspan=4><font face='arial'><small>Tasso limite:</small></font></td><td align='right'><font face='arial'><small>N/A</small></font></td><td align='right'><font face='arial'><small>" + formatPers(formatNumberDecFixedRate(Vadj_rate_cap,3,1)) + "%</small></font></td><td align='right'><font face='arial'><small>" + formatPers(formatNumberDecFixedRate(Vio_rate_cap,3,1)) + "%</small></font></td></tr><tr><td colspan=4><font face='arial'><small>Variazione annuale tasso variabile:</small></font></td><td align='right'><font face='arial'><small>N/A</small></font></td><td align='right'><font face='arial'><small>" + formatPers(formatNumberDecFixedRate(Vadjust_amt,2,1)) + "%</small></font></td><td align='right'><font face='arial'><small>" + formatPers(formatNumberDecFixedRate(Vadjust_amt,2,1)) + "%</small></font></td></tr><tr><td colspan=4><font face='arial'><small>Periodo a tasso fisso:</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 + " mesi</small></font></td><td align='right'><font face='arial'><small>" + Vio_start_months + " mesi</small></font></td></tr><tr><td colspan=4><font face='arial'><small>Totale pagato:</small></font></td><td align='right'><font face='arial'><small>\u20AC" + formatPers(formatNumberDecFixedRate(fix_accum_pmts,2,1)) + "</small></font></td><td align='right'><font face='arial'><small>\u20AC" + formatPers(formatNumberDecFixedRate(adj_accum_pmts,2,1)) + "</small></font></td><td align='right'><font face='arial'><small>\u20AC" + formatPers(formatNumberDecFixedRate(io_accum_pmts,2,1)) + "</small></font></td></tr><tr><td colspan=4><font face='arial'><small>Totale interessi:</small></font></td><td align='right'><font face='arial'><small>\u20AC" + formatPers(formatNumberDecFixedRate(fix_accum_int,2,1)) + "</small></font></td><td align='right'><font face='arial'><small>\u20AC" + formatPers(formatNumberDecFixedRate(adj_accum_int,2,1)) + "</small></font></td><td align='right'><font face='arial'><small>\u20AC" + formatPers(formatNumberDecFixedRate(io_accum_int,2,1)) + "</small></font></td></tr><tr><td colspan=4><font face='arial'><small>Capitale da rimborsare alla fine:</small></font></td><td align='right'><font face='arial'><small>\u20AC" + formatPers(formatNumberDecFixedRate(fix_prin,2,1)) + "</small></font></td><td align='right'><font face='arial'><small>\u20AC" + formatPers(formatNumberDecFixedRate(adj_prin,2,1)) + "</small></font></td><td align='right'><font face='arial'><small>\u20AC" + formatPers(formatNumberDecFixedRate(Vprincipal,2,1)) + "</small></font></td></tr><tr><td colspan=7><center><font face='arial'><b>Esploso pagamenti</b></font><br><font face='arial'><small><small>Nei totali si hanno delle lievi differenze di arrotondamento.</small></small></font></center></td></tr><tr bgcolor='silver'><td align='center'><font face='arial'><small><b>Rata</b></small></font></td><td align='center' colspan='2'><font face='arial'><small><b>Tasso Fisso</b></small></font></td><td align='center' colspan='2'><font face='arial'><small><b>Tasso variabile protetto</b></small></font></td><td align='center' colspan='2'><font face='arial'><small><b>Solo interessi protetto</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>Rata</b></small></font></td><td align='center'><font face='arial'><small><b>Residuo</b></small></font></td><td align='center'><font face='arial'><small><b>Rata</b></small></font></td><td align='center'><font face='arial'><small><b>Residuo</b></small></font></td><td align='center'><font face='arial'><small><b>Rata</b></small></font></td><td align='center'><font face='arial'><small><b>Residuo</b></small></font></td></tr>");
		
		
		
		var part3 = ("" + pmtRows + "");
		
		
		
		var part4 = ("</table><br><center><form method='post'><input type='button' value='Chiudi' onClick='window.close()' class='txt_puls'></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

	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("\u20AC");
   		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);
      
      form.rate_1.value = formatPers(form.rate_1.value);
      form.rate_2.value = formatPers(form.rate_2.value);
      form.rate_3.value = formatPers(form.rate_3.value);
      form.rate_4.value = formatPers(form.rate_4.value);
      form.rate_5.value = formatPers(form.rate_5.value);

   }

}
      

function computeFormMortgageRate(form) {

	if(form.principal.value.length == 0) {
	   alert("Inserire l'importo del mutuo.");
	   form.principal.focus();
	} else
	if(form.numYears.value == "") {
	  alert("Inserire la durata del mutuo in anni");
	  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 = "\u20AC" + formatPers(formatNumberDecMortgageRate(VmoPmt_1,0,1));

		var VmoPmt_2 = computeMonthlyPaymentMortgageRate(Vprin, Vmonths, Vrate_2);
		form.moPmt_2.value = "\u20AC" + formatPers(formatNumberDecMortgageRate(VmoPmt_2,0,1));
		
		var VmoPmt_3 = computeMonthlyPaymentMortgageRate(Vprin, Vmonths, Vrate_3);
		form.moPmt_3.value = "\u20AC" + formatPers(formatNumberDecMortgageRate(VmoPmt_3,0,1));
		
		var VmoPmt_4 = computeMonthlyPaymentMortgageRate(Vprin, Vmonths, Vrate_4);
		form.moPmt_4.value = "\u20AC" + formatPers(formatNumberDecMortgageRate(VmoPmt_4,0,1));
		
		var VmoPmt_5 = computeMonthlyPaymentMortgageRate(Vprin, Vmonths, Vrate_5);
		form.moPmt_5.value = "\u20AC" + formatPers(formatNumberDecMortgageRate(VmoPmt_5,0,1));


		var VtotPrin_1 = Vprin;
		form.totPrin_1.value = "\u20AC" + formatPers(formatNumberDecMortgageRate(VtotPrin_1,0,1));
		
		var VtotPrin_2 = Vprin;
		form.totPrin_2.value = "\u20AC" + formatPers(formatNumberDecMortgageRate(VtotPrin_2,0,1));
		
		var VtotPrin_3 = Vprin;
		form.totPrin_3.value = "\u20AC" + formatPers(formatNumberDecMortgageRate(VtotPrin_3,0,1));
		
		var VtotPrin_4 = Vprin;
		form.totPrin_4.value = "\u20AC" + formatPers(formatNumberDecMortgageRate(VtotPrin_4,0,1));
		
		var VtotPrin_5 = Vprin;
		form.totPrin_5.value = "\u20AC" + formatPers(formatNumberDecMortgageRate(VtotPrin_5,0,1));


		var VtotInt_1 = computeFixedInterestCostMortgageRate(Vprin, Vrate_1, VmoPmt_1);
		VtotInt_1 = Math.round(VtotInt_1);
		form.totInt_1.value = "\u20AC" + formatPers(formatNumberDecMortgageRate(VtotInt_1,0,1));
		
		var VtotInt_2 = computeFixedInterestCostMortgageRate(Vprin, Vrate_2, VmoPmt_2);
		VtotInt_2 = Math.round(VtotInt_2);
		form.totInt_2.value = "\u20AC" + formatPers(formatNumberDecMortgageRate(VtotInt_2,0,1));
		
		var VtotInt_3 = computeFixedInterestCostMortgageRate(Vprin, Vrate_3, VmoPmt_3);
		VtotInt_3 = Math.round(VtotInt_3);
		form.totInt_3.value = "\u20AC" + formatPers(formatNumberDecMortgageRate(VtotInt_3,0,1));
		
		var VtotInt_4 = computeFixedInterestCostMortgageRate(Vprin, Vrate_4, VmoPmt_4);
		VtotInt_4 = Math.round(VtotInt_4);
		form.totInt_4.value = "\u20AC" + formatPers(formatNumberDecMortgageRate(VtotInt_4,0,1));
		
		var VtotInt_5 = computeFixedInterestCostMortgageRate(Vprin, Vrate_5, VmoPmt_5);
		VtotInt_5 = Math.round(VtotInt_5);
		form.totInt_5.value = "\u20AC" + formatPers(formatNumberDecMortgageRate(VtotInt_5,0,1));
		
		
		var VtotPmts_1 = eval(VtotPrin_1) + eval(VtotInt_1);
		form.totPmts_1.value = "\u20AC" + formatPers(formatNumberDecMortgageRate(VtotPmts_1,0,1));
		
		var VtotPmts_2 = eval(VtotPrin_2) + eval(VtotInt_2);
		form.totPmts_2.value = "\u20AC" + formatPers(formatNumberDecMortgageRate(VtotPmts_2,0,1));
		
		var VtotPmts_3 = eval(VtotPrin_3) + eval(VtotInt_3);
		form.totPmts_3.value = "\u20AC" + formatPers(formatNumberDecMortgageRate(VtotPmts_3,0,1));
		
		var VtotPmts_4 = eval(VtotPrin_4) + eval(VtotInt_4);
		form.totPmts_4.value = "\u20AC" + formatPers(formatNumberDecMortgageRate(VtotPmts_4,0,1));
		
		var VtotPmts_5 = eval(VtotPrin_5) + eval(VtotInt_5);
		form.totPmts_5.value = "\u20AC" + formatPers(formatNumberDecMortgageRate(VtotPmts_5,0,1));


		

	}
}


function createReportMortgageRate(form) {

	if(form.principal.value.length == 0) {
	   alert("Inserire l'importo del mutuo.");
	   form.principal.focus();
	} else
	if(form.numYears.value == "") {
	  alert("Inserire la durata del mutuo in anni");
	  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' size='1'><small>Rata mensile:</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>Capitale:</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>Interessi:</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>Totale da rimborsare:</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>Tabella Riassuntiva</title></head><link href='/file_comuni/css/stileListino.css' rel='stylesheet' type='text/css' />" + "<body bgcolor= '#FFFFFF'><br><br><center><font face='arial'><big><strong>Tabella riassuntiva</strong></big></font></center>");
		
		var part2 = ("<center><table border=1 cellpadding=2 cellspacing=0  bgcolor='#ECF8FF' class='txt11'><tr><td colspan=6><font face='arial'><small><b>Mutuo: \u20AC" + formatNumberDecMortgageRate(Vprin,0,1) + "<br>Durata mutuo: " + VnumYears + " anni</b></small></font></td></tr><tr bgcolor='silver'><td><font face='arial'><small><b>Tasso di interesse</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='Chiudi' onClick='window.close()' class='txt_puls'></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 iPercentv
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("\u20AC");
   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("Inserire l'importo del mutuo.");
	   form.principal.focus();
	} else
	if(form.intRate.value == "") {
	  alert("Inserire il tasso di interesse");
	  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 = "\u20ac" + formatPers(formatNumberDecMortgageTerm(VmoPmt_10,0,1));
		
		var VmoPmt_15 = computeMonthlyPaymentMortgageTerm(Vprin, 180, VintRate);
		form.moPmt_15.value = "\u20ac" + formatPers(formatNumberDecMortgageTerm(VmoPmt_15,0,1));
		
		var VmoPmt_20 = computeMonthlyPaymentMortgageTerm(Vprin, 240, VintRate);
		form.moPmt_20.value = "\u20ac" + formatPers(formatNumberDecMortgageTerm(VmoPmt_20,0,1));
		
		var VmoPmt_25 = computeMonthlyPaymentMortgageTerm(Vprin, 300, VintRate);
		form.moPmt_25.value = "\u20ac" + formatPers(formatNumberDecMortgageTerm(VmoPmt_25,0,1));
		
		var VmoPmt_30 = computeMonthlyPaymentMortgageTerm(Vprin, 360, VintRate);
		form.moPmt_30.value = "\u20ac" + formatPers(formatNumberDecMortgageTerm(VmoPmt_30,0,1));
		
		
		var VtotPrin_10 = Vprin;
		form.totPrin_10.value = "\u20ac" + formatPers(formatNumberDecMortgageTerm(VtotPrin_10,0,1));
		
		var VtotPrin_15 = Vprin;
		form.totPrin_15.value = "\u20ac" + formatPers(formatNumberDecMortgageTerm(VtotPrin_15,0,1));
		
		var VtotPrin_20 = Vprin;
		form.totPrin_20.value = "\u20ac" + formatPers(formatNumberDecMortgageTerm(VtotPrin_20,0,1));
		
		var VtotPrin_25 = Vprin;
		form.totPrin_25.value = "\u20ac" + formatPers(formatNumberDecMortgageTerm(VtotPrin_25,0,1));
		
		var VtotPrin_30 = Vprin;
		form.totPrin_30.value = "\u20ac" + formatPers(formatNumberDecMortgageTerm(VtotPrin_30,0,1));
		
		
		var VtotInt_10 = computeFixedInterestCostMortgageTerm(Vprin, VintRate, VmoPmt_10);
		VtotInt_10 = Math.round(VtotInt_10);
		form.totInt_10.value = "\u20ac" + formatPers(formatNumberDecMortgageTerm(VtotInt_10,0,1));
		
		var VtotInt_15 = computeFixedInterestCostMortgageTerm(Vprin, VintRate, VmoPmt_15);
		VtotInt_15 = Math.round(VtotInt_15);
		form.totInt_15.value = "\u20ac" + formatPers(formatNumberDecMortgageTerm(VtotInt_15,0,1));
		
		var VtotInt_20 = computeFixedInterestCostMortgageTerm(Vprin, VintRate, VmoPmt_20);
		VtotInt_20 = Math.round(VtotInt_20);
		form.totInt_20.value = "\u20ac" + formatPers(formatNumberDecMortgageTerm(VtotInt_20,0,1));
		
		var VtotInt_25 = computeFixedInterestCostMortgageTerm(Vprin, VintRate, VmoPmt_25);
		VtotInt_25 = Math.round(VtotInt_25);
		form.totInt_25.value = "\u20ac" + formatPers(formatNumberDecMortgageTerm(VtotInt_25,0,1));
		
		var VtotInt_30 = computeFixedInterestCostMortgageTerm(Vprin, VintRate, VmoPmt_30);
		VtotInt_30 = Math.round(VtotInt_30);
		form.totInt_30.value = "\u20ac" + formatPers(formatNumberDecMortgageTerm(VtotInt_30,0,1));
		
		
		var VtotPmts_10 = eval(VtotPrin_10) + eval(VtotInt_10);
		form.totPmts_10.value = "\u20ac" + formatPers(formatNumberDecMortgageTerm(VtotPmts_10,0,1));
		
		var VtotPmts_15 = eval(VtotPrin_15) + eval(VtotInt_15);
		form.totPmts_15.value = "\u20ac" + formatPers(formatNumberDecMortgageTerm(VtotPmts_15,0,1));
		
		var VtotPmts_20 = eval(VtotPrin_20) + eval(VtotInt_20);
		form.totPmts_20.value = "\u20ac" + formatPers(formatNumberDecMortgageTerm(VtotPmts_20,0,1));
		
		var VtotPmts_25 = eval(VtotPrin_25) + eval(VtotInt_25);
		form.totPmts_25.value = "\u20ac" + formatPers(formatNumberDecMortgageTerm(VtotPmts_25,0,1));
		
		var VtotPmts_30 = eval(VtotPrin_30) + eval(VtotInt_30);
		form.totPmts_30.value = "\u20ac" + formatPers(formatNumberDecMortgageTerm(VtotPmts_30,0,1));

	}
}


function createReportMortgageTerm(form) {

if(form.principal.value.length == 0) {
	   alert("Inserire l'importo del mutuo.");
	   form.principal.focus();
	} else
	if(form.intRate.value == "") {
	  alert("Inserire il tasso di interesse");
	  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' size='1'><small>Rata Mensile:</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>Capitale:</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>Interessi:</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>Totale da rimborsare:</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>Tabella Riassuntiva</title></head>" + "<link href='/file_comuni/css/stileListino.css' rel='stylesheet' type='text/css' /><body bgcolor= '#FFFFFF'><br><br><center><font face='arial'><big><strong>Tabella riassuntiva</strong></big></font></center>");
		
		var part2 = ("<center><table border=1 cellpadding=2 cellspacing=0 bgcolor='#ECF8FF' class='txt11'><tr><td colspan=6><font face='arial'><small><b>Mutuo: \u20AC" + formatPers(formatNumberDecMortgageTerm(Vprin,0,1)) + "<br>Tasso di interesse: " + formatPers(formatNumberDecMortgageTerm(VintRate,3,1)) + "%</b></small></font></td></tr><tr bgcolor='silver'><td align='center'><font face='arial'><small><b>Descrizione</b></small></font></td><td align='center'><font face='arial'><small><b>10 Anni</b></small></font></td><td align='center'><font face='arial'><small><b>15 Anni</b></small></font></td><td align='center'><font face='arial'><small><b>20 Anni</b></small></font></td><td align='center'><font face='arial'><small><b>25 Anni</b></small></font></td><td align='center'><font face='arial'><small><b>30 Anni</b></small></font></td></tr>");
		
		var part3 = ("" + termRows + "");
		
		var part4 = ("</table><br><center><form method='post'><input type='button' value='Chiudi' class='txt_puls' 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



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("Inserire il prezzo dell'affitto mensile.");
   form.moRent.focus();
   } else
      if(form.homeCost.value == "" || form.homeCost.value == 0) {
      alert("Inserire il prezzo di acquisto immobile.");
      form.homeCost.focus();
   } else
      if(form.noYears.value == "" || form.noYears.value == 0) {
      alert("Inserire il numero degli anni della durata del mutuo scelto.");
      form.noYears.focus();
   } else
      if(form.payRate.value == "" || form.payRate.value == 0) {
      alert("Inserire il tasso fisso del mutuo.");
      form.payRate.focus();
   } else
      if(form.stayYrs.value == "" || form.stayYrs.value == 0) {
      alert("Inserire il numero di anni che intendete detenere l'immobile.");
      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;
}

//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;


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 = "\u20ac" + formatNumberARMFixed(VnetRentCost);
form.netBuyCost.value = "\u20ac" + formatNumberARMFixed(VnetBuyCost);

var diff = 0;
var Vsummary = "";
if(VnetRentCost > VnetBuyCost) {
diff = eval(VnetRentCost) - eval(VnetBuyCost);
Vsummary = "Risparmierai \u20ac " + formatNumberARMFixed(diff) + " se si acquista l'immobile piuttosto che affittarlo."
} else {
diff = eval(VnetBuyCost) - eval(VnetRentCost);
Vsummary = "You Risparmierai save \u20ac" + formatNumberARMFixed(diff) + " se si affitta piuttosto che acquistarlo."
}

form.results.value = Vsummary;

}

}

function showReportARMFixed(form) {

computeFormARMFixed(form);

var part1 = ("<HEAD><TITLE>Rent Vs. Buy Report</TITLE></HEAD><link href='/file_comuni/css/stileListino.css' rel='stylesheet' type='text/css' />" + "<BODY BGCOLOR = '#FFFFFF'><BR><BR><CENTER></CENTER>");

var part2 = ("<CENTER><TABLE BORDER=1 CELLSPACING=0 CELLPADDING=4  bordercolor='#333333' bgcolor='#ECF8FF' class='txt11'><TR>"+
			 "<TD COLSPAN=2 ALIGN=CENTER  bgcolor='#939598'>"+
			 "<font face='arial'><big><b>Affitto</b></big></font></TD><TD ALIGN=CENTER><font face='arial'><big>"+
			 "<b>vs.</b></big></font></TD><TD COLSPAN=2 ALIGN=CENTER bgcolor='#939598'><font face='arial'><big><b>Acquisto</b></big>"+
			 "</font></TD></TR><TR><TD COLSPAN=2 VALIGN=TOP><font face='arial'><small><b>"+
			 "Affitto mensile: \u20ac" + 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>"+
			 "Prezzo acquisto: \u20ac" + formatNumberARMFixed(form.homeCost.value) + "<BR>Acconto: "+
			 "\u20ac" + formatNumberARMFixed(form.downPmt.value) + "<BR>Anni Mutuo: " + form.noYears.value + 
			 " <BR>Tasso di interesse: " + formatNumberARMFixed(form.payRate.value) +
			  "%<BR>Rata mensile mutuo: \u20ac" + formatNumberARMFixed(form.moPmt.value) + 
			  "<BR></b></small></font></TD></TR><TR><TD COLSPAN=5><CENTER><font face='arial'><big><b>"+
			  "Analisi dei costi di beneficio</b></big></font><BR><font face='arial'><small>"+
			  "<small>I calcoli sono basati su 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='#939598'><TD><font face='arial'><small><b>Renting Costs</b>"+
			  "</small></font></TD><TD bgcolor='#939598'><font face='arial'><small><b>Amount</b></small></font></TD><TD> </TD>"+
			  "<TD bgcolor='#939598'><font face='arial'><small><b>Buying Costs</b></small></font></TD>"+
			  "<TD bgcolor='#939598'><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>\u20ac" + 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>\u20ac" + 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>\u20ac" + 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>\u20ac" + 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>\u20ac" + 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>\u20ac" + 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>\u20ac" + 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>\u20ac" + 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>\u20ac" + 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>\u20ac" + 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>\u20ac" + 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>\u20ac" + 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>\u20ac" + 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>\u20ac" + 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>\u20ac" + 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>\u20ac" + 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 = "Affitto mensile (&euro;)";
explain = "Inserire l'importo dell'affitto mensile in euro."
} else
if(form.help[1].checked) {
title = "Tasso di inflazione stimato annuale (%):";
explain = "Inserire il tesso di inflazione su base annua stimato. Inserire il valore intero. Es. 3 per 3%. Tale percentuale &egrave; usata per maggiorare i costi di affitto, di manutenzione, del mutuo e delle imposte sulla casa durante il periodo di detenzione dell'immobile."
} else
if(form.help[2].checked) {
title = "Prezzo acquisto immobile(&euro;)";
explain = "Inserire il prezzo di acquisto dell'immobile desiderato";
} else
if(form.help[3].checked) {
title = "Acconto (&euro;)";
explain = "Inserire l'importo che avete a disposizione per l'acquisto dell'immobile.";
} else
if(form.help[4].checked) {
title = "Anni mutuo";
explain = "Inserire il numero degli anni della durata del mutuo scelto.";
} else
if(form.help[5].checked) {
title = "Tasso di interesse annuale Mutuo (%)";
explain = "Inserire il tasso fisso del mutuo. Inserire il valore intero. Es. 5 per 5%.";
} else
if(form.help[6].checked) {
title = "Altri costi &euro;";
explain = "Inserire la somma di altri costi relative all'acquisto dell'immobile come spese notarili e di registrazione.";
} else
if(form.help[7].checked) {
title = "Manutenzione mensile stimata &euro;";
explain = "Inserire l'importo stimato relativo alla manutenzione dell'immobile su base mensile";
} else
if(form.help[8].checked) {
title = "Imposte annuali &euro;";
explain = "Inserire l'importo stimato delle imposte che gravano sull'immobile come ICI, TARSU, ...etc";
} else
if(form.help[9].checked) {
title = "Aliquota imposte sul reddito (%)";
explain = "Inserire l'aliquota  di competenza dei propri redditi. Inserire il valore intero. Es. 23 per 23%.";
} else
if(form.help[10].checked) {
title = "Tasso di interesse attivo (%)";
explain = "Inserire il tasso ipotizzato di rendimento del capitale non impegnato per l'acquisto dell'immobile. Prudenzialmente potete inserire il tasso attivo di conto corrente. Inserire il valore intero. Es.3 per 3%.";
} else
if(form.help[11].checked) {
title = "Tasso sperato di rivalutazione annuale immobile (%)";
explain = "Inserire il tasso ipotizzato di rivalutazione dell'immobile su base annuale. Inserire il valore intero. Es. 3 per 3%. Prudenzialmente potete lasciare vuoto il campo." ;
} else
if(form.help[12].checked) {
title = "Anni detenzione immobile";
explain = "Inserire il numero di anni che intendete detenere l'immobile.";
} else
if(form.help[13].checked) {
title = "Commissioni di vendita (%)";
explain = "Generalmente il 2%. Inserire il valore intero. Es. 2 per 2%. Da ricordare che le commissioni di vendita non dovute in caso di acquisto diretto senza intermediari. Lasciare il campo vuoto in questo caso.";
}

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=\'Chiudi\' 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



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("\u20ac");
   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);
   }
}


var _pn="EZLoan - Monthly Payment Calculator"; //page name(s)

var _mlc="CONTENT+CATEGORY";   //multi-level content category

var _cp="null";         //campaign

var _acct="WR5408251DVB01EN3"; //account number(s)

var _pndef="title";    //default page name

var _ctdef="full";      //default content category

var _prc="";   //commerce price

var _oid="";    //commerce order

var _dlf="";    //download filter

var _elf="";    //exit link filter

var _epg="";   //event page identifier

var _mn="wp189"; //machine name

var _gn="phg.hitbox.com"; //gateway name

var _hcv=68;
function _wn(n)
{
	return((n.indexOf("NAME")>0&&n.indexOf("PUT")>-1)||(n.indexOf("CONTENT")>-1&&n.indexOf("CATEGORY")>0))
};
function _gd(x,w)
{
	var _ed=x.lastIndexOf("/");
	var _be=(w!="full")?x.lastIndexOf("/",_ed-2):x.indexOf("/");
	return(_be==_ed)?"/":x.substring(_be,_ed);
};
function _gf(x)
{
	return x.substring(x.lastIndexOf("/")+1,x.length);
};
var _hl=location;
var _lp=_hl.protocol.indexOf('https')>-1?'https://':'http://';
var _zo=(new Date()).getTimezoneOffset();

function _ps(_ip,_pml)
{
	return(_ip&&_wn(_pml))?((_pndef=="title"&&document.title!="")?document.title:_gf(_hl.pathname)?_gf(_hl.pathname):_pndef):(_wn(_pml)?_gd(_hl.pathname,_ctdef):_pml)
};
function _pm(m,_fml,h)
{
	if(m.indexOf(";")!=-1)
	{
		_nml=m.substring(0,m.indexOf(";"));
		_rm=m.substring(m.indexOf(";")+1,m.length);
		_fml+=_ps(h,_nml)+";";return _pm(_rm,_fml,h);
	}else
		{
			return _fml+_ps(h,m);
		}
};
var _sv=10;
var _hn=navigator;
var _bn=_hn.appName;
if(_bn.substring(0,9)=="Microsoft")
{
	_bn="MSIE";
};
var _bv=(Math.round(parseFloat(_hn.appVersion)*100));

if((_bn=="MSIE")&&(parseInt(_bv)==2))_bv=301;
function _ex(v)
{
	return escape(v)
};

var _rf=_ex(document.referrer);
	_mlc=_pm(_mlc,"",0);
	_pn=_pm(_pn,"",1);
	
	
	
if(_sv<11)
{
	if(document.cookie.indexOf("CP=")>-1)
	{
		_ce="y";
	}else
		{
			document.cookie="CP=null*; path=/; expires=Wed, 1 Jan 2020 00:00:00 GMT";
			_ce=(document.cookie.indexOf("CP=")!=-1)?"y":"n";
		};
		if((_rf=="undefined")||(_rf==""))
		{
			_rf="bookmark";
		};
		_x2="<img src='"+_lp+_gn+"/HG?hc="+_mn+"&hb="+_ex(_acct)+"&n="+_ex(_pn);
		_x3="&cd=1&hv=6' border=0 height=1 width=1>";
		_ar="&bn="+_ex(_bn)+"&bv="+_bv+"&ce="+_ce+"&ss=na&sc=na&ja=na&sv="+_sv+"&con="+_ex(_mlc)+"&vcon="+_ex(_mlc)+"&epg="+_epg+"&hp=u&cy=u&dt=&ln=na&cp="+_ex(_cp)+"&pl=&prc="+_ex(_prc)+"&oid="+_ex(_oid)+"&rf="+_rf;
		document.write(_x2+_ar+_x3);
}

if(_bn!='Netscape'&&_bv>399)document.write("<\!"+"--");	




function formatPers(value) {
	var finNum = value;
	finNum = finNum.replace(/,/g, "-");
	finNum = finNum.replace(/\./g, ",");
	finNum = finNum.replace(/-/g, ".");
	return finNum;
}

