﻿function CalcolaCapitale()
{
    var ImportoRichiesto=0;
    var spese=0;
    var assicurazione=0;
    var speseAccessorie=0;
    var Capitale=0;
    
    if (!(document.forms[0].ImportoRichiesto.value=="")) 
	{
	    ImportoRichiesto = parseFloat(document.aspnetForm.ImportoRichiesto.value.replace(".", ""));
	}
	if (!(document.forms[0].spese.value=="")) 
	{
	    spese = parseFloat(document.aspnetForm.spese.value.replace(".", ""));
	}
	if (!(document.forms[0].assicurazione.value=="")) 
	{
	    assicurazione = parseFloat(document.aspnetForm.assicurazione.value.replace(",", "."));
	}
	if (!(document.forms[0].speseAccessorie.value=="")) 
	{
	    speseAccessorie = parseFloat(document.aspnetForm.speseAccessorie.value.replace(".", ""));
	}
	
	Capitale=ImportoRichiesto + spese + speseAccessorie + assicurazione;
	
	document.aspnetForm.capitale.value= cEuroToCurr(Capitale);
	document.aspnetForm.capitale.value=document.aspnetForm.capitale.value.replace(".","")
}

function cEuroToCurr(Num)
{
	Num=Num*100; //arrotondo al secondo decimale
	Num=(Math.round(Num))/100;

	var Numstr = Num.toString();
	var decpos = Numstr.indexOf(".");  // ---*-*Chiedere come è fatto l'Euro (virgola per i decimali?)
	//decpos è anche il numero di cifre della parte intera del valore
	if(decpos == -1)
	decpos = Numstr.length;
	else
	Numstr = Numstr.substr(0,decpos) + "," + Numstr.substr(decpos+1,Numstr.length);
	var l=0;
	if((decpos%3) == 0)
		l=(Math.floor(decpos)/3)-1;
	else
		l=Math.floor(decpos)/3;

	//alert(decpos+"    "+l);
	for (i=1 ; i<=l; i++)
	{
		Numstr = Numstr.substr(0,decpos-(3*i)) + '.' + Numstr.substr(decpos-(3*i), Numstr.length);
	}
	return Numstr;
}

function FloatToPercString(num,ndig)
{
	var tmpStr = String(Math.floor(num*10000));
	return tmpStr.substr(0,tmpStr.length - ndig) + "," + tmpStr.substr(tmpStr.length - ndig,tmpStr.length)+ "%";

}

function SeparatorExist_Taeg_Importo(str)
{
	if (str.indexOf(".")!=-1)
	{
		alert("Importo inserito non corretto: inserire solo numeri e usare la virgola per cifre decimali.");
		return true;
	}
	else
		return false;
}

function SeparatorExist_Taeg_Spese(str)
{
	if (str.indexOf(".")!=-1)
	{
		alert("Le spese indicate non sono valide: inserire solo numeri e usare la virgola per cifre decimali.");
		return true;
	}
	else
		return false;
}

function Calculate()
{
	var strTasso = new String(document.aspnetForm.tasso.value);

	if ((!SeparatorExist_Taeg_Importo(document.aspnetForm.capitale.value))&&(!SeparatorExist_Taeg_Spese(document.aspnetForm.spese.value)))
	{
		var capitale = document.aspnetForm.capitale.value;

		if (capitale.indexOf(".")!=-1){
			alert("Importo inserito non corretto: inserire solo numeri e usare la virgola per cifre decimali.");
			return;
		}

		while(capitale.indexOf(",")!=-1)
		{
			capitale=capitale.substr(0,capitale.indexOf(","))+ "." + capitale.substr(capitale.indexOf(",")+1,capitale.length);
		}

		if(isNaN(capitale)||(capitale < 0))
		{
			alert("Importo inserito non corretto: inserire solo numeri e usare la virgola per cifre decimali.");
			return;
		}

		// Checks that there is an integer, then converts to an integer and checks again that it has really a number
		var durata;
		durata = document.aspnetForm.durata.value;
		if((durata.indexOf(",")!=-1) || (durata.indexOf(".")!=-1)){
			alert("Il numero delle rate non è corretto: indicali solo con valori numerici interi.");
			return;
		}
		durata = parseInt(durata);
		if(isNaN(durata))
		{
			alert("Il numero delle rate non è corretto: indicali solo con valori numerici interi.");
			return;
		}

		var tasso = document.aspnetForm.tasso.value;

		if (tasso.indexOf(".")!=-1){
			alert("Il tasso di interesse non è valido: Inserire solo numeri e usare la virgola per le cifre decimali.");
			return;
		}

		while(tasso.indexOf(",")!=-1)
		{
			tasso=tasso.substr(0,tasso.indexOf(","))+ "." + tasso.substr(tasso.indexOf(",")+1,tasso.length);
		}

		if(isNaN(tasso)||(tasso <= 0))
		{
			alert("Il tasso di interesse non è valido: indicare solo numeri e usare la virgola per le cifre decimali.");
			return;
		}

		tasso = tasso / 100;

		var spese = document.aspnetForm.spese.value;
        var assicurazione =0
        
        if (!(document.forms[0].assicurazione.value=="")) 
	        {
	            assicurazione = document.aspnetForm.assicurazione.value;
	           
	        }
	        
		if (spese.indexOf(".")!=-1){
			alert("Le spese indicate non sono valide: inserire solo numeri e usare la virgola per cifre decimali.");
			return;
		}

		while(spese.indexOf(",")!=-1)
		{
			spese=spese.substr(0,spese.indexOf(","))+ "." + spese.substr(spese.indexOf(",")+1,spese.length);
		}

		if(spese == ""){
			spese = 0;
		} else {
			if(isNaN(spese)||(spese < 0))
			{
			alert("Le spese indicate non sono valide: inserire solo numeri e usare la virgola per cifre decimali.");
				return;
			}
		}


		//Controllo sul capitale
		if (capitale < 1000) {
			alert("Errore: indica un importo minimo di 1000 euro.");
			return;
		}

		if ((durata > 480) || (durata < 1)){
			alert("Il numero mensile delle rate non è corretto: deve essere compreso tra 6 e 480 mesi.");
			return;
		}

		if(((capitale*durata*tasso)==0)||(isNaN(spese)))
		{
			alert("Controlla la correttezza dei valori inseriti.");
			return;
		}

		// Aggiunte per compatibilità Euro
//		capitale = capitale * 1936,27;
//		spese = spese *1936,27;
//		var rata = Math.round(capitale * (tasso/12)/(1-Math.pow((1+tasso/12),-(durata))));
		var rata = capitale * (tasso/12)/(1-Math.pow((1+tasso/12),-(durata)));
		
		var speseIncasso=0 ;
        if (!(document.forms[0].speseIncasso.value=="")) 
	        {
	            speseIncasso = document.aspnetForm.speseIncasso.value.replace(".", "");
	           
	        }
	        
		var cap_reale = capitale - spese 
		
		if (!(assicurazione==0))
		{
		    cap_reale= cap_reale - parseFloat(assicurazione.replace(",",".")) ;
		}
		if (!(speseIncasso==0))
		{
		    cap_reale= cap_reale - (parseFloat(speseIncasso.replace(",",".")) * durata) ;
		}
		
		var tmp_reale = 0;
		var taeg = 0.001;	// taeg iniziale
		var step = 0.01;	// step iniziale di incremento taeg
		var fwd = true;	// direzione dell'incremento

		for (i=1; i<=durata; i++)
		{
			var tmpSommat = rata/Math.pow((1+taeg),(i*30.4375)/365);
			tmp_reale += tmpSommat;
		}
		if ( ( cap_reale - tmp_reale ) < 0 )
			fwd = false;
		while ( Math.abs( tmp_reale - cap_reale ) > 0.000001 )
		{
			tmp_reale = 0;
			if ( fwd == true )
			{
				taeg += step;
			}
			else
			{
				taeg -= step;
			}
			for (i=1; i<=durata; i++)
			{
				var tmpSommat = rata/Math.pow((1+taeg),(i*30.4375)/365);
				tmp_reale += tmpSommat;
			}
			if ( (( tmp_reale - cap_reale ) > 0)&& (fwd != true))
			{
				step /= 2;
				fwd = true;
			}
			else if (( tmp_reale - cap_reale ) < 0 && (fwd == true) )
			{
				step /= 2;
				fwd = false;
			}
		}

//		rata = rata / 1936,27;

        if (!(speseIncasso==0)) 
	        {
	            
	            rata=rata+ parseFloat(speseIncasso.replace(",","."));
	        }
	
	var objElemento = document.getElementById("Dati");
	objElemento.style.display = 'none';
	
	var objElemento = document.getElementById("Totale");
	objElemento.style.display = 'inline';
	
		document.aspnetForm.ratamax.value= cEuroToCurr(rata);
		document.aspnetForm.taeg.value= FloatToPercString(taeg,2);
	}
	else
	{
		//document.aspnetForm.capitale.value= "";
	}
}

// NUOVE FORMULE

