function MM_swapImgRestore() { 
  var i,x,a=document.MM_sr; for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc;
}

function MM_preloadImages() { 
  var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
    var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
    if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
}

function MM_findObj(n, d) { 
  var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
  if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
  if(!x && d.getElementById) x=d.getElementById(n); return x;
}

function MM_swapImage() { 
  var i,j=0,x,a=MM_swapImage.arguments; document.MM_sr=new Array; for(i=0;i<(a.length-2);i+=3)
   if ((x=MM_findObj(a[i]))!=null){document.MM_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];}
}
function getXhr()
{
	var xhr = null; 
	if(window.XMLHttpRequest) // Firefox et autres
		xhr = new XMLHttpRequest(); 
	else if(window.ActiveXObject)
	{ // Internet Explorer 
		try
		{
			xhr = new ActiveXObject("Msxml2.XMLHTTP");
		}
		catch (e)
		{
			xhr = new ActiveXObject("Microsoft.XMLHTTP");
		}
	}
	else 
	{ 
		alert("Votre navigateur ne supporte pas les objets XMLHTTPRequest..."); 
		xhr = false; 
	} 
	return xhr
}
function envoiMail() 
{	
	if(document.getElementById("champMail").value!="" && !(document.getElementById("champMail").value.search(/^[_a-z0-9-]+(.[_a-z0-9-]+)*[^._-]@[a-z0-9-]+(.[a-z0-9]{2,4})*$/) == -1))
	{
		var xhr_object = getXhr(); 
		var url = "http://www.garantie-emprunteur-macif.fr/script/envoiMail.php?mail="+document.getElementById("champMail").value;
		xhr_object.onReadyStateChange = function() 
		{ 
			if(xhr_object.readyState == 4)
			{
				var texte = new String(xhr_object.responseText);
				if(texte==1)
				{
					
					document.getElementById("formMail").style.display='none';
					document.getElementById("mailEnvoye").style.display='';
				}
				else
				{
					document.getElementById("formMail").style.display='none';
					document.getElementById("mailErreur").style.display='';
				}
			}
			else
				retour = false;
		};
		xhr_object.open("GET", url, true);
		xhr_object.send(null); 
	}
	else
	{
		alert("Merci de saisir un mail.");
	}
}
function colorMenu(td)
{
	td.style.backgroundColor='#033a65';
}
function deColorMenu(td)
{
		td.style.backgroundColor='';
}
function MAILformat(form,nom)
{       
  var champ=nom;
	var formulaire=form;
	var email = document.forms[formulaire].elements[champ].value;
    // Reformatage
	if(email!= '')
	{
		if (email.search(/^[_a-z0-9-]+(.[_a-z0-9-]+)*[^._-]@[a-z0-9-]+(.[a-z0-9]{2,4})*$/) == -1)
		{ 
			document.forms[formulaire].elements[champ].value='';
			alert("L'email que vous avez saisie est invalide");
		}
	}
}

/*--------------------------fonctions Outils-------------------------------*/
function Mformat(frm,i,action)
{       
  var oNumberMask = null;
	oNumberMask = new Mask("#_###", "number");
	var strM='montant'+i;
	oNumberMask.attach(document.forms[frm].elements[strM]);
    // Reformatage
	//Du montant de prêt >0 et <=9M€
	if(document.forms[frm].elements[strM].value != '')
	{ 
		var cap=String(document.forms[frm].elements[strM].value).replace(/ /g,"");
		if(cap > 0) 
		{
			document.forms[frm].elements[strM].value = oNumberMask.format(document.forms[frm].elements[strM].value);
			if(action == "focus")
				document.forms[frm].elements[strM].select();
		}
		else 
		{
			if(document.forms[frm].elements[strM].value!=0)
				alert("Le montant du prêt doit être supérieur à 0 euros\nMerci de vérifiez votre saisie.");
			document.forms[frm].elements[strM].value = '';
			document.forms[frm].elements[strM].focus();
		}
 }
}  
// format taux
function Tformat(frm,i,action)
{       
 	var oTauxMask = null;
	oTauxMask = new Mask("#,000", "number");
	var strT='taux'+i;
	oTauxMask.attach(document.forms[frm].elements[strT]);
	// Reformatage
	//taux <=10%
	if(document.forms[frm].elements[strT].value != '')
	{
		var tx=String(document.forms[frm].elements[strT].value).replace(/,/g,".");	
		if((tx >=0) && (tx <= 10))
		{
			document.forms[frm].elements[strT].value = oTauxMask.format(document.forms[frm].elements[strT].value); 
			if(action == "focus")
				document.forms[frm].elements[strT].select();
		}
		else
		{
			document.forms[frm].elements[strT].value = '';
			alert("Vérifiez le taux d'intérêt.");
			document.forms[frm].elements[strT].focus();
		}
 } 
}

