function lectnb(si) {
 var result="";
 for (var pi=0;pi<si.length;pi++) {
  var ci=si.charAt(pi);
  if ((ci!="0")||(result!=""))
   if (ci>="0" && ci<="9")
    result+=ci
   else if ((ci==",")||(ci=="."))
    result+="."
   else if ((ci=="-")&&(result==""))
    result+="-";
 }
 if (result=="") result="0";
 return result;
}


function strtoint(si) {
 return parseInt(lectnb(si));
}


function strtofloat(sf) {
 return parseFloat(lectnb(sf));
}


function inttostr(i) {
 var result="";
 i=Math.round(parseFloat(i));
 si=i.toString();
 if (isNaN(si)) si="0";
 bi = 0;
 for (pi=si.length-1;pi>=0;pi--) {
  ci = si.charAt(pi);
  if ((bi==0)&&(pi!=si.length-1)&&(ci!="-")) {
   result=ci+" "+result;
  } else {
   result=ci+result;
  }
  bi=(bi+1)%3;
 }
 return result;
}


function floattostr(f) {
 f=Math.round(f*10000)/10000;
 var sf = f.toString();
 var result = "";
 for (pi=0;pi<sf.length;pi++) {
  cf = sf.charAt(pi);
  if (cf=='.')
   result += ','
  else
   result += cf;

 }
 return result;
}


function number_format(src,nv) {
	nv=parseInt(nv,10);
	if (nv<0||nv>9) nv=0; 
	cm = Math.pow(10,nv);
	s = src.value;
	
	if (cm>1) {	
		f= strtofloat(s);
		f2= parseFloat(Math.round(f*cm)) / cm;
		i2= Math.floor(f2);
		v2= Math.round(cm * (f2-i2));
		sv2= "0000000000"+v2;
		sv2d=sv2.length-nv;
		sv2f=sv2.length;
		sv2= sv2.substring(sv2d,sv2f);
		
		sf = inttostr(i2)+","+sv2;
	} else {
		i=strtoint(s);
		sf=inttostr(i);
	}
	src.value=sf;
}


/* FRAIS DE NOTAIRE */
function calculer()
{
	var f=document.form;


	//-- 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,taux,ajout;
	//montant = parseInt(f.prix_achatnet.value,10);
	montant = strtoint(f.prix_achatnet.value);
	nature = f.nature.options[f.nature.selectedIndex].text;
	honoraires = 0;
	
 
		
	
	if (nature=="Maison particulière - neuf")	   natbien = "neuf";
	if (nature=="Maison particulière - ancien")	natbien = "ancien";
	if (nature=="Appartement - neuf")			natbien = "neuf";
	if (nature=="Appartement - ancien")			natbien = "ancien";
	if (nature=="Terrain + Construction")		natbien = "batir";
	if (nature=="Terrain seul")					natbien = "batir";
	if (nature=="VEFA - Maison particulière")	natbien = "neuf";
	if (nature=="VEFA - Appartement")			natbien = "neuf";
	if (nature=="Construction Seule")		{	id_notaire.innerHTML="<b>0</b> €"; return; }
	
	
	//-- 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;
	tauxTVA  = 19.600;
	tauxAnc  = 4.890;
	tauxNeu  = 0.715;
	tauxBat  = 4.890;




	//-- Calcul des honoraires
	montant = Math.round(montant);
	for (i=0; i < 4 ;i++) {
		if(trancheD[i]<=montant && montant<=trancheF[i]) {
			taux = taux_0[i];
			ajout = ajout_0[i];
			break;
		}	
	}


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


	//-- Frais de notaire
	fraisnotaire = (montant*taux/100+ajout)*(1+tauxTVA/100) + fraisdivers + taxes ;
	fraisnotaire = Math.round(fraisnotaire);


	//-- Affichage résultat
	s_fraisnotaire = inttostr(fraisnotaire);
	id_notaire.innerHTML="<b>"+s_fraisnotaire+"&euro;</b>";
	
}