function CalcolaRataFinanziamento() {


    if (document.aspnetForm.ctl00_ContentPlaceHolder1_ddlTipologieProdotto.value == 0) 
    {
        alert("Selezionare la Tipologia del Prodotto!");

        document.aspnetForm.ctl00_ContentPlaceHolder1_ddlTipologieProdotto.focus();

        return false;
    }
   
    if (document.aspnetForm.ctl00_ContentPlaceHolder1_ddlFinanziarie.value == 0) 
    {
        alert("Selezionare la Finanziaria!");

        document.aspnetForm.ctl00_ContentPlaceHolder1_ddlFinanziarie.focus();

        return false;
    }
    
    if (document.aspnetForm.ctl00_ContentPlaceHolder1_txtImpRichiesto.value=="") 
	{
		alert("Digitare l'Importo del Finanziamento!!");
		
		document.aspnetForm.ctl00_ContentPlaceHolder1_txtImpRichiesto.focus();
		
		return false;
	}
	else
	{
	    var ImpRichiesto = parseFloat(document.aspnetForm.ctl00_ContentPlaceHolder1_txtImpRichiesto.value.replace(".", "").replace(",","."));
	    var ImpMinimo = parseFloat(document.aspnetForm.ctl00_ContentPlaceHolder1_txtImpMinimo.value.replace(".", "").replace(",","."));
	    var ImpMassimo = parseFloat(document.aspnetForm.ctl00_ContentPlaceHolder1_txtImpMassimo.value.replace(".", "").replace(",","."));

	    if (ImpRichiesto < ImpMinimo) 
	    {
		    alert("L'importo Minimo per il Finanziamento scelto è di " + document.aspnetForm.ctl00_ContentPlaceHolder1_txtImpMinimo.value);
    		
		    document.aspnetForm.ctl00_ContentPlaceHolder1_txtImpRichiesto.focus();
    		
		    return false;
	    }
	    if (ImpRichiesto > ImpMassimo) 
	    {
		    alert("L'importo Massimo per il Finanziamento scelto è di " + document.aspnetForm.ctl00_ContentPlaceHolder1_txtImpMassimo.value);
    		
		    document.aspnetForm.ctl00_ContentPlaceHolder1_txtImpRichiesto.focus();
    		
		    return false;
	    }
	}
	
	if (document.aspnetForm.ctl00_ContentPlaceHolder1_txtDurata.value=="") 
	{
		alert("Digitare la Durata del Finanziamento!!");
		
		document.aspnetForm.ctl00_ContentPlaceHolder1_txtDurata.focus();
		
		return false;
	}
	else
	{
	    var Durata = parseFloat(document.aspnetForm.ctl00_ContentPlaceHolder1_txtDurata.value.replace(".", "").replace(",","."));
	    var DurataMinima = parseFloat(document.aspnetForm.ctl00_ContentPlaceHolder1_txtDurataMinima.value.replace(".", "").replace(",","."));
	    var DurataMassima = parseFloat(document.aspnetForm.ctl00_ContentPlaceHolder1_txtDurataMassima.value.replace(".", "").replace(",","."));

	    if (Durata < DurataMinima) 
	    {
		    alert("La Durata Minima per il Finanziamento scelto è di " + document.aspnetForm.ctl00_ContentPlaceHolder1_txtDurataMinima.value + ' Mesi');
    		
		    document.aspnetForm.ctl00_ContentPlaceHolder1_txtDurata.focus();
    		
		    return false;
	    }
	    if (Durata > DurataMassima) 
	    {
		    alert("La Durata Massima per il Finanziamento scelto è di " + document.aspnetForm.ctl00_ContentPlaceHolder1_txtDurataMassima.value + ' Mesi');
    		
		    document.aspnetForm.ctl00_ContentPlaceHolder1_txtDurata.focus();
    		
		    return false;
	    }
	}
	
	if (document.aspnetForm.ctl00_ContentPlaceHolder1_ddlTassiCalcoloRata.value == 0) 
    {
        alert("Selezionare il Tasso di Interesse!");

        document.aspnetForm.ctl00_ContentPlaceHolder1_ddlTassiCalcoloRata.focus();

        return false;
    }
    
	var dblImpRichiesto = 0
	var dblImpSpeseIstruttoria = 0
	var dblImpAssicurazione = 0
	var dblImpServiziAccessori = 0
	
	dblImpRichiesto = parseFloat(document.aspnetForm.ctl00_ContentPlaceHolder1_txtImpRichiesto.value.replace(".", "").replace(",","."));
    
    if (!(document.aspnetForm.txtImpSpeseIstruttoria == null)) {
        if (document.aspnetForm.chkFlgSpeseIstruttoriaAbilitato.checked) 
        {
        
            dblImpSpeseIstruttoria = parseFloat(document.aspnetForm.txtImpSpeseIstruttoria.value.replace(".", "").replace(",","."));var ImpMinimo = parseFloat(document.aspnetForm.ctl00_ContentPlaceHolder1_txtImpMinimo.value.replace(",","."));
	        dblImpMinimoSpese = parseFloat(document.aspnetForm.ctl00_ContentPlaceHolder1_txtImpMinimoSpese.value.replace(".", "").replace(",","."));
            dblImpMassimoSpese = parseFloat(document.aspnetForm.ctl00_ContentPlaceHolder1_txtImpMassimoSpese.value.replace(".", "").replace(",","."));

            if (dblImpSpeseIstruttoria < dblImpMinimoSpese)
            {
                alert("L'Importo Minimo delle Spese istruttoria deve essere di " + document.aspnetForm.ctl00_ContentPlaceHolder1_txtImpMinimoSpese.value + ' Euro');
    		
		        document.aspnetForm.txtImpSpeseIstruttoria.focus();
        		
		        return false;
            }
            
            if (dblImpSpeseIstruttoria > dblImpMassimoSpese)
            {
                alert("L'Importo Massimo delle Spese istruttoria deve essere di " + document.aspnetForm.ctl00_ContentPlaceHolder1_txtImpMassimoSpese.value + ' Euro');
    		
		        document.aspnetForm.txtImpSpeseIstruttoria.focus();
        		
		        return false;
            }
            
        };
    };
    
    if (!(document.aspnetForm.txtImpAssicurazione == null)) {
        if (document.aspnetForm.chkFlgAssicurazioneAbilitato.checked) {
            dblImpAssicurazione = parseFloat(document.aspnetForm.txtImpAssicurazione.value.replace(".", "").replace(",","."));
        };
    };
     
    if (!(document.aspnetForm.txtTotImpServizioAccessorio == null)) {
        dblImpServiziAccessori = parseFloat(document.aspnetForm.txtTotImpServizioAccessorio.value.replace(".", "").replace(",","."));
    };
    
	var v = dblImpRichiesto + dblImpSpeseIstruttoria + dblImpAssicurazione + dblImpServiziAccessori
//	var a = parseFloat(document.form6.anticipo.value);
	var a = 0
	var ant = 1 ;
	var inc = 1 ;
	var nr = parseInt(document.aspnetForm.ctl00_ContentPlaceHolder1_txtDurata.value);
//	var z = parseFloat(document.form6.riscatto.value);
	var z = 0 ;
	var h = 0 ;
	var m = 12 ;
	var i = parseFloat(document.aspnetForm.ctl00_ContentPlaceHolder1_ddlTassiCalcoloRata.value.replace(",","."));
	var pa = 0 ;
	var pr = 0 ;
    var d = 1 ;
   	var w = nr ;
   	
    //pre-condizioni   
	{
//	 if (d==2) var w = document.form6.res.value ;
//	else if (inc==2) var w = document.form6.res.value = (h*m)-nr;
//	else var w = document.form6.res.value = h*m;
//	if (z==0) var z =document.form6.riscatto.value= ((pr*v)/100);
//    else var pr =document.form6.pr.value= format(((z/v)*100),2,true)+"%";
//    
//    if (a==0) var a =document.form6.anticipo.value= ((pa*v)/100);
//    else var pa =document.form6.pa.value= format(((a/v)*100),2,true)+"%";
	
	
	z = 0 //document.form6.riscatto.value= ((pr*v)/100);
    a = 0 //document.form6.anticipo.value= ((pa*v)/100);
    
    
    //tasso equivalente
	var tas=((i/100)/m);
	//tasso periodico
	var ipo = Math.pow((1+tas),-w);
	//a figurato n al tasso i
	var ani = ((1-Math.pow((1+tas),-w))/tas);
	//rata con anticipo
	var rata=((v-a)-(z*ipo))/ani;
	
	
	
//	var pa =document.form6.pa.value= format(((a/v)*100),2,true)+"%";
//	var pa = format(((a/v)*100),2,true);

//	document.aspnetForm.ctl00_ContentPlaceHolder1_txtImpRate.value = format(rata,1,true);
	}
    //sviluppo tabella
    
    
    
    var j=0;//contatore
	var Ij=0; //quota interessi
	var PIj=0;//arrotondamento
    var Cj=0; //quota capitale
    var PCj=0;//arrotondamento
    var IMj=0;//imponibile
    var Rj=0; //quota rata
    var Vj=v; //capitale
    if (ant==1)var Aj=a; //anticipo
    else var Aj=format(ratadue,1,true)*nr
    var Zj=z; //riscatto
    var Hj=h; //anni
//    if (m==4) var Mj = "<p align='center'>trim.";//versamenti
//    else if (m==12) var Mj = "<p align='center'>mens.";
//    else var Mj = "<p align='center'>sem.";
    var Lj=0; //totale rate
//    var Tj=0; //totale rimborso
    if (ant==1) var Dj=v-Aj; //cap.-ant.
    else if (ant==2) var Dj=v-format(((v-(z*ipo))/(nr+ani)),2,true)*nr; //cap.-ant.
    var Ej=0; //debito estinto
    var Fj=0;
    var Pj=w; //nr rate
    var ivaj=0;
    var tivaj=0; //somma iva rate
//    var Tivj=0; //totale iva
    var Taj=0;
	var Tzj=0;
	      
	var G=""
    G+="<table cellpadding='0' cellspacing='0' style='margin-left: auto; margin-right: auto; font-size: 11px;' >"
    G+="<tr>"
    
    G+="<td style='width: 100px; height: 20px; text-align: center; border-top: #eef0ef 1px solid; border-left: #eef0ef 1px solid; border-right: #eef0ef 1px solid; border-bottom: #eef0ef 1px solid; color: #dfa113;'>RICHIESTO</td>"
    G+="<td style='width: 100px; height: 20px; text-align: center; border-top: #eef0ef 1px solid; border-left: #eef0ef 1px solid; border-right: #eef0ef 1px solid; border-bottom: #eef0ef 1px solid; color: #dfa113;'>FINANZIATO</td>"
    G+="<td style='width: 100px; height: 20px; text-align: center; border-top: #eef0ef 1px solid; border-right: #eef0ef 1px solid; border-bottom: #eef0ef 1px solid; color: #dfa113;'>TASSO</td>"
    G+="<td style='width: 100px; height: 20px; text-align: center; border-top: #eef0ef 1px solid; border-right: #eef0ef 1px solid; border-bottom: #eef0ef 1px solid; color: #dfa113;'>N° RATE</td>"
    G+="<td style='width: 100px; height: 20px; text-align: center; border-top: #eef0ef 1px solid; border-right: #eef0ef 1px solid; border-bottom: #eef0ef 1px solid; color: #dfa113;'>IMP.RATA</td>"
    G+="</tr>"
    
    G+="<tr>"
    G+="<td style='width: 100px; height: 20px; border-left: #eef0ef 1px solid; border-right: #eef0ef 1px solid; border-bottom: #eef0ef 1px solid; text-align: center;'>" + format(dblImpRichiesto,2,true) + "</td>"
    G+="<td style='width: 100px; height: 20px; border-left: #eef0ef 1px solid; border-right: #eef0ef 1px solid; border-bottom: #eef0ef 1px solid; text-align: center;'>" + format(Vj,2,true) + "</td>"
    G+="<td style='width: 100px; height: 20px; border-right: #eef0ef 1px solid; border-bottom: #eef0ef 1px solid; text-align: center;'>" + i + "%" + "</td>"
    G+="<td style='width: 100px; height: 20px; border-right: #eef0ef 1px solid; border-bottom: #eef0ef 1px solid; text-align: center;'>" + Pj + "</td>"
    G+="<td style='width: 100px; height: 20px; border-right: #eef0ef 1px solid; border-bottom: #eef0ef 1px solid; text-align: center;'>" + format(rata,2,true) + "</td>"
    G+="</tr>"
    G+="<tr>"
    G+="<td colspan='5' style='width: 500px; padding-top: 10px; padding-bottom: 10px; text-align: center; color: #dfa113;'><a class='Link-Address' href='#' onclick='javascript:SetDisplayPianoAmmortamento();'>PIANO DI AMMORTAMENTO</a></td>"
    G+="</tr>"
    G+="</table>"
    
    	
    document.getElementById("ctl00_ContentPlaceHolder1_ImpRichiesto").value = format(dblImpRichiesto,2,true);
    document.getElementById("ctl00_ContentPlaceHolder1_ImpFinanziato").value = format(Vj,2,true);
    document.getElementById("ctl00_ContentPlaceHolder1_Tasso").value = i + "%";
    document.getElementById("ctl00_ContentPlaceHolder1_Rate").value = Pj;
    document.getElementById("ctl00_ContentPlaceHolder1_ImpRata").value = format(rata,2,true);
    
    // CALCOLO TAEG
    // AGGIUNTA ASSICURAZIONEvar cap_reale = dblImpRichiesto + dblImpServiziAccessori  ;
    var cap_reale = dblImpRichiesto + dblImpServiziAccessori + dblImpAssicurazione;
    var durata=Pj;
    var tmp_reale = 0;
	var taeg = 0.001;	// taeg iniziale
	var step = 0.01;	// step iniziale di incremento taeg
	var fwd = true;	// direzione dell'incremento

	for (indice=1; indice<=durata; indice++)
	{
		var tmpSommat = rata/Math.pow((1+taeg),(indice*30.4375)/365);
		tmp_reale += tmpSommat;
	}
	if ( ( cap_reale - tmp_reale ) < 0 )
		fwd = false;
	while ( Math.abs( tmp_reale - cap_reale ) > 0.000001 )
	{
		tmp_reale = 0;
		if ( fwd == true )
		{
			taeg += step;
		}
		else
		{
			taeg -= step;
		}
		for (indice=1; indice<=durata; indice++)
		{
			var tmpSommat = rata/Math.pow((1+taeg),(indice*30.4375)/365);
			tmp_reale += tmpSommat;
		}
		if ( (( tmp_reale - cap_reale ) > 0)&& (fwd != true))
		{
			step /= 2;
			fwd = true;
		}
		else if (( tmp_reale - cap_reale ) < 0 && (fwd == true) )
		{
			step /= 2;
			fwd = false;
		}
	}
	
	document.getElementById("ctl00_ContentPlaceHolder1_Teg").value = FloatToPercString(taeg,2);
//    document.getElementById('ctl00_ContentPlaceHolder1_DettaglioRata').innerHTML=G;
    
    var G=""
    G+="<table cellpadding='0' cellspacing='0' style='margin-left: auto; margin-right: auto; font-size: 11px;'>"
    G+="<tr>"
    G+="<td style='width: 100px; height: 20px; text-align: center; border-top: #eef0ef 1px solid; border-left: #eef0ef 1px solid; border-right: #eef0ef 1px solid; border-bottom: #eef0ef 1px solid; color: #dfa113;'>CAPITALE</td>"
    G+="<td style='width: 100px; height: 20px; text-align: center; border-top: #eef0ef 1px solid; border-right: #eef0ef 1px solid; border-bottom: #eef0ef 1px solid; color: #dfa113;'>IMP.RATA</td>"
    G+="<td style='width: 100px; height: 20px; text-align: center; border-top: #eef0ef 1px solid; border-right: #eef0ef 1px solid; border-bottom: #eef0ef 1px solid; color: #dfa113;'>INTERESSI</td>"
    G+="<td style='width: 100px; height: 20px; text-align: center; border-top: #eef0ef 1px solid; border-right: #eef0ef 1px solid; border-bottom: #eef0ef 1px solid; color: #dfa113;'>CAP. RIMB.</td>"
    G+="<td style='width: 100px; height: 20px; text-align: center; border-top: #eef0ef 1px solid; border-right: #eef0ef 1px solid; border-bottom: #eef0ef 1px solid; color: #dfa113;'>CAP. RES.</td>"
    G+="<td style='width: 100px; height: 20px; text-align: center; border-top: #eef0ef 1px solid; border-right: #eef0ef 1px solid; border-bottom: #eef0ef 1px solid; color: #dfa113;'>RATE - RES.</td>"
    G+="</tr>"
      
    for (j=1;j<=w;++j)
		{
		var Ij=tas*Dj;
//		Rj=rata;
		Cj=rata-Ij;
		var PIj=rata-format(Cj,2,true)
		var PCj=rata-PIj
		var Pj=w-j;
		Ej+=Cj;
		Lj=(format(rata,2,true)*w)+Aj;
		Tj=Lj+z;
		ivaj=Cj-((Cj*100)/120);
		IMj=Cj-ivaj
//		tivaj+=ivaj;
//		Taj=(Aj-((Aj*100)/120));
//		Tzj=(Zj-((Zj*100)/120));
//		Tivj=tivaj+(Aj-((Aj*100)/120))+(Zj-((Zj*100)/120));

		//sviluppo righe
		
	    G+="<tr>"
        G+="<td style='width: 100px; height: 20px; text-align: center; border-top: #eef0ef 1px solid; border-left: #eef0ef 1px solid; border-right: #eef0ef 1px solid; border-bottom: #eef0ef 1px solid;'>" + format(Dj,2,true) + "</td>"
        G+="<td style='width: 100px; height: 20px; text-align: center; border-top: #eef0ef 1px solid; border-right: #eef0ef 1px solid; border-bottom: #eef0ef 1px solid;'>" + format(rata,4,true) + "</td>"
        G+="<td style='width: 100px; height: 20px; text-align: center; border-top: #eef0ef 1px solid; border-right: #eef0ef 1px solid; border-bottom: #eef0ef 1px solid;'>" + format(PIj,5,true) + "</td>"
        G+="<td style='width: 100px; height: 20px; text-align: center; border-top: #eef0ef 1px solid; border-right: #eef0ef 1px solid; border-bottom: #eef0ef 1px solid;'>" + format(Ej,7,true) + "</td>"
        G+="<td style='width: 100px; height: 20px; text-align: center; border-top: #eef0ef 1px solid; border-right: #eef0ef 1px solid; border-bottom: #eef0ef 1px solid;'>" + format(Dj-Cj,8,true) + "</td>"
        G+="<td style='width: 100px; height: 20px; text-align: center; border-top: #eef0ef 1px solid; border-right: #eef0ef 1px solid; border-bottom: #eef0ef 1px solid;'>" + j + " - " + format(Pj,3,false) + "</td>"
        G+="</tr>"
        Dj-=Cj;
		}
//	G+="<tr><td colspan=\"9\" align=\"center\"><font color=\"#eb7214\"><b\>riepilogo</b></font></td></tr><tr><td colspan=\"2\" align=\"center\"><b\>capitale rimborsato</b></td><td align=\"right\" style=\"font-weight:normal\">"+ format(Lj,2,true)+"</td><td colspan=\"2\" align=\"center\"><b\>riscatto</b></td><td align=\"right\" style=\"font-weight:normal\">"+ format(Zj,2,true)+"</td><td colspan=\"2\" align=\"center\"><b\>Totale rimborsato</b></td><td align=\"right\" style=\"font-weight:normal\">"+ format(Tj,2,true)+"</td></tr><tr><td colspan=\"2\" align=\"center\"><b\>iva anticipo</b></td><td align=\"right\" style=\"font-weight:normal\">"+Math.round(Taj*100)/100+"</td><td colspan=\"2\" align=\"center\"><b\>iva riscatto</b></td><td align=\"right\" style=\"font-weight:normal\">"+Math.round(Tzj*100)/100+"</td><td colspan=\"2\" align=\"center\"><b\>totale iva</b></td><td align=\"right\" style=\"font-weight:normal\">"+ Math.round(Tivj*100)/100+"</td></tr>"
	G+="</table>"; //chiusura tabella
	
	var dblPercTassoUsura = parseFloat(document.aspnetForm.ctl00_ContentPlaceHolder1_txtPercTassoUsura.value.replace(".", "").replace(",","."));
    var dblTaeg =taeg*100;
	if (dblTaeg > dblPercTassoUsura)
	{
	    alert('Attenzione Superato Tasso Usura ' + dblPercTassoUsura + '% - Teg ' + FloatToPercString(taeg,2))
	}
	else
	{
	    var objElemento = document.getElementById("Dati");
	    objElemento.style.display = 'none';
    	
	    var objElemento = document.getElementById("Totali");
	    objElemento.style.display = 'inline';
	}
//funzione ausiliaria per normalizzare la rappresentazione dei dati in output
  
   document.getElementById('DettaglioPianoAmmortamento').innerHTML=G;
}
   
