function GetBaremePtz(B){var A=new Object();A.PretPlafond=65100;A.QuotiteAncien=20;A.QuotiteNeuf=30;A.QuotiteAddZFU=10;A.RgiMaxA=new Array(31250,43750,50000,56875,64875,64875);A.RgiMaxB=new Array(23688,31588,36538,40488,44425,44425);A.RgiMaxC=new Array(23688,31588,36538,40488,44425,44425);A.PretMaxNA=new Array(32100,45000,50100,55050,60150,65100);A.PretMaxNB=new Array(26400,37950,42900,47700,52650,57450);A.PretMaxNC=new Array(20700,30900,35700,40350,45000,49650);A.PretMaxAA=new Array(14400,20250,22500,24750,27000,29250);A.PretMaxAB=new Array(8800,13200,15200,17200,19200,21200);A.PretMaxAC=new Array(8250,12375,14250,16125,18000,19875);A.RembRgiA=new Array(15800,19750,23688,31588,0);A.RembD1A=new Array(264,252,204,96,72);A.RembD2A=new Array(216,216,180,0,0);A.RembPCA=new Array(100,75,50,0,0);A.RembDMA=new Array(264,252,204,96,72);A.RembRgiNBC=new Array(15800,19750,23688,31588,0);A.RembD1NBC=new Array(312,288,228,144,108);A.RembD2NBC=new Array(216,216,180,0,0);A.RembPCNBC=new Array(100,75,50,0,0);A.RembDMNBC=new Array(360,324,252,192,144);A.RembRgiNA=new Array(23688,43750,0);A.RembD1NA=new Array(312,228,144);A.RembD2NA=new Array(216,180,0);A.RembPCNA=new Array(100,50,0);A.RembDMNA=new Array(360,252,192);A.sRgiMaxA=GetStrBrm(A.RgiMaxA,0);A.sRgiMaxB=GetStrBrm(A.RgiMaxB,0);A.sRgiMaxC=GetStrBrm(A.RgiMaxC,0);A.sPretMaxNA=GetStrBrm(A.PretMaxNA,0);A.sPretMaxNB=GetStrBrm(A.PretMaxNB,0);A.sPretMaxNC=GetStrBrm(A.PretMaxNC,0);A.sPretMaxAA=GetStrBrm(A.PretMaxAA,0);A.sPretMaxAB=GetStrBrm(A.PretMaxAB,0);A.sPretMaxAC=GetStrBrm(A.PretMaxAC,0);A.sRembRgiA=GetStrBrm(A.RembRgiA,1);A.sRembD1A=GetStrBrm(A.RembD1A,2);A.sRembD2A=GetStrBrmRembours(A.RembD1A,A.RembD2A,A.RembPCA);A.sRembRgiNA=GetStrBrm(A.RembRgiNA,1);A.sRembD1NA=GetStrBrm(A.RembD1NA,2);A.sRembD2NA=GetStrBrmRembours(A.RembD1NA,A.RembD2NA,A.RembPCNA);A.sRembRgiNBC=GetStrBrm(A.RembRgiNBC,1);A.sRembD1NBC=GetStrBrm(A.RembD1NBC,2);A.sRembD2NBC=GetStrBrmRembours(A.RembD1NBC,A.RembD2NBC,A.RembPCNBC);return(A)}function GetStrBrm(C,D){var B="";for(var A=0;A<C.length;A++){if(B.length){B+="<br>"}if(D==2){B+=FormateAnMois(FormateVal(C[A],0))}else{if(D==1){if(A+1<C.length){B+="jusqu'à "+FormateVal(C[A],0,1)+"&nbsp;€"}else{B+="au delà de "+FormateVal(C[A-1],0,1)+"&nbsp;€"}}else{B+=FormateVal(C[A],0,1)+"&nbsp;€"}}}return(B)}function GetStrBrmRembours(B,A,H){var F="";for(var C=0;C<B.length;C++){var E;var G=H[C];var D=FormateAnMois(B[C]-A[C]);if(G>=100){E="Différé total sur "+FormateAnMois(A[C])+" maxi, puis amortissement sur "+D}else{if(G>=50){E=""+G+"% du prêt amorti sur "+FormateAnMois(A[C])+" maxi, solde amorti sur "+D}else{if(G>0){E=""+G+"% du prêt amorti sur "+FormateAnMois(A[C])+" maxi, solde ("+(100-G)+") amorti sur "+D}else{E="Prêt amorti sur "+D}}}if(C>0){F+="<br>"}F+=E}return(F)}function FormateAnMois(A){var B="";var C=(A%12);var D=Math.floor(A/12);if(D>0){B+=""+D+" an";if(D>1){B+="s"}}if(C>0){if(D>0){B+=" et "}B+=""+C+" mois"}return(B)}function GetResultPtz(I,M){var A=new Object();A.NbMoisPret=0;A.NbMoisDiff=0;A.PCentDiff=0;A.PretMax=0;A.EchDiff=0;A.EchAmort=0;A.RevSup=0;A.TypeDiff=0;A.S_NbMois="";A.S_DureeAmort="";A.S_DureeDiff="";A.S_Pcent1="";A.S_Pcent2="";A.S_Pret="";A.S_EchDiff="";A.S_EchAmort="";if((I.ZoneABC!=1&&I.ZoneABC!=2&&I.ZoneABC!=3)||(I.TypeAN!=1&&I.TypeAN!=2)||I.NbPersonne<=0||I.RevenuN1N2<0){}else{var K;var J;var O;var E;K=I.NbPersonne-1;if(K>5){K=5}E=(I.ZoneABC==1)?M.RgiMaxA[K]:(I.ZoneABC==2)?M.RgiMaxB[K]:M.RgiMaxC[K];if(I.RevenuN1N2<=E){var N,G,F,H,C;if(I.TypeAN==1){A.PretMax=(I.ZoneABC==1)?M.PretMaxNA[K]:(I.ZoneABC==2)?M.PretMaxNB[K]:M.PretMaxNC[K];if(I.ZoneABC==1){N=M.RembRgiNA;G=M.RembD1NA;F=M.RembD2NA;H=M.RembPCNA;C=M.RembDMNA}else{N=M.RembRgiNBC;G=M.RembD1NBC;F=M.RembD2NBC;H=M.RembPCNBC;C=M.RembDMNBC}}else{A.PretMax=(I.ZoneABC==1)?M.PretMaxAA[K]:(I.ZoneABC==2)?M.PretMaxAB[K]:M.PretMaxAC[K];N=M.RembRgiA;G=M.RembD1A;F=M.RembD2A;H=M.RembPCA;C=M.RembDMA}if(I.IsZoneFranche==1){var L=M.PretPlafond*1.5;var D=(I.TypeAN==1)?M.QuotiteNeuf:M.QuotiteAncien;A.PretMax*=(D+M.QuotiteAddZFU)/D;if(A.PretMax>L){A.PretMax=L}}for(K=0;;K++){E=N[K];if(E==0||I.RevenuN1N2<=E){A.NbMoisPret=(I.IsZoneFranche==1)?C[K]:G[K];A.NbMoisDiff=F[K];A.PCentDiff=H[K];break}}if(A.NbMoisDiff&&A.PCentDiff<100){var B=A.PretMax*((100-A.PCentDiff)/100);A.EchDiff=B/A.NbMoisDiff;A.EchAmort=(A.PretMax-B)/(A.NbMoisPret-A.NbMoisDiff)}else{A.EchDiff=0;A.EchAmort=A.PretMax/(A.NbMoisPret-A.NbMoisDiff)}A.TypeDiff=(A.NbMoisDiff==0)?0:(A.PCentDiff<100)?1:2;A.S_NbMois=""+FormateAnMois(A.NbMoisPret);A.S_DureeAmort=""+FormateAnMois(A.NbMoisPret-A.NbMoisDiff);A.S_DureeDiff=""+FormateAnMois(A.NbMoisDiff);A.S_Pcent1=""+(100-A.PCentDiff)+"%";A.S_Pcent2=""+(A.PCentDiff)+"%";A.S_Pret=FormateVal(A.PretMax,0)+" €";A.S_EchDiff=FormateVal(A.EchDiff,2)+" €";A.S_EchAmort=FormateVal(A.EchAmort,2)+" €"}else{A.RevSup=1}}return(A)}function FormateVal(A,H,G){var I="";if(A!=null&&!isNaN(A)){var C,E,F,D;var B=" ";if(G!=null){if(G&1){B="&nbsp;"}else{if(G&2){B="."}else{if(G&4){B=""}}}}if(H==2){A=A*100}else{if(H>0){for(E=0;E<H;E++){A=A*10}}else{H=0}}A=Math.round(A);if(A<0){A=-A;D=1}else{D=0}I=A.toString();C=I.length;for(E=H+1-C;E>0;E--){I="0"+I}F=C-H;if(F>3&&B.length>0){for(E=0;E<5;E++){if(F<4){break}F-=3;I=I.substring(0,F)+B+I.substring(F,C);C+=B.length}}if(H>0){C=I.length;I=I.substring(0,C-H)+","+I.substring(C-H,C)}if(D){I="-"+I}}return(I)}function SetSelect(C,A){var B;for(B=0;B<C.options.length;B++){if(C.options[B].value==A){C.selectedIndex=B;break}}}function GetSelect(B){if(!(B.selectedIndex>=0)){return(null)}var A=B.options[B.selectedIndex].value;if(A==null||A==""){return(null)}var C=parseInt(A,10);return((isNaN(C))?A:C)}function SetRadio(C,A){var B;for(B=0;B<C.length;B++){if(C[B].value==A){C[B].checked=1;break}}}function GetRadio(B){var A;for(A=0;A<B.length;A++){if(B[A].checked==1){return(B[A].value)}}return(0)}function GetSelectedInt(A){return(parseInt(A.options[A.selectedIndex].value,10))}function SetIndex(B,A){SetSelect(B,A)}var _tn=0;var _ttn=0;function GetNum(C,B,A){_ttn=TestNum(C,B,A);return(_tn)}function TestNum(J,D,L){var K=0;var P=""+J;var F,E,N;_tn=0;F=0;E=P.length;if(F<E){var A,G,I=0,C=0,M=0,B=0,H,O="";if(D<0){I=1;D=-D}A=D/10;G=D%10;for(H=F;H<E;H++){N=P.charAt(H);if(N==" "&&L!=null&&(L&1)){continue}if(N>="0"&&N<="9"){if(B){M++;if(M>G){K=-3;break}}else{C++;if(C>A){K=-2;break}}}else{if(N=="."||N==","){if(B){K=-1;break}B=H+1;N="."}else{if(N=="-"){if(!I||H>F){K=-4;break}}else{K=-1;break}}}O+=N}if(!K){_tn=(B)?parseFloat(O):parseInt(O,10);K=1}}return(K)}var gIsChange1=0;function ffff_OC(B){if(B=="IsShowBrm"){var A=(document.ffff.IsShowBrm.checked)?1:0;document.getElementById("IsShowBrm1").style.display=(A)?"":"none"}if(B=="IsShowRgl"){var A=(document.ffff.IsShowRgl.checked)?1:0;document.getElementById("IsShowRgl1").style.display=(A)?"":"none"}gIsChange1=1}function BeforeSubmit(D,F){var B="";var A=parseInt(D.TypeAN.options[D.TypeAN.selectedIndex].value);var E=parseInt(D.ZoneABC.options[D.ZoneABC.selectedIndex].value);var G=GetNum(D.RevenuN1N2.value,80);var C=TestNum(D.NbPersonne.value,20);if(A!=1&&A!=2){B="Précisez le type d'acquisition (neuf/construction ou ancien) !"}else{if(E!=1&&E!=2&&E!=3){B="Précisez la localisation du logement (zone A, B ou C) !"}else{if(G<=0){B="Indiquez votre revenu fiscal de référence !"}else{if(C<=0){B="Indiquez le nombre de personnes qui habiteront le logement !"}else{if(!gIsChange1){B="Résultats déjà calculés !"}}}}}if(B!=""){self.alert(B)}return((B!="")?false:true)}function OnBtnZonier(){window.open("ptz_abc.htm","ptz_abc","width=615px,height=600px")}function OnBtnSubmit(A){if(BeforeSubmit(A,1)==true){BodyOnLoad()}}function MainGetForm(){var A=new Object();var B=document.ffff;A.NbPersonne=GetNum(B.NbPersonne.value,20);A.ZoneABC=parseInt(B.ZoneABC.options[B.ZoneABC.selectedIndex].value);A.TypeAN=parseInt(B.TypeAN.options[B.TypeAN.selectedIndex].value);A.RevenuN1N2=GetNum(B.RevenuN1N2.value,80);A.IsShowBrm=(B.IsShowBrm.checked)?1:0;A.IsShowRgl=(B.IsShowRgl.checked)?1:0;A.IsZoneFranche=0;return(A)}function BodyOnLoad(){var D=document.ffff;gIsChange1=0;var C=MainGetForm();var B=GetBaremePtz(C.IsShowBrm);var A=GetResultPtz(C,B);if(A.RevSup!=0){document.getElementById("IfRevSup0").style.display="none";document.getElementById("IfQuestion").style.display="none";document.getElementById("IfRevSup1").style.display=""}else{document.getElementById("IfRevSup1").style.display="none";if(A.S_Pret==""){document.getElementById("IfRevSup0").style.display="none";document.getElementById("IfQuestion").style.display=""}else{document.getElementById("IfQuestion").style.display="none";document.getElementById("IfRevSup0").style.display=""}}document.getElementById("IsShowBrm1").style.display=(C.IsShowBrm==1)?"":"none";document.getElementById("IsShowRgl1").style.display=(C.IsShowRgl==1)?"":"none";document.getElementById("brm_sRgiMaxA").innerHTML=B.sRgiMaxA;document.getElementById("brm_sRgiMaxB").innerHTML=B.sRgiMaxB;document.getElementById("brm_sRgiMaxC").innerHTML=B.sRgiMaxC;document.getElementById("brm_sPretMaxNA").innerHTML=B.sPretMaxNA;document.getElementById("brm_sPretMaxNB").innerHTML=B.sPretMaxNB;document.getElementById("brm_sPretMaxNC").innerHTML=B.sPretMaxNC;document.getElementById("brm_sPretMaxAA").innerHTML=B.sPretMaxAA;document.getElementById("brm_sPretMaxAB").innerHTML=B.sPretMaxAB;document.getElementById("brm_sPretMaxAC").innerHTML=B.sPretMaxAC;document.getElementById("brm_sRembRgiA").innerHTML=B.sRembRgiA;document.getElementById("brm_sRembD1A").innerHTML=B.sRembD1A;document.getElementById("brm_sRembD2A").innerHTML=B.sRembD2A;document.getElementById("brm_sRembRgiNA").innerHTML=B.sRembRgiNA;document.getElementById("brm_sRembD1NA").innerHTML=B.sRembD1NA;document.getElementById("brm_sRembD2NA").innerHTML=B.sRembD2NA;document.getElementById("brm_sRembRgiNBC").innerHTML=B.sRembRgiNBC;document.getElementById("brm_sRembD1NBC").innerHTML=B.sRembD1NBC;document.getElementById("brm_sRembD2NBC").innerHTML=B.sRembD2NBC;document.getElementById("result_S_Pret").innerHTML=A.S_Pret;document.getElementById("result_S_NbMois").innerHTML=A.S_NbMois;document.getElementById("result_S_DureeDiff").innerHTML=A.S_DureeDiff;document.getElementById("result_S_DureeAmort").innerHTML=A.S_DureeAmort;document.getElementById("result_S_EchDiff").innerHTML=A.S_EchDiff;document.getElementById("result_S_EchAmort1").innerHTML=A.S_EchAmort;document.getElementById("result_S_EchAmort2").innerHTML=A.S_EchAmort;document.getElementById("result_diff_partiel").innerHTML=(A.TypeDiff==1)?"Période de différé partiel"+((A.S_Pcent2!="")?" ("+A.S_Pcent2+")":"")+" :":"Période de différé total.........:";document.getElementById("result_amort_partiel").innerHTML=(A.TypeDiff==1)?"Période d'amortissement......:":"Période d'amortissement......:";if(A.TypeDiff>0){document.getElementById("IfTypeDiff1_duree").style.display=""}else{document.getElementById("IfTypeDiff1_duree").style.display="none"}if(A.TypeDiff>0){document.getElementById("IfTypeDiff0_ech").style.display="none";document.getElementById("IfTypeDiff1_ech").style.display=""}else{document.getElementById("IfTypeDiff1_ech").style.display="none";document.getElementById("IfTypeDiff0_ech").style.display=""}};