function convertClick() {
	f=document.frm;
	monnaie=1-monnaie;
	coeff=(monnaie==1)?1/pariteEuro:pariteEuro;

	f.montant1.value=inttostr(Math.round(strtoint(f.montant1.value)*coeff));
	f.fraisDossier1.value=inttostr(Math.round(strtoint(f.fraisDossier1.value)*coeff));
	f.fraisGarantie1.value=inttostr(Math.round(strtoint(f.fraisGarantie1.value)*coeff));

	f.montant2.value=inttostr(Math.round(strtoint(f.montant2.value)*coeff));
	f.fraisDossier2.value=inttostr(Math.round(strtoint(f.fraisDossier2.value)*coeff));
	f.fraisGarantie2.value=inttostr(Math.round(strtoint(f.fraisGarantie2.value)*coeff));
	
	f.coutTotalCredit3.value=inttostr(Math.round(strtoint(f.coutTotalCredit3.value)*coeff));

	return ongletClick(onglet);
}
function ongletClick(ong) {
	f=document.frm;
		l="index.php?client="+client+"&tpl="+template+"&ong="+ong+"&mnn="+monnaie;

	l+="&mt1="+strtoint(f.montant1.value);
	l+="&dr1="+strtoint(f.duree1.value);
	l+="&ti1="+strtofloat(f.tauxInteret1.value);
	l+="&ta1="+strtofloat(f.tauxAssurance1.value);
	l+="&fd1="+strtoint(f.fraisDossier1.value);
	l+="&fg1="+strtoint(f.fraisGarantie1.value);
	l+="&te1="+strtofloat(f.tegAvecGarantie1.value);

	l+="&mt2="+strtoint(f.montant2.value);
	l+="&dr2="+strtoint(f.duree2.value);
	l+="&ti2="+strtofloat(f.tauxInteret2.value);
	l+="&ta2="+strtofloat(f.tauxAssurance2.value);
	l+="&fd2="+strtoint(f.fraisDossier2.value);
	l+="&fg2="+strtoint(f.fraisGarantie2.value);
	l+="&te2="+strtofloat(f.tegAvecGarantie2.value);

	l+="&te3="+strtofloat(f.tegAvecGarantie3.value);
	l+="&ct3="+strtofloat(f.coutTotalCredit3.value);

	if (onglet==1) {
		l+="&np="+(f.nbPrets[0].checked?1:2);
		
		l+="&fr1="+f.fixeRevisable1.selectedIndex;
		l+="&tp1="+f.typeAssurance1.selectedIndex;
		l+="&tg1="+f.typeGarantie1.selectedIndex;
		
		l+="&fr2="+f.fixeRevisable2.selectedIndex;
		l+="&tp2="+f.typeAssurance2.selectedIndex;
		l+="&tg2="+f.typeGarantie2.selectedIndex;
	} else {
		l+="&np="+f.nbPrets.value;
		
		l+="&fr1="+f.fixeRevisable1.value;
		l+="&tp1="+f.typeAssurance1.value;
		l+="&tg1="+f.typeGarantie1.value;
		
		l+="&fr2="+f.fixeRevisable2.value;
		l+="&tp2="+f.typeAssurance2.value;
		l+="&tg2="+f.typeGarantie2.value;
	}

	location=l;
	return false;
}

function calcClick() {
	return ongletClick((onglet==9)?9:(onglet+1));
}
function nbPretsClick(n) {
	f=document.frm;
	nbPretsClickControl(f.montant2,n);
	nbPretsClickControl(f.duree2,n);
	nbPretsClickControl(f.tauxInteret2,n);
	nbPretsClickControl(f.tauxAssurance2,n);
	nbPretsClickControl(f.fraisDossier2,n);
	nbPretsClickControl(f.fraisGarantie2,n);

	if (n==1) {
		viderControl(f.montant3);
		viderControl(f.duree3);
		viderControl(f.fixeRevisable3);
		viderControl(f.mensualiteHorsAssurance2);
		viderControl(f.mensualiteHorsAssurance3);
		viderControl(f.mensualiteHorsAssurance4);
		viderControl(f.tauxAssurance3);
		viderControl(f.typeAssurance3);
		viderControl(f.mensualiteAssurance2);
		viderControl(f.mensualiteAssurance3);
		viderControl(f.mensualiteAssuranceComprise2);
		viderControl(f.mensualiteAssuranceComprise3);
		viderControl(f.mensualiteAssuranceComprise4);
		viderControl(f.fraisDossier3);
		viderControl(f.typeGarantie3);
		viderControl(f.fraisGarantie3);
		viderControl(f.fraisGarantie3);
		viderControl(f.tegHorsGarantie2);
		viderControl(f.tegHorsGarantie3);
		viderControl(f.tegAvecGarantie2);
		viderControl(f.tegAvecGarantie3);
		viderControl(f.totalMensualites2);
		viderControl(f.totalMensualites3);
		viderControl(f.totalMensualites4);
		viderControl(f.coutTotalCredit2);
		viderControl(f.coutTotalCredit3);
		viderControl(f.coutTotalCredit4);
		viderControl(f.coutTotalAssurance2);
		viderControl(f.coutTotalAssurance3);
		viderControl(f.coutTotalAssurance4);
		viderControl(f.totalFraisCredit2);
		viderControl(f.totalFraisCredit3);
		viderControl(f.totalFraisCredit4);
	}
}