function format(n,campo,decimale)
    {
      l = 0;
      var s;
      if (decimale)
        {
          n = Math.round(n*10000)/10000;
          s = String(n);
          l = s.length;
          punto = s.indexOf('.');
          if (punto<0) s +='.00';
          if (punto==l-1) s +='00';
          if (punto==l-2) s +='0';
          punto = s.indexOf('.');
          s = s.substr(0,punto+3);
        }
      else
        {
        s = String(n);
    }
      l = s.length;
      while (l<campo)
        {
          s = " "+s;
          l++;
        }
      return s;
    }

function CalcolaRataMutuo() {


    if (document.aspnetForm.ctl00_ContentPlaceHolder1_ddlTipologieProdotto.value == 0) 
    {
        alert("Selezionare la Tipologia del Prodotto!");

        document.aspnetForm.ctl00_ContentPlaceHolder1_ddlTipologieProdotto.focus();

        return false;
    }
   
    if (document.aspnetForm.ctl00_ContentPlaceHolder1_ddlFinanziarie.value == 0) 
    {
        alert("Selezionare la Finanziaria!");

        document.aspnetForm.ctl00_ContentPlaceHolder1_ddlFinanziarie.focus();

        return false;
    }
    
    if (document.aspnetForm.ctl00_ContentPlaceHolder1_txtImpRichiesto.value=="") 
	{
		alert("Digitare l'Importo del Mutuo!!");
		
		document.aspnetForm.ctl00_ContentPlaceHolder1_txtImpRichiesto.focus();
		
		return false;
	}
	else
	{
	    var ImpRichiesto = parseFloat(document.aspnetForm.ctl00_ContentPlaceHolder1_txtImpRichiesto.value.replace(".", "").replace(",","."));
	    var ImpMinimo = parseFloat(document.aspnetForm.ctl00_ContentPlaceHolder1_txtImpMinimo.value.replace(".", "").replace(",","."));
	    var ImpMassimo = parseFloat(document.aspnetForm.ctl00_ContentPlaceHolder1_txtImpMassimo.value.replace(".", "").replace(",","."));

	    if (ImpRichiesto < ImpMinimo) 
	    {
		    alert("L'importo Minimo per il Mutuo scelto è di " + document.aspnetForm.ctl00_ContentPlaceHolder1_txtImpMinimo.value);
    		
		    document.aspnetForm.ctl00_ContentPlaceHolder1_txtImpRichiesto.focus();
    		
		    return false;
	    }
	    if (ImpRichiesto > ImpMassimo) 
	    {
		    alert("L'importo Massimo per il Mutuo scelto è di " + document.aspnetForm.ctl00_ContentPlaceHolder1_txtImpMassimo.value);
    		
		    document.aspnetForm.ctl00_ContentPlaceHolder1_txtImpRichiesto.focus();
    		
		    return false;
	    }
	}
	
	if (document.aspnetForm.ctl00_ContentPlaceHolder1_txtDurata.value=="") 
	{
		alert("Digitare la Durata del Mutuo!!");
		
		document.aspnetForm.ctl00_ContentPlaceHolder1_txtDurata.focus();
		
		return false;
	}
	else
	{
	    var Durata = parseFloat(document.aspnetForm.ctl00_ContentPlaceHolder1_txtDurata.value.replace(".", "").replace(",","."));
	    var DurataMinima = parseFloat(document.aspnetForm.ctl00_ContentPlaceHolder1_txtDurataMinima.value.replace(".", "").replace(",","."));
	    var DurataMassima = parseFloat(document.aspnetForm.ctl00_ContentPlaceHolder1_txtDurataMassima.value.replace(".", "").replace(",","."));

	    if (Durata < DurataMinima) 
	    {
		    alert("La Durata Minima per il Mutuo scelto è di " + document.aspnetForm.ctl00_ContentPlaceHolder1_txtDurataMinima.value + ' Mesi');
    		
		    document.aspnetForm.ctl00_ContentPlaceHolder1_txtDurata.focus();
    		
		    return false;
	    }
	    if (Durata > DurataMassima) 
	    {
		    alert("La Durata Massima per il Mutuo scelto è di " + document.aspnetForm.ctl00_ContentPlaceHolder1_txtDurataMassima.value + ' Mesi');
    		
		    document.aspnetForm.ctl00_ContentPlaceHolder1_txtDurata.focus();
    		
		    return false;
	    }
	}
	
	if (document.aspnetForm.ctl00_ContentPlaceHolder1_ddlTassiCalcoloRata.value == 0) 
    {
        alert("Selezionare il Tasso di Interesse!");

        document.aspnetForm.ctl00_ContentPlaceHolder1_ddlTassiCalcoloRata.focus();

        return false;
    }
    
	var dblImpRichiesto = 0
	var dblImpSpeseIstruttoria = 0
	var dblImpAssicurazione = 0
	var dblImpServiziAccessori = 0
	
	dblImpRichiesto = parseFloat(document.aspnetForm.ctl00_ContentPlaceHolder1_txtImpRichiesto.value.replace(".", "").replace(",","."));
    
    if (!(document.aspnetForm.txtImpSpeseIstruttoria == null)) {
        if (document.aspnetForm.chkFlgSpeseIstruttoriaAbilitato.checked) 
        {
        
            dblImpSpeseIstruttoria = parseFloat(document.aspnetForm.txtImpSpeseIstruttoria.value.replace(".", "").replace(",","."));var ImpMinimo = parseFloat(document.aspnetForm.ctl00_ContentPlaceHolder1_txtImpMinimo.value.replace(",","."));
	        dblImpMinimoSpese = parseFloat(document.aspnetForm.ctl00_ContentPlaceHolder1_txtImpMinimoSpese.value.replace(".", "").replace(",","."));
            dblImpMassimoSpese = parseFloat(document.aspnetForm.ctl00_ContentPlaceHolder1_txtImpMassimoSpese.value.replace(".", "").replace(",","."));

            if (dblImpSpeseIstruttoria < dblImpMinimoSpese)
            {
                alert("L'Importo Minimo delle Spese istruttoria deve essere di " + document.aspnetForm.ctl00_ContentPlaceHolder1_txtImpMinimoSpese.value + ' Euro');
    		
		        document.aspnetForm.txtImpSpeseIstruttoria.focus();
        		
		        return false;
            }
            
            if (dblImpSpeseIstruttoria > dblImpMassimoSpese)
            {
                alert("L'Importo Massimo delle Spese istruttoria deve essere di " + document.aspnetForm.ctl00_ContentPlaceHolder1_txtImpMassimoSpese.value + ' Euro');
    		
		        document.aspnetForm.txtImpSpeseIstruttoria.focus();
        		
		        return false;
            }
            
        };
    };
    
    if (!(document.aspnetForm.txtImpAssicurazione == null)) {
        if (document.aspnetForm.chkFlgAssicurazioneAbilitato.checked) {
            dblImpAssicurazione = parseFloat(document.aspnetForm.txtImpAssicurazione.value.replace(".", "").replace(",","."));
        };
    };
     
    if (!(document.aspnetForm.txtTotImpServizioAccessorio == null)) {
        dblImpServiziAccessori = parseFloat(document.aspnetForm.txtTotImpServizioAccessorio.value.replace(".", "").replace(",","."));
    };
    
	var v = dblImpRichiesto + dblImpSpeseIstruttoria + dblImpAssicurazione + dblImpServiziAccessori
//	var a = parseFloat(document.form6.anticipo.value);
	var a = 0
	var ant = 1 ;
	var inc = 1 ;
	var nr = parseInt(document.aspnetForm.ctl00_ContentPlaceHolder1_txtDurata.value);
//	var z = parseFloat(document.form6.riscatto.value);
	var z = 0 ;
	var h = 0 ;
	var m = 12 ;
	var i = parseFloat(document.aspnetForm.ctl00_ContentPlaceHolder1_ddlTassiCalcoloRata.value.replace(",","."));
	var pa = 0 ;
	var pr = 0 ;
    var d = 1 ;
   	var w = nr ;
   	
    //pre-condizioni   
	{
//	 if (d==2) var w = document.form6.res.value ;
//	else if (inc==2) var w = document.form6.res.value = (h*m)-nr;
//	else var w = document.form6.res.value = h*m;
//	if (z==0) var z =document.form6.riscatto.value= ((pr*v)/100);
//    else var pr =document.form6.pr.value= format(((z/v)*100),2,true)+"%";
//    
//    if (a==0) var a =document.form6.anticipo.value= ((pa*v)/100);
//    else var pa =document.form6.pa.value= format(((a/v)*100),2,true)+"%";
	
	
	z = 0 //document.form6.riscatto.value= ((pr*v)/100);
    a = 0 //document.form6.anticipo.value= ((pa*v)/100);
    
    
    //tasso equivalente
	var tas=((i/100)/m);
	//tasso periodico
	var ipo = Math.pow((1+tas),-w);
	//a figurato n al tasso i
	var ani = ((1-Math.pow((1+tas),-w))/tas);
	//rata con anticipo
	var rata=((v-a)-(z*ipo))/ani;
	
	
	
//	var pa =document.form6.pa.value= format(((a/v)*100),2,true)+"%";
//	var pa = format(((a/v)*100),2,true);

//	document.aspnetForm.ctl00_ContentPlaceHolder1_txtImpRate.value = format(rata,1,true);
	}
    //sviluppo tabella
    
    
    
    var j=0;//contatore
	var Ij=0; //quota interessi
	var PIj=0;//arrotondamento
    var Cj=0; //quota capitale
    var PCj=0;//arrotondamento
    var IMj=0;//imponibile
    var Rj=0; //quota rata
    var Vj=v; //capitale
    if (ant==1)var Aj=a; //anticipo
    else var Aj=format(ratadue,1,true)*nr
    var Zj=z; //riscatto
    var Hj=h; //anni
//    if (m==4) var Mj = "<p align='center'>trim.";//versamenti
//    else if (m==12) var Mj = "<p align='center'>mens.";
//    else var Mj = "<p align='center'>sem.";
    var Lj=0; //totale rate
//    var Tj=0; //totale rimborso
    if (ant==1) var Dj=v-Aj; //cap.-ant.
    else if (ant==2) var Dj=v-format(((v-(z*ipo))/(nr+ani)),2,true)*nr; //cap.-ant.
    var Ej=0; //debito estinto
    var Fj=0;
    var Pj=w; //nr rate
    var ivaj=0;
    var tivaj=0; //somma iva rate
//    var Tivj=0; //totale iva
    var Taj=0;
	var Tzj=0;
	      
	var G=""
    G+="<table cellpadding='0' cellspacing='0' style='margin-left: auto; margin-right: auto; font-size: 11px;' >"
    G+="<tr>"
    
    G+="<td style='width: 100px; height: 20px; text-align: center; border-top: #eef0ef 1px solid; border-left: #eef0ef 1px solid; border-right: #eef0ef 1px solid; border-bottom: #eef0ef 1px solid; color: #dfa113;'>RICHIESTO</td>"
    G+="<td style='width: 100px; height: 20px; text-align: center; border-top: #eef0ef 1px solid; border-left: #eef0ef 1px solid; border-right: #eef0ef 1px solid; border-bottom: #eef0ef 1px solid; color: #dfa113;'>FINANZIATO</td>"
    G+="<td style='width: 100px; height: 20px; text-align: center; border-top: #eef0ef 1px solid; border-right: #eef0ef 1px solid; border-bottom: #eef0ef 1px solid; color: #dfa113;'>TASSO</td>"
    G+="<td style='width: 100px; height: 20px; text-align: center; border-top: #eef0ef 1px solid; border-right: #eef0ef 1px solid; border-bottom: #eef0ef 1px solid; color: #dfa113;'>N° RATE</td>"
    G+="<td style='width: 100px; height: 20px; text-align: center; border-top: #eef0ef 1px solid; border-right: #eef0ef 1px solid; border-bottom: #eef0ef 1px solid; color: #dfa113;'>IMP.RATA</td>"
    G+="</tr>"
    
    G+="<tr>"
    G+="<td style='width: 100px; height: 20px; border-left: #eef0ef 1px solid; border-right: #eef0ef 1px solid; border-bottom: #eef0ef 1px solid; text-align: center;'>" + format(dblImpRichiesto,2,true) + "</td>"
    G+="<td style='width: 100px; height: 20px; border-left: #eef0ef 1px solid; border-right: #eef0ef 1px solid; border-bottom: #eef0ef 1px solid; text-align: center;'>" + format(Vj,2,true) + "</td>"
    G+="<td style='width: 100px; height: 20px; border-right: #eef0ef 1px solid; border-bottom: #eef0ef 1px solid; text-align: center;'>" + i + "%" + "</td>"
    G+="<td style='width: 100px; height: 20px; border-right: #eef0ef 1px solid; border-bottom: #eef0ef 1px solid; text-align: center;'>" + Pj + "</td>"
    G+="<td style='width: 100px; height: 20px; border-right: #eef0ef 1px solid; border-bottom: #eef0ef 1px solid; text-align: center;'>" + format(rata,2,true) + "</td>"
    G+="</tr>"
    G+="<tr>"
    G+="<td colspan='5' style='width: 500px; padding-top: 10px; padding-bottom: 10px; text-align: center; color: #dfa113;'><a class='Link-Address' href='#' onclick='javascript:SetDisplayPianoAmmortamento();'>PIANO DI AMMORTAMENTO</a></td>"
    G+="</tr>"
    G+="</table>"
    
    	
    document.getElementById("ctl00_ContentPlaceHolder1_ImpRichiesto").value = format(dblImpRichiesto,2,true);
    document.getElementById("ctl00_ContentPlaceHolder1_ImpFinanziato").value = format(Vj,2,true);
    document.getElementById("ctl00_ContentPlaceHolder1_Tasso").value = i + "%";
    document.getElementById("ctl00_ContentPlaceHolder1_Rate").value = Pj;
    document.getElementById("ctl00_ContentPlaceHolder1_ImpRata").value = format(rata,2,true);
    
    // CALCOLO TAEG
    var cap_reale = dblImpRichiesto + dblImpServiziAccessori;
    var durata=Pj;
    var tmp_reale = 0;
	var taeg = 0.001;	// taeg iniziale
	var step = 0.01;	// step iniziale di incremento taeg
	var fwd = true;	// direzione dell'incremento

	for (indice=1; indice<=durata; indice++)
	{
		var tmpSommat = rata/Math.pow((1+taeg),(indice*30.4375)/365);
		tmp_reale += tmpSommat;
	}
	if ( ( cap_reale - tmp_reale ) < 0 )
		fwd = false;
	while ( Math.abs( tmp_reale - cap_reale ) > 0.000001 )
	{
		tmp_reale = 0;
		if ( fwd == true )
		{
			taeg += step;
		}
		else
		{
			taeg -= step;
		}
		for (indice=1; indice<=durata; indice++)
		{
			var tmpSommat = rata/Math.pow((1+taeg),(indice*30.4375)/365);
			tmp_reale += tmpSommat;
		}
		if ( (( tmp_reale - cap_reale ) > 0)&& (fwd != true))
		{
			step /= 2;
			fwd = true;
		}
		else if (( tmp_reale - cap_reale ) < 0 && (fwd == true) )
		{
			step /= 2;
			fwd = false;
		}
	}
	
	document.getElementById("ctl00_ContentPlaceHolder1_Teg").value = FloatToPercString(taeg,2);
//    document.getElementById('ctl00_ContentPlaceHolder1_DettaglioRata').innerHTML=G;
    
    var G=""
    G+="<table cellpadding='0' cellspacing='0' style='margin-left: auto; margin-right: auto; font-size: 11px;'>"
    G+="<tr>"
    G+="<td style='width: 100px; height: 20px; text-align: center; border-top: #eef0ef 1px solid; border-left: #eef0ef 1px solid; border-right: #eef0ef 1px solid; border-bottom: #eef0ef 1px solid; color: #dfa113;'>CAPITALE</td>"
    G+="<td style='width: 100px; height: 20px; text-align: center; border-top: #eef0ef 1px solid; border-right: #eef0ef 1px solid; border-bottom: #eef0ef 1px solid; color: #dfa113;'>IMP.RATA</td>"
    G+="<td style='width: 100px; height: 20px; text-align: center; border-top: #eef0ef 1px solid; border-right: #eef0ef 1px solid; border-bottom: #eef0ef 1px solid; color: #dfa113;'>INTERESSI</td>"
    G+="<td style='width: 100px; height: 20px; text-align: center; border-top: #eef0ef 1px solid; border-right: #eef0ef 1px solid; border-bottom: #eef0ef 1px solid; color: #dfa113;'>CAP. RIMB.</td>"
    G+="<td style='width: 100px; height: 20px; text-align: center; border-top: #eef0ef 1px solid; border-right: #eef0ef 1px solid; border-bottom: #eef0ef 1px solid; color: #dfa113;'>CAP. RES.</td>"
    G+="<td style='width: 100px; height: 20px; text-align: center; border-top: #eef0ef 1px solid; border-right: #eef0ef 1px solid; border-bottom: #eef0ef 1px solid; color: #dfa113;'>RATE - RES.</td>"
    G+="</tr>"
      
    for (j=1;j<=w;++j)
		{
		var Ij=tas*Dj;
//		Rj=rata;
		Cj=rata-Ij;
		var PIj=rata-format(Cj,2,true)
		var PCj=rata-PIj
		var Pj=w-j;
		Ej+=Cj;
		Lj=(format(rata,2,true)*w)+Aj;
		Tj=Lj+z;
		ivaj=Cj-((Cj*100)/120);
		IMj=Cj-ivaj
//		tivaj+=ivaj;
//		Taj=(Aj-((Aj*100)/120));
//		Tzj=(Zj-((Zj*100)/120));
//		Tivj=tivaj+(Aj-((Aj*100)/120))+(Zj-((Zj*100)/120));

		//sviluppo righe
		
	    G+="<tr>"
        G+="<td style='width: 100px; height: 20px; text-align: center; border-top: #eef0ef 1px solid; border-left: #eef0ef 1px solid; border-right: #eef0ef 1px solid; border-bottom: #eef0ef 1px solid;'>" + format(Dj,2,true) + "</td>"
        G+="<td style='width: 100px; height: 20px; text-align: center; border-top: #eef0ef 1px solid; border-right: #eef0ef 1px solid; border-bottom: #eef0ef 1px solid;'>" + format(rata,4,true) + "</td>"
        G+="<td style='width: 100px; height: 20px; text-align: center; border-top: #eef0ef 1px solid; border-right: #eef0ef 1px solid; border-bottom: #eef0ef 1px solid;'>" + format(PIj,5,true) + "</td>"
        G+="<td style='width: 100px; height: 20px; text-align: center; border-top: #eef0ef 1px solid; border-right: #eef0ef 1px solid; border-bottom: #eef0ef 1px solid;'>" + format(Ej,7,true) + "</td>"
        G+="<td style='width: 100px; height: 20px; text-align: center; border-top: #eef0ef 1px solid; border-right: #eef0ef 1px solid; border-bottom: #eef0ef 1px solid;'>" + format(Dj-Cj,8,true) + "</td>"
        G+="<td style='width: 100px; height: 20px; text-align: center; border-top: #eef0ef 1px solid; border-right: #eef0ef 1px solid; border-bottom: #eef0ef 1px solid;'>" + j + " - " + format(Pj,3,false) + "</td>"
        G+="</tr>"
        Dj-=Cj;
		}
//	G+="<tr><td colspan=\"9\" align=\"center\"><font color=\"#eb7214\"><b\>riepilogo</b></font></td></tr><tr><td colspan=\"2\" align=\"center\"><b\>capitale rimborsato</b></td><td align=\"right\" style=\"font-weight:normal\">"+ format(Lj,2,true)+"</td><td colspan=\"2\" align=\"center\"><b\>riscatto</b></td><td align=\"right\" style=\"font-weight:normal\">"+ format(Zj,2,true)+"</td><td colspan=\"2\" align=\"center\"><b\>Totale rimborsato</b></td><td align=\"right\" style=\"font-weight:normal\">"+ format(Tj,2,true)+"</td></tr><tr><td colspan=\"2\" align=\"center\"><b\>iva anticipo</b></td><td align=\"right\" style=\"font-weight:normal\">"+Math.round(Taj*100)/100+"</td><td colspan=\"2\" align=\"center\"><b\>iva riscatto</b></td><td align=\"right\" style=\"font-weight:normal\">"+Math.round(Tzj*100)/100+"</td><td colspan=\"2\" align=\"center\"><b\>totale iva</b></td><td align=\"right\" style=\"font-weight:normal\">"+ Math.round(Tivj*100)/100+"</td></tr>"
	G+="</table>"; //chiusura tabella
	
	var dblPercTassoUsura = parseFloat(document.aspnetForm.ctl00_ContentPlaceHolder1_txtPercTassoUsura.value.replace(".", "").replace(",","."));
    var dblTaeg =taeg*100;
	if (dblTaeg > dblPercTassoUsura)
	{
	    alert('Attenzione Superato Tasso Usura ' + dblPercTassoUsura + '% - Teg ' + FloatToPercString(taeg,2))
	}
	else
	{
	    var objElemento = document.getElementById("Dati");
	    objElemento.style.display = 'none';
    	
	    var objElemento = document.getElementById("Totali");
	    objElemento.style.display = 'inline';
	}
//funzione ausiliaria per normalizzare la rappresentazione dei dati in output
  
   document.getElementById('DettaglioPianoAmmortamento').innerHTML=G;
}

