var _tn=0,_ttn=0;function SetSelect(a,c){var b;for(b=0;b<a.options.length;b++)if(a.options[b].value==c){a.selectedIndex=b;break}}function GetSelect(a){if(!(a.selectedIndex>=0))return null;a=a.options[a.selectedIndex].value;if(a==null||a=="")return null;var c=parseInt(a,10);return isNaN(c)?a:c}function SetRadio(a,c){var b;for(b=0;b<a.length;b++)if(a[b].value==c){a[b].checked=1;break}}function GetRadio(a){var c;for(c=0;c<a.length;c++)if(a[c].checked==1)return a[c].value;return 0}
function GetSelectedInt(a){return parseInt(a.options[a.selectedIndex].value,10)}function SetIndex(a,c){SetSelect(a,c)}function GetNum(a,c,b){_ttn=TestNum(a,c,b);return _tn}
function TestNum(a,c,b){var e=0;a=""+a;var f;_tn=0;f=a.length;if(0<f){var d,g,h=0,j=0,m=0,k=0,i,l="";if(c<0){h=1;c=-c}d=c/10;g=c%10;for(i=0;i<f;i++){c=a.charAt(i);if(!(c==" "&&b!=null&&b&1)){if(c>="0"&&c<="9")if(k){m++;if(m>g){e=-3;break}}else{j++;if(j>d){e=-2;break}}else if(c=="."||c==","){if(k){e=-1;break}k=i+1;c="."}else if(c=="-"){if(!h||i>0){e=-4;break}}else{e=-1;break}l+=c}}if(!e){_tn=k?parseFloat(l):parseInt(l,10);e=1}}return e}
function FormateVal(a,c,b){var e="";if(a!=null&&!isNaN(a)){var f,d,g=" ";if(b!=null)if(b&1)g="&nbsp;";else if(b&2)g=".";else if(b&4)g="";if(c==2)a*=100;else if(c>0)for(b=0;b<c;b++)a*=10;else c=0;a=Math.round(a);if(a<0){a=-a;d=1}else d=0;e=a.toString();a=e.length;for(b=c+1-a;b>0;b--)e="0"+e;f=a-c;if(f>3&&g.length>0)for(b=0;b<5;b++){if(f<4)break;f-=3;e=e.substring(0,f)+g+e.substring(f,a);a+=g.length}if(c>0){a=e.length;e=e.substring(0,a-c)+","+e.substring(a-c,a)}if(d)e="-"+e}return e}
var gIsChange1=0;
function ffff_OC(a){gIsChange1=1;var c=document.ffff;if(a==null||a=="TypeAchat"){a=parseInt(c.TypeAchat.options[c.TypeAchat.selectedIndex].value);var b=c.terrain;if(a==1){b.disabled=false;b.style.backgroundColor="#FFFFFF"}else{b.value="";b.disabled=true;b.style.backgroundColor="#CCCCCC"}b=c.logement;if(a>=1&&a!=5){b.disabled=false;b.style.backgroundColor="#FFFFFF"}else{b.value="";b.disabled=true;b.style.backgroundColor="#CCCCCC"}b=c.travaux;if(a==4||a==5){b.disabled=false;b.style.backgroundColor="#FFFFFF"}else{b.value=
"";b.disabled=true;b.style.backgroundColor="#CCCCCC"}b=c.NbLogement;if(a==2||a==3){b.disabled=false;b.style.backgroundColor="#FFFFFF";if(b.selectedIndex<0)b.selectedIndex=0}else{b.value="";b.disabled=true;b.style.backgroundColor="#CCCCCC"}b=c.PretPth;if(a>0){b.disabled=false;b.style.backgroundColor="#FFFFFF"}else{b.value="";b.disabled=true;b.style.backgroundColor="#CCCCCC"}}}
function BeforeSubmit(a){var c="",b=parseInt(a.TypeAchat.options[a.TypeAchat.selectedIndex].value),e=GetNum(a.terrain.value,80),f=_ttn,d=GetNum(a.logement.value,80),g=_ttn,h=GetNum(a.travaux.value,80),j=_ttn;GetNum(a.PretPth.value,80);a=_ttn;if(b<1||b>5)c="Précisez le type d'acquisition !";else if(f<0)c="Cout du terrain : saisie invalide";else if(g<0)c="Cout du logement : saisie invalide";else if(j<0)c="Cout des travaux : saisie invalide";else if(a<0)c="Montant du prêt : saisie invalide";else if(b==
1&&e==0&&d==0)c="Précisez le coût du terrain et/ou du logement !";else if((b==2||b==3)&&d<=0)c="Précisez le coût du logement !";else if(b==4&&d==0&&h==0)c="Précisez le coût du logement et/ou des travaux !";c!=""&&self.alert(c);return c!=""?false:true}function OnBtnSubmit(a){BeforeSubmit(a,1)==true&&BodyOnLoad(1)}
function MainGetForm(){var a={},c=document.ffff;a.TypeAchat=parseInt(c.TypeAchat.options[c.TypeAchat.selectedIndex].value);a.terrain=GetNum(c.terrain.value,80);a.logement=GetNum(c.logement.value,80);a.travaux=GetNum(c.travaux.value,80);a.PretPth=GetNum(c.PretPth.value,80);a.IsNegocie=c.IsNegocie.checked?1:0;a.NbLogement=1;if(c.NbLogement.selectedIndex>=0)a.NbLogement=parseInt(c.NbLogement.options[c.NbLogement.selectedIndex].value);return a}
function MainGetBareme(){return{ModeCalculHypo:2,TauxTva:19.6,TauxTvaDOM:8.5,ProportMini:78,EmolFixeAncien:570,EmolFixeNeufT:370,EmolFixePret:180,EmolFixePpd:130,DeboursAchat:780,DeboursPret:40,EnregFixe125:125,EnregFixe25:25,NegociePlafond:45735,NegocieTaux1:5,NegocieTaux2:2.5,SalaireMini1:15,SalaireMini2:8,SalaireTaux1:0.1,SalaireTaux2:0.05,TauxTD:3.8,TauxTC:1.2,TauxPF:0.7,TauxFA_TD:2.37,TauxFA_PF:2.14,s1:[{plafond:6500,taux:4},{plafond:17E3,taux:1.65},{plafond:6E4,taux:1.1},{plafond:0,taux:0.825}],
s2:[{plafond:6500,taux:2},{plafond:17E3,taux:1.1},{plafond:3E4,taux:1.75},{plafond:0,taux:0.55}]}}
function NotaireCalculFrais(a,c,b,e,f){var d;d=0;if(b!=1&&b!=2&&b!=3&&b!=4)return d;if(c<=0)return d;f=NotaireEmolFromSerie(a,c,1,b==2||b==3?f<=10?1:f<25?0.8:f<100?2/3:f<250?0.5:f<500?0.4:1/3:1);f+=b==1||b==2||b==3?a.EmolFixeNeufT:a.EmolFixeAncien;if(e){if(c<=a.NegociePlafond)d=c*(a.NegocieTaux1/100);else{d=a.NegociePlafond;d=d*(a.NegocieTaux1/100)+(c-d)*(a.NegocieTaux2/100)}f+=d}e=a.DeboursAchat;d=c*(a.SalaireTaux1/100);if(d<a.SalaireMini1)d=a.SalaireMini1;e+=d;d=f*(a.TauxTva/100);var g=0;if(b==
1||b==4)g=c*((a.TauxTD*(1+a.TauxFA_TD/100)+a.TauxTC)/100);else if(b==2||b==3)g=c*(a.TauxPF*(1+a.TauxFA_PF/100)/100);d=f+e+g+d;return d=Math.floor(d/10)*10}
function NotaireCalculHypo(a,c,b,e,f){var d,g=0;d=c+b+e;if(d<=0)return g;if(f<=0)f=0;g=NotaireEmolFromSerie(a,d,1,1/3);g+=b>0||e>0||c>f?a.EmolFixePret:a.EmolFixePpd;var h=0;if(c>f)h=(c-f)*1.2*(a.TauxPF*(1+a.TauxFA_PF/100)/100);if(b>0||e>0||c>f)h+=a.EnregFixe125;c=a.DeboursPret;d=d;if(d>0){d*=1.2*(a.SalaireTaux2/100);if(d<a.SalaireMini2)d=a.SalaireMini2;c+=d}d=g+c+h+g*(a.TauxTva/100);return g=Math.floor(d/5)*5}
function NotaireEmolFromSerie(a,c,b,e){var f=0;if(c>0){b=b==2?a.s2:a.s1;for(var d=0;;d++){var g=b[d].plafond,h=g!=0&&c>g?g:c;if(d>0)h-=b[d-1].plafond;f+=h*(b[d].taux/100);if(g==0||c<=g)break}f*=e;if(f<a.ProportMini)f=a.ProportMini}return f}
function GetResultFnfg(a){var c=MainGetBareme(),b={};b.FnTotal=0;b.FgTotal=0;b.S_FnTotal="";b.S_FgTotal="";if(a.TypeAchat>0){var e=a.TypeAchat==1?a.terrain:a.logement;if(e>0){b.FnTotal=NotaireCalculFrais(c,e,a.TypeAchat,a.IsNegocie,a.NbLogement);b.S_FnTotal=FormateVal(b.FnTotal,0)+"&nbsp;€"}if(a.PretPth>0){e=0;if(a.TypeAchat==1)e=a.terrain;else if(a.TypeAchat==3||a.TypeAchat==4)e=a.logement;b.FgTotal=NotaireCalculHypo(c,a.PretPth,0,0,e);b.S_FgTotal=FormateVal(b.FgTotal,0)+"&nbsp;€"}}return b}
function BodyOnLoad(a){gIsChange1=0;if(a!=1){ffff_OC(null);gIsChange1=0}a=MainGetForm();a=GetResultFnfg(a);document.getElementById("result_FnTotal").innerHTML=a.S_FnTotal;document.getElementById("result_FgTotal").innerHTML=a.S_FgTotal};