function nbPretsClickControl(c,n) {
	nbPrets=n;
	c.className=(n==1)?"readonly":"";
	c.disabled=(n==1);
	c.value="";
}

function viderControl(c) {
	c.value="";
}

function montantChange(i) {
	f=document.frm;

	var m=strtoint(eval("f.montant"+i+".value"));
	var fd;
	if (m>0) {
		var me=(monnaie==1)?m:(m/pariteEuro);
		
		var fde=(me<=150000)?300:((me<=200000)?600:800);
		fd=(monnaie==1)?fde:(fde*pariteEuro);
		eval("f.fraisDossier"+i+".value=inttostr(fd)");		
	}
	typeGarantieChange(i);
	
	if ((i==1)&&(f.nbPrets[1].checked)&&(f.montant2.value=="")) {
		f.montant2.value=f.montant1.value;
		eval("f.fraisDossier2.value=inttostr(fd)");		
		typeGarantieChange(2);
	}
}

function dureeChange(i) {
	f=document.frm;
	
	var s=eval("f.duree"+i+".value");
	if (s!="") {
		var d=strtoint(s);
		if (d<dureeMini) d=dureeMini;
		if (d>dureeMaxi) d=dureeMaxi;
		eval("f.duree"+i+".value=d");		
	
		var t=eval("f.tauxInteretDef"+d+".value");
		eval("f.tauxInteret"+i+".value=floattostr(t)");		
	}

	calculer();
}

function typeGarantieChange(i) {
	f=document.frm;

	var m=strtoint(eval("f.montant"+i+".value"));
	if (m>0) {
		var me=(monnaie==1)?m:(m/pariteEuro);
		var tg=eval("f.typeGarantie"+i+".selectedIndex");
		var fge;
		if (me<100000) fge=me*((tg==1)?1.5:.95)/100
		else if (me<120000) fge=me*((tg==1)?1.33:.85)/100
		else if (me<150000) fge=me*((tg==1)?1.23:.77)/100
		else if (me<180000) fge=me*((tg==1)?1.13:.68)/100
		else if (me<200000) fge=me*((tg==1)?1.06:.53)/100
		else  fge=me*((tg==1)?1:.6)/100;
		var fg=(monnaie==1)?fge:(fge*pariteEuro);
		eval("f.fraisGarantie"+i+".value=inttostr(fg)");		
	}

	calculer();
}