function CalcolaRataLeasing() {


    if (document.aspnetForm.ctl00_ContentPlaceHolder1_ddlTipologieProdotto.value == 0) 
    {
        alert("Selezionare la Tipologia del Prodotto!");

        document.aspnetForm.ctl00_ContentPlaceHolder1_ddlTipologieProdotto.focus();

        return false;
    }
   
    if (document.aspnetForm.ctl00_ContentPlaceHolder1_ddlFinanziarie.value == 0) 
    {
        alert("Selezionare la Finanziaria!");

        document.aspnetForm.ctl00_ContentPlaceHolder1_ddlFinanziarie.focus();

        return false;
    }
    
    if (document.aspnetForm.ctl00_ContentPlaceHolder1_txtImpRichiesto.value=="") 
	{
		alert("Digitare l'Importo del Finanziamento!!");
		
		document.aspnetForm.ctl00_ContentPlaceHolder1_txtImpRichiesto.focus();
		
		return false;
	}
	else
	{
	    var ImpRichiesto = parseFloat(document.aspnetForm.ctl00_ContentPlaceHolder1_txtImpRichiesto.value.replace(".", "").replace(",","."));
	    var ImpMinimo = parseFloat(document.aspnetForm.ctl00_ContentPlaceHolder1_txtImpMinimo.value.replace(",","."));
	    var ImpMassimo = parseFloat(document.aspnetForm.ctl00_ContentPlaceHolder1_txtImpMassimo.value.replace(",","."));

        if (ImpRichiesto < ImpMinimo) 
	    {
		    alert("L'importo Minimo per il Leasing scelto è di " + document.aspnetForm.ctl00_ContentPlaceHolder1_txtImpMinimo.value);
    		
		    document.aspnetForm.ctl00_ContentPlaceHolder1_txtImpRichiesto.focus();
    		
		    return false;
	    }
	    if (ImpRichiesto > ImpMassimo) 
	    {
		    alert("L'importo Massimo per il Leasing scelto è di " + document.aspnetForm.ctl00_ContentPlaceHolder1_txtImpMassimo.value);
    		
		    document.aspnetForm.ctl00_ContentPlaceHolder1_txtImpRichiesto.focus();
    		
		    return false;
	    }
	}
	
	if (document.aspnetForm.ctl00_ContentPlaceHolder1_txtDurata.value=="") 
	{
		alert("Digitare la Durata del Leasing!!");
		
		document.aspnetForm.ctl00_ContentPlaceHolder1_txtDurata.focus();
		
		return false;
	}
	else
	{
	    var Durata = parseFloat(document.aspnetForm.ctl00_ContentPlaceHolder1_txtDurata.value.replace(".", "").replace(",","."));
	    var DurataMinima = parseFloat(document.aspnetForm.ctl00_ContentPlaceHolder1_txtDurataMinima.value.replace(".", "").replace(",","."));
	    var DurataMassima = parseFloat(document.aspnetForm.ctl00_ContentPlaceHolder1_txtDurataMassima.value.replace(".", "").replace(",","."));

	    if (Durata < DurataMinima) 
	    {
		    alert("La Durata Minima per il Leasing scelto è di " + document.aspnetForm.ctl00_ContentPlaceHolder1_txtDurataMinima.value + ' Mesi');
    		
		    document.aspnetForm.ctl00_ContentPlaceHolder1_txtDurata.focus();
    		
		    return false;
	    }
	    if (Durata > DurataMassima) 
	    {
		    alert("La Durata Massima per il Leasing scelto è di " + document.aspnetForm.ctl00_ContentPlaceHolder1_txtDurataMassima.value + ' Mesi');
    		
		    document.aspnetForm.ctl00_ContentPlaceHolder1_txtDurata.focus();
    		
		    return false;
	    }
	}
	
	if (document.aspnetForm.ctl00_ContentPlaceHolder1_ddlTassiCalcoloRata.value == 0) 
    {
        alert("Selezionare il Tasso di Interesse!");

        document.aspnetForm.ctl00_ContentPlaceHolder1_ddlTassiCalcoloRata.focus();

        return false;
    }
    
    if (document.aspnetForm.ctl00_ContentPlaceHolder1_ddlFlgCanoneAnticipo.value == "1") 
    {
        if (document.aspnetForm.ctl00_ContentPlaceHolder1_txtPercAnticipo.value=="") 
        {
            alert("Digitare la Percentuale di Anticipo");

            document.aspnetForm.ctl00_ContentPlaceHolder1_txtPercAnticipo.focus();

            return false;
        }
	    else
	    {
	        var PercAnticipo = parseFloat(document.aspnetForm.ctl00_ContentPlaceHolder1_txtPercAnticipo.value.replace(".", "").replace(",","."));
    	    
	        if (PercAnticipo < 10) 
	        {
		        alert("La Percentuale di Anticipo deve essere compresa tra 10% ed il 30%");
        		
		        document.aspnetForm.ctl00_ContentPlaceHolder1_txtPercAnticipo.focus();
        		
		        return false;
	        }
    	    
	        if (PercAnticipo > 30) 
	        {
		        alert("La Percentuale di Anticipo deve essere compresa tra 10% ed il 30%");
        		
		        document.aspnetForm.ctl00_ContentPlaceHolder1_txtPercAnticipo.focus();
        		
		        return false;
	        }
	    }
    }
    
    if (document.aspnetForm.ctl00_ContentPlaceHolder1_ddlFlgCanoneAnticipo.value == "2") 
    {
        if ((!(document.aspnetForm.ctl00_ContentPlaceHolder1_txtPercAnticipo.value=="")) & (!(document.aspnetForm.ctl00_ContentPlaceHolder1_txtPercAnticipo.value=="0")))
        {
            alert("In presenza di Percentuale di Anticipo il Canone Anticipato deve essere a 'NO'");

            document.aspnetForm.ctl00_ContentPlaceHolder1_ddlFlgCanoneAnticipo.focus();

            return false;
        }
    }
    
    if (document.aspnetForm.ctl00_ContentPlaceHolder1_txtPercRiscatto.value=="") 
	{
		alert("Digitare la Percentuale di Riscatto!!");
		
		document.aspnetForm.ctl00_ContentPlaceHolder1_txtPercRiscatto.focus();
		
		return false;
	}
	else
	{
	    var PercRiscatto = parseFloat(document.aspnetForm.ctl00_ContentPlaceHolder1_txtPercRiscatto.value.replace(".", "").replace(",","."));
	    
	    if (PercRiscatto < 1) 
	    {
		    alert("La Percentuale di Riscatto deve essere compresa tra 1% ed il 10%");
    		
		    document.aspnetForm.ctl00_ContentPlaceHolder1_txtPercRiscatto.focus();
    		
		    return false;
	    }
	    
	    if (PercRiscatto > 10) 
	    {
		    alert("La Percentuale di Riscatto deve essere compresa tra 1% ed il 10%");
    		
		    document.aspnetForm.ctl00_ContentPlaceHolder1_txtPercRiscatto.focus();
    		
		    return false;
	    }
	}
	
	var dblImpRichiesto = 0
	var dblImpSpeseIstruttoria = 0
	var dblImpMinimoSpese = 0
	var dblImpMassimoSpese = 0
	var dblImpAssicurazione = 0
	var dblImpServiziAccessori = 0
	
	dblImpRichiesto = parseFloat(document.aspnetForm.ctl00_ContentPlaceHolder1_txtImpRichiesto.value.replace(".", "").replace(",","."));
    
    if (!(document.aspnetForm.txtImpSpeseIstruttoria == null)) {
        if (document.aspnetForm.chkFlgSpeseIstruttoriaAbilitato.checked) 
        {
                    
            dblImpSpeseIstruttoria = parseFloat(document.aspnetForm.txtImpSpeseIstruttoria.value.replace(".", "").replace(",","."));var ImpMinimo = parseFloat(document.aspnetForm.ctl00_ContentPlaceHolder1_txtImpMinimo.value.replace(",","."));
	        dblImpMinimoSpese = parseFloat(document.aspnetForm.ctl00_ContentPlaceHolder1_txtImpMinimoSpese.value.replace(".", "").replace(",","."));
            dblImpMassimoSpese = parseFloat(document.aspnetForm.ctl00_ContentPlaceHolder1_txtImpMassimoSpese.value.replace(".", "").replace(",","."));

            if (dblImpSpeseIstruttoria < dblImpMinimoSpese)
            {
                alert("L'Importo Minimo delle Spese istruttoria deve essere di " + document.aspnetForm.ctl00_ContentPlaceHolder1_txtImpMinimoSpese.value + ' Euro');
    		
		        document.aspnetForm.txtImpSpeseIstruttoria.focus();
        		
		        return false;
            }
            
            if (dblImpSpeseIstruttoria > dblImpMassimoSpese)
            {
                alert("L'Importo Massimo delle Spese istruttoria deve essere di " + document.aspnetForm.ctl00_ContentPlaceHolder1_txtImpMassimoSpese.value + ' Euro');
    		
		        document.aspnetForm.txtImpSpeseIstruttoria.focus();
        		
		        return false;
            }
            
        };
    };
    
    if (!(document.aspnetForm.txtImpAssicurazione == null)) {
        if (document.aspnetForm.chkFlgAssicurazioneAbilitato.checked) {
            dblImpAssicurazione = parseFloat(document.aspnetForm.txtImpAssicurazione.value.replace(".", "").replace(",","."));
        };
    };
     
    if (!(document.aspnetForm.txtTotImpServizioAccessorio == null)) {
        dblImpServiziAccessori = parseFloat(document.aspnetForm.txtTotImpServizioAccessorio.value.replace(".", "").replace(",","."));
    };
    
	if (document.aspnetForm.ctl00_ContentPlaceHolder1_ddlPuntiProvvigionali.value==99999) 
	{
		alert("Selezionare la Tabella!!");
		
		document.aspnetForm.ctl00_ContentPlaceHolder1_ddlPuntiProvvigionali.focus();
		
		return false;
	}
	else
	{
	    var PercProvvigioni = parseFloat(document.aspnetForm.ctl00_ContentPlaceHolder1_txtPercProvvigionaleAgenzia.value.replace(",",".")) + parseFloat(document.aspnetForm.ctl00_ContentPlaceHolder1_ddlPuntiProvvigionali.value.replace(",","."));
	    
	    var ImpBaseProvvigioni = ImpRichiesto * PercProvvigioni / 100;
	}
	 
//    var v = dblImpRichiesto + dblImpSpeseIstruttoria + dblImpAssicurazione + dblImpServiziAccessori
    var v = dblImpRichiesto + dblImpServiziAccessori + ImpBaseProvvigioni
    var a = 0 ;
	var ant = document.aspnetForm.ctl00_ContentPlaceHolder1_ddlFlgCanoneAnticipo.value;
	var inc = 1 ;
	var nr = 1 ;
    var z = 0
	var h = 0
	var m = 12
	var i = parseFloat(document.aspnetForm.ctl00_ContentPlaceHolder1_ddlTassiCalcoloRata.value.replace(",","."));
	var pa = parseFloat(document.aspnetForm.ctl00_ContentPlaceHolder1_txtPercAnticipo.value.replace(".", "").replace(",","."));
	var pr = PercRiscatto ;
    var d = 2;
   	var w = parseInt(document.aspnetForm.ctl00_ContentPlaceHolder1_txtDurata.value) - 1;
   	
    //pre-condizioni   
	{
//	  if (inc==2) var w = document.form6.res.value = (h*m)-nr;
//	else var w = document.form6.res.value = h*m;
//	if (z==0) var z =document.form6.riscatto.value= ((pr*v)/100);
//    else var pr =document.form6.pr.value= format(((z/v)*100),2,true)+"%";
//    
//    if (a==0) var a =document.form6.anticipo.value= ((pa*v)/100);
//    else var pa =document.form6.pa.value= format(((a/v)*100),2,true)+"%";
	
	
	z = ((pr*(dblImpRichiesto + dblImpServiziAccessori))/100);
    a = ((pa*(dblImpRichiesto + dblImpServiziAccessori))/100);
    
    
    //tasso equivalente
	var tas=((i/100)/m);
	//tasso periodico
	var ipo = Math.pow((1+tas),-w);
	//a figurato n al tasso i
	var ani = ((1-Math.pow((1+tas),-w))/tas);
	//rata con anticipo
	var ratauno=((v-a)-(z*ipo))/ani;
	
	//post-condizioni   
    	
	if (ant==2)var a =format(((v-(z*ipo))/(nr+ani)),2,true)*nr;
   
	//rata con rata come anticipo
    if (ant==2) ratadue=((v-a)-(z*ipo))/ani;
    //post-condizioni   
    if (ant==2)var a =format (ratadue,2,true)*nr;

    //opzione rata
    if (ant==1) var rata=ratauno;
	else if (ant==2) 
	
	var rata=ratadue;
//	var pa =document.form6.pa.value= format(((a/v)*100),2,true)+"%";
	
if (ant==2) var pa = format(((a/v)*100),2,true);
	}
    //sviluppo tabella
    
    
    
    var j=0;//contatore
	var Ij=0; //quota interessi
	var PIj=0;//arrotondamento
    var Cj=0; //quota capitale
    var PCj=0;//arrotondamento
    var IMj=0;//imponibile
    var Rj=0; //quota rata
    var Vj=v; //capitale
    if (ant==1)var Aj=a; //anticipo
    else var Aj=format(ratadue,1,true)*nr
    var Zj=z; //riscatto
    var Hj=h; //anni
//    if (m==4) var Mj = "<p align='center'>trim.";//versamenti
//    else if (m==12) var Mj = "<p align='center'>mens.";
//    else var Mj = "<p align='center'>sem.";
    var Lj=0; //totale rate
//    var Tj=0; //totale rimborso
    if (ant==1) var Dj=v-Aj; //cap.-ant.
    else if (ant==2) var Dj=v-format(((v-(z*ipo))/(nr+ani)),2,true)*nr; //cap.-ant.
    var Ej=0; //debito estinto
    var Fj=0;
    var Pj=w; //nr rate
    var ivaj=0;
    var tivaj=0; //somma iva rate
//    var Tivj=0; //totale iva
    var Taj=0;
	var Tzj=0;
	      
	var G=""
    G+="<table cellpadding='0' cellspacing='0' style='margin-left: auto; margin-right: auto; font-size: 11px;' >"
    G+="<tr>"
    
    G+="<td style='width: 100px; height: 20px; text-align: center; border-top: #eef0ef 1px solid; border-left: #eef0ef 1px solid; border-right: #eef0ef 1px solid; border-bottom: #eef0ef 1px solid; color: #dfa113;'>RICHIESTO</td>"
    G+="<td style='width: 100px; height: 20px; text-align: center; border-top: #eef0ef 1px solid; border-left: #eef0ef 1px solid; border-right: #eef0ef 1px solid; border-bottom: #eef0ef 1px solid; color: #dfa113;'>FINANZIATO</td>"
    G+="<td style='width: 100px; height: 20px; text-align: center; border-top: #eef0ef 1px solid; border-right: #eef0ef 1px solid; border-bottom: #eef0ef 1px solid; color: #dfa113;'>TASSO</td>"
    G+="<td style='width: 100px; height: 20px; text-align: center; border-top: #eef0ef 1px solid; border-right: #eef0ef 1px solid; border-bottom: #eef0ef 1px solid; color: #dfa113;'>N° RATE</td>"
    G+="<td style='width: 100px; height: 20px; text-align: center; border-top: #eef0ef 1px solid; border-right: #eef0ef 1px solid; border-bottom: #eef0ef 1px solid; color: #dfa113;'>IMP.RATA</td>"
    G+="</tr>"
    
    G+="<tr>"
    G+="<td style='width: 100px; height: 20px; border-left: #eef0ef 1px solid; border-right: #eef0ef 1px solid; border-bottom: #eef0ef 1px solid; text-align: center;'>" + format(dblImpRichiesto,2,true) + "</td>"
    G+="<td style='width: 100px; height: 20px; border-left: #eef0ef 1px solid; border-right: #eef0ef 1px solid; border-bottom: #eef0ef 1px solid; text-align: center;'>" + format(Vj,2,true) + "</td>"
    G+="<td style='width: 100px; height: 20px; border-right: #eef0ef 1px solid; border-bottom: #eef0ef 1px solid; text-align: center;'>" + i + "%" + "</td>"
    G+="<td style='width: 100px; height: 20px; border-right: #eef0ef 1px solid; border-bottom: #eef0ef 1px solid; text-align: center;'>" + Pj + "</td>"
    G+="<td style='width: 100px; height: 20px; border-right: #eef0ef 1px solid; border-bottom: #eef0ef 1px solid; text-align: center;'>" + format(rata,2,true) + "</td>"
    G+="</tr>"
    G+="<tr>"
    G+="<td colspan='5' style='width: 500px; padding-top: 10px; padding-bottom: 10px; text-align: center; color: #dfa113;'><a class='Link-Address' href='#' onclick='javascript:SetDisplayPianoAmmortamento();'>PIANO DI AMMORTAMENTO</a></td>"
    G+="</tr>"
    G+="</table>"
    
    	
    document.getElementById("ctl00_ContentPlaceHolder1_ImpRichiesto").value = format(dblImpRichiesto,2,true);
    document.getElementById("ctl00_ContentPlaceHolder1_ImpFinanziato").value = format(Vj - ImpBaseProvvigioni ,2,true);
    document.getElementById("ctl00_ContentPlaceHolder1_Durata").value = Pj+1;
    
    if (document.aspnetForm.ctl00_ContentPlaceHolder1_ddlFlgCanoneAnticipo.value == "1") 
    {
        document.getElementById("ctl00_ContentPlaceHolder1_NumCanoniAnticipati").value = "";
        document.getElementById("ctl00_ContentPlaceHolder1_PercAnticipo").value = format(pa,2,true) + "%";
    }
    
    if (document.aspnetForm.ctl00_ContentPlaceHolder1_ddlFlgCanoneAnticipo.value == "2") 
    {
        document.getElementById("ctl00_ContentPlaceHolder1_NumCanoniAnticipati").value = 1
        document.getElementById("ctl00_ContentPlaceHolder1_PercAnticipo").value = "";
    }
    
    document.getElementById("ctl00_ContentPlaceHolder1_ImpAnticipo").value = format(Aj,2,true);
    
    document.getElementById("ctl00_ContentPlaceHolder1_PercRiscatto").value = format(pr,2,true) + "%";
    document.getElementById("ctl00_ContentPlaceHolder1_ImpRiscatto").value = format(z,2,true);
    document.getElementById("ctl00_ContentPlaceHolder1_Rate").value = Pj;
    document.getElementById("ctl00_ContentPlaceHolder1_ImpRata").value = format(rata, 2, true);
    document.getElementById("ctl00_ContentPlaceHolder1_TipoTasso").value = "TAN";
    document.getElementById("ctl00_ContentPlaceHolder1_Tasso").value = i + "%";
    
    var str = "";
    str= document.aspnetForm.ctl00_ContentPlaceHolder1_ddlTassiCalcoloRata.options(document.aspnetForm.ctl00_ContentPlaceHolder1_ddlTassiCalcoloRata.selectedIndex).text;
    
    if (str.search("IRS") > 0)
    {
        document.getElementById("ctl00_ContentPlaceHolder1_TipoTasso").value= "TASSO FISSO";
    }
    else
    {
        if (str.search("EURIBOR") > 0)
        {
            document.getElementById("ctl00_ContentPlaceHolder1_TipoTasso").value= "TASSO INDICIZ.";
        }
    }    
    
    document.getElementById("ctl00_ContentPlaceHolder1_ImpSpeseIstruttoria").value = format(dblImpSpeseIstruttoria,2,true);
    document.getElementById("ctl00_ContentPlaceHolder1_ImpAssicurazione").value = format(dblImpAssicurazione,2,true);
    
    // CALCOLO TAEG
    var cap_reale = dblImpRichiesto + dblImpServiziAccessori - Aj - z - dblImpSpeseIstruttoria ;
    var durata=Pj;
    var tmp_reale = 0;
	var taeg = 0.001;	// taeg iniziale
	var step = 0.01;	// step iniziale di incremento taeg
	var fwd = true;	// direzione dell'incremento

	for (indice=1; indice<=durata; indice++)
	{
		var tmpSommat = rata/Math.pow((1+taeg),(indice*30.4375)/365);
		tmp_reale += tmpSommat;
	}
	if ( ( cap_reale - tmp_reale ) < 0 )
		fwd = false;
	while ( Math.abs( tmp_reale - cap_reale ) > 0.000001 )
	{
		tmp_reale = 0;
		if ( fwd == true )
		{
			taeg += step;
		}
		else
		{
			taeg -= step;
		}
		for (indice=1; indice<=durata; indice++)
		{
			var tmpSommat = rata/Math.pow((1+taeg),(indice*30.4375)/365);
			tmp_reale += tmpSommat;
		}
		if ( (( tmp_reale - cap_reale ) > 0)&& (fwd != true))
		{
			step /= 2;
			fwd = true;
		}
		else if (( tmp_reale - cap_reale ) < 0 && (fwd == true) )
		{
			step /= 2;
			fwd = false;
		}
	}
	
	document.getElementById("ctl00_ContentPlaceHolder1_Teg").value = FloatToPercString(taeg,2);
      
      
    // CALCOLO TASSO APPLICATO
   
	CalcolaTassoApplicato( dblImpRichiesto , Aj  , z  , parseInt(document.getElementById("ctl00_ContentPlaceHolder1_Durata").value) - 1 , rata );
	
    // FINE CALCOLO TASSO APPLICATO
 
    var G=""
    G+="<table cellpadding='0' cellspacing='0' style='margin-left: auto; margin-right: auto; font-size: 11px;'>"
    G+="<tr>"
    G+="<td style='width: 100px; height: 20px; text-align: center; border-top: #eef0ef 1px solid; border-left: #eef0ef 1px solid; border-right: #eef0ef 1px solid; border-bottom: #eef0ef 1px solid; color: #dfa113;'>CAPITALE</td>"
    G+="<td style='width: 100px; height: 20px; text-align: center; border-top: #eef0ef 1px solid; border-right: #eef0ef 1px solid; border-bottom: #eef0ef 1px solid; color: #dfa113;'>IMP.RATA</td>"
    G+="<td style='width: 100px; height: 20px; text-align: center; border-top: #eef0ef 1px solid; border-right: #eef0ef 1px solid; border-bottom: #eef0ef 1px solid; color: #dfa113;'>INTERESSI</td>"
    G+="<td style='width: 100px; height: 20px; text-align: center; border-top: #eef0ef 1px solid; border-right: #eef0ef 1px solid; border-bottom: #eef0ef 1px solid; color: #dfa113;'>CAP. RIMB.</td>"
    G+="<td style='width: 100px; height: 20px; text-align: center; border-top: #eef0ef 1px solid; border-right: #eef0ef 1px solid; border-bottom: #eef0ef 1px solid; color: #dfa113;'>CAP. RES.</td>"
    G+="<td style='width: 100px; height: 20px; text-align: center; border-top: #eef0ef 1px solid; border-right: #eef0ef 1px solid; border-bottom: #eef0ef 1px solid; color: #dfa113;'>RATE - RES.</td>"
    G+="</tr>"
      
    for (j=1;j<=w;++j)
		{
		var Ij=tas*Dj;
//		Rj=rata;
		Cj=rata-Ij;
		var PIj=rata-format(Cj,2,true)
		var PCj=rata-PIj
		var Pj=w-j;
		Ej+=Cj;
		Lj=(format(rata,2,true)*w)+Aj;
		Tj=Lj+z;
		ivaj=Cj-((Cj*100)/120);
		IMj=Cj-ivaj
//		tivaj+=ivaj;
//		Taj=(Aj-((Aj*100)/120));
//		Tzj=(Zj-((Zj*100)/120));
//		Tivj=tivaj+(Aj-((Aj*100)/120))+(Zj-((Zj*100)/120));

		//sviluppo righe
		
	    G+="<tr>"
        G+="<td style='width: 100px; height: 20px; text-align: center; border-top: #eef0ef 1px solid; border-left: #eef0ef 1px solid; border-right: #eef0ef 1px solid; border-bottom: #eef0ef 1px solid;'>" + format(Dj,2,true) + "</td>"
        G+="<td style='width: 100px; height: 20px; text-align: center; border-top: #eef0ef 1px solid; border-right: #eef0ef 1px solid; border-bottom: #eef0ef 1px solid;'>" + format(rata,4,true) + "</td>"
        G+="<td style='width: 100px; height: 20px; text-align: center; border-top: #eef0ef 1px solid; border-right: #eef0ef 1px solid; border-bottom: #eef0ef 1px solid;'>" + format(PIj,5,true) + "</td>"
        G+="<td style='width: 100px; height: 20px; text-align: center; border-top: #eef0ef 1px solid; border-right: #eef0ef 1px solid; border-bottom: #eef0ef 1px solid;'>" + format(Ej,7,true) + "</td>"
        G+="<td style='width: 100px; height: 20px; text-align: center; border-top: #eef0ef 1px solid; border-right: #eef0ef 1px solid; border-bottom: #eef0ef 1px solid;'>" + format(Dj-Cj,8,true) + "</td>"
        G+="<td style='width: 100px; height: 20px; text-align: center; border-top: #eef0ef 1px solid; border-right: #eef0ef 1px solid; border-bottom: #eef0ef 1px solid;'>" + j + " - " + format(Pj,3,false) + "</td>"
        G+="</tr>"
        Dj-=Cj;
		}
//	G+="<tr><td colspan=\"9\" align=\"center\"><font color=\"#eb7214\"><b\>riepilogo</b></font></td></tr><tr><td colspan=\"2\" align=\"center\"><b\>capitale rimborsato</b></td><td align=\"right\" style=\"font-weight:normal\">"+ format(Lj,2,true)+"</td><td colspan=\"2\" align=\"center\"><b\>riscatto</b></td><td align=\"right\" style=\"font-weight:normal\">"+ format(Zj,2,true)+"</td><td colspan=\"2\" align=\"center\"><b\>Totale rimborsato</b></td><td align=\"right\" style=\"font-weight:normal\">"+ format(Tj,2,true)+"</td></tr><tr><td colspan=\"2\" align=\"center\"><b\>iva anticipo</b></td><td align=\"right\" style=\"font-weight:normal\">"+Math.round(Taj*100)/100+"</td><td colspan=\"2\" align=\"center\"><b\>iva riscatto</b></td><td align=\"right\" style=\"font-weight:normal\">"+Math.round(Tzj*100)/100+"</td><td colspan=\"2\" align=\"center\"><b\>totale iva</b></td><td align=\"right\" style=\"font-weight:normal\">"+ Math.round(Tivj*100)/100+"</td></tr>"
	G+="</table>"; //chiusura tabella
	
	var dblPercTassoUsura = parseFloat(document.aspnetForm.ctl00_ContentPlaceHolder1_txtPercTassoUsura.value.replace(".", "").replace(",","."));
    var dblTaeg =taeg*100;
	if (dblTaeg > dblPercTassoUsura)
	{
	    alert('Attenzione Superato Tasso Usura ' + dblPercTassoUsura + '% - Teg ' + FloatToPercString(taeg,2))
	}
	else
	{
	    var objElemento = document.getElementById("Dati");
	    objElemento.style.display = 'none';
    	
	    var objElemento = document.getElementById("Totali");
	    objElemento.style.display = 'inline';
	}
//funzione ausiliaria per normalizzare la rappresentazione dei dati in output
  
   document.getElementById('DettaglioPianoAmmortamento').innerHTML=G;
   
   
}