function Tendformat(frm,i,action)
{       
 	var oTauxMask = null;
	oTauxMask = new Mask("#,000", "number");
	var strT='tauxEnd'+i;
	oTauxMask.attach(document.forms[frm].elements[strT]);
	// Reformatage
	//taux <=10%
	if(document.forms[frm].elements[strT].value != '')
	{
		var tx=String(document.forms[frm].elements[strT].value).replace(/,/g,".");	
		document.forms[frm].elements[strT].value = oTauxMask.format(document.forms[frm].elements[strT].value); 
		if(action == "focus")
			document.forms[frm].elements[strT].select(); 
	}
}
// format Durée
function Dformat(frm,i,action)
{   
 var oDureeMask = null;
	oDureeMask = new Mask("#", "number");
	var strD='duree'+i;
	valueInit = document.forms[frm].elements[strD].value;
	oDureeMask.attach(document.forms[frm].elements[strD]);
		// Reformatage
//durée du prêt inferieur 420 mois
	if(document.forms[frm].elements[strD].value != '')
	{
		if((document.forms[frm].elements[strD].value >=1)&&(document.forms[frm].elements[strD].value <= 420))
		{
			document.forms[frm].elements[strD].value = oDureeMask.format(document.forms[frm].elements[strD].value);
			if(action == "focus")
				document.forms[frm].elements[strD].select();
	 }
		else
		{
			document.forms[frm].elements[strD].value = ''; 
			if(valueInit!=0)
			{
				alert("Vérifiez la durée du prêt : 420 mois maximum.");
				document.forms[frm].elements[strD].focus();
			}
	 }
	}
}  
// format diff amort
function Diffformat(frm,i)
{       
	var strDiff='diffamort'+i;
	var strD='duree'+i;
	var strType='type'+i;
	var oDureeMask = null;
	oDureeMask = new Mask("#", "number");
	oDureeMask.attach(document.forms[frm].elements[strDiff]);
	var D = Number(document.forms[frm].elements[strD].value);
	var Type = document.forms[frm].elements[strType].value;
	// Reformatage
	//durée du différé <= durrée de prêt + durée du deblocage
	if( document.forms[frm].elements[strDiff].value >0 && document.forms[frm].elements[strDiff].value <= D)
		document.forms[frm].elements[strDiff].value = oDureeMask.format(document.forms[frm].elements[strDiff].value);
	else if( document.forms[frm].elements[strDiff].value!='')
	{
		document.forms[frm].elements[strDiff].value = '';
		alert("La durée du différé est comprise entre 1 et la durée du prêt");	
		document.forms[frm].elements[strDiff].focus();
	}
}  
function Deblformat(frm,i)
{       
 	var oDureeMask = null;
	oDureeMask = new Mask("#", "number");
	var strDebl='diffdbl'+i;
	oDureeMask.attach(document.forms[frm].elements[strDebl]);
	// Reformatage
	//durée du différé de deblocage
	if((document.forms[frm].elements[strDebl].value != '')&&(document.forms[frm].elements[strDebl].value != 0))
	{
		if((document.forms[frm].elements[strDebl].value >=0)&&(document.forms[frm].elements[strDebl].value <= 36))
			document.forms[frm].elements[strDebl].value = oDureeMask.format(document.forms[frm].elements[strDebl].value);
		else
		{
			document.forms[frm].elements[strDebl].value = 0;
			alert("Veuillez vérifier la saisie de la durée du différé de déblocage.");
		}
	}
}  
function PalFormat(champ,action)
{       
  var oNumberMask = new Mask("#,00", "number");
	oNumberMask.attach(champ);
	if(champ.value != '')
	{ 
		var cap=String(champ.value).replace(/,/g,".");	
		if(cap > 0) 
	  {
			champ.value = oNumberMask.format(champ.value);
			if(action == "focus")
			{
				champ.select();
			}
		}
		else 
		{
			if(champ.value!=0)
				alert("La mensualité doit être supérieur à 0 euros\nMerci de vérifiez votre saisie.");
			champ.value = '';
			champ.focus();
		}
  }

}
function DPalFormat(champ,action)
{   
	var oDureeMask = new Mask("#", "number");
	var valueInit = champ.value;
	oDureeMask.attach(champ);
	if(champ.value != '')
	{
		if(champ.value >=1 && champ.value <= 420)
		{
			champ.value = oDureeMask.format(champ.value);
			if(action == "focus")
			{
				champ.select();
			}
		}
		else
		{
			champ.value = ''; 
			if(valueInit!=0)
			{
				alert("Vérifiez la durée du pallier ! ");
				champ.focus();
			}
		}
	}
}	
function Typeformat(form,i)
{                               
	var strType='type'+i;
	var strDiffA = 'diffamort'+i;
	var typeP = document.forms[form].elements[strType].selectedIndex;
	if(typeP==1)
	{
		document.getElementById('txtDiff').style.display='none';
		document.forms[form].elements[strDiffA].value='0';
		document.forms[form].elements[strDiffA].style.display='none';	
		document.getElementById('saisiePal'+i).style.display='none';	
	}
	else if(typeP==2 ||typeP==3)
	{
		document.getElementById('txtDiff').style.display='none';
		document.forms[form].elements[strDiffA].value='0';
		document.forms[form].elements[strDiffA].style.display='none';	
		document.getElementById('saisiePal'+i).style.display='none';	
	}
	else if(typeP==4 ||typeP==5)
	{
		document.getElementById('txtDiff').style.display='';
		document.forms[form].elements[strDiffA].style.display='';
		document.getElementById('saisiePal'+i).style.display='none';	
	}
}  
function calcPal(nomForm,module)
{
	
	if(document.forms[nomForm].elements['taux'+module].value=='')
	{
		document.forms[nomForm].elements['taux'+module].className="obligatoire";
		alert("Merci de saisir un taux pour calculer le montant");
		return false;
	}
	else if(document.forms[nomForm].elements['nbpal'+module].value =='')
	{
		document.forms[nomForm].elements['taux'+module].className="outils";
		document.forms[nomForm].elements['nbpal'+module].className="obligatoire";
		alert("Merci de saisir le nombre de paliers.");
		return false;
	}
	else
	{
		document.forms[nomForm].elements['taux'+module].className="outils";
		document.forms[nomForm].elements['nbpal'+module].className="outils";
		var nbpalier = document.forms[nomForm].elements['nbpal'+module].value;

var txMens = document.forms[nomForm].elements['taux'+module].value;
		var reg= new RegExp(",", "g");
		txMens = txMens.replace(reg,".");
		txMens = parseFloat(txMens)/(12*100); // = taux annuel /12
		
		var tabElem = new Array();
		var tabElemOK = new Array();
		for(var i = 1;i<=nbpalier;i++)
		{
			valPal = document.forms[nomForm].elements['pal'+i+module].value;
			valPal = valPal.replace(reg,".");
			valNbPal = document.forms[nomForm].elements['nbpal'+i+module].value;
			if(valPal=="0" || valPal=="") 
				tabElem.push('pal'+i+module);
			else
				tabElemOK.push('pal'+i+module);
			if(valNbPal=="0" || valNbPal=="")
				tabElem.push('nbpal'+i+module);
			else
				tabElemOK.push('nbpal'+i+module);			
		}
		var cpt = 0;	
		while(cpt<tabElemOK.length)
		{
			document.forms[nomForm].elements[tabElemOK[cpt]].className="outils";
			cpt++;
		}
		cpt = 0;
		if(tabElem.length!=0)
		{
			while(cpt<tabElem.length)
			{
				document.forms[nomForm].elements[tabElem[cpt]].className="obligatoire";
				cpt++;
			}
			alert("Les champs colorés sont obligatoires\net doivent être supérieur à 0! ");
			document.forms[nomForm].elements[tabElem[0]].focus();
			return false;
		}
		else 
		{	
			//calcul des paliers et du CI
			if(txMens==0) // si le taux est egal a 0  c'est une simple somme
			{
				var capInit = 0;
				for(var i=1;i<=nbpalier;i++)
				{
					var ppal = document.forms[nomForm].elements['pal'+i+module].value;
					ppal = parseFloat(ppal.replace(reg,"."));
					var nbpal = eval(document.forms[nomForm].elements['nbpal'+i+module].value);
					capInit = capInit + (ppal*nbpal);
				}
			}
			else // sinon c'est un peu plus compliqué !
			{
				//verification du capital initial
				var ppal1 = document.forms[nomForm].elements['pal1'+module].value;
				var nbpal1 = document.forms[nomForm].elements['nbpal1'+module].value;
				ppal1 = parseFloat(ppal1.replace(reg,"."));
				
				var pal1 = (ppal1/txMens)*(1-Math.exp(-nbpal1*(Math.log(1+txMens))));
				var nbpalSum = 0;
				var capInit = pal1;
				for(var i=2;i<=nbpalier;i++)
				{	
					var nbpal = eval(document.forms[nomForm].elements['nbpal'+(i-1)+module].value);
					nbpalSum = nbpalSum + nbpal;
					var nbpalTemp = parseFloat(document.forms[nomForm].elements['nbpal'+i+module].value);
					var ppalTemp = document.forms[nomForm].elements['pal'+i+module].value;
					ppalTemp = parseFloat(ppalTemp.replace(reg,"."));
					var palTemp = (ppalTemp/txMens)*(1-Math.exp(-nbpalTemp*(Math.log(1+txMens))));
					capInit = capInit + palTemp*Math.exp(-nbpalSum*Math.log(1+txMens));
				}
			}
			//réajustement de la durée du pret
			var nbpalTot = 0
			for(var i=1;i<=nbpalier;i++)
			{	
				nbpalTot += parseInt(document.forms[nomForm].elements['nbpal'+i+module].value);
			}
			var message = "Vous empruntez donc "+formatte(Math.round(capInit))+" euros sur "+nbpalTot+" mois à "+document.forms[nomForm].elements['taux'+module].value+" %";
			document.getElementById('resultat'+module).innerHTML = message;
			document.getElementById('resultat'+module).style.display='';
			return true;
		}		
	}
}
function formatte(valeur){
	
	valeur = Math.round(valeur*100)/100;
 	var valeur = String(valeur);
	if (isNaN(valeur.split(' ').join('')))
	{
		alert('numérique svp');
		return false;
	}
					   
	var valeurformate =new Array();
	var tempval=valeur.split('.');
	valeur=tempval[0].split(' ').join('');
	valeur=valeur.split('').reverse() ;
	 
	var i=0;
	while(i<valeur.length)
	{
		valeurformate.push( (valeur[i+2]?valeur[i+2]:'') + (valeur[i+1]?valeur[i+1]:'') + valeur[i] );
		i=i+3;
	}
	 
	valeurformate=valeurformate.reverse().join(' ') +( tempval[1]?tempval[1].length>0?'.'+tempval[1]:'':'');
	return valeurformate;
}
/*--------------------Module calcul de mensualité [m1]--------------------*/
function calcMens()
{	
	var tabElem = new Array();
	var tabElemOK = new Array();
	if(document.forms['FMENS'].elements['type_m1'].value=='') 
		tabElem.push('type_m1');
	else
		tabElemOK.push('type_m1');
	if(document.forms['FMENS'].elements['taux_m1'].value=='') 
		tabElem.push('taux_m1');
	else
		tabElemOK.push('taux_m1');
	if(document.forms['FMENS'].elements['type_m1'].value!='Palliers' && document.forms['FMENS'].elements['type_m1'].value!='')
	{
		if(document.forms['FMENS'].elements['duree_m1'].value=='') 
			tabElem.push('duree_m1');
		else
			tabElemOK.push('duree_m1');
		if(document.forms['FMENS'].elements['montant_m1'].value=='') 
			tabElem.push('montant_m1');
		else
			tabElemOK.push('montant_m1');
		if(document.forms['FMENS'].elements['type_m1'].value=='Amort ac int' || document.forms['FMENS'].elements['type_m1'].value=='Amort ss int')
		{
			if(document.forms['FMENS'].elements['diffamort_m1'].value=='' || document.forms['FMENS'].elements['diffamort_m1'].value==0) 
				tabElem.push('diffamort_m1');
			else
				tabElemOK.push('diffamort_m1');
		}
	}

	var cpt = 0;	
	while(cpt<tabElemOK.length)
	{
		document.forms['FMENS'].elements[tabElemOK[cpt]].className="outils";
		cpt++;
	}
	cpt = 0;
	if(tabElem.length!=0)
	{
		while(cpt<tabElem.length)
		{
			document.forms['FMENS'].elements[tabElem[cpt]].className="obligatoire";
			cpt++;
		}
		alert("Les champs colorés sont obligatoires! ");
		document.forms['FMENS'].elements[tabElem[0]].focus();
		return false;
	}
	else 
	{	
		var reg= new RegExp(",", "g");
		var reg2= new RegExp(" ", "g");
		var montant = document.forms['FMENS'].elements['montant_m1'].value;
		montant = eval(montant.replace(reg2,""));
		var tx = document.forms['FMENS'].elements['taux_m1'].value;
		taux = eval(tx.replace(reg,".")/100);
		var duree = eval(document.forms['FMENS'].elements['duree_m1'].value);
		var type = new String(document.forms['FMENS'].elements['type_m1'].value);
		var diffamort = eval(document.forms['FMENS'].elements['diffamort_m1'].value);
		var diffdebl = eval(document.forms['FMENS'].elements['diffdebl_m1'].value);
		var palliers = null;
		var resultat = calcMens_m1(montant,taux*100,duree,type,diffamort,diffdebl,palliers);
		var cout = 0;
		var nbMens = 1;
		var description ='';
		var resultatPlus = calcMens_m1(montant,(taux+0.001)*100,duree,type,diffamort,diffdebl,palliers);
		var coutPlus = 0;
		var nbMensPlus = 1;
		var descriptionPlus ='';
		var message ='';
		for(var i = 1;i<(resultat[1].length-1);i++)
		{
			cout+=resultat[2][i];
			//affichage d'une phrase simple
			if(resultat[2][i]!=resultat[2][i+1])
			{	
				if(nbMens==1 && description=='')
					description+="Ce pr&ecirc;t correspond à <strong>"+nbMens+"</strong> mensualité de <strong>"+formatte(resultat[2][i])+" &euro;</strong>";
				else if(nbMens>1 && description=='')
					description+="Ce pr&ecirc;t correspond à <strong>"+nbMens+"</strong> mensualités de <strong>"+formatte(resultat[2][i])+" &euro;</strong>";
				else if(nbMens==1 && description!='')
					description+=", <strong>"+nbMens+"</strong> mensualité de <strong>"+formatte(resultat[2][i])+" &euro;</strong>";
				else if(nbMens>1 && description!='')
					description+=", <strong>"+nbMens+"</strong> mensualités de <strong>"+formatte(resultat[2][i])+" &euro;</strong>";
				nbMens=1;
			}
			else
				nbMens++;
			//formatage de la mensualité
			for(var j =1;j<=4;j++)
				resultat[j][i] = Math.round(resultat[j][i]*100)/100;
			//affichage détaillé
			if(i<10)
				var numMens = "00"+String(i);
			else if(i<100)
				var numMens = "0"+String(i);
			else
				var numMens = String(i);
			if(numMens%12 == 0 || i==(resultat[1].length-2))
				message = message + "<tr><td bgcolor=\"#F1F1F1\"><strong>"+numMens+"</strong></td><td bgcolor=\"#F1F1F1\"><strong>"+formatte(resultat[2][i])+"</strong></td><td bgcolor=\"#F1F1F1\"><strong>"+formatte(resultat[2][i]-resultat[3][i])+"</strong></td><td bgcolor=\"#F1F1F1\"><strong>"+formatte(resultat[3][i])+"</strong></td><td bgcolor=\"#F1F1F1\"><strong>"+formatte(resultat[1][i])+"</strong></td></tr><tr><td colspan=\"5\"><hr/></td></tr>";
			else
				message = message + "<tr><td>"+numMens+"</td><td>"+formatte(resultat[2][i])+"</td><td>"+formatte(resultat[2][i]-resultat[3][i])+"</td><td>"+formatte(resultat[3][i])+"</td><td>"+formatte(resultat[1][i])+"</td></tr>";
		}
		for(var i = 1;i<(resultatPlus[1].length-1);i++)
		{
			coutPlus+=resultatPlus[2][i];
			//affichage d'une phrase simple
			if(resultatPlus[2][i]!=resultatPlus[2][i+1])
			{	
				if(nbMensPlus==1 && descriptionPlus=='')
					descriptionPlus+="Ce pr&ecirc;t correspond à <strong>"+nbMensPlus+"</strong> mensualité de <strong>"+formatte(resultatPlus[2][i])+" &euro;</strong>";
				else if(nbMensPlus>1 && descriptionPlus=='')
					descriptionPlus+="Ce pr&ecirc;t correspond à <strong>"+nbMensPlus+"</strong> mensualités de <strong>"+formatte(resultatPlus[2][i])+" &euro;</strong>";
				else if(nbMensPlus==1 && descriptionPlus!='')
					descriptionPlus+=", <strong>"+nbMensPlus+"</strong> mensualité de <strong>"+formatte(resultatPlus[2][i])+" &euro;</strong>";
				else if(nbMensPlus>1 && descriptionPlus!='')
					descriptionPlus+=", <strong>"+nbMensPlus+"</strong> mensualités de <strong>"+formatte(resultatPlus[2][i])+" &euro;</strong>";
				nbMensPlus=1;
			}
			else
				nbMensPlus++;
			//formatage de la mensualité
			for(var j =1;j<=4;j++)
				resultatPlus[j][i] = Math.round(resultatPlus[j][i]*100)/100;
		}

		description+=" sur une durée de "+(resultat[1].length-2)+" mois.";
		descriptionPlus+=" sur une durée de "+(resultatPlus[1].length-2)+" mois.";
		descriptionPret ="";
		if(type="Amort r&eacute;gulier")
			descriptionPret+="Pr&ecirc;t &agrave; amortissement r&eacute;gulier";
		else if(type="ss amort ac int")
			descriptionPret+="Pr&ecirc;t sans amortissement avec paiement des int&eacute;r&ecirc;ts";
		else if(type="ss amort ss int")
			descriptionPret+="Pr&ecirc;t sans amortissement sans paiement des int&eacute;r&ecirc;ts";
		else if(type="Amort ac int")
			descriptionPret+="Pr&ecirc;t &agrave; amortissement diff&eacute;r&eacute; de "+diffamort+" mois avec paiement des int&eacute;r&ecirc;ts";
		else if(type="Amort ss int")
			descriptionPret+="Pr&ecirc;t &agrave; amortissement diff&eacute;r&eacute; de "+diffamort+" mois sans paiement des int&eacute;r&ecirc;ts";
		descriptionPret+=" de "+formatte(montant)+" &euro; sur "+duree+" mois &agrave; "+tx+" %.";

		message = "<table border=\"0\" cellspacing=\"0\" cellpadding=\"0\" width=\"100%\"><tr><td colspan=\"5\" align=\"center\"><h1>Tableau d'ammortissement</h1></td></tr><tr><td align=\"left\"><span  style=\"cursor:pointer; text-decoration:underline; margin:4px;\" onclick=\"window.print();\">Imprimer</span></td><td colspan=\"3\" align=\"left\"> </td><td align=\"right\"><span style=\"cursor:pointer; text-decoration:underline; margin:4px;\" onclick=\"close_m1();\">Fermer</span></td></tr><tr><td colspan=\"5\" align=\"left\">"+descriptionPret+"</td></tr><tr><td colspan=\"5\" align=\"left\">"+description+"</td></tr><tr><td colspan=\"5\" align=\"center\"><hr width=\"75%\"></td></tr><tr><td><strong>num. mensualit&eacute;</strong></td><td><strong>Montant de l'&eacute;ch&eacute;ance </strong></td><td><strong>Part capital</strong></td><td><strong>Part int&eacute;r&ecirc;ts </strong></td><td><strong> capital restant d&ucirc; </strong></td></tr>"+message+"</table>";
		document.getElementById('resultat0_m1').innerHTML = message;
		document.getElementById('resultat1_m1').innerHTML = description;
		document.getElementById('resultat2_m1').innerHTML = "<strong>"+formatte(cout)+" &euro;</strong>";
		document.getElementById('resultat3_m1').innerHTML = "<strong>"+formatte(cout-montant)+" &euro;</strong>";
		document.getElementById('resultat4_m1').innerHTML = descriptionPlus;
		document.getElementById('resultat5_m1').innerHTML = "<strong>"+formatte(coutPlus)+" &euro;</strong>";
		document.getElementById('resultat6_m1').innerHTML = "<strong>"+formatte(coutPlus-montant)+" &euro;</strong>, soit <strong>"+formatte(coutPlus-montant-(cout-montant))+" &euro;</strong> en plus";
		document.getElementById('ligne_m1').style.display='';
	}		
}
function close_m1()
{			
	document.getElementById('resultat0_m1').style.display = 'none';
	document.getElementById('cacheResultat_m1').style.display='none';
	document.getElementById('type_m1').style.display='';
	document.getElementById('nbpal_m3').style.display='';
}
function open_m1()
{			
	document.getElementById('resultat0_m1').style.display = 'block';
	document.getElementById('cacheResultat_m1').style.display='block';
	document.getElementById('type_m1').style.display='none';
	document.getElementById('nbpal_m3').style.display='none';
}
function calcMens_m1(m,t,d,tp,da,de,pa) // montant,taux,duree,type,diffamort,diffdebl,pallier[1,2,3]
{
	
	var taux=t/100;
	var ctrlduree=d;
	var ctrlmontant=0;
	var duree=(d+de)/12;
	var type = tp;
	var montant = m;
	var diffamort = da
	var diffdebl = de;
	var palliers = pa;
	var capi_differe_ammortissement = null;
	//alert("type:"+type+"debl"+diffdebl+"diffamort"+diffamort+"duree"+duree);
	
	var tableau_ammortissement = new Array(0,new Array(), new Array(), new Array(), new Array());
	
	if(type=="Irrégulier")
	{
		capi_differe_ammortissement = -1;
		diffamort=duree*12;
	}
	else if(type=="ss amort ss int")
	{
		capi_differe_ammortissement = -1;
		diffamort=duree*12;
	}
	else if(type=="ss amort ac int" )
	{
		capi_differe_ammortissement = 0;
		diffamort=duree*12;
	}
	else if(type=="Amort ss int")
	{
		capi_differe_ammortissement = -1;
	}
	else if(type=="Amort ac int")
	{
		capi_differe_ammortissement = 0;
	}
	var V = 1 / Math.pow(1 + (taux / 12), 12);
	if(type!="Palliers")
	{
		tableau_ammortissement[1][0] = montant;
		tableau_ammortissement[2][0] = 0;
		var coutTot = 0;
		var finboucle=duree*12+1;
		var b = 1;
		var valTemp = montant;
		for(var i=1;i<=finboucle;++i)
		{
			if(diffdebl>=i)
			{
				tableau_ammortissement[1][i] = montant;
				tableau_ammortissement[2][i] = 0;
				tableau_ammortissement[3][i] = 0;
			}
			else
			{
				if((diffamort+diffdebl)>=i)
				{
					tableau_ammortissement[1][i] = tableau_ammortissement[1][i - 1] * (1 - (capi_differe_ammortissement * taux / 12));
					tableau_ammortissement[2][i] = montant * (1 + capi_differe_ammortissement) * taux / 12;
					tableau_ammortissement[3][i] = tableau_ammortissement[2][i];
				}
				else
				{
					if(((duree * 12) - (diffamort + diffdebl)) > 0)
					{
						if(V==1) //taux zero
						{
							mensualite_amm = tableau_ammortissement[1][diffamort + diffdebl] /(duree * 12 - (diffamort + diffdebl));
						}
						else
						{
							mensualite_amm = tableau_ammortissement[1][diffamort + diffdebl] * (Math.pow(1 / V, 1 / 12) - 1) / (1 - Math.pow(V, (duree - (diffamort + diffdebl) / 12)));
						}
					}
					else
					{
						mensualite_amm = 0;
					}
					if((duree*12)>=i)
					{
						var val = tableau_ammortissement[1][i-1]*(1 + taux / 12) - mensualite_amm;
						interet = val - valTemp + mensualite_amm;
						valTemp = val;
						tableau_ammortissement[1][i] = val;
						tableau_ammortissement[2][i] = mensualite_amm;
						tableau_ammortissement[3][i] = interet;
					}
					else
					{
						tableau_ammortissement[1][i] = 0;
						tableau_ammortissement[2][i] = 0;
						tableau_ammortissement[3][i] = 0;
					}
				}
			}
			if(diffamort!=(duree*12))
				coutTot = coutTot + tableau_ammortissement[2][i];
			else if(i==finboucle)
				coutTot = coutTot + tableau_ammortissement[1][diffamort];
			else
				coutTot = coutTot + tableau_ammortissement[2][i];
		}
		for(var i=1;i<=finboucle;++i)
		{
			tableau_ammortissement[4][i] = coutTot - tableau_ammortissement[2][i];
			coutTot = tableau_ammortissement[4][i];
			if(i==(finboucle-1) && diffamort==(duree*12))
			{
				if(type=="ss amort ss int")
					tableau_ammortissement[3][i] = tableau_ammortissement[1][i]-montant;
				if(type=="ss amort ac int" )
					tableau_ammortissement[2][i] = tableau_ammortissement[1][i]+tableau_ammortissement[3][i];
				else
					tableau_ammortissement[2][i] = tableau_ammortissement[1][i];
				tableau_ammortissement[1][i] = 0;
				tableau_ammortissement[4][i] = 0;
			}
		}
		return tableau_ammortissement;
	}
}
/*--------------------Module calcul de palier [m3]--------------------*/
function displayerPalliers_m3(nbpalier)
{
	var nbpalier = eval(nbpalier);
	for(i=(nbpalier+1);i<=10;i++)
	{
		if(document.getElementById('pal_m3ligne'+i).style.display=='')
		{
			document.getElementById('pal_m3ligne'+i).style.display='none';
			document.forms['FPALLIER'].elements['pal'+i+'_m3'].value='';
			document.forms['FPALLIER'].elements['nbpal'+i+'_m3'].value='';
		}
	}
	for(var i =1;i<=nbpalier;i++)
	{
		if(document.getElementById('pal_m3ligne'+i).style.display=='none')
			document.getElementById('pal_m3ligne'+i).style.display='';
	}
}
function calcPal_m3()
{
	calcPal("FPALLIER","_m3");
}
/*--------------------Module calcul capacité d'emprunt [m5]--------------------*/
function calcEndet()
{
	var tabElem = new Array();
	var tabElemOK = new Array();
	if(document.forms['FENDET'].elements['montant_m5'].value=='') 
		tabElem.push('montant_m5');
	else
		tabElemOK.push('montant_m5');
	if(document.forms['FENDET'].elements['tauxEnd_m5'].value=='') 
		tabElem.push('tauxEnd_m5');
	else
		tabElemOK.push('tauxEnd_m5');
	if(document.forms['FENDET'].elements['montant_m5'].value=='') 
		tabElem.push('montant_m52');
	else
		tabElemOK.push('montant_m52');
	var cpt = 0;
	while(cpt<tabElemOK.length)
	{
		document.forms['FENDET'].elements[tabElemOK[cpt]].className="outils";
		cpt++;
	}
	cpt = 0;
	if(tabElem.length!=0)
	{
		while(cpt<tabElem.length)
		{
			document.forms['FENDET'].elements[tabElem[cpt]].className="obligatoire";
			cpt++;
		}
		alert("Les champs colorés sont obligatoires! ");
		document.forms['FENDET'].elements[tabElem[0]].focus();
		return false;
	}
	else 
	{	
		var reg= new RegExp(",", "g");
		var reg2= new RegExp(" ", "g");
		
		var rev = document.forms['FENDET'].elements['montant_m5'].value;
		rev = eval(rev.replace(reg2,""));
		revenu = rev/12;
		var tx = document.forms['FENDET'].elements['tauxEnd_m5'].value;
		taux = eval(tx.replace(reg,".")/100);

		var apport = document.forms['FENDET'].elements['montant_m52'].value;
		var retour = calcEndet_m5(revenu,taux,apport);
		var txt = '<table width="100%" class=\"outils\"><tr style=\"background-color:#E6E9F2;\"><td colspan="8">Votre capacité d\'emprunt pour vos revenus de '+formatte(rev)+' euros et l\'endettement choisi de '+tx+'% :</td></tr><tr style=\"background-color:#E6E9F2;\"><td>&nbsp;</td><td align="center" width="12%"><strong>4,80 %</strong></td><td align="center" width="12%"><strong>4,95 %</strong></td><td align="center" width="12%"><strong>5,10 %</strong></td><td align="center" width="12%"><strong>5,25 %</strong></td><td align="center" width="12%"><strong>5,40 %</strong></td><td align="center" width="12%"><strong>5,55%</strong></td><td align="center" width="12%"><strong>5,70 %</strong></td></tr>';
		for(var i = 0;i<5;i++)//boucle pour la durée d'emprunt duree = duree+5 ans (60 mois)
		{
			var dureeannee = 15+(i*5);
			txt = txt+'<tr><td style=\"background-color:#E6E9F2;\"><strong>'+dureeannee+' ans </strong></td>';
			for(var j = 0;j<7;j++) //boucle pour les taux d'interet (tx= tx+0.15)
			{
				txt = txt+'<td align="right" style="font-size:10px;">'+formatte(retour[i][j])+' &euro;</td>';
			}
			txt = txt +'</tr>\n';
		}	
			txt = txt +'</table>';
		document.getElementById('resultat_m5').innerHTML = txt;
	}
}
function calcEndet_m5(r,t,a)
{	
	var retour = new Array();
	var mensualite = (r*t);
	var duree = 180;//15 ans
	for(var i = 0;i<5;i++)//boucle pour la durée d'emprunt duree = duree+5 ans (60 mois)
	{
		var tx_emp = 4.80;
		var coutTot = mensualite*duree;
		var tabTemp = new Array();
		for(var j = 0;j<7;j++) //boucle pour les taux d'interet (tx= tx+0.15)
		{
			var tempTx = tx_emp/100;
			tabTemp[j] = (coutTot/duree)*(1-Math.exp(-duree*Math.log(1+tempTx/12)))/(tempTx/12);	
			//tabTemp[j] = tabTemp[j] *100;
			tabTemp[j] = Math.round(tabTemp[j]);
			//tabTemp[j] = tabTemp[j]/100;
			
			tx_emp = tx_emp+0.15;
		}
		retour[i] = tabTemp;
		duree = duree+60;
	}	
	return retour;
}

