function format(valeur,decimal,separateur) {
// formate un chiffre avec 'decimal' chiffres après la virgule et un separateur
	var deci=Math.round( Math.pow(10,decimal)*(Math.abs(valeur)-Math.floor(Math.abs(valeur)))) ; 
	var val=Math.floor(Math.abs(valeur));
	if ((decimal==0)||(deci==Math.pow(10,decimal))) {val=Math.floor(Math.abs(valeur)); deci=0;}
	var val_format=val+"";
	var nb=val_format.length;
	for (var i=1;i<4;i++) {
		if (val>=Math.pow(10,(3*i))) {
			val_format=val_format.substring(0,nb-(3*i))+separateur+val_format.substring(nb-(3*i));
		}
	}
	if (decimal>0) {
		var decim=""; 
		for (var j=0;j<(decimal-deci.toString().length);j++) {decim+="0";}
		deci=decim+deci.toString();
		val_format=val_format+"."+deci;
	}
	if (parseFloat(valeur)<0) {val_format="-"+val_format;}
	return val_format;
}

function calculerfraisnotaire()
{
	f=document.formulairefraisnotaire;

	//-- Vérifications
	if (( isNaN(parseInt(f.prix_achatnet.value,10))) || (f.prix_achatnet.value==0)){
		//alert("Montant incorrect !");
		return;
	}

	//-- Initialisation
	var montant,natbien,honoraires,taxes,fraisnotaire;
	montant = parseInt(f.prix_achatnet.value,10);
	nature = f.nature.options[f.nature.selectedIndex].value;
	honoraires = 0;

	if (nature==1) natbien = "neuf";
	if (nature==2) natbien = "ancien";
	if (nature==3) natbien = "neuf";
	if (nature==4) natbien = "ancien";
	if (nature==5) natbien = "batir";
	if (nature==6) natbien = "batir";
	if (nature==7) { var elt=document.getElementById("idnotaire");	elt.innerHTML="0 &#8364;"; return; }
  if (nature==8) natbien = "neuf";
	if (nature==9) natbien = "neuf";


	//-- Tableau statique
	trancheD = new Array(    0, 3051,  6101,   16771);
	trancheF = new Array(3050, 6100, 16770, 99999999);
	taux_0     = new Array(    5,   3.3,   1.65,    0.825);
	//ajout_0    = new Array(    0, 51.85,  152.5,   290.85);

	//fraisdivers = 500;
	fraisdivers = 1067;
	tauxTVA  = 19.6;
	tauxAnc  = 5.09;
	tauxNeu  = 0.715;
	tauxBat  = 5.09;

	//-- Calcul des honoraires
	montant = Math.round(montant);
	for (i=0; i < 4;i++) {
		honoraires = honoraires + 
								Math.min( trancheF[i]-trancheD[i] , Math.max(0,montant-trancheD[i]) ) * taux_0[i] /100;
		
	}

	//-- Calcul des taxes
	//if (natbien=="neuf") 		taxes = montant/(1+tauxTVA/100) * tauxNeu / 100;
	if (natbien=="neuf") 		taxes = montant * tauxNeu / 100;
	if (natbien=="ancien") 	taxes = montant * tauxAnc/100
	if (natbien=="batir") 	taxes = montant * tauxBat / 100;

	//-- Frais de notaire
	fraisnotaire = honoraires + taxes + fraisdivers;
	fraisnotaire = Math.round(fraisnotaire);

	//-- Affichage résultat
var elt=document.getElementById("idnotaire");
elt.innerHTML=format(fraisnotaire,2," ")+" &#8364;";

}

function calc(what)
{
switch(what) {
case 'mens':
    T = document.monform.mens_taux.value.replace(',','.')/100;
    if ((T<0.02) || (T>0.09))
      alert('Vous devez saisir un taux situé entre 2% et 9%');
    else {
        t = T/12;
        C = document.monform.mens_emprunt.value.replace(',','.');
        n = document.monform.mens_nbmens.value.replace(',','.');
        if (document.monform.mens_duree[1].checked) n *= 12;
        document.monform.mens_mens.value = Math.round(100*C*(t/(1-(1/Math.pow(1+t,n)))))/100;
        }
    break;
case 'emprunt':
    T = document.monform.emprunt_taux.value.replace(',','.')/100;
    if ((T<0.02) || (T>0.09))
        alert('Vous devez saisir un taux situé entre 2% et 9%');
    else {
        t = T/12;
        //n = document.monform.emprunt_nbmens.value.replace(',','.');
        n = document.monform.emprunt_nbmens.value.replace(',','.');
        if (document.monform.emprunt_duree[1].checked) n *= 12;
        m = document.monform.emprunt_mens.value.replace(',','.');
        document.monform.emprunt_emprunt.value = Math.round(m*((1-(1/Math.pow(1+t,n)))/t));
        }
    break;
case 'nbmens':
    T = document.monform.nbmens_taux.value.replace(',','.')/100;
    if ((T<0.02) || (T>0.09))
        alert('Vous devez saisir un taux situé entre 2% et 9%');
    else {
        t = T/12;
        C = document.monform.nbmens_emprunt.value.replace(',','.');
        m = document.monform.nbmens_mens.value.replace(',','.');
        document.monform.nbmens_nbmens.value = Math.round(Math.log(-1/(((C/m)*t)-1))/Math.log(1+t));
        document.monform.nbmens_nbmens.value += ' mois (' + Math.round(document.monform.nbmens_nbmens.value/12) + ' an' + ((Math.round(document.monform.nbmens_nbmens.value/12)>1)?'s':'') + ')';
        }
    break;
    };
}