function CalcolaTassoApplicato( v , a , z , p , r ) {
	var inc = 1 ;
	var nr = 0 ;
	var m = 12 ;
	var h = 0 ;
	var d =  2 ;

//	 if (d==2) var p = document.form1.per.value ;
//	else if (inc==2) var p = document.form1.per.value = (h*m)-nr;
//	else var p = document.form1.per.value = h*m;
//	 if (inc==2) var a=document.form1.a.value=r*nr;
//	else if (inc==1) var a = document.form1.a.value = a;

 {
var j=0;
var j1=0;
var j2=0;
//var v=v;
//var a=a; //anticipo
//var z=z;
//var i=0;
var ipo=0;
var tas=0;
var ani=0;
//var p=p;
var c=0;

for (j=0; j<=100; j++)

  {
    i=j
    tas=(i/100)/m;
    ipo=Math.pow((1+tas),-p);
    ani=((1-Math.pow((1+tas),-p))/tas);
//    if (inc==1) a= a;
//    else a= r*nr;
//    if (inc==1) 
    c= ((v-a)-(z*ipo))/ani;
//    else if (inc==2) c= (v-(z*ipo))/(nr+ani);
//    v=v;
//    p=p;
//    z=z;
    
   	if (r<=c) 
   	 var x = i-1;
   	if (i>=30) alert("dati incongruenti");
   	if (i>=30) break;


  for (j1=0;j1<=100;j1++)
   {
   	var y=x+(j1/100);
    tas=(y/100)/m;
    ipo=Math.pow((1+tas),-p);
    ani=((1-Math.pow((1+tas),-p))/tas);
//    if (inc==1) 
    c= ((v-a)-(z*ipo))/ani;
//    else if (inc==2) c= (v-(z*ipo))/(nr+ani);
   
    
    if (r<=c) 
   	 var q = y-(0.01); 
   	 
   for (j2=0;j2<=100;j2++)
    {
    var t=q+(j2/10000);
    tas=(t/100)/m;
    ipo=Math.pow((1+tas),-p);
    ani=((1-Math.pow((1+tas),-p))/tas);
//    if (inc==1) 
    c= ((v-a)-(z*ipo))/ani;
//    else c= (v-(z*ipo))/(nr+ani);
     
    
    if (r<=c)
   	 return document.getElementById("ctl00_ContentPlaceHolder1_TassoApplicato").value = format(t,2,true) + "%";  
    }
   }  	
  }
 }	
}