function calculer() {
	f=document.frm;

	montant1=strtoint(f.montant1.value);
	duree1=strtoint(f.duree1.value);
	tauxInteret1=strtofloat(f.tauxInteret1.value);
	fixeRevisable1=f.fixeRevisable1.selectedIndex;
	tauxAssurance1=strtofloat(f.tauxAssurance1.value);
	typeAssurance1=f.typeAssurance1.selectedIndex;
	fraisDossier1=strtoint(f.fraisDossier1.value);
	typeGarantie1=f.typeGarantie1.selectedIndex;
	fraisGarantie1=strtoint(f.fraisGarantie1.value);

	if ((montant1>0)&&(duree1>0)&&(tauxInteret1>0)) {
		if (typeAssurance1==0) {
			mensualiteHorsAssurance1=calcMens(montant1,duree1,tauxInteret1,0);
			mensualiteAssurance1=montant1*tauxAssurance1/1200;
			mensualiteAssuranceComprise1=mensualiteHorsAssurance1+mensualiteAssurance1;
			coutTotalAssurance1=mensualiteAssurance1*duree1*12;
		} else {
			modeAssurance=1;
			mensualiteAssuranceComprise1=calcMens(montant1,duree1,tauxInteret1,tauxAssurance1);
			montantEnCours=montant1;
			coutTotalAssurance1=0;
			for (i=0;i<duree1;i++) {
				for (j=0;j<12;j++) {
					interet=montantEnCours*tauxInteret1/1200;
					assurance=montantEnCours*tauxAssurance1/1200;
					principal=mensualiteAssuranceComprise1-interet-assurance;
					montantEnCours-=principal;
					coutTotalAssurance1+=assurance;
				}
				if (i==0) {
					mensualiteAssurance1=coutTotalAssurance1/12;
				}
			}
			mensualiteHorsAssurance1=mensualiteAssuranceComprise1-mensualiteAssurance1;
		}

		tegHorsGarantie1=calcTaux(montant1-fraisDossier1,mensualiteAssuranceComprise1,duree1);
		tegAvecGarantie1=calcTaux(montant1-fraisDossier1-fraisGarantie1,mensualiteAssuranceComprise1,duree1);
		totalMensualites1=mensualiteAssuranceComprise1*duree1*12;
		coutTotalCredit1=totalMensualites1-montant1;
		totalFraisCredit1=totalMensualites1+fraisGarantie1+fraisDossier1-montant1;

		f.mensualiteHorsAssurance1.value=floattostr(mensualiteHorsAssurance1);
		f.mensualiteAssurance1.value=floattostr(mensualiteAssurance1);
		f.mensualiteAssuranceComprise1.value=floattostr(mensualiteAssuranceComprise1);
		f.tegHorsGarantie1.value=floattostr(tegHorsGarantie1);
		f.tegAvecGarantie1.value=floattostr(tegAvecGarantie1);
		f.totalMensualites1.value=inttostr(totalMensualites1);
		f.coutTotalCredit1.value=inttostr(coutTotalCredit1);
		f.coutTotalAssurance1.value=inttostr(coutTotalAssurance1);
		f.totalFraisCredit1.value=inttostr(totalFraisCredit1);
	} else {
		f.mensualiteHorsAssurance1.value="";
		f.mensualiteAssurance1.value="";
		f.mensualiteAssuranceComprise1.value="";
		f.tegHorsGarantie1.value="";
		f.tegAvecGarantie1.value="";
		f.totalMensualites1.value="";
		f.coutTotalCredit1.value="";
		f.coutTotalAssurance1.value="";
		f.totalFraisCredit1.value="";
	}

	if (nbPrets==2) {
		montant2=strtoint(f.montant2.value);
		duree2=strtoint(f.duree2.value);
		tauxInteret2=strtofloat(f.tauxInteret2.value);
		fixeRevisable2=f.fixeRevisable2.selectedIndex;
		tauxAssurance2=strtofloat(f.tauxAssurance2.value);
		typeAssurance2=f.typeAssurance2.selectedIndex;
		fraisDossier2=strtoint(f.fraisDossier2.value);
		typeGarantie2=f.typeGarantie2.selectedIndex;
		fraisGarantie2=strtoint(f.fraisGarantie2.value);

		f.montant3.value=((montant1>0)&&(montant2>0))?inttostr(Math.abs(montant1-montant2),1):"";
		f.duree3.value=((duree1>0)&&(duree2>0))?inttostr(Math.abs(duree1-duree2),1):"";
		f.tauxInteret3.value=((tauxInteret1>0)&&(tauxInteret2>0))?floattostr(Math.abs(tauxInteret1-tauxInteret2)):"";
		f.fixeRevisable3.value=(nbPrets==2)?((fixeRevisable1==fixeRevisable2)?"Non":"Oui"):"";
		f.tauxAssurance3.value=((tauxAssurance1>0)&&(tauxAssurance2>0))?floattostr(Math.abs(tauxAssurance1-tauxAssurance2)):"";
		f.typeAssurance3.value=(nbPrets==2)?((typeAssurance1==typeAssurance2)?"Non":"Oui"):"";
		f.fraisDossier3.value=((fraisDossier1>0)&&(fraisDossier2>0))?inttostr(Math.abs(fraisDossier1-fraisDossier2),1):"";
		f.typeGarantie3.value=(nbPrets==2)?((typeGarantie1==typeGarantie2)?"Non":"Oui"):"";
		f.fraisGarantie3.value=((fraisGarantie1>0)&&(fraisGarantie2>0))?inttostr(Math.abs(fraisGarantie1-fraisGarantie2),1):"";

		if ((montant2>0)&&(duree2>0)&&(tauxInteret2>0)) {
			if (typeAssurance2==0) {
				mensualiteHorsAssurance2=calcMens(montant2,duree2,tauxInteret2,0);
				mensualiteAssurance2=montant2*tauxAssurance2/1200;
				mensualiteAssuranceComprise2=mensualiteHorsAssurance2+mensualiteAssurance2;
				coutTotalAssurance2=mensualiteAssurance2*duree2*12;
			} else {
				modeAssurance=1;
				mensualiteAssuranceComprise2=calcMens(montant2,duree2,tauxInteret2,tauxAssurance2);
				montantEnCours=montant2;
				coutTotalAssurance2=0;
				for (i=0;i<duree2;i++) {
					for (j=0;j<12;j++) {
						interet=montantEnCours*tauxInteret2/1200;
						assurance=montantEnCours*tauxAssurance2/1200;
						principal=mensualiteAssuranceComprise2-interet-assurance;
						montantEnCours-=principal;
						coutTotalAssurance2+=assurance;
					}
					if (i==0) {
						mensualiteAssurance2=coutTotalAssurance2/12;
					}
				}
				mensualiteHorsAssurance2=mensualiteAssuranceComprise2-mensualiteAssurance2;
			}

			tegHorsGarantie2=calcTaux(montant2-fraisDossier2,mensualiteAssuranceComprise2,duree2);
			tegAvecGarantie2=calcTaux(montant2-fraisDossier2-fraisGarantie2,mensualiteAssuranceComprise2,duree2);
			totalMensualites2=mensualiteAssuranceComprise2*duree2*12;
			coutTotalCredit2=totalMensualites2-montant2;
			totalFraisCredit2=totalMensualites2+fraisGarantie2+fraisDossier2-montant2;

			f.mensualiteHorsAssurance2.value=floattostr(mensualiteHorsAssurance2);
			f.mensualiteAssurance2.value=floattostr(mensualiteAssurance2);
			f.mensualiteAssuranceComprise2.value=floattostr(mensualiteAssuranceComprise2);
			f.tegHorsGarantie2.value=floattostr(tegHorsGarantie2);
			f.tegAvecGarantie2.value=floattostr(tegAvecGarantie2);
			f.totalMensualites2.value=inttostr(totalMensualites2);
			f.coutTotalCredit2.value=inttostr(coutTotalCredit2);
			f.coutTotalAssurance2.value=inttostr(coutTotalAssurance2);
			f.totalFraisCredit2.value=inttostr(totalFraisCredit2);

			mensualiteHorsAssurance1=arrondiCentimes(mensualiteHorsAssurance1);
			mensualiteAssurance1=arrondiCentimes(mensualiteAssurance1);
			mensualiteAssuranceComprise1=arrondiCentimes(mensualiteAssuranceComprise1);
			tegHorsGarantie1=arrondiCentimes(tegHorsGarantie1);
			tegAvecGarantie1=arrondiCentimes(tegAvecGarantie1);
			totalMensualites1=Math.round(totalMensualites1);
			coutTotalCredit1=Math.round(coutTotalCredit1);
			coutTotalAssurance1=Math.round(coutTotalAssurance1);
			totalFraisCredit1=Math.round(totalFraisCredit1);

			mensualiteHorsAssurance2=arrondiCentimes(mensualiteHorsAssurance2);
			mensualiteAssurance2=arrondiCentimes(mensualiteAssurance2);
			mensualiteAssuranceComprise2=arrondiCentimes(mensualiteAssuranceComprise2);
			tegHorsGarantie2=arrondiCentimes(tegHorsGarantie2);
			tegAvecGarantie2=arrondiCentimes(tegAvecGarantie2);
			totalMensualites2=Math.round(totalMensualites2);
			coutTotalCredit2=Math.round(coutTotalCredit2);
			coutTotalAssurance2=Math.round(coutTotalAssurance2);
			totalFraisCredit2=Math.round(totalFraisCredit2);

			f.mensualiteHorsAssurance3.value=((mensualiteHorsAssurance1>0)&&(mensualiteHorsAssurance2>0))?floattostr(Math.abs(mensualiteHorsAssurance1-mensualiteHorsAssurance2)):"";
			f.mensualiteHorsAssurance4.value=((mensualiteHorsAssurance1>0)&&(mensualiteHorsAssurance2>0))?inttostr(Math.abs((mensualiteHorsAssurance1-mensualiteHorsAssurance2)/mensualiteHorsAssurance1*100)):"";
			f.mensualiteAssurance3.value=((mensualiteAssurance1>0)&&(mensualiteAssurance2>0))?floattostr(Math.abs(mensualiteAssurance1-mensualiteAssurance2)):"";
			f.mensualiteAssuranceComprise3.value=((mensualiteAssuranceComprise1>0)&&(mensualiteAssuranceComprise2>0))?floattostr(Math.abs(mensualiteAssuranceComprise1-mensualiteAssuranceComprise2)):"";
			f.mensualiteAssuranceComprise4.value=((mensualiteAssuranceComprise1>0)&&(mensualiteAssuranceComprise2>0))?inttostr(Math.abs((mensualiteAssuranceComprise1-mensualiteAssuranceComprise2)/mensualiteAssuranceComprise1*100)):"";
			f.tegHorsGarantie3.value=((tegHorsGarantie1>0)&&(tegHorsGarantie2>0))?floattostr(Math.abs(tegHorsGarantie1-tegHorsGarantie2)):"";
			f.tegAvecGarantie3.value=((tegAvecGarantie1>0)&&(tegAvecGarantie2>0))?floattostr(Math.abs(tegAvecGarantie1-tegAvecGarantie2)):"";
			f.totalMensualites3.value=((totalMensualites1>0)&&(totalMensualites2>0))?inttostr(Math.abs(totalMensualites1-totalMensualites2)):"";
			f.totalMensualites4.value=((totalMensualites1>0)&&(totalMensualites2>0))?inttostr(Math.abs((totalMensualites1-totalMensualites2)/totalMensualites1*100)):"";
			f.coutTotalCredit3.value=((coutTotalCredit1>0)&&(coutTotalCredit2>0))?inttostr(Math.abs(coutTotalCredit1-coutTotalCredit2)):"";
			f.coutTotalCredit4.value=((coutTotalCredit1>0)&&(coutTotalCredit2>0))?inttostr(Math.abs((coutTotalCredit1-coutTotalCredit2)/coutTotalCredit1*100)):"";
			f.coutTotalAssurance3.value=((coutTotalAssurance1>0)&&(coutTotalAssurance2>0))?inttostr(Math.abs(coutTotalAssurance1-coutTotalAssurance2)):"";
			f.coutTotalAssurance4.value=((coutTotalAssurance1>0)&&(coutTotalAssurance2>0))?inttostr(Math.abs((coutTotalAssurance1-coutTotalAssurance2)/coutTotalAssurance1*100)):"";
			f.totalFraisCredit3.value=((totalFraisCredit1>0)&&(totalFraisCredit2>0))?inttostr(Math.abs(totalFraisCredit1-totalFraisCredit2)):"";
			f.totalFraisCredit4.value=((totalFraisCredit1>0)&&(totalFraisCredit2>0))?inttostr(Math.abs((totalFraisCredit1-totalFraisCredit2)/totalFraisCredit1*100)):"";
		} else {
			f.mensualiteHorsAssurance2.value="";
			f.mensualiteAssurance2.value="";
			f.mensualiteAssuranceComprise2.value="";
			f.tegHorsGarantie2.value="";
			f.tegAvecGarantie2.value="";
			f.totalMensualites2.value="";
			f.coutTotalCredit2.value="";
			f.coutTotalAssurance2.value="";
			f.totalFraisCredit2.value="";

			f.mensualiteHorsAssurance3.value="";
			f.mensualiteHorsAssurance4.value="";
			f.mensualiteAssurance3.value="";
			f.mensualiteAssuranceComprise3.value="";
			f.mensualiteAssuranceComprise4.value="";
			f.tegHorsGarantie3.value="";
			f.tegAvecGarantie3.value="";
			f.totalMensualites3.value="";
			f.totalMensualites4.value="";
			f.coutTotalCredit3.value="";
			f.coutTotalCredit4.value="";
			f.coutTotalAssurance3.value="";
			f.coutTotalAssurance4.value="";
			f.totalFraisCredit3.value="";
			f.totalFraisCredit4.value="";
		}
	}
}

function arrondiCentimes(v) {
	return Math.round(v*100)/100;
}

function calcCoefPret(i,duree) {
	return Math.pow(1+i,duree);
}

function calcMens(mnt,dur,txi,txa) {
	mis=dur*12;
	if(modeAssurance==1) {
		txm=(txi+txa)/1200;
		prw=calcCoefPret(txm,mis);
		result=mnt*prw*txm/(prw-1);
	} else {
		txm=txi/1200;
		prw=calcCoefPret(txm,mis);
		result=mnt*(prw*txm/(prw-1)+txa/1200);
	}
	return result;
}

function calcTaux(mnt,mns,dur) {
	tx1=0; tx2=25;
	while ((tx2-tx1)>.001) {
		txp=(tx1+tx2)/2;
		mnsp=calcMens(mnt,dur,txp,0);
		if (mnsp>mns) {
			tx2=txp;
		} else {
			tx1=txp;
		}
	}
	return txp;
}

