function repartition_cp () {} function check_mens(ch) { var vn=Number(String(ch.value).split(",").join(".")); if (isNaN(vn) || vn==0) { ch.value=""; return false; } else { ch.value=String(Math.round(vn*100)/100); return true; } } function check_tel_gsm(ch) { //enleve tout caractere autre que chiffre var val; var newval; var tstr; var tmpar; var ak; var j; val=ch.value; tmpar=val.split(""); newval=""; for (j=0;j=0; i--) { if (montant_pret<=montant_taux[i]) { indice = i; } } gindice_mt = indice; // remplace les durees dans la listbox var ardurs=[],min_dur,max_dur,tmp_dur; min_dur=montant_taux_duree[indice][0]; max_dur=montant_taux_duree[indice][1]; for (i=0;i=min_dur && tmp_dur<=max_dur) ardurs[ardurs.length]=tmp_dur; } make_dur_list(ardurs); //trouve taux par rapport a montant->.duree correspondant. tti = taux_taux[indice]; ttilength = tti.length; for (indiced=duree_pret; indiced=duree_pret) { break; } } taux_retour = tti[indiced]; return taux_retour; } // controle duree function Controle_Duree(montant_pret) { var duree_retour = 0; for (i=nb_duree; i>=0; i--) { if (montant_pret<=montant_duree[i]) { duree_retour = duree_duree[i]; gindice_md = i; } } // return duree_retour; } function Calcul() { gduree = 0; gtaux = 0; // verifie validite du montant if (isNaN(calc_tmp.montant) || calc_tmp.montant == "") { alert("Le montant doit être un chiffre"); return false; } if (calc_tmp.montant<2500 || calc_tmp.montant>9999999) { alert("Le montant doit être compris entre 2500 et 9999999 EUR"); return false; } // teste la duree par rapport au montant gduree = Controle_Duree(calc_tmp.montant); calc_tmp.duree = gduree; // tester le taux gtaux = Controle_Taux(calc_tmp.montant, gduree); calc_tmp.taux = gtaux; // calculde la mensualite emp = calc_tmp.montant; nbr = gduree; txc = gtaux/100; tp1 = (1+txc); tp2 = (1/12); tp3 = (1+txc); tp4 = (nbr/12); tp5 = Math.pow(tp1, tp2); tp6 = Math.pow((1/tp3), tp4); ech = emp*(tp5-1)/(1-tp6); calc_tmp.mensualite = ech; agios = ech*gduree-calc_tmp.montant; taux = (agios*100)/(calc_tmp.montant*gduree); calc_tmp.taux_charge = Math.round(taux*1000)/1000; //genere tab mk_sim_tab(); // return true; } function ToString(param) { var buf = "" if (isNaN(param) || param == "") { return param; } buf = String(param); buf = buf.replace(".",",") return buf; } function Calcul2() { var buf = ""; if (calc_tmp.montant == "") { return false; } if (calc_tmp.duree == "") { return false; } if (calc_tmp.taux == "") { return false; } emp = Number(calc_tmp.montant); nbr = Number(calc_tmp.duree); // tester le taux gtaux = Controle_Taux(emp, nbr); // if (nbrmontant_taux_duree[gindice_mt][1]) { alert("La durée doit être comprise entre "+montant_taux_duree[gindice_mt][0]+" et "+montant_taux_duree[gindice_mt][1]); if(nbrgtaux) { alert("Le taeg ne peux dépasser "+String(gtaux)+" %"); return false; } buf = String(calc_tmp.taux); buf = buf.replace(",", "."); txc = Number(buf)/100; tp1 = (1+txc); tp2 = (1/12); tp3 = (1+txc); tp4 = (nbr/12); tp5 = Math.pow(tp1, tp2); tp6 = Math.pow((1/tp3), tp4); ech = emp*(tp5-1)/(1-tp6); // ech = emp*(((1+txc)^(1/12))-1)/(1-(1/(1+txc))^(nbr/12)) calc_tmp.mensualite = ech; // agios = ech * gduree - calc_tmp.montant // taux = (agios * 100) / (calc_tmp.montant * gduree) agios = ech*nbr-emp; taux = (agios*100)/(emp*nbr); calc_tmp.taux_charge = Math.round(taux*1000)/1000; return true; } // toselect function _ToSelect(champ, valeur) { var i, len, select; len = champ.length; select = len-1; for (i=0; i2020) { alert("De jaar moet tussen 1900 en 2020 zijn"); champs.focus(); return false; } // verifier le mois if (isNaN(mois)) { alert("De maand moet een cijfer zijn"); champs.focus(); return false; } if (mois<1 || mois >12) { alert("De maand moet tussen 1 en 12 zijn"); champs.focus(); return false; } // tester le jour uniquement si format DD/MM/JJJJ if (isNaN(jour)) { alert("De dag moet een cijfer ziin voor"); champs.focus(); return false; } max = 30; if (mois<8 && (parseInt(mois / 2)*2)!=mois) max = 31; if (mois>7 && (parseInt(mois / 2)*2)==mois) max = 31; if (mois==2) { max = 28; if ((parseInt(annee/4)*4)==annee) max=29; } if (jour<1 || jour >max) { alert("De dag moet tussen 1 en "+max+" zijn"); champs.focus(); return false; } champs.value = valeur; return true; } // tester si certains champs sont des chiffres function TestCi(valeur,libelle,longueur) { // verifier si VALEUR est un chiffre if (isNaN(valeur)) { alert(libelle + " doit être un chiffre !"); return false; } // verifier si VALEUR en LONGUEUR chiffres if (valeur.length!=longueur) { alert(libelle + " doit avoir " + longueur + " chiffres !"); return false; } part1 = Number(valeur.substring(0,longueur-2)); part2 = Number(valeur.substring(longueur-2,longueur)); // cas du calcul d'un CI if (longueur==12) { sous_result = parseInt(part1 / 97) * 97; result = part1 - sous_result; if (result!=part2) { alert(libelle + " est invalide !"); return false; } } // cas du calcul de la TVA if (longueur==9) { sous_result_float = parseFloat(part1 / 97); sous_result_int = parseInt(part1 / 97); sous_result = parseInt((sous_result_float - sous_result_int) * 97); result = 97 - sous_result; if (result!=part2) { alert(libelle + " est invalide !"); return false; } } //alert (result); return true; } function TestChiffre(valeur,limite1,limite2,commentaire,client) { var nom; var val,lim1,lim2; val = Number(valeur); lim1 = Number(limite1); lim2 = Number(limite2); if (client==1) nom=" pour le débiteur"; else nom=" pour le co-débiteur"; if (client==0) nom=""; if (isNaN(val)) { alert (commentaire+" doit être un CHIFFRE"+nom); return false; } if (limite1>=0) { if (val0) { if (val>lim2) { alert (commentaire+" doit être plus petit(e) où égal(e) à "+limite2+nom); return false; } } return true; } //teste No national function TestNational(ch,longueur) { var valeur; //check_tel_gsm(ch); if(ch.value == "") { return true; } valeur = ch.value; // verifier si VALEUR est un chiffre if (isNaN(valeur)) { alert('Le numéro national doit être une succesion de chiffre - Het rijksregisternummer moet samengesteld worden uit cijfers'); ch.focus(); return false; } // verifier si VALEUR en LONGUEUR chiffres if (valeur.length!=longueur) { alert('Le numéro national doit être composée de 11 chiffres - Het rijksregisternummer is samengesteld uit 11 cijfers'); ch.focus(); return false; } part1 = Number(valeur.substring(0,longueur-2)); part2 = Number(valeur.substring(longueur-2,longueur)); sous_result = parseInt(part1 / 97) * 97; result = part1 - sous_result; if (result == 0) { return true; } else { sous_result2 = parseInt(part2 + result); if(sous_result2 == 97) { return true; } else { alert('Le numéro national est invalide - Het rijksregisternummer is niet geldig'); ch.focus(); return false; } } return true; } // tester si email a bien un @ et un . function TestEmail(valeur,client) { var n1,n2; n1 = valeur.indexOf("@",1); n2 = valeur.lastIndexOf("."); if (n22020) { alert("L'année doit se situer entre 1900 et 2020 pour \n"+commentaire); return false; } // verifier le mois if (isNaN(mois)) { alert("Le mois doit être un chiffre pour \n"+commentaire); return false; } if (mois<1 || mois >12) { alert("Le mois doit se situer entre 1 et 12 pour \n"+commentaire); return false; } // tester le jour uniquement si format JJ/MM/AAAA if (nb==3) { if (isNaN(jour)) { alert("Le jour doit être un chiffre pour \n"+commentaire); return false; } max = 30; if (mois<8 && (parseInt(mois / 2)*2)!=mois) max = 31; if (mois>7 && (parseInt(mois / 2)*2)==mois) max = 31; if (mois==2) { max = 28; if ((parseInt(annee/4)*4)==annee) max=29; } if (jour<1 || jour >max) { alert("Le jour doit se situer entre 1 et "+max+" pour \n"+commentaire); return false; } } return true; } function Verifie() { //verifie support pub /*if (document.forms[0].type_support.value=="") { document.forms[0].type_support.focus(); alert("Vous n'avez pas choisi le support publicitaire\n\nKies de publiciteit"); return false; }*/ // verifier la validité du numero de compte debiteur if (document.Formulaire.no_compte1.value!="") { if (TestCi(document.Formulaire.no_compte1.value,"Le numéro de compte du débiteur",12)==false) return false; if (!Corrige_date(document.Formulaire.compte_depuis1.value,"JJ/MM/AAAA","la date d\'ouverture du compte de l\'emprunteur")) return false; } // verifier la validité de la carte d'identité uniquement pour les belges if (document.Formulaire.ci1.value!="") { if (document.Formulaire.nationalite1.value=="BEL") { if (TestCi(document.Formulaire.ci1.value,"La carte d'identité du débiteur",12)==false) return false; } } // verifier le registre nat if (document.Formulaire["rn1"].value == "") { alert("Le numéro de registre national du demandeur est obligatoire.\n\nRijksregisternummer van de aanvrager is verplicht."); return false; } else { if ( !TestNational(document.Formulaire["rn1"],11) ) return false; } // Verifier le numéro de tva if (document.Formulaire.tva1.value!="") if (TestCi(document.Formulaire.tva1.value,"Le n° de TVA du débiteur",9)==false) return false; // verifier si les champs CHIFFRE if (!TestChiffre(document.Formulaire.ben_net1.value,"-1","-1","Le bénéfice net",1)) return false; if (!TestChiffre(document.Formulaire.autre_montant1d.value,"-1","-1","L'autre revenu 1",1)) return false; if (!TestChiffre(document.Formulaire.autre_montant2d.value,"-1","-1","L'autre revenu 2",1)) return false; if (!TestChiffre(document.Formulaire.autre_montant3d.value,"-1","-1","L'autre revenu 3",1)) return false; if (!TestChiffre(document.Formulaire.montant_acompte.value,"-1","-1","Le montant d'acompte",0)) return false; if (!TestChiffre(document.Formulaire.alloc_fam1.value,"-1","-1","L'allocation familialle",1)) return false; if (!TestChiffre(document.Formulaire.revenu_sup1.value,"-1","-1","Le revenu supplémentaire",1)) return false; if (!TestChiffre(document.Formulaire.revenu1.value,"-1","-1","Le revenu",1)) return false; if (!TestChiffre(document.Formulaire.loyer1.value,"-1","-1","Le loyer",1)) return false; if (!TestChiffre(document.Formulaire.montant.value,"991.57","9999999","Le montant du prêt",0)) return false; // verifier les validitées des adresses e-mail if (document.Formulaire.email1.value!="") { if (TestEmail(document.Formulaire.email1.value,"débiteur")!=true) return false; } // verifier les dates du débiteur if (!Corrige_date(document.Formulaire.date_naissance1.value,"JJ/MM/AAAA","la date de naissance de l\'emprunteur")) return false; //if (!Corrige_date(document.Formulaire.adresse_depuis1.value,"JJ/MM/AAAA","la date à l\'adresse de l\'emprunteur")) return false; // verifier date RESIDENCE uniquement si nationalite differente de l'adresse if (document.Formulaire.nationalite1.value!=document.Formulaire.pays1.value) { if (!Corrige_date(document.Formulaire.belge_depuis1.value,"JJ/MM/AAAA","la date de résidence de l\'emprunteur")) return false; } else { document.Formulaire.belge_depuis1.value="" } if (!Corrige_date(document.Formulaire.employ_date1.value,"JJ/MM/AAAA","la date d\'engagement de l\'emprunteur")) return false; // verifie le code postale de l'adresse (cp1) if (String(Number(document.Formulaire.cp1.value)).length==4 && !isNaN(Number(document.Formulaire.cp1.value))) { } else { alert("Le code postal de l'adresse actuelle est invalide"); return false; } // verifie les codebiteur uniquement si son nom est rempli SINON vide les champs if (document.Formulaire.nom2.value!="") { if (!TestChiffre(document.Formulaire.ben_net2.value,"-1","-1","Le bénéfice net",2)) return false; if (!TestChiffre(document.Formulaire.autre_montant1c.value,"-1","-1","L'autre revenu 1",2)) return false; if (!TestChiffre(document.Formulaire.autre_montant2c.value,"-1","-1","L'autre revenu 2",2)) return false; if (!TestChiffre(document.Formulaire.autre_montant3c.value,"-1","-1","L'autre revenu 3",2)) return false; // verifier la validité du numero de compte COdebiteur if (document.Formulaire.no_compte2.value!="") { if (TestCi(document.Formulaire.no_compte2.value,"Le numéro de compte du codébiteur",12)==false) return false; if (!Corrige_date(document.Formulaire.compte_depuis2.value,"JJ/MM/AAAA","la date d\'ouverture du compte du codebiteur")) return false; } // verifier la validité de la carte d'identité uniquement pour les belges if (document.Formulaire.ci2.value!="") { if (document.Formulaire.nationalite2.value=="BEL") { if (TestCi(document.Formulaire.ci2.value,"La carte d'identité du codébiteur",12)==false) return false; } } // Verifier le numéro de tva if (document.Formulaire.tva2.value!="") if (TestCi(document.Formulaire.tva2.value,"Le n° de TVA du codébiteur",9)==false) return false; // tester adresse e-mail if (document.Formulaire.email1.value!="") { if (TestEmail(document.Formulaire.email1.value,"débiteur")!=true) return false; } if (!TestChiffre(document.Formulaire.alloc_fam2.value,"-1","-1","L'allocation familialle",2)) return false; if (!TestChiffre(document.Formulaire.revenu_sup2.value,"-1","-1","Le revenu supplémentaire",2)) return false; if (!TestChiffre(document.Formulaire.revenu2.value,"-1","-1","Le revenu",2)) return false; if (!TestChiffre(document.Formulaire.loyer2.value,"-1","-1","Le loyer",2)) return false; if (!Corrige_date(document.Formulaire.date_naissance2.value,"JJ/MM/AAAA","la date de naissance du co-emprunteur")) return false; if (!Corrige_date(document.Formulaire.adresse_depuis2.value,"JJ/MM/AAAA","la date à l\'adresse du co-emprunteur")) return false; if (document.Formulaire.nationalite2.value!=document.Formulaire.pays2.value) { if (!Corrige_date(document.Formulaire.belge_depuis2.value,"JJ/MM/AAAA","la date de résidence du co-emprunteur")) return false; } else { document.Formulaire.belge_depuis2.value="" } if (document.Formulaire.profession2.value!="032" && document.Formulaire.profession2.value!="998" && document.Formulaire.profession2.value!="999") { if (!Corrige_date(document.Formulaire.employ_date2.value,"JJ/MM/AAAA","la date d\'engagement du co-emprunteur")) return false; } else { document.Formulaire.employ_date2.value=""; document.Formulaire.secteur_activite2.value="" document.Formulaire.type_contrat2.value="" } } else { document.Formulaire.date_naissance2.value="" document.Formulaire.adresse_depuis2.value="" document.Formulaire.belge_depuis2.value="" document.Formulaire.employ_date2.value="" document.Formulaire.nationalite2.value="" document.Formulaire.etat_civil2.value="" document.Formulaire.location2.value="" document.Formulaire.pays2.value="" document.Formulaire.profession2.value="" document.Formulaire.secteur_activite2.value="" document.Formulaire.type_contrat2.value="" document.Formulaire.pays_employeur2.value="" document.Formulaire.lieu_rc2.value="" document.Formulaire.titre2.value="" document.Formulaire.autre_montant1c.value="" document.Formulaire.autre_montant2c.value="" document.Formulaire.autre_montant3c.value="" } // verifier les dates d'echeances des prets en cours seulement si l'organisme est remplis if (document.Formulaire.organisme1.value!="" || document.Formulaire.mensualite1.value!="") { if (!Corrige_date(document.Formulaire.echeance1.value,"JJ/MM/AAAA","la date du prêt n° 1")) return false; if (!TestChiffre(document.Formulaire.montant1.value,"992","999999","Le montant du prêt n° 1",0)) return false; if (!TestChiffre(document.Formulaire.duree1.value,"12","360","La durée du prêt n° 1",0)) return false; if (!TestChiffre(document.Formulaire.mensualite1.value,"12","9999","La mensualité du prêt n° 1",0)) return false; } else { document.Formulaire.echeance1.value=""; document.Formulaire.type_credit1.value=""; } if (document.Formulaire.organisme2.value!="") { if (!Corrige_date(document.Formulaire.echeance2.value,"JJ/MM/AAAA","la date du prêt n° 2")) return false; if (!TestChiffre(document.Formulaire.montant2.value,"992","999999","Le montant du prêt n° 2",0)) return false; if (!TestChiffre(document.Formulaire.duree2.value,"12","360","La durée du prêt n° 2",0)) return false; if (!TestChiffre(document.Formulaire.mensualite2.value,"12","9999","La mensualité du prêt n° 2",0)) return false; } else { document.Formulaire.echeance2.value=""; document.Formulaire.type_credit2.value=""; } if (document.Formulaire.organisme3.value!="") { if (!Corrige_date(document.Formulaire.echeance3.value,"JJ/MM/AAAA","la date du prêt n° 3")) return false; if (!TestChiffre(document.Formulaire.montant3.value,"992","999999","Le montant du prêt n° 3",0)) return false; if (!TestChiffre(document.Formulaire.duree3.value,"12","360","La durée du prêt n° 3",0)) return false; if (!TestChiffre(document.Formulaire.mensualite3.value,"12","9999","La mensualité du prêt n° 3",0)) return false; } else { document.Formulaire.echeance3.value=""; document.Formulaire.type_credit3.value=""; } if (document.Formulaire.organisme4.value!="") { if (!Corrige_date(document.Formulaire.echeance4.value,"JJ/MM/AAAA","la date du prêt n° 4")) return false; if (!TestChiffre(document.Formulaire.montant4.value,"992","999999","Le montant du prêt n° 4",0)) return false; if (!TestChiffre(document.Formulaire.duree4.value,"12","360","La durée du prêt n° 4",0)) return false; if (!TestChiffre(document.Formulaire.mensualite4.value,"12","9999","La mensualité du prêt n° 4",0)) return false; } else { document.Formulaire.echeance4.value=""; document.Formulaire.type_credit4.value=""; } if (document.Formulaire.organisme5.value!="") { if (!Corrige_date(document.Formulaire.echeance5.value,"JJ/MM/AAAA","la date du prêt n° 5")) return false; if (!TestChiffre(document.Formulaire.montant5.value,"992","999999","Le montant du prêt n° 5",0)) return false; if (!TestChiffre(document.Formulaire.duree5.value,"12","360","La durée du prêt n° 5",0)) return false; if (!TestChiffre(document.Formulaire.mensualite5.value,"12","9999","La mensualité du prêt n° 5",0)) return false; } else { document.Formulaire.echeance5.value=""; document.Formulaire.type_credit5.value=""; } if (document.Formulaire.organisme6.value!="") { if (!Corrige_date(document.Formulaire.echeance6.value,"JJ/MM/AAAA","la date du prêt n° 6")) return false; if (!TestChiffre(document.Formulaire.montant6.value,"992","999999","Le montant du prêt n° 6",0)) return false; if (!TestChiffre(document.Formulaire.duree6.value,"12","360","La durée du prêt n° 6",0)) return false; if (!TestChiffre(document.Formulaire.mensualite6.value,"12","9999","La mensualité du prêt n° 6",0)) return false; } else { document.Formulaire.echeance6.value=""; document.Formulaire.type_credit6.value=""; } // vider les champs autre revenu vide if (document.Formulaire.autre_montant1d.value=="") document.Formulaire.autre_revenu1d.value=""; if (document.Formulaire.autre_montant2d.value=="") document.Formulaire.autre_revenu2d.value=""; if (document.Formulaire.autre_montant3d.value=="") document.Formulaire.autre_revenu3d.value=""; if (document.Formulaire.autre_montant1c.value=="") document.Formulaire.autre_revenu1c.value=""; if (document.Formulaire.autre_montant2c.value=="") document.Formulaire.autre_revenu2c.value=""; if (document.Formulaire.autre_montant3c.value=="") document.Formulaire.autre_revenu3c.value=""; // changer le destinataire par rapport au code postal repartition_cp (); return true; } // enleve les caracteres speciaux des localites function vide_caracteres (controle) { var buf,i,c,champs champs = controle.value; if (champs=="") return; buf = ""; for (i=0;i="A" && c<="Z") || (c>="a" && c<="z")) { buf = buf + c; } else { buf = buf + " "; } } controle.value = buf; } // mofifie le crédit en cours numéro 1 pour en faire un PH si proprietaire avec un loyer function verifie_ph_proprietaire () { if (document.Formulaire.loyer1.value!="") { if (document.Formulaire.location1.options[document.Formulaire.location1.selectedIndex].value=="N") { document.Formulaire.type_credit1.value="PH"; document.Formulaire.mensualite1.value=document.Formulaire.loyer1.value; alert ("Veuillez encoder les données du prêt hypothécaire\nen fin de formulaire dans la partie\nCrédit en cours n°1"); } } } ////DHB MOD function tri_tab(ar) { var ret=[]; var tmpar=[]; var len=ar.length; if (len==0) { return []; } var tmp,tmp2,less,big,i,j,lessidx,bigidx; tmp=tmp2=ar[0]; for (i=0;itmp2) { tmp2=ar[i]; bigidx=i; } } tmpar[lessidx]=null; tmpar[bigidx]=null; less=tmp; big=tmp2; //alert([big,less]); ret[0]=less; ret[len-1]=big; for (i=1;iless && tmpar[j]-1) { ops=ch.options; len=ops.length; for (i=0;i=0; i--) { if (montant_pret<=montant_taux[i]) { indice = i; } } min_dur=montant_taux_duree[indice][0]; max_dur=montant_taux_duree[indice][1]; // tti = taux_taux[indice]; ttilength = tti.length; // l=poss_durs.length; for (i=0;i=min_dur && tmp_dur<=max_dur) { ardurs[ardurs.length]=tmp_dur; armnt[armnt.length]=montant_pret; for (indiced=tmp_dur; indiced