function CaricaProvvigioni(TipoContratto) {

    var dblPercAssicurazione = parseFloat(document.aspnetForm.ctl00_ContentPlaceHolder1_txtPercAssicurazione.value.replace(",","."));
    var dblPercServizi = parseFloat(document.aspnetForm.ctl00_ContentPlaceHolder1_txtPercServizi.value.replace(",","."));
    var dblPercSpese = parseFloat(document.aspnetForm.ctl00_ContentPlaceHolder1_txtPercSpese.value.replace(",","."));
    
    if (!(TipoContratto=="Leasing"))
    {
        var dblPercInteressi = parseFloat(document.aspnetForm.ctl00_ContentPlaceHolder1_txtPercInteressi.value);
        var dblPercProvvigionale = parseFloat(document.aspnetForm.ctl00_ContentPlaceHolder1_txtPercProvvigionale.value.replace(",","."));
    }
    
    var dblImpPercAssicurazione=0 ;
    var dblImpPercServizi=0 ;
    var dblImpPercSpese=0 ;
    var dblImpPercInteressi=0 ;
    var dblImpPercProvvigionale=0 ;
    
    var DettaglioProvvioni= "";
    
    DettaglioProvvioni+="<fieldset>"
    DettaglioProvvioni+="<legend>DATI RENDIMENTO</legend>"
    DettaglioProvvioni+="<table cellpadding='0' cellspacing='0' style='margin-left: auto; margin-right: auto; font-size: 11px;'>"
    DettaglioProvvioni+="<tr>"
    DettaglioProvvioni+="<td style='width: 30px; height: 20px;'></td>"
    DettaglioProvvioni+="<td style='width: 300px; height: 20px;'></td>"
    DettaglioProvvioni+="<td style='width: 100px; height: 20px; text-align: center;'>% RENDIMENTO</td>"
    DettaglioProvvioni+="<td style='width: 5px; height: 20px;'></td>"
    DettaglioProvvioni+="<td style='width: 130px; height: 20px; text-align: center;'>IMP. RENDIMENTO</td>"
    DettaglioProvvioni+="</tr>"
            
    if (!(document.aspnetForm.txtImpAssicurazione == null)) {
        if ((document.aspnetForm.chkFlgAssicurazioneAbilitato.checked) & (dblPercAssicurazione > 0))
        {
            dblImpPercAssicurazione = parseFloat(document.aspnetForm.txtImpAssicurazione.value.replace(".", "").replace(",",".")) * dblPercAssicurazione / 100;
        
            DettaglioProvvioni+="<tr>"
            DettaglioProvvioni+="<td style='width: 30px; height: 25px; text-align: center;'><img src='Images/Regola.png' alt='Assicurazione' /></td>"
            DettaglioProvvioni+="<td style='width: 300px; height: 25px;'>ASSICURAZIONE</td>"
            DettaglioProvvioni+="<td style='width: 100px; height: 25px;'><input type='text' style='width: 93px; text-align: center;' value='" + format(dblPercAssicurazione,2,true) + "%' disabled='true' /></td>"
            DettaglioProvvioni+="<td style='width: 5px; height: 25px;'></td>"
            DettaglioProvvioni+="<td style='width: 130px; height: 25px;'><input type='text' style='width: 123px; text-align: right;' value='" + format(parseFloat(dblImpPercAssicurazione.toFixed(2)),2,true) + "' disabled='true' /></td>"
            DettaglioProvvioni+="</tr>"
        };
    };
    
    if (!(document.aspnetForm.txtTotImpServizioAccessorio == null)) 
    {
        var dblImpServizi = parseFloat(document.aspnetForm.txtTotImpServizioAccessorio.value.replace(".", "").replace(",","."));
        
        if ((dblImpServizi > 0) & (dblPercServizi > 0))
        {
            dblImpPercServizi = dblImpServizi * dblPercServizi / 100;
        
            DettaglioProvvioni+="<tr>"
            DettaglioProvvioni+="<td style='width: 30px; height: 25px; text-align: center;'><img src='Images/Regola.png' alt='Servizi Accessori' /></td>"
            DettaglioProvvioni+="<td style='width: 300px; height: 25px;'>SERVIZI ACCESSORI</td>"
            DettaglioProvvioni+="<td style='width: 100px; height: 25px;'><input type='text' style='width: 93px; text-align: center;' value='" + format(dblPercServizi,2,true) + "%' disabled='true' /></td>"
            DettaglioProvvioni+="<td style='width: 5px; height: 25px;'></td>"
            DettaglioProvvioni+="<td style='width: 130px; height: 25px;'><input type='text' style='width: 123px; text-align: right;' value='" + format(parseFloat(dblImpPercServizi.toFixed(2)),2,true) + "' disabled='true' /></td>"
            DettaglioProvvioni+="</tr>"
        };
    };
    
     if (!(document.aspnetForm.txtImpSpeseIstruttoria == null)) {
        if ((document.aspnetForm.chkFlgSpeseIstruttoriaAbilitato.checked) & (dblPercSpese > 0))
        {
            dblImpPercSpese = (parseFloat(document.aspnetForm.txtImpSpeseIstruttoria.value.replace(".", "").replace(",",".")) - parseFloat(document.aspnetForm.ctl00_ContentPlaceHolder1_txtImpFissoSpese.value.replace(".", "").replace(",","."))) * dblPercSpese / 100;
        
            DettaglioProvvioni+="<tr>"
            DettaglioProvvioni+="<td style='width: 30px; height: 25px; text-align: center;'><img src='Images/Regola.png' alt='Spese Istruttoria' /></td>"
            DettaglioProvvioni+="<td style='width: 300px; height: 25px;'>SPESE ISTRUTTORIA (ESCLUSO " + document.aspnetForm.ctl00_ContentPlaceHolder1_txtImpFissoSpese.value + " FRANCHIGIA)</td>"
            DettaglioProvvioni+="<td style='width: 100px; height: 25px;'><input type='text' style='width: 93px; text-align: center;' value='" + format(dblPercSpese,2,true) + "%' disabled='true' /></td>"
            DettaglioProvvioni+="<td style='width: 5px; height: 25px;'></td>"
            DettaglioProvvioni+="<td style='width: 130px; height: 25px;'><input type='text' style='width: 123px; text-align: right;' value='" + format(parseFloat(dblImpPercSpese.toFixed(2)),2,true) + "' disabled='true' /></td>"
            DettaglioProvvioni+="</tr>"
        };
    };
    
    
    if (!(TipoContratto=="Leasing"))
    {
        if (dblPercInteressi > 0)
        {
            var dblImpFinanziato = parseFloat(document.aspnetForm.ctl00_ContentPlaceHolder1_ImpFinanziato.value);
            var dblNumRate = parseFloat(document.aspnetForm.ctl00_ContentPlaceHolder1_Rate.value);
            var dblImpRata = parseFloat(document.aspnetForm.ctl00_ContentPlaceHolder1_ImpRata.value);

            dblImpPercInteressi = ((dblImpRata * dblNumRate) - dblImpFinanziato) * dblPercInteressi / 100;
        
            DettaglioProvvioni+="<tr>"
            DettaglioProvvioni+="<td style='width: 30px; height: 25px; text-align: center;'><img src='Images/Regola.png' alt='Interessi' /></td>"
            DettaglioProvvioni+="<td style='width: 300px; height: 25px;'>INTERESSI</td>"
            DettaglioProvvioni+="<td style='width: 100px; height: 25px;'><input type='text' style='width: 93px; text-align: center;' value='" + format(dblPercInteressi,2,true) + "%' disabled='true' /></td>"
            DettaglioProvvioni+="<td style='width: 5px; height: 25px;'></td>"
            DettaglioProvvioni+="<td style='width: 130px; height: 25px;'><input type='text' style='width: 123px; text-align: right;' value='" + format(parseFloat(dblImpPercInteressi.toFixed(2)),2,true) + "' disabled='true' /></td>"
            DettaglioProvvioni+="</tr>"
        }
    };
    
    
    if (!(TipoContratto=="Leasing"))
    {
        if (dblPercProvvigionale > 0)
        {
            var dblImpFinanziato = parseFloat(document.aspnetForm.ctl00_ContentPlaceHolder1_ImpFinanziato.value);
            
            dblImpPercProvvigionale = ( dblImpFinanziato * dblPercProvvigionale) / 100;
        
            DettaglioProvvioni+="<tr>"
            DettaglioProvvioni+="<td style='width: 30px; height: 25px; text-align: center;'><img src='Images/Regola.png' alt='Rendimento' /></td>"
            DettaglioProvvioni+="<td style='width: 300px; height: 25px;'>EROGATO</td>"
            DettaglioProvvioni+="<td style='width: 100px; height: 25px;'><input type='text' style='width: 93px; text-align: center;' value='" + format(dblPercProvvigionale,2,true) + "%' disabled='true' /></td>"
            DettaglioProvvioni+="<td style='width: 5px; height: 25px;'></td>"
            DettaglioProvvioni+="<td style='width: 130px; height: 25px;'><input type='text' style='width: 123px; text-align: right;' value='" + format(parseFloat(dblImpPercProvvigionale.toFixed(2)),2,true) + "' disabled='true' /></td>"
            DettaglioProvvioni+="</tr>"
        }
    };
    
    if (TipoContratto=="Leasing")
    {
        var dblImpFinanziato = parseFloat(document.aspnetForm.ctl00_ContentPlaceHolder1_ImpFinanziato.value);
            
        dblImpPercProvvigionale = ( dblImpFinanziato * (parseFloat(document.aspnetForm.ctl00_ContentPlaceHolder1_ddlPuntiProvvigionali.value.replace(",","."))) / parseFloat(document.aspnetForm.ctl00_ContentPlaceHolder1_txtMoltiplicatore.value.replace(".", "").replace(",",".")) ) / 100;
    
        DettaglioProvvioni+="<tr>"
        DettaglioProvvioni+="<td style='width: 30px; height: 25px; text-align: center;'><img src='Images/Regola.png' alt='Rendimento' /></td>"
        DettaglioProvvioni+="<td style='width: 300px; height: 25px;'>EROGATO</td>"
        DettaglioProvvioni+="<td style='width: 100px; height: 25px;'><input type='text' style='width: 93px; text-align: center;' value='" + (format(parseFloat(document.aspnetForm.ctl00_ContentPlaceHolder1_ddlPuntiProvvigionali.value.replace(",",".")),2,true) / parseFloat(document.aspnetForm.ctl00_ContentPlaceHolder1_txtMoltiplicatore.value.replace(".", "").replace(",","."))) + "%' disabled='true' /></td>"
        DettaglioProvvioni+="<td style='width: 5px; height: 25px;'></td>"
        DettaglioProvvioni+="<td style='width: 130px; height: 25px;'><input type='text' style='width: 123px; text-align: right;' value='" + format(parseFloat(dblImpPercProvvigionale.toFixed(2)),2,true) + "' disabled='true' /></td>"
        DettaglioProvvioni+="</tr>"
    };
    
    if ((dblPercAssicurazione==0) & (dblPercServizi==0) & (dblPercSpese==0) & (dblPercInteressi==0) & (dblPercProvvigionale==0))
    {
        alert("Rendimento non Censito per la tipologia Utente ")
    }
    else
    {
        DettaglioProvvioni+="<tr>"
        DettaglioProvvioni+="<td style='width: 30px; height: 25px; text-align: center;'></td>"
        DettaglioProvvioni+="<td style='width: 300px; height: 25px;'></td>"
        DettaglioProvvioni+="<td style='width: 100px; height: 25px; text-align: right'>TOTALE</td>"
        DettaglioProvvioni+="<td style='width: 5px; height: 25px;'></td>"
        DettaglioProvvioni+="<td style='width: 130px; height: 25px;'><input type='text' style='width: 123px; text-align: right;' value='" + format((parseFloat(dblImpPercAssicurazione.toFixed(2))) + (parseFloat(dblImpPercServizi.toFixed(2))) + (parseFloat(dblImpPercSpese.toFixed(2))) + (parseFloat(dblImpPercInteressi.toFixed(2))) + (parseFloat(dblImpPercProvvigionale.toFixed(2))) ,2,true) + "' disabled='true' /></td>"
        DettaglioProvvioni+="</tr>"
        DettaglioProvvioni+="</table>"; 
        DettaglioProvvioni+="<br />";
	    DettaglioProvvioni+="</fieldset>";
    	DettaglioProvvioni+="<br />";	    
    	DettaglioProvvioni+='<center><input type="button" value="Torna Calcolo Rata" onclick="javascript:ChiudiProvvigioni()"/></center>'
        DettaglioProvvioni+="<br />";
        
        document.getElementById('Provvigioni').innerHTML=DettaglioProvvioni;
        
        document.getElementById('Totali').style.display = 'none'; 
        document.getElementById('Provvigioni').style.display = 'inline';
    }
}

function ChiudiProvvigioni()
{
    document.getElementById('Totali').style.display = 'inline'; 
    document.getElementById("Provvigioni").style.display = 'none';
}

function CalcolaCapitaleResiduo() {

    if (document.aspnetForm.ctl00_ContentPlaceHolder1_txtImpRichiesto.value=="") 
	{
		alert("Digitare l'Importo del Finanziamento!!");
		
		document.aspnetForm.ctl00_ContentPlaceHolder1_txtImpRichiesto.focus();
		
		return false;
	}
	else
	{
	    var ImpRichiesto = parseFloat(document.aspnetForm.ctl00_ContentPlaceHolder1_txtImpRichiesto.value.replace(".", "").replace(",","."));
	}
	
	if (document.aspnetForm.ctl00_ContentPlaceHolder1_txtDurata.value=="") 
	{
		alert("Digitare la Durata del Finanziamento!!");
		
		document.aspnetForm.ctl00_ContentPlaceHolder1_txtDurata.focus();
		
		return false;
	}
	else
	{
	    var Durata = parseFloat(document.aspnetForm.ctl00_ContentPlaceHolder1_txtDurata.value.replace(".", "").replace(",","."));
	}
	
	if (document.aspnetForm.ctl00_ContentPlaceHolder1_txtImpRata.value=="") 
	{
		alert("Digitare l'Importo della Rata del Finanziamento!!");
		
		document.aspnetForm.ctl00_ContentPlaceHolder1_txtImpRata.focus();
		
		return false;
	}
	else
	{
	    var ImpRata = parseFloat(document.aspnetForm.ctl00_ContentPlaceHolder1_txtImpRata.value.replace(".", "").replace(",","."));
	}
	
	if (document.aspnetForm.ctl00_ContentPlaceHolder1_txtNumRatePagate.value=="") 
	{
		alert("Digitare il Numero delle Rate Pagate Finanziamento!!");
		
		document.aspnetForm.ctl00_ContentPlaceHolder1_txtNumRatePagate.focus();
		
		return false;
	}
	else
	{
	    var NumRatePagate = parseFloat(document.aspnetForm.ctl00_ContentPlaceHolder1_txtNumRatePagate.value.replace(".", "").replace(",","."));
	}
    
    // CALCOLO TASSO APPLICATO
   
	CalcolaTassoApplicato( ImpRichiesto , 0  , 0  , Durata , ImpRata );
	
    // FINE CALCOLO TASSO APPLICATO
	
	var v = ImpRichiesto
    var a = 0 ;
	var ant = 1 ;
	var inc = 1 ;
	var nr = Durata ;
    var z = 0
	var h = 0
	var m = 12
	var i = parseFloat(document.getElementById("ctl00_ContentPlaceHolder1_TassoApplicato").value);
	var pa = 0 ;
	var pr = 0 ;
    var d = 1;
   	var w =  Durata;
 	var rata=ImpRata;
 	var tas=((i/100)/m);
    var j=0;//contatore
	var Ij=0; //quota interessi
	var PIj=0;//arrotondamento
    var Cj=0; //quota capitale
    var PCj=0;//arrotondamento
    var Rj=0; //quota rata
    var Vj=v; //capitale
    var Aj=0; //anticipo
    var Zj=0; //riscatto
    var Hj=h; //anni
    var Lj=0; //totale rate
    var Dj=v-Aj; //cap.-ant.
    var Ej=0; //debito estinto
    var Fj=0;
    var Pj=Durata; //nr rate
    var Taj=0;
	var Tzj=0;
	          
    for (j=1;j<=Durata;++j)
	{
		var Ij=tas*Dj;
		Cj=rata-Ij;
		var PIj=rata-format(Cj,2,true)
		var PCj=rata-PIj
		var Pj=Durata-j;
		Ej+=Cj;
		Lj=(format(rata,2,true)*Durata)+Aj;
		Tj=Lj+z;
		
		if (j == NumRatePagate)
		{
		    break
		}
		else
	    {
		    Dj-=Cj;
		}
	}
      
    document.getElementById("ctl00_ContentPlaceHolder1_ImpFinanziato").value = format(ImpRichiesto,2,true);
    document.getElementById("ctl00_ContentPlaceHolder1_ImpCapitaleResiduo").value = format(Dj-Cj,8,true)
    
    var objElemento = document.getElementById("Dati");
    objElemento.style.display = 'none';
	
    var objElemento = document.getElementById("Totali");
    objElemento.style.display = 'inline';
    
}
