credit-direct/assets/js/cd_main - Copie.js
2025-12-18 09:44:42 +01:00

2874 lines
144 KiB
JavaScript

console.log(cd_js);
var duree_range = [];
var Timer;
var form_sliders = [];
var authorized_value = ['pat', 'fin_neuve', 'fin_occ_m3a', 'fin_occ_p3a', 'ph', 'am', 'frais_notaire', 'but_immo'];
var map_values = {
'purchasehouse': 'am',
'construction': 'am',
'regrouping': 'am',
'refinancing': 'am',
'purchaseabroad': 'am',
'achat_maison_de_rapport': 'amr',
'credit_pont': 'cdp',
'independants_et_entreprises_en_difficultes': 'cied',
'regroupement_de_credit__rachats_de_credits': 'regroup_cred',
'mobilhome': 'mobil_carav',
'financement_frais_de_notaire': 'frais_notaire',
'fonds_roulement_independants' : 'cied'
};
//Crédit travaux / Rénovation / Energie
form_sliders['but_immo'] = { capital_selected: 20000, capital_max: 90000, capital_step: 100, capital_min: 2500, duree_min: 24, duree_max: 120, durees: [24, 30, 36, 42, 48, 60, 72, 84], pivot_value: 0, sub_pivot_value: 0, title: 'Crédit travaux / Rénovation / Energie', description: '<p class="credit-example">Exemple représentatif : type de crédit = <strong>prêt à tempérament</strong> (travaux) / montant emprunté = 10.001€ / durée = <strong>60 mois</strong> / mensualité = <strong>179,09€</strong> / coût total = 10.745,40€ / TAEG* = <strong>2,90%</strong> / taux débiteur <strong>fixe</strong> = 2,90%.</p><p>*TAEG = Taux Annuel Effectif Global = Taux Débiteur Fixe. Sous réserve de changement des taux et d\'acceptation de votre dossier par nos partenaires financiers.</em></p>' };
//Financement véhicule NEUF
form_sliders['fin_neuve'] = { capital_selected: 20000, capital_max: 100000, capital_step: 500, capital_min: 5000, duree_min: 24, duree_max: 84, durees: [24, 30, 36, 42, 48, 60, 72, 84], pivot_value: 0, sub_pivot_value: 5000, title: 'Financement véhicule NEUF', description: '<p class="credit-example"><em>Exemple représentatif : type de crédit = <strong>prêt à tempérament</strong> (achat auto neuve) / montant emprunté = 15.000€ / durée = <strong>60 mois</strong> / mensualité = <strong>262,73€</strong> / coût total = 15.763,80€ / TAEG* = <strong>1,99%</strong> / taux débiteur <strong>fixe</strong> = 1,99%.</p><p>*TAEG = Taux Annuel Effectif Global = Taux Débiteur Fixe. Sous réserve de changement des taux et d\'acceptation de votre dossier par nos partenaires financiers. </em></p>' };
// Financement véhicule d'occasion PLUS de 3 ans
form_sliders['fin_occ_p3a'] = { capital_selected: 20000, capital_max: 100000, capital_step: 500, capital_min: 5000, duree_min: 24, duree_max: 60, durees: [24, 30, 36, 42, 48, 60], pivot_value: 0, sub_pivot_value: 5000, title: 'Financement véhicule d\'occasion PLUS de 3 ans', description: '<p class="credit-example"><em>Exemple représentatif : type de crédit = <strong>prêt à tempérament</strong> (achat auto plus de 3 ans) / montant emprunté = 7.501€ / durée = <strong>48 mois</strong> / mensualité = <strong>170,74€</strong> / coût total = 8.195,52€ / TAEG* = <strong>4,50%</strong> / taux débiteur <strong>fixe</strong> = 4,50%.</p><p>*TAEG = Taux Annuel Effectif Global = Taux Débiteur Fixe. Sous réserve de changement des taux et d\'acceptation de votre dossier par nos partenaires financiers. </em></p>' };
// Financement véhicule d'occasion MOINS de 3 ans
form_sliders['fin_occ_m3a'] = { capital_selected: 20000, capital_max: 100000, capital_step: 500, capital_min: 5000, duree_min: 24, duree_max: 84, durees: [24, 30, 36, 42, 48, 60, 72, 84], pivot_value: 0, sub_pivot_value: 5000, title: 'Financement véhicule d\'occasion MOINS de 3 ans', description: '<p class="credit-example"><em>Exemple représentatif : type de crédit = <strong>prêt à tempérament</strong> (achat auto moins de 3 ans) / montant emprunté = 10.001€ / durée = <strong>60 mois</strong> / mensualité = <strong>177,32€</strong> / coût total = 10.639,20€ / TAEG* = <strong>2,49%</strong> / taux débiteur <strong>fixe</strong> = 2,49%.</p><p>*TAEG = Taux Annuel Effectif Global = Taux Débiteur Fixe. Sous réserve de changement des taux et d\'acceptation de votre dossier par nos partenaires financiers. </em></p>' };
// Financement véhicule d'occasion MOINS de 3 ans
form_sliders['mobil_carav'] = { capital_selected: 20000, capital_max: 100000, capital_step: 500, capital_min: 10000, duree_min: 24, duree_max: 144, durees: [24, 30, 36, 42, 48, 60, 72, 84, 96, 108, 120, 144], pivot_value: 5000, sub_pivot_value: 0, title: 'Financement mobilhome et caravane', description: '<p class="credit-example"><em>Exemple représentatif : type de crédit = <strong>prêt à tempérament</strong> (achat auto moins de 3 ans) / montant emprunté = 10.001€ / durée = <strong>60 mois</strong> / mensualité = <strong>177,32€</strong> / coût total = 10.639,20€ / TAEG* = <strong>2,49%</strong> / taux débiteur <strong>fixe</strong> = 2,49%.</p><p>*TAEG = Taux Annuel Effectif Global = Taux Débiteur Fixe. Sous réserve de changement des taux et d\'acceptation de votre dossier par nos partenaires financiers. </em></p>' };
// Financement frais de notaire
form_sliders['frais_notaire'] = { capital_selected: 20000, capital_max: 40000, capital_step: 100, capital_min: 2500, duree_min: 24, duree_max: 120, durees: [24, 30, 36, 42, 48, 60, 72, 84, 96, 108, 120], pivot_value: 0, sub_pivot_value: 0, title: 'Financement frais de notaire', description: '<p class="credit-example"><em>Exemple repr&eacute;sentatif</em><em>&nbsp;: type de cr&eacute;dit = <strong>via la loi du cr&eacute;dit hypoth&eacute;caire</strong> (sans prise d&rsquo;hypoth&egrave;que) / montant emprunt&eacute; = 20.000&euro; / dur&eacute;e = <strong>120 mois</strong> / mensualit&eacute; = <strong>211,94&euro;</strong> / co&ucirc;t total = 25.432,80&euro; / TAEG* = <strong>5,10%</strong> / taux d&eacute;biteur <strong>fixe</strong> = 5,10%. </em></p><p><em>*TAEG = Taux Annuel Effectif Global = Taux D&eacute;biteur Fixe. Sous r&eacute;serve de changement des taux et d&rsquo;acceptation de votre dossier par nos partenaires financiers. <br>Uniquement valable aux noms des parents. </em></p>' };
// Prêt personnel : tous motifs, achats divers
form_sliders['pat'] = { capital_selected: 10000, capital_max: 200000, capital_min: 1500, capital_step: 100, duree_min: 24, duree_max: 240, durees: [24, 30, 36, 42, 48, 60, 72, 84, 96, 108, 120, 144, 180, 240], pivot_value: 75000, sub_pivot_value: 0, title: 'Prêt personnel / Tous motifs / Achats divers', description: '<p class="credit-example"><em>Exemple représentatif</em><em> : type de crédit = <strong>prêt à tempérament</strong> (tous motifs) / montant emprunté = 12.500€ / durée = <strong>60 mois</strong> / mensualité = <strong>245,97€</strong> / coût total = 14758,20€ / TAEG* = <strong>6,95%</strong> / taux débiteur <strong>fixe</strong> = 6,95%.</p><p>*TAEG = Taux Annuel Effectif Global = Taux Débiteur Fixe. Sous réserve de changement des taux et d\'acceptation de votre dossier par nos partenaires financiers.</em></p><p><em>*Le taux appliqué est un taux réduit, susceptible d\'évoluer à la hausse ou à la baisse en fonction de votre situation et des conditions bancaires en vigueur.</em></p>' };
// Crédit hypothécaire social (achat maison, construction)
form_sliders['ph'] = { capital_selected: 100000, capital_max: 1000000, capital_min: 25000, capital_step: 1000, duree_min: 10, duree_max: 30, durees: [5, 10, 15, 20, 25, 30], pivot_value: 0, sub_pivot_value: 0, title: 'Crédit hypothécaire', description: '<p class="credit-example"><em>Exemple repr&eacute;sentatif</em><em>&nbsp;: type de cr&eacute;dit = <strong>pr&ecirc;t hypoth&eacute;caire</strong> (formule &laquo;&nbsp;social&nbsp;&raquo; / achat maison / avec frais de notaire) / prix de vente de la maison = 120.000&euro; / assurance vie = 2535&euro; (prime unique pour une personne n&eacute;e le 30/06/92) / frais de notaire = 15.075,12&euro; (achat + cr&eacute;dit) / frais de dossier = 150&euro; / frais d&rsquo;expertise = 150&euro; / assurance incendie = 309,20&euro; (prime annuelle) / budget total = 137.910,12&euro; / fonds propres&nbsp;: 3.410,12&euro; / montant du cr&eacute;dit = 134.500&euro; / dur&eacute;e = <strong>30 ans fixe</strong> / mensualit&eacute; = <strong>506,65&euro;</strong> / taux nominal annuel&nbsp;: 1% fixe / TAEG* indicatif&nbsp;= <strong>1,8249%</strong> / co&ucirc;t total du cr&eacute;dit = 151.995&euro; / quotit&eacute; = 110% </em></p><p><em>*TAEG (Taux Annuel Effectif Global) indicatif est communiqu&eacute; &agrave; titre informatif&nbsp;: le d&eacute;finitif sera int&eacute;gr&eacute; dans l&rsquo;ESIS lors de l&rsquo;&eacute;mission de l&rsquo;offre. Il est calcul&eacute; suivant le montant de l&rsquo;assurance vie et incendie, les frais de dossier, d&rsquo;expertise et d&rsquo;hypoth&egrave;que. Sous r&eacute;serve de changement des taux et d&rsquo;acceptation de votre dossier par nos partenaires financiers.</em></p><p><em>*Le taux calculé est donné à titre indicatif pour une quotité inférieure à 80 %. Il peut légèrement varier à la hausse ou à la baisse en fonction des fluctuations du marché et de la date d&rsquo;application.</em></p>' };
// Crédit hypothécaire classique (achat maison, construction, refinancement, regroupement, travaux, achat à l'étranger)
form_sliders['am'] = { capital_selected: 100000, capital_max: 1000000, capital_min: 25000, capital_step: 1000, duree_min: 10, duree_max: 30, durees: [10, 15, 20, 25, 30], pivot_value: 0, sub_pivot_value: 0, title: 'Crédit hypothécaire classique (achat maison, construction, refinancement, regroupement, travaux, achat à l\'étranger)', description: '<p class="credit-example"><em>Exemple repr&eacute;sentatif</em><em>&nbsp;: type de cr&eacute;dit = <strong>pr&ecirc;t hypoth&eacute;caire</strong> (formule &laquo;&nbsp;classique&nbsp;&raquo; / achat maison / hors frais de notaire) / prix de vente de la maison = 150.000&euro; / assurance vie = 113,04&euro; (prime annuelle pour une personne n&eacute;e le 30/06/92) / frais de notaire = 18.570,70&euro; (achat + cr&eacute;dit) / frais de dossier = 350&euro; / frais d&rsquo;expertise = 250&euro; / </em><em>assurance incendie = 309,20&euro; (prime annuelle) / montant du cr&eacute;dit = 150.000&euro; / dur&eacute;e = <strong>25 ans fixe</strong> / mensualit&eacute; = <strong>678,07&euro;</strong> / taux nominal annuel = 2,60% fixe / TAEG* indicatif&nbsp;= <strong>3,31%</strong> / co&ucirc;t total du cr&eacute;dit = 203.421&euro; / quotit&eacute; = 100% </em></p><p><em>*TAEG (Taux Annuel Effectif Global) indicatif est communiqu&eacute; &agrave; titre informatif&nbsp;: le d&eacute;finitif sera int&eacute;gr&eacute; dans l&rsquo;ESIS lors de l&rsquo;&eacute;mission de l&rsquo;offre. Il est calcul&eacute; suivant le montant de l&rsquo;assurance vie et incendie, les frais de dossier, d&rsquo;expertise et d&rsquo;hypoth&egrave;que. Sous r&eacute;serve de changement des taux et d&rsquo;acceptation de votre dossier par nos partenaires financiers.</em></p><p><em>*Le taux calculé est donné à titre indicatif pour une quotité inférieure à 80 %. Il peut légèrement varier à la hausse ou à la baisse en fonction des fluctuations du marché et de la date d&rsquo;application.</em></p>' };
// Crédit achat maison rapport
form_sliders['amr'] = { capital_selected: 100000, capital_max: 1000000, capital_min: 25000, capital_step: 1000, duree_min: 10, duree_max: 30, durees: [10, 15, 20, 25, 30], pivot_value: 0, sub_pivot_value: 0, title: 'Crédit hypothécaire maison rapport', description: '<p class="credit-example"><em>Exemple repr&eacute;sentatif</em><em>&nbsp;: type de cr&eacute;dit = <strong>pr&ecirc;t hypoth&eacute;caire</strong> (formule &laquo;&nbsp;classique&nbsp;&raquo; / achat maison / hors frais de notaire) / prix de vente de la maison = 150.000&euro; / assurance vie = 113,04&euro; (prime annuelle pour une personne n&eacute;e le 30/06/92) / frais de notaire = 18.570,70&euro; (achat + cr&eacute;dit) / frais de dossier = 350&euro; / frais d&rsquo;expertise = 250&euro; / </em><em>assurance incendie = 309,20&euro; (prime annuelle) / montant du cr&eacute;dit = 150.000&euro; / dur&eacute;e = <strong>25 ans fixe</strong> / mensualit&eacute; = <strong>678,07&euro;</strong> / taux nominal annuel = 2,60% fixe / TAEG* indicatif&nbsp;= <strong>3,31%</strong> / co&ucirc;t total du cr&eacute;dit = 203.421&euro; / quotit&eacute; = 100% </em></p><p><em>*TAEG (Taux Annuel Effectif Global) indicatif est communiqu&eacute; &agrave; titre informatif&nbsp;: le d&eacute;finitif sera int&eacute;gr&eacute; dans l&rsquo;ESIS lors de l&rsquo;&eacute;mission de l&rsquo;offre. Il est calcul&eacute; suivant le montant de l&rsquo;assurance vie et incendie, les frais de dossier, d&rsquo;expertise et d&rsquo;hypoth&egrave;que. Sous r&eacute;serve de changement des taux et d&rsquo;acceptation de votre dossier par nos partenaires financiers.</em></p><p><em>*Le taux calculé est donné à titre indicatif pour une quotité inférieure à 80 %. Il peut légèrement varier à la hausse ou à la baisse en fonction des fluctuations du marché et de la date d&rsquo;application.</em></p>' };
// Crédit pont
form_sliders['cdp'] = { capital_selected: 100000, capital_max: 1000000, capital_min: 25000, capital_step: 1000, duree_min: 10, duree_max: 30, durees: [10, 15, 20, 25, 30], pivot_value: 0, sub_pivot_value: 0, title: 'Crédit pont', description: '<p class="credit-example"><em>Exemple repr&eacute;sentatif</em><em>&nbsp;: type de cr&eacute;dit = <strong>pr&ecirc;t hypoth&eacute;caire</strong> (formule &laquo;&nbsp;classique&nbsp;&raquo; / achat maison / hors frais de notaire) / prix de vente de la maison = 150.000&euro; / assurance vie = 113,04&euro; (prime annuelle pour une personne n&eacute;e le 30/06/92) / frais de notaire = 18.570,70&euro; (achat + cr&eacute;dit) / frais de dossier = 350&euro; / frais d&rsquo;expertise = 250&euro; / </em><em>assurance incendie = 309,20&euro; (prime annuelle) / montant du cr&eacute;dit = 150.000&euro; / dur&eacute;e = <strong>25 ans fixe</strong> / mensualit&eacute; = <strong>678,07&euro;</strong> / taux nominal annuel = 2,60% fixe / TAEG* indicatif&nbsp;= <strong>3,31%</strong> / co&ucirc;t total du cr&eacute;dit = 203.421&euro; / quotit&eacute; = 100% </em></p><p><em>*TAEG (Taux Annuel Effectif Global) indicatif est communiqu&eacute; &agrave; titre informatif&nbsp;: le d&eacute;finitif sera int&eacute;gr&eacute; dans l&rsquo;ESIS lors de l&rsquo;&eacute;mission de l&rsquo;offre. Il est calcul&eacute; suivant le montant de l&rsquo;assurance vie et incendie, les frais de dossier, d&rsquo;expertise et d&rsquo;hypoth&egrave;que. Sous r&eacute;serve de changement des taux et d&rsquo;acceptation de votre dossier par nos partenaires financiers.</em></p><p><em>*Le taux calculé est donné à titre indicatif pour une quotité inférieure à 80 %. Il peut légèrement varier à la hausse ou à la baisse en fonction des fluctuations du marché et de la date d&rsquo;application.</em></p>' };
// Crédit Indépendants et entreprises en difficultés
form_sliders['cied'] = { capital_selected: 100000, capital_max: 1000000, capital_min: 25000, capital_step: 1000, duree_min: 10, duree_max: 30, durees: [10, 15, 20, 25, 30], pivot_value: 0, sub_pivot_value: 0, title: 'Crédit Indépendants et entreprises en difficultés', description: '<p class="credit-example"><em>Exemple repr&eacute;sentatif</em><em>&nbsp;: type de cr&eacute;dit = <strong>pr&ecirc;t hypoth&eacute;caire</strong> (formule &laquo;&nbsp;classique&nbsp;&raquo; / achat maison / hors frais de notaire) / prix de vente de la maison = 150.000&euro; / assurance vie = 113,04&euro; (prime annuelle) / montant du cr&eacute;dit = 150.000&euro; / dur&eacute;e = <strong>25 ans fixe</strong> / mensualit&eacute; = <strong>678,07&euro;</strong> / taux nominal annuel = 2,60% fixe / TAEG* indicatif&nbsp;= <strong>3,31%</strong> / co&ucirc;t total du cr&eacute;dit = 203.421&euro; / quotit&eacute; = 100% </em></p><p><em>*TAEG (Taux Annuel Effectif Global) indicatif est communiqu&eacute; &agrave; titre informatif&nbsp;: le d&eacute;finitif sera int&eacute;gr&eacute; dans l&rsquo;ESIS lors de l&rsquo;&eacute;mission de l&rsquo;offre. Il est calcul&eacute; suivant le montant de l&rsquo;assurance vie et incendie, les frais de dossier, d&rsquo;expertise et d&rsquo;hypoth&egrave;que. Sous r&eacute;serve de changement des taux et d&rsquo;acceptation de votre dossier par nos partenaires financiers.</em></p><p><em>*Le taux calculé est donné à titre indicatif pour une quotité inférieure à 80 %. Il peut légèrement varier à la hausse ou à la baisse en fonction des fluctuations du marché et de la date d&rsquo;application.</em></p>' };
// Regroupement de crédit / rachat de crédit
form_sliders['regroup_cred'] = { capital_selected: 20000, capital_max: 200000, capital_step: 500, capital_min: 5000, duree_min: 24, duree_max: 144, durees: [24, 30, 36, 42, 48, 60, 72, 84, 96, 108, 120, 144], pivot_value: 75000, sub_pivot_value: 0, title: 'Regroupement de crédit / rachat de crédit', description: '<p class="credit-example"><em>Exemple représentatif : type de crédit = <strong>prêt à tempérament</strong> (achat auto moins de 3 ans) / montant emprunté = 10.001€ / durée = <strong>60 mois</strong> / mensualité = <strong>177,32€</strong> / coût total = 10.639,20€ / TAEG* = <strong>2,49%</strong> / taux débiteur <strong>fixe</strong> = 2,49%.</p><p>*TAEG = Taux Annuel Effectif Global = Taux Débiteur Fixe. Sous réserve de changement des taux et d\'acceptation de votre dossier par nos partenaires financiers. </em></p>' };
// Intialize the stimulator on page load
jQuery(function($) {
if ($("#form_wizard").length) {
// onchange_loan_type();
onchange_type_de_credit();
} else if ($(".load_simulator").length) {
//Initialize capital slider
onchange_loan_type();
}
});
// Function to calculate Prêt personnel / Tous motifs / Achats divers
function calculate_pat(selected_capital, selected_duration) {
let annual_rate, min_duration, max_duration, duree_in_range = true, display_observation_pat = false,
add_message = '';
min_duration = 24;
console.log('selected_duration', selected_duration);
console.log('selected_capital', selected_capital);
if (1500 <= parseInt(selected_capital) && parseInt(selected_capital) <= 2500) {
annual_rate = cd_js.groups.pret_personnel__tous_motifs__achats_divers._1500_a_2500;
max_duration = 24;
} else if ((2500 < parseInt(selected_capital) && parseInt(selected_capital) <= 3700)) {
annual_rate = cd_js.groups.pret_personnel__tous_motifs__achats_divers._2501_a_3700;
max_duration = 30;
} else if ((3700 < parseInt(selected_capital) && parseInt(selected_capital) <= 5000)) {
annual_rate = cd_js.groups.pret_personnel__tous_motifs__achats_divers._3701_a_5000;
max_duration = 30;
} else if ((5000 < parseInt(selected_capital) && parseInt(selected_capital) <= 5600)) {
annual_rate = cd_js.groups.pret_personnel__tous_motifs__achats_divers._5001_a_5600;
max_duration = 36;
} else if ((5600 < parseInt(selected_capital) && parseInt(selected_capital) <= 7500)) {
annual_rate = cd_js.groups.pret_personnel__tous_motifs__achats_divers._5601_a_7500;
max_duration = 42;
} else if ((7500 < parseInt(selected_capital) && parseInt(selected_capital) <= 10000)) {
max_duration = 48;
if ((min_duration <= parseInt(selected_duration) && parseInt(selected_duration) <= max_duration)) {
//
} else {
duree_in_range = false;
selected_duration = max_duration;
}
if (selected_duration == 48) {
annual_rate = cd_js.groups.pret_personnel__tous_motifs__achats_divers._7501_a_10000_48_mois;
} else {
annual_rate = cd_js.groups.pret_personnel__tous_motifs__achats_divers._7501_a_10000_24_a_42_mois;
}
} else if ((10000 < parseInt(selected_capital) && parseInt(selected_capital) <= 15000)) {
if (selected_duration < 48) {
annual_rate = cd_js.groups.pret_personnel__tous_motifs__achats_divers._10001_a_15000_24_a_42_mois;
} else {
annual_rate = cd_js.groups.pret_personnel__tous_motifs__achats_divers._10001_a_15000_48_a_60_mois;
}
max_duration = 60;
} else if ((15000 < parseInt(selected_capital) && parseInt(selected_capital) <= 20000)) {
if (24 <= parseInt(selected_duration) && parseInt(selected_duration) <= 42) {
annual_rate = cd_js.groups.pret_personnel__tous_motifs__achats_divers.a_partir_de_15001_24_a_42_mois;
} else {
annual_rate = cd_js.groups.pret_personnel__tous_motifs__achats_divers.a_partir_de_15001_48_a_84_mois;
}
max_duration = 84;
} else if((20000 < parseInt(selected_capital) && parseInt(selected_capital) <= 75001)) {
annual_rate = cd_js.groups.pret_personnel__tous_motifs__achats_divers.a_partir_de_20001_a_75000;
max_duration = 120;
} else if((75001 <= parseInt(selected_capital))) {
annual_rate = cd_js.groups.pret_personnel__tous_motifs__achats_divers.a_partir_de_75000;
display_observation_pat = true;
max_duration = 240;
selected_duration = 240;
}
/* else if ((20000 < parseInt(selected_capital) && parseInt(selected_capital) <= 29999)) {
if (24 <= parseInt(selected_duration) && parseInt(selected_duration) < 48) {
annual_rate = cd_js.groups.pret_personnel__tous_motifs__achats_divers.a_partir_de_20001_24_a_42_mois;
} else {
annual_rate = cd_js.groups.pret_personnel__tous_motifs__achats_divers.a_partir_de_20001_48_a_120_mois;
}
max_duration = 120;
} else if (parseInt(selected_capital) > 29999) {
max_duration = 120;
if (24 <= parseInt(selected_duration) && parseInt(selected_duration) < 48) {
annual_rate = cd_js.groups.pret_personnel__tous_motifs__achats_divers.a_partir_de_30001_24_a_42_mois;
} else {
annual_rate = cd_js.groups.pret_personnel__tous_motifs__achats_divers.a_partir_de_30001_48_a_120_mois;
}
} */
if ((min_duration <= parseInt(selected_duration) && parseInt(selected_duration) <= max_duration)) {
} else {
duree_in_range = false;
selected_duration = max_duration;
}
return [min_duration, max_duration, selected_duration, duree_in_range, annual_rate, add_message]
}
// Function to calculate Crédit hypothécaire
function calculate_ph(selected_capital, selected_duration) {
var annual_rate, min_duration, max_duration;
var duree_in_range = true;
var add_message = '';
min_duration = 5;
max_duration = 30;
annual_rate = cd_js.groups.credit_hypothecaire_social.de_10_a_30_ans;
if ((min_duration <= parseInt(selected_duration) && parseInt(selected_duration) <= max_duration)) {} else {
duree_in_range = false;
selected_duration = max_duration;
}
selected_duration = selected_duration * 12;
return [min_duration, max_duration, selected_duration, duree_in_range, annual_rate, add_message]
}
// Function to calculate Crédit hypothécaire
function calculate_am(selected_capital, selected_duration) {
var annual_rate, min_duration, max_duration;
var duree_in_range = true;
var add_message = '';
for (var i = 10; i <= 30; i++) {
if (parseInt(selected_duration) == i) {
selector = 'credit_hypothecaire_classique.des_' + i + '_ans';
/* console.log(cd_js.groups.credit_hypothecaire_classique['des_' + i + '_ans']); */
annual_rate = cd_js.groups.credit_hypothecaire_classique['des_' + i + '_ans']
}
}
min_duration = 10;
max_duration = 30;
if ((min_duration <= parseInt(selected_duration) && parseInt(selected_duration) <= max_duration)) {} else {
duree_in_range = false;
selected_duration = max_duration;
}
selected_duration = selected_duration * 12;
console.log([min_duration, max_duration, selected_duration, duree_in_range, annual_rate, add_message]);
return [min_duration, max_duration, selected_duration, duree_in_range, annual_rate, add_message]
}
//function to calculate credit with one type of rate between 10 to 30 years
function calculate_mono_rate_bt_10_30(selected_loan_type, selected_capital, selected_duration) {
var annual_rate, min_duration, max_duration, add_message;
var duree_in_range = true;
min_duration = 10;
max_duration = 30;
console.log(selected_loan_type);
annual_rate = cd_js.groups[selected_loan_type].de_10_a_30_ans;
if ((min_duration <= parseInt(selected_duration) && parseInt(selected_duration) <= max_duration)) {} else {
duree_in_range = false;
selected_duration = max_duration;
}
selected_duration = selected_duration * 12;
return [min_duration, max_duration, selected_duration, duree_in_range, annual_rate, add_message]
}
// Function to calculate Financement véhicule NEUF
function calculate_fin_neuve(selected_capital, selected_duration) {
var annual_rate, min_duration, max_duration, add_message;
var duree_in_range = true;
min_duration = 24;
if (2500 == parseInt(selected_capital)) {
annual_rate = cd_js.groups.financement_vehicule_neuf._2500_24_mois;
max_duration = 24;
} else if ((2500 < parseInt(selected_capital) && parseInt(selected_capital) <= 3700)) {
annual_rate = cd_js.groups.financement_vehicule_neuf._2501_a_3700_24_a_30_mois;
max_duration = 30;
} else if ((3700 < parseInt(selected_capital) && parseInt(selected_capital) <= 5600)) {
annual_rate = cd_js.groups.financement_vehicule_neuf._3701_a_5600_24_a_36_mois;
max_duration = 36;
} else if ((5600 < parseInt(selected_capital) && parseInt(selected_capital) <= 7500)) {
annual_rate = cd_js.groups.financement_vehicule_neuf._5601_a_7500_24_a_42_mois;
max_duration = 42;
} else if ((7500 < parseInt(selected_capital) && parseInt(selected_capital) <= 10000)) {
annual_rate = cd_js.groups.financement_vehicule_neuf._7501_a_10000_24_a_48_mois;
max_duration = 48;
} else if ((10000 < parseInt(selected_capital) && parseInt(selected_capital) <= 15000)) {
annual_rate = cd_js.groups.financement_vehicule_neuf.a_partir_de_10001_24_a_60_mois;
max_duration = 60;
} else if ((15000 < parseInt(selected_capital) && parseInt(selected_capital) <= 100000)) {
max_duration = 84;
if ((min_duration <= parseInt(selected_duration) && parseInt(selected_duration) <= max_duration)) {} else {
duree_in_range = false;
selected_duration = max_duration;
}
if (selected_duration < 72) {
annual_rate = cd_js.groups.financement_vehicule_neuf.a_partir_de_15001_24_a_60_mois;
} else {
annual_rate = cd_js.groups.financement_vehicule_neuf.a_partir_de_15001_72_a_84_mois;
}
}
if ((min_duration <= parseInt(selected_duration) && parseInt(selected_duration) <= max_duration)) {} else {
duree_in_range = false;
selected_duration = max_duration;
}
return [min_duration, max_duration, selected_duration, duree_in_range, annual_rate, add_message]
}
// Function to calculate prêt auto occasion - de 3 ans
function calculate_pao_m_3(selected_capital, selected_duration) {
var annual_rate, min_duration, max_duration;
var duree_in_range = true;
var add_message = '';
min_duration = 24;
if (2500 == parseInt(selected_capital)) {
annual_rate = cd_js.groups.financement_vehicule_doccasion_moins_de_3_ans._2500_24_mois;
max_duration = 24;
} else if ((2500 < parseInt(selected_capital) && parseInt(selected_capital) <= 3700)) {
annual_rate = cd_js.groups.financement_vehicule_doccasion_moins_de_3_ans._2501_a_3700_24_a_30_mois;
max_duration = 30;
} else if ((3700 < parseInt(selected_capital) && parseInt(selected_capital) <= 5600)) {
annual_rate = cd_js.groups.financement_vehicule_neuf._3701_a_5600_24_a_36_mois;
max_duration = 36;
} else if ((5600 < parseInt(selected_capital) && parseInt(selected_capital) <= 7500)) {
annual_rate = cd_js.groups.financement_vehicule_doccasion_moins_de_3_ans._5601_a_7500_24_a_42_mois;
max_duration = 42;
} else if ((7500 < parseInt(selected_capital) && parseInt(selected_capital) <= 10000)) {
annual_rate = cd_js.groups.financement_vehicule_doccasion_moins_de_3_ans._7501_a_10000_24_a_48_mois;
max_duration = 48;
} else if ((10000 < parseInt(selected_capital) && parseInt(selected_capital) <= 15000)) {
annual_rate = cd_js.groups.financement_vehicule_doccasion_moins_de_3_ans.a_partir_de_10001_24_a_60_mois;
max_duration = 60;
} else if ((15000 < parseInt(selected_capital) && parseInt(selected_capital) <= 100000)) {
max_duration = 84;
if ((min_duration <= parseInt(selected_duration) && parseInt(selected_duration) <= max_duration)) {} else {
duree_in_range = false;
selected_duration = max_duration;
}
if (selected_duration < 60) {
annual_rate = cd_js.groups.financement_vehicule_doccasion_moins_de_3_ans.a_partir_de_15001_24_a_60_mois;
} else {
annual_rate = cd_js.groups.financement_vehicule_doccasion_moins_de_3_ans.a_partir_de_15001_72_a_84_mois;
}
}
if (!(min_duration <= parseInt(selected_duration) && parseInt(selected_duration) <= max_duration)) {
duree_in_range = false;
selected_duration = max_duration;
}
return [min_duration, max_duration, selected_duration, duree_in_range, annual_rate, add_message]
}
// Function to calculate prêt auto occasion + de 3 ans
function calculate_pao_p_3(selected_capital, selected_duration) {
var annual_rate, min_duration, max_duration;
var duree_in_range = true;
var add_message = '';
min_duration = 24;
if (parseInt(selected_capital) <= 2500) {
annual_rate = cd_js.groups.financement_vehicule_doccasion_plus_de_3_ans._2500_24_mois;
max_duration = 24;
} else if ((2500 < parseInt(selected_capital) && parseInt(selected_capital) <= 3700)) {
annual_rate = cd_js.groups.financement_vehicule_doccasion_plus_de_3_ans._2501_a_3700_24_a_30_mois;
max_duration = 30;
} else if ((3700 < parseInt(selected_capital) && parseInt(selected_capital) <= 5000)) {
max_duration = 36;
if ((min_duration <= parseInt(selected_duration) && parseInt(selected_duration) <= max_duration)) {} else {
duree_in_range = false;
selected_duration = max_duration;
}
if (selected_duration == 36) {
annual_rate = cd_js.groups.financement_vehicule_doccasion_plus_de_3_ans._3701_a_5000_36_mois;
} else {
annual_rate = cd_js.groups.financement_vehicule_doccasion_plus_de_3_ans._3701_a_5000_24_a_30_mois;
}
} else if ((5000 < parseInt(selected_capital) && parseInt(selected_capital) <= 5600)) {
max_duration = 36;
if ((min_duration <= parseInt(selected_duration) && parseInt(selected_duration) <= max_duration)) {} else {
duree_in_range = false;
selected_duration = max_duration;
}
if (selected_duration == 36) {
annual_rate = cd_js.groups.financement_vehicule_doccasion_plus_de_3_ans._5001_a_5600_36_mois;
} else {
annual_rate = cd_js.groups.financement_vehicule_doccasion_plus_de_3_ans._5001_a_5600_24_a_30_mois;
}
} else if ((5600 < parseInt(selected_capital) && parseInt(selected_capital) <= 7500)) {
max_duration = 42;
if ((min_duration <= parseInt(selected_duration) && parseInt(selected_duration) <= max_duration)) {} else {
duree_in_range = false;
selected_duration = max_duration;
}
if (selected_duration == 36) {
annual_rate = cd_js.groups.financement_vehicule_doccasion_plus_de_3_ans._5601_a_7500_36_mois;
} else if (selected_duration == 42) {
annual_rate = cd_js.groups.financement_vehicule_doccasion_plus_de_3_ans._5601_a_7500_42_mois;
} else {
annual_rate = cd_js.groups.financement_vehicule_doccasion_plus_de_3_ans._5601_a_7500_24_a_30_mois;
}
} else if ((7500 < parseInt(selected_capital) && parseInt(selected_capital) <= 10000)) {
max_duration = 48;
if ((min_duration <= parseInt(selected_duration) && parseInt(selected_duration) <= max_duration)) {} else {
duree_in_range = false;
selected_duration = max_duration;
}
if (selected_duration < 36) {
annual_rate = cd_js.groups.financement_vehicule_doccasion_plus_de_3_ans._7501_a_10000_24_a_30_mois;
} else if (selected_duration < 42) {
annual_rate = cd_js.groups.financement_vehicule_doccasion_plus_de_3_ans._7501_a_10000_36_mois;
} else {
annual_rate = cd_js.groups.financement_vehicule_doccasion_plus_de_3_ans._7501_a_10000_42_a_48_mois;
}
} else if ((10000 < parseInt(selected_capital) && parseInt(selected_capital) <= 100000)) {
max_duration = 60;
if ((min_duration <= parseInt(selected_duration) && parseInt(selected_duration) <= max_duration)) {} else {
duree_in_range = false;
selected_duration = max_duration;
}
if (selected_duration < 36) {
annual_rate = cd_js.groups.financement_vehicule_doccasion_plus_de_3_ans.a_partir_de_10001_24_a_30_mois;
} else if (selected_duration < 42) {
annual_rate = cd_js.groups.financement_vehicule_doccasion_plus_de_3_ans.a_partir_de_10001_36_mois;
} else {
annual_rate = cd_js.groups.financement_vehicule_doccasion_plus_de_3_ans.a_partir_de_10001_42_a_48_mois;
}
}
if ((min_duration <= parseInt(selected_duration) && parseInt(selected_duration) <= max_duration)) {} else {
duree_in_range = false;
selected_duration = max_duration;
}
console.log('dureeee', selected_duration);
return [min_duration, max_duration, selected_duration, duree_in_range, annual_rate, add_message]
}
// function to calculate mobilhome
function calculate_mobilhome(selected_capital, selected_duration) {
var annual_rate, min_duration, max_duration;
var duree_in_range = true;
var add_message = '';
min_duration = 24;
if(selected_capital <= 10000){
annual_rate = cd_js.groups.financement_mobilhome_et_caravane_de_moins_de_3_ans.max_10000;
max_duration = 48;
} else if(selected_capital > 10000 && selected_capital <= 15000){
annual_rate = cd_js.groups.financement_mobilhome_et_caravane_de_moins_de_3_ans.de_10001_a_15000;
max_duration = 60;
} else if(selected_capital > 15000 && selected_capital <= 37000){
annual_rate = cd_js.groups.financement_mobilhome_et_caravane_de_moins_de_3_ans.de_15001_a_37000;
max_duration = 120;
} else if(selected_capital > 37000 && selected_capital <= 100000){
annual_rate = cd_js.groups.financement_mobilhome_et_caravane_de_moins_de_3_ans.de_37001_a_100000;
max_duration = 144;
}
if ((min_duration <= parseInt(selected_duration) && parseInt(selected_duration) <= max_duration)) {} else {
duree_in_range = false;
selected_duration = max_duration;
}
return [min_duration, max_duration, selected_duration, duree_in_range, annual_rate, add_message];
}
//function to calculate regroupement de credit
function calculate_regroupement_de_credit(selected_capital, selected_duration) {
var annual_rate, min_duration, max_duration;
var duree_in_range = true;
var add_message = '';
min_duration = 24;
if(selected_capital >= 5000 && selected_capital <= 5600){
annual_rate = cd_js.groups.regroupement_de_credit__rachats_de_credits.de_5000_a_5600;
max_duration = 36;
} else if(selected_capital > 5600 && selected_capital <= 7500){
annual_rate = cd_js.groups.regroupement_de_credit__rachats_de_credits.de_5601_a_7500;
max_duration = 42;
} else if(selected_capital > 7500 && selected_capital <= 10000){
annual_rate = cd_js.groups.regroupement_de_credit__rachats_de_credits.de_7501_a_10000;
max_duration = 48;
} else if(selected_capital > 10000 && selected_capital <= 15000){
annual_rate = cd_js.groups.regroupement_de_credit__rachats_de_credits.de_10001_a_15000;
max_duration = 60;
} else if(selected_capital > 15000 && selected_capital <= 20000){
annual_rate = cd_js.groups.regroupement_de_credit__rachats_de_credits.de_15001_a_20000;
max_duration = 84;
} else if(selected_capital > 20000 && selected_capital <= 60000){
annual_rate = cd_js.groups.regroupement_de_credit__rachats_de_credits.de_20001_a_60000;
max_duration = 120;
} else if(selected_capital > 60000 && selected_capital <= 75000){
annual_rate = cd_js.groups.regroupement_de_credit__rachats_de_credits.de_60001_a_75000;
max_duration = 120;
} else if(selected_capital > 75000 && selected_capital <= 100000){
annual_rate = cd_js.groups.regroupement_de_credit__rachats_de_credits.de_75001_a_100000;
max_duration = 144;
}
if ((min_duration <= parseInt(selected_duration) && parseInt(selected_duration) <= max_duration)) {} else {
duree_in_range = false;
selected_duration = max_duration;
}
return [min_duration, max_duration, selected_duration, duree_in_range, annual_rate, add_message];
}
// Function to calculate Financement frais de notaire
function calculate_frais_notaire(selected_capital, selected_duration) {
var annual_rate, min_duration, max_duration;
var duree_in_range = true;
var add_message = '';
min_duration = 24;
if ((2500 < parseInt(selected_capital) && parseInt(selected_capital) <= 15000)) {
annual_rate = cd_js.groups.financement_frais_de_notaire.de_2500_a_15000_24_a_60_mois;
max_duration = 60;
} else if ((15000 < parseInt(selected_capital) && parseInt(selected_capital) <= 40000)) {
annual_rate = cd_js.groups.financement_frais_de_notaire.de_15001_a_40000_24_a_120_mois;
max_duration = 120;
}
if ((min_duration <= parseInt(selected_duration) && parseInt(selected_duration) <= max_duration)) {} else {
duree_in_range = false;
selected_duration = max_duration;
}
return [min_duration, max_duration, selected_duration, duree_in_range, annual_rate, add_message]
}
// Function to calculate travaux / Rénovation / Energie
function calculate_but_immo(selected_capital, selected_duration) {
var annual_rate, min_duration, max_duration;
var duree_in_range = true;
var add_message = '';
min_duration = 24;
if (2500 == parseInt(selected_capital)) {
annual_rate = cd_js.groups.credit_travaux__renovation__energie._2500_24_mois;
max_duration = 24;
} else if ((2500 < parseInt(selected_capital) && parseInt(selected_capital) <= 3700)) {
annual_rate = cd_js.groups.credit_travaux__renovation__energie._2501_a_3700_24_a_30_mois;
max_duration = 30;
} else if ((3700 < parseInt(selected_capital) && parseInt(selected_capital) <= 5600)) {
max_duration = 36;
if ((min_duration <= parseInt(selected_duration) && parseInt(selected_duration) <= max_duration)) {} else {
duree_in_range = false;
selected_duration = max_duration;
}
if (selected_duration == 36) {
annual_rate = cd_js.groups.credit_travaux__renovation__energie._3701_a_5600_36_mois;
} else {
annual_rate = cd_js.groups.credit_travaux__renovation__energie._3701_a_5600_24_a_30_mois;
}
} else if ((5600 < parseInt(selected_capital) && parseInt(selected_capital) <= 7500)) {
max_duration = 42;
if ((min_duration <= parseInt(selected_duration) && parseInt(selected_duration) <= max_duration)) {} else {
duree_in_range = false;
selected_duration = max_duration;
}
if (selected_duration == 42) {
annual_rate = cd_js.groups.credit_travaux__renovation__energie._5601_a_7500_42_mois;
} else if (selected_duration == 36) {
annual_rate = cd_js.groups.credit_travaux__renovation__energie._3701_a_5600_36_mois;
} else {
annual_rate = cd_js.groups.credit_travaux__renovation__energie._5601_a_7500_24_a_30_mois;
}
} else if ((7500 < parseInt(selected_capital) && parseInt(selected_capital) <= 10000)) {
max_duration = 48;
if ((min_duration <= parseInt(selected_duration) && parseInt(selected_duration) <= max_duration)) {} else {
duree_in_range = false;
selected_duration = max_duration;
}
if (selected_duration < 36) {
annual_rate = cd_js.groups.credit_travaux__renovation__energie._7501_a_10000_24_a_30_mois;
} else if (selected_duration < 42) {
annual_rate = cd_js.groups.credit_travaux__renovation__energie._7501_a_10000_36_mois;
} else {
annual_rate = cd_js.groups.credit_travaux__renovation__energie._7501_a_10000_42_a_48_mois;
}
} else if ((10000 < parseInt(selected_capital) && parseInt(selected_capital) <= 15000)) {
max_duration = 60;
if ((min_duration <= parseInt(selected_duration) && parseInt(selected_duration) <= max_duration)) {} else {
duree_in_range = false;
selected_duration = max_duration;
}
if (selected_duration < 36) {
annual_rate = cd_js.groups.credit_travaux__renovation__energie._10001_a_15000_24_a_30_mois;
} else if (selected_duration < 42) {
annual_rate = cd_js.groups.credit_travaux__renovation__energie._10001_a_15000_36_mois;
} else {
annual_rate = cd_js.groups.credit_travaux__renovation__energie._10001_a_15000_42_a_60_mois;
}
} else if ((15000 < parseInt(selected_capital) && parseInt(selected_capital) <= 20000)) {
max_duration = 84;
if ((min_duration <= parseInt(selected_duration) && parseInt(selected_duration) <= max_duration)) {} else {
duree_in_range = false;
selected_duration = max_duration;
}
if (selected_duration < 36) {
annual_rate = cd_js.groups.credit_travaux__renovation__energie.a_partir_de_15001_24_a_30_mois;
} else if (selected_duration < 42) {
annual_rate = cd_js.groups.credit_travaux__renovation__energie._a_partir_de_15001_36_mois;
} else if (selected_duration < 72) {
annual_rate = cd_js.groups.credit_travaux__renovation__energie._a_partir_de_15001_42_a_60_mois;
} else {
annual_rate = cd_js.groups.credit_travaux__renovation__energie.a_partir_de_15001_72_a_84_mois;
}
} else if ((20000) < parseInt(selected_capital)) {
max_duration = 120;
if ((min_duration <= parseInt(selected_duration) && parseInt(selected_duration) <= max_duration)) {} else {
duree_in_range = false;
selected_duration = max_duration;
}
if (selected_duration < 36) {
annual_rate = cd_js.groups.credit_travaux__renovation__energie.a_partir_de_20001_24_a_30_mois;
} else if (selected_duration < 42) {
annual_rate = cd_js.groups.credit_travaux__renovation__energie.a_partir_de_20001_36_mois;
} else if (selected_duration < 72) {
annual_rate = cd_js.groups.credit_travaux__renovation__energie.a_partir_de_20001_42_a_60_mois;
} else if (selected_duration < 96) {
annual_rate = cd_js.groups.credit_travaux__renovation__energie.a_partir_de_20001_72_a_84_mois;
} else {
annual_rate = cd_js.groups.credit_travaux__renovation__energie.a_partir_de_20001_96_a_120_mois;
}
}
if ((min_duration <= parseInt(selected_duration) && parseInt(selected_duration) <= max_duration)) {} else {
duree_in_range = false;
selected_duration = max_duration;
}
return [min_duration, max_duration, selected_duration, duree_in_range, annual_rate, add_message]
}
//Function to calculate mensulate for all forms
function calculate_mensualite() {
var selected_duration, selected_capital;
selected_duration = jQuery('#selected_months').val();
selected_capital = jQuery('#selected_capital').val();
var results, stimulator_value, min_duration, max_duration, duree_in_range, annual_rate, add_messages, loan_type, sub_loan_radio_type;
loan_type = jQuery('#loan_type').val(),
loan_radio_type = jQuery('.loan_type:checked').length ? jQuery('.loan_type:checked').val() : '',
sub_loan_radio_type = jQuery('.sub_loan_type:checked').length ? jQuery('.sub_loan_type:checked').val() : '',
sub_auto_radio_type = jQuery('.sub_auto_loan_type:checked').length ? jQuery('.sub_auto_loan_type:checked').val() : '';
/* if (sub_loan_radio_type != '')
loan_type = loan_radio_type; */
if (sub_loan_radio_type != '' && authorized_value.includes(sub_loan_radio_type)) {
loan_type = sub_loan_radio_type;
} else if (map_values[sub_loan_radio_type] !== 'undefined') {
loan_type = map_values[sub_loan_radio_type];
}
if (sub_auto_radio_type != '')
loan_type = sub_auto_radio_type;
/* console.log(selected_capital);
console.log(JSON.stringify(selected_duration)); */
switch (loan_type) {
case 'pat':
results = calculate_pat(selected_capital, selected_duration);
break;
case 'fin_neuve':
results = calculate_fin_neuve(selected_capital, selected_duration);
break;
case 'fin_occ_m3a':
results = calculate_pao_m_3(selected_capital, selected_duration);
break;
case 'fin_occ_p3a':
results = calculate_pao_p_3(selected_capital, selected_duration);
break;
case 'ph':
results = calculate_ph(selected_capital, selected_duration);
break;
case 'am':
results = calculate_am(selected_capital, selected_duration);
break;
case 'frais_notaire':
results = calculate_frais_notaire(selected_capital, selected_duration);
break;
case 'but_immo':
results = calculate_but_immo(selected_capital, selected_duration);
break;
case 'amr':
case 'cdp':
case 'cied':
results = calculate_mono_rate_bt_10_30(sub_loan_radio_type, selected_capital, selected_duration);
break;
case 'mobil_carav':
results = calculate_mobilhome(selected_capital, selected_duration);
break;
case 'regroup_cred':
results = calculate_regroupement_de_credit(selected_capital, selected_duration);
break;
}
/* console.log(loan_type); */
console.log('results', results);
min_duration = results[0];
max_duration = results[1];
selected_duration = results[2];
duree_in_range = results[3];
annual_rate = parseFloat(results[4]);
add_messages = results[5];
function calc_mens(mnt, dur, taeg) {
// Pour le crédit pont, on ne calcule que les intérêts
if (loan_type === 'cdp') {
var t100 = taeg / 100;
var mens = (mnt * t100) / 12; // Calcul des intérêts mensuels uniquement
return Math.floor(mens * 100) / 100;
}
// Pour les autres types de crédit, calcul normal
var dur12 = dur / 12;
var t100 = taeg / 100;
var t101 = 1 + t100;
var d12 = 1 / 12;
var buf1 = Math.pow(t101, d12);
var buf2 = Math.pow(1 / t101, dur12);
var mens = (mnt * (buf1 - 1)) / (1 - buf2),
ag = (mens * dur) - mnt;
var tauxc = (ag * 100) / (mnt * dur);
console.log(dur);
if (loan_type == 'am') {
console.log(dur + ' : ' + buf2);
}
return Math.floor(mens * 100) / 100;
}
function get_credit_infos(selected_capital, duration) {
let rtr_array = {};
switch (loan_type) {
case 'pat':
results_info = calculate_pat(selected_capital, duration);
break;
case 'fin_neuve':
results_info = calculate_fin_neuve(selected_capital, duration);
break;
case 'fin_occ_m3a':
results_info = calculate_pao_m_3(selected_capital, duration);
break;
case 'fin_occ_p3a':
results_info = calculate_pao_p_3(selected_capital, duration);
break;
case 'ph':
results_info = calculate_ph(selected_capital, duration);
break;
case 'am':
results_info = calculate_am(selected_capital, duration);
break;
case 'frais_notaire':
results_info = calculate_frais_notaire(selected_capital, duration);
break;
case 'but_immo':
results_info = calculate_but_immo(selected_capital, duration);
break;
case 'cied':
case 'cdp':
case 'amr':
results_info = calculate_mono_rate_bt_10_30(sub_loan_radio_type, selected_capital, duration);
break;
}
rtr_array['min_duration'] = results_info[0];
rtr_array['max_duration'] = results_info[1];
rtr_array['annual_rate'] = parseFloat(results_info[4]);
return parseFloat(rtr_array['annual_rate']);
}
function calc_mens_all(mnt) {
let mens_array = {},
duree = form_sliders[loan_type]['durees'];
var loan_type_in_years = ['am', 'amr', 'cdp', 'cied', 'ph'];
min_duration = form_sliders[loan_type]['duree_min'];
max_duration = form_sliders[loan_type]['duree_max'];
for (i = 0; i < duree.length; i++) {
if (duree[i] >= min_duration && duree[i] <= max_duration) {
var duree_in_month = duree[i];
global_annual_rate = get_credit_infos(mnt, duree[i]);
/* if (loan_type == 'am') */
if(loan_type_in_years.includes(loan_type))
duree_in_month = duree_in_month * 12;
mens_array[duree[i]] = calc_mens(mnt, duree_in_month, global_annual_rate);
}
}
return mens_array;
}
stimulator_value = calc_mens(selected_capital, selected_duration, annual_rate);
//Adjust the month duration selector to minimum or maximum allowed amount
stimulator_value = stimulator_value.toFixed(2);
console.log(stimulator_value);
/* console.log(selected_capital);
console.log(selected_duration);
console.log(annual_rate); */
let simulateur_all_mensualite = calc_mens_all(selected_capital);
var loan_type_in_years = ['am', 'amr', 'cdp', 'cied', 'ph'];
if (loan_type_in_years.includes(loan_type)) {
var selected_duration_fortmated = selected_duration / 12;
/* if(loan_type == 'ph' || loan_type == 'am')
var selected_duration_fortmated = selected_duration / 12;
else
var selected_duration_fortmated = selected_duration; */
var duree_suffix = " ans";
jQuery('label[for="selected_months"]').html('Durée choisie (nombre d\'années)');
} else {
var selected_duration_fortmated = selected_duration;
var duree_suffix = " mois";
jQuery('label[for="selected_months"]').html('Durée choisie (nombre de mensualités)');
}
if (jQuery(".mini-stimulator").length) {} else {
console.log('selected_duration_fortmated', selected_duration_fortmated);
change_duree(min_duration, max_duration, selected_duration_fortmated);
}
let duree_value = jQuery('.limit-warning').length ? '--' : selected_duration_fortmated + duree_suffix;
jQuery('.montant_value').html(number_format(selected_capital, 0, ',', '.'));
jQuery('.duree_value').html(duree_value);
jQuery('.montant_total_value').html(number_format(stimulator_value, 2, ',', '.'));
jQuery('.cout_total_value').html(number_format((stimulator_value * selected_duration), 2, ',', '.'));
jQuery('.taeg_value').html(annual_rate.toFixed(2) + ' %');
/* jQuery('#taeg_value_2').html(annual_rate.toFixed(2) + '%'); */
jQuery('.taux_debiteur_fixe_value').html(annual_rate.toFixed(2) + ' %');
/* jQuery('#additional_messages').html(add_messages); */
if (jQuery('#loan_type').length) {
jQuery('#loan_type').val(loan_type);
}
if (jQuery('#hidden_montant_total_value').length) {
jQuery('#hidden_montant_total_value').val(number_format(stimulator_value, 2, ',', '.'));
}
if (jQuery('#hidden_cout_total_value').length) {
jQuery('#hidden_cout_total_value').val(number_format((stimulator_value * selected_duration), 2, ',', '.'));
}
if (jQuery('#hidden_taeg_value').length) {
jQuery('#hidden_taeg_value').val(annual_rate.toFixed(2) + '%');
}
if (jQuery('#estateloantype').length) {
jQuery('#estateloantype').val(sub_loan_radio_type);
}
/**print all mensualite for the different period */
for (property in simulateur_all_mensualite) {
/* class_name = loan_type == 'am' ? property + '_ans' : 'mens_' + property; */
class_name = loan_type_in_years.includes(loan_type) ? property + '_ans' : 'mens_' + property;
jQuery('.date-range-buttons .' + class_name).text(simulateur_all_mensualite[property] + ' €');
}
}
//Create an onchange event for Type de prêt
jQuery(document).on('change', '#loan_type, .loan_type, .sub_loan_type', function() {
console.log('change');
onchange_loan_type();
});
jQuery(document).on('change', '.sub_auto_loan_type', function(e) {
console.log('sub-change');
onchange_loan_type();
});
/* jQuery('.loan_type').change(function() {
onchange_loan_type();
}); */
jQuery('#credit-direct-accordion').accordion({
collapsible: true,
active: false,
heightStyle: "content"
});
jQuery("#credit-direct-accordion .ui-accordion-header").click(function() {
jQuery(this)
.children("i")
.toggleClass("fa-plus-circle fa-minus-circle");
jQuery(".ui-accordion-header")
.not(jQuery(this))
.children("i")
.removeClass("fa-minus-circle");
jQuery(".ui-accordion-header")
.not(jQuery(this))
.children("i")
.addClass("fa-plus-circle");
});
// Function to perform when loan is changed
function onchange_loan_type(type = 'select') {
var form_data = [];
var form_desc = [];
var selected = jQuery('#loan_type').val(),
loan_radio_type = jQuery('.loan_type:checked').length ? jQuery('.loan_type:checked').val() : '',
sub_loan_radio_type = jQuery('.sub_loan_type:checked').length ? jQuery('.sub_loan_type:checked').val() : '',
sub_auto_radio_type = jQuery('.sub_auto_loan_type:checked').length ? jQuery('.sub_auto_loan_type:checked').val() : '',
input_label = '',
sub_input_label;
jQuery('.sub_loan_type, .sub_auto_loan_type').parent('.form_check').find('.form-check-label').removeClass('active');
if (jQuery('.sub_loan_type:checked').parent('.form_check').find('.form-check-label').length) {
input_label = jQuery('.sub_loan_type:checked, .sub_auto_loan_type:checked').parent('.form_check').find('.form-check-label');
if (!input_label.hasClass('active'))
input_label.addClass('active');
}
if (loan_radio_type != '') {
/* console.log(loan_radio_type); */
selected = loan_radio_type;
}
if (sub_loan_radio_type != '') {
if (authorized_value.includes(sub_loan_radio_type)) {
selected = sub_loan_radio_type;
} else if (map_values[sub_loan_radio_type] !== 'undefined') {
selected = map_values[sub_loan_radio_type];
}
}
/* if (sub_auto_radio_type != '')
selected = sub_auto_radio_type; */
//Define slider values
console.log(form_sliders.selected);
duree_range = form_sliders[selected].durees;
jQuery('.disclaimer').html(form_sliders[selected].description);
if (jQuery(".mini-stimulator").length) {
jQuery('.type_pret_value').html(form_sliders[selected].title);
} else {
if ((selected == "ph") || (selected == "am")) {
change_duree(form_sliders[selected].duree_min, form_sliders[selected].duree_max, form_sliders[selected].duree_max);
jQuery('#selected_months').val(30);
} else {
change_duree(form_sliders[selected].duree_min, form_sliders[selected].duree_max, form_sliders[selected].duree_max);
jQuery('#selected_months').val(form_sliders[selected].duree_max);
}
console.log(jQuery('#selected_months').val());
change_capital_slider(form_sliders[selected].capital_min, form_sliders[selected].capital_max, form_sliders[selected].capital_selected);
change_month_slider(form_sliders[selected].duree_min, form_sliders[selected].duree_max, form_sliders[selected].duree_max);
update_capital_input();
//if ((selected == "ph") || (selected == "am") || (selected =="frais_notaire")) {
if ((selected == "ph") || (selected == "am")) {
jQuery('.disclaimer-results').html('<p><em>TAEG : suite &agrave; la nouvelle l&eacute;gislation en vigueur depuis le 01/04/2017, le TAEG (Taux Annuel Effectif Global) devra vous &ecirc;tre communiqu&eacute; dans le cadre d&rsquo;une demande de cr&eacute;dit hypoth&eacute;caire. Il sera calcul&eacute; en fonction des frais li&eacute;s au cr&eacute;dit. Le TAEG vous sera communiqu&eacute; &agrave; votre demande, ou lors de la r&eacute;ception de votre demande de cr&eacute;dit.<u> <a title="Informations compl&egrave;tes via ce lien" href="http://credit-direct.be/infos-pratiques/modification-de-la-legislation-relative-au-credit-logement-hypothecaire/" target="_blank">Informations compl&egrave;tes via ce lien</a></u>.</em></p>');
jQuery('#stimulator_label_tdf_1').hide();
jQuery('#stimulator_label_tdf_2').show();
jQuery('.but_credit_immo').slideDown();
} else {
jQuery('.disclaimer-results').html('');
jQuery('#stimulator_label_tdf_1').show();
jQuery('#stimulator_label_tdf_2').hide();
if (jQuery('.but_credit_immo').is(':visible'))
jQuery('.but_credit_immo').slideUp();
}
if (selected == 'fin_neuve' || selected == 'fin_occ_m3a' || selected == 'fin_occ_p3a' || selected == 'mobilhome') {
/* let sub_auto_elem = '<div class="form_group row loan_type_radio sub_auto">' +
'<div class="form_check col-md-4">' +
'<input class="form-check-input sub_auto_loan_type" type="radio" name="sub_auto_loan_type" id="sub_fin_neuve" value="fin_neuve" data-page="achat-vehicule-auto-moto-caravane">' +
'<label class="form-check-label" for="sub_fin_neuve"><i class="glyphicon icon-car-neuve" aria-hidden="true"></i> <span class="label_text">Financement auto neuve</span></label>' +
'</div>' +
'<div class="form_check col-md-4">' +
'<input class="form-check-input sub_auto_loan_type" type="radio" name="sub_auto_loan_type" id="sub_fin_occ_m3a" value="fin_occ_m3a" data-page="achat-vehicule-auto-moto-caravane">' +
'<label class="form-check-label" for="sub_fin_occ_m3a"><i class="glyphicon icon-car-light" aria-hidden="true"></i> <span class="label_text">Financement auto d\'occasion &lt; 3 ans</span></label>' +
'</div>' +
'<div class="form_check col-md-4">' +
'<input class="form-check-input sub_auto_loan_type" type="radio" name="sub_auto_loan_type" id="sub_fin_occ_p3a" value="fin_occ_p3a" data-page="achat-vehicule-auto-moto-caravane">' +
'<label class="form-check-label" for="sub_fin_occ_p3a"><i class="glyphicon icon-car-old" aria-hidden="true"></i> <span class="label_text">Financement auto d\'occasion &gt; 3 ans</span></label>' +
'</div>' +
'</div>'; */
/* let sub_auto_elem = jQuery('#select_subradio_auto');
if (!jQuery('.sub_auto').length) {
console.log('auto!!!');
jQuery(sub_auto_elem).insertAfter('.loan_type_radio');
} else if (!jQuery('.sub_auto').is(':visible')) {
jQuery('.sub_auto').slideDown();
} */
/* jQuery('.sub_auto').slideDown(); */
} else {
console.log('bhbj');
if (jQuery('.sub_auto').is(':visible')) {
/* jQuery('.sub_auto').slideUp(); */
jQuery('.sub_auto_loan_type').prop('checked', false);
}
}
if ((selected == "ph") || (selected == "am")) {
change_month_slider(5, 30, jQuery('#selected_months').val());
/*jQuery("#duree_slider").css("display", "block");
jQuery("#date-range-selector").css("display", "none"); */
} else {
console.log(jQuery('#selected_months').val());
/* jQuery("#duree_slider").css("display", "none"); */
/* jQuery("#date-range-selector").css("display", "block"); */
jQuery('#selected_months').val(jQuery('#selected_months').val());
}
}
/*
* display the info for the different loan type
*/
//get the group of the selected loan type
var group = form_sliders[selected].group;
var info = [];
console.log('info', info);
console.log('selected', cd_js.groups[sub_loan_radio_type]);
console.log('loan_type', sub_loan_radio_type);
/**
* if loan type has infos, show the credit_infos div
*/
if(cd_js.groups[sub_loan_radio_type] && cd_js.groups[sub_loan_radio_type].infos){
info = cd_js.groups[sub_loan_radio_type].infos;
jQuery('.credit_infos .notice-info').html(info);
jQuery('.credit_infos').slideDown();
} else {
if(jQuery('.credit_infos').is(':visible')){
jQuery('.credit_infos .notice-info').html('');
jQuery('.credit_infos').slideUp();
}
}
calculate_mensualite();
}
// Detect capital change
jQuery('#selected_capital').on('input', function(e) {
jQuery('#selected_capital').on('keyup', function() {
clearTimeout(Timer);
sel_val = jQuery('#selected_capital').val();
/* jQuery('#selected_capital').val(sel_val + 1); */
Timer = setTimeout(delayed_capital_chnage, 20);
});
});
jQuery('#selected_capital').on('blur', function() {
display_alert_capital();
});
// Action to do on capital value change
function on_slider_value_change() {
console.log('cgcgh');
var selected = jQuery('#loan_type').val();
var loan_radio_type = jQuery('.loan_type:checked').length ? jQuery('.loan_type:checked').val() : '',
sub_loan_radio_type = jQuery('.sub_loan_type:checked').length ? jQuery('.sub_loan_type:checked').val() : '';
if (loan_radio_type != '')
selected = loan_radio_type;
if (sub_loan_radio_type != '') {
if (authorized_value.includes(sub_loan_radio_type)) {
selected = sub_loan_radio_type;
} else if (map_values[sub_loan_radio_type] !== 'undefined') {
selected = map_values[sub_loan_radio_type];
}
}
var capital_min = form_sliders[selected].capital_min;
var capital_max = form_sliders[selected].capital_max;
var selected_capital = jQuery('#selected_capital').val();
if (!(selected == 'ph' || selected == 'am')) {
jQuery('#selected_months').val(200);
}
calculate_mensualite();
/* change_duree(form_sliders[selected].duree_min, form_sliders[selected].duree_max, form_sliders[selected].duree_max) */
change_capital_slider(capital_min, capital_max, selected_capital);
}
function display_alert_capital() {
var selected_capital = jQuery('#selected_capital').val();
var selected = jQuery('#loan_type').val(),
selected_radio = jQuery('.loan_type:checked').length ? jQuery('.loan_type:checked').val() : '',
sub_loan_radio_type = jQuery('.sub_loan_type:checked').length ? jQuery('.sub_loan_type:checked').val() : '';;
if (selected_radio != '')
selected = selected_radio;
if (sub_loan_radio_type != '') {
if (authorized_value.includes(sub_loan_radio_type)) {
selected = sub_loan_radio_type;
} else if (map_values[sub_loan_radio_type] !== 'undefined') {
selected = map_values[sub_loan_radio_type];
}
}
var capital_max = form_sliders[selected].capital_max;
var capital_min = form_sliders[selected].capital_min;
if (jQuery('.limit-warning').length) {
jQuery('.limit-warning').slideUp();
jQuery('.limit-warning').remove();
}
if (!((selected_capital > capital_min) && (selected_capital < capital_max))) {
if ((selected_capital <= capital_min)) {
jQuery('.second-col').prepend('<div class="alert alert-warning limit-warning">Le montant minimum requis est de ' + capital_min + '€</div>');
} else {
jQuery('.second-col').prepend('<div class="alert alert-warning limit-warning">Le montant maximum est de ' + capital_max + '€</div>');
}
}
}
// Get keystroke stop on capital value
function delayed_capital_chnage() {
var selected_capital_range = '#selected_capital_range';
var selected = jQuery('#loan_type').val(),
loan_radio_type = jQuery('.loan_type:checked').length ? jQuery('.loan_type:checked').val() : '',
sub_loan_radio_type = jQuery('.sub_loan_type:checked').length ? jQuery('.sub_loan_type:checked').val() : '';
var selected_capital = jQuery('#selected_capital').val();
if (loan_radio_type != '') {
selected = loan_radio_type;
}
if (sub_loan_radio_type != '') {
if (authorized_value.includes(sub_loan_radio_type)) {
selected = sub_loan_radio_type;
} else if (map_values[sub_loan_radio_type] !== 'undefined') {
selected = map_values[sub_loan_radio_type];
}
}
var capital_max = form_sliders[selected].capital_max;
var capital_min = form_sliders[selected].capital_min;
var simu_button = document.querySelector('.stimulator_result_btn');
if (jQuery('.limit-warning').length) {
jQuery('.limit-warning').slideUp();
jQuery('.limit-warning').remove();
}
if ((selected_capital >= capital_min) && (selected_capital <= capital_max)) {
if (jQuery('.stimulator_result_btn').is(':disabled'))
jQuery('.stimulator_result_btn').removeAttr('disabled');
on_slider_value_change();
} else {
if (!((selected_capital > capital_min) && (selected_capital < capital_max))) {
if ((selected_capital <= capital_min)) {
if (!(selected == 'ph' || selected == 'am')) {
/* jQuery('#selected_capital').val(capital_min); */
/* jQuery('.second-col').prepend('<div class="alert alert-warning limit-warning">Le montant minimum requis est de ' + capital_min + '€</div>'); */
let elem = '<p class="limit-warning">Le montant minimum requis est de ' + capital_min + '€</p>';
jQuery(elem).insertBefore('.stimulator_result_btn');
/* jQuery(('<p class="limit-warning">Le montant minimum requis est de ' + capital_min + '€</p>').insertBefore('.stimulator_result_btn')); */
}
} else {
/* jQuery('#selected_capital').val(capital_max); */
/* jQuery('.second-col').prepend('<div class="alert alert-warning limit-warning">Le montant maximum est de ' + capital_max + '€</div>'); */
jQuery('<p class="limit-warning">Le montant maximum requis est de ' + capital_max + '€</p>').insertBefore('.stimulator_result_btn');
}
jQuery('.stimulator_result_btn').prop('disabled', true);
on_slider_value_change();
}
}
}
// Check if duration changed
jQuery(function() {
jQuery(document).on('click', '.duree-btn', function() {
if (jQuery(this).hasClass('months-active')) {
jQuery('#selected_months').val(jQuery(this).data('duree'));
calculate_mensualite();
}
});
});
//Change month values
function change_duree(default_min, default_max, selected_value) {
var list = '';
var list_class = '',
loan_type = jQuery('#loan_type').val(),
loan_radio_type = jQuery('.loan_type:checked').length ? jQuery('.loan_type:checked').val() : '',
sub_loan_radio_type = jQuery('.sub_loan_type:checked').length ? jQuery('.sub_loan_type:checked').val() : '',
class_name = 'mens_',
selected_capital = jQuery('#selected_capital').val(),
monthly_low = 0,
monthly_high = 0,
capital_min = 0,
capital_max = 0;
// Déplacer la définition de loan_type_in_years ici, en dehors de la boucle
var loan_type_in_years = ['am', 'amr', 'cdp', 'cied'];
if (loan_radio_type != '')
loan_type = loan_radio_type;
if (selected_capital == '') {
selected_capital = form_sliders[loan_type]['capital_selected'];
}
if (sub_loan_radio_type != '') {
if (authorized_value.includes(sub_loan_radio_type)) {
loan_type = sub_loan_radio_type;
} else if (map_values[sub_loan_radio_type] !== 'undefined') {
loan_type = map_values[sub_loan_radio_type];
}
}
capital_min = form_sliders[loan_type]['capital_min'];
capital_max = form_sliders[loan_type]['capital_max'];
switch (loan_type) {
case 'pat':
results = calculate_pat(selected_capital, selected_value);
break;
case 'fin_neuve':
results = calculate_fin_neuve(selected_capital, selected_value);
break;
case 'fin_occ_m3a':
results = calculate_pao_m_3(selected_capital, selected_value);
break;
case 'fin_occ_p3a':
results = calculate_pao_p_3(selected_capital, selected_value);
break;
case 'ph':
results = calculate_ph(selected_capital, selected_value);
break;
case 'am':
results = calculate_am(selected_capital, selected_value);
break;
case 'frais_notaire':
results = calculate_frais_notaire(selected_capital, selected_value);
break;
case 'but_immo':
results = calculate_but_immo(selected_capital, selected_value);
break;
case 'mobil_carav':
results = calculate_mobilhome(selected_capital, selected_value);
break;
case 'regroup_cred':
results = calculate_regroupement_de_credit(selected_capital, selected_value);
break;
}
monthly_low = results[0];
monthly_high = results[1];
console.log('monthly_low', monthly_low);
console.log('monthly_high', monthly_high);
var validDurees = [];
// Filtrer d'abord les durées valides
for (var j = 0; j < duree_range.length; j++) {
if ((monthly_low <= parseInt(duree_range[j]) && parseInt(duree_range[j]) <= monthly_high)) {
validDurees.push(duree_range[j]);
}
}
var startIndex = Math.max(0, validDurees.length - 4);
console.log(duree_range[startIndex]);
console.log(selected_capital);
console.log(results);
console.log(startIndex);
console.log(validDurees);
console.log('default_max', default_max);
console.log('default_min', default_min);
console.log('sel duree', selected_value);
if (jQuery('#selected_capital').val() < capital_min) {
list = '<li>La somme minimale est de ' + capital_min + '€</li>';
} else if (jQuery('#selected_capital').val() > capital_max) {
list = '<li>La somme maximale est de ' + capital_max + '€</li>';
} else {
/* for (var i = 0; i < duree_range.length; i++) { */
for (var i = startIndex; i < validDurees.length; i++) {
var periodicite = ' mois';
// Supprimer la redéfinition de loan_type_in_years ici
if (loan_type_in_years.includes(loan_type)) {
class_name = validDurees[i] + '_ans';
periodicite = ' ans';
} else {
class_name = 'mens_' + validDurees[i];
}
/* console.log('2' + selected_value); */
if ((default_min <= parseInt(validDurees[i]) && parseInt(validDurees[i]) <= default_max)) {
if (selected_value == validDurees[i]) {
list_class = ' selected';
}
if (validDurees[i] <= monthly_high) {
list = list + '<li data-duree="' + validDurees[i] + '" class="duree-btn months-active' + list_class + '"><span class="mensualite ' + class_name + '"></span>' + validDurees[i] + periodicite + '</li>';
}
} else {
list = list + '<li data-duree="' + validDurees[i] + '" class="duree-btn months-inactive" style="display: none;"><span class="mensualite ' + class_name + '"></span>' + validDurees[i] + periodicite + '</li>';
}
list_class = '';
}
}
/* console.log(duree_range); */
console.log(monthly_high);
console.log(monthly_low);
jQuery('#date-range-selector').html(list);
// Mise à jour du slider_duree_box avec la bonne périodicité
var periodicite = loan_type_in_years.includes(loan_type) ? ' ans' : ' mois';
jQuery('.slider_duree_box').text(selected_value + periodicite);
/* var selected_months_range = '#selected_months_range';
var selected_months = '#selected_months';
jQuery(selected_months_range).slider({
value: selected_value,
min: default_min,
max: default_max,
step: 1,
slide: function(event, ui) {
console.log('duree slider', ui.value);
jQuery(selected_months).val(ui.value);
jQuery(selected_months_range).children("span").text(ui.value + ' ans');
},
stop: function(event, ui) {
calculate_mensualite();
}
}); */
// Ajout de l'initialisation de la valeur par défaut
/* jQuery(selected_months).val(selected_value);
jQuery(selected_months_range).children("span").text(selected_value + ' ans'); */
/* console.log(jQuery(selected_months_range).slider("option", "value"));
jQuery(selected_months).val(jQuery(selected_months_range).slider('value'));
jQuery(selected_months_range).children("span").text(jQuery(selected_months_range).slider('value') + ' ans'); */
}
//Change capital slider values
function change_capital_slider(default_min, default_max, default_selected_value) {
var selected_capital_range = '#selected_capital_range';
var selected_capital = '#selected_capital';
var stepUpdateTimeout = null;
var isInputChange = false;
var loan_type = jQuery('#loan_type').val(),
loan_radio_type = jQuery('.loan_type:checked').length ? jQuery('.loan_type:checked').val() : '',
sub_loan_radio_type = jQuery('.sub_loan_type:checked').length ? jQuery('.sub_loan_type:checked').val() : '';
if (loan_radio_type != '')
loan_type = loan_radio_type;
if (sub_loan_radio_type != '') {
if (authorized_value.includes(sub_loan_radio_type)) {
loan_type = sub_loan_radio_type;
} else if (map_values[sub_loan_radio_type] !== 'undefined') {
loan_type = map_values[sub_loan_radio_type];
}
}
var pivot_value = form_sliders[loan_type].pivot_value;
var sub_pivot_value = form_sliders[loan_type].sub_pivot_value;
var pivot_percent = ((pivot_value - default_min) / (default_max - default_min)) * 100;
var sub_pivot_percent = ((sub_pivot_value - default_min) / (default_max - default_min)) * 100;
console.log('default_min', default_min);
console.log('default_max', default_max);
console.log('pivot_value', pivot_value);
console.log('sub_pivot_value', sub_pivot_value);
console.log('pivot_percent', pivot_percent);
console.log('sub_pivot_percent', sub_pivot_percent);
// Supprime l'ancienne zone pivot si elle existe
jQuery('.pivot-zone').remove();
// Crée la nouvelle zone pivot si pivot_value > 0
if (pivot_value > 0) {
var pivotZone = jQuery('<div class="pivot-zone"></div>');
pivotZone.css({
'position': 'absolute',
'left': pivot_percent + '%',
'right': '0',
'top': '0',
'bottom': '0',
'background-color': 'rgba(255, 0, 0, 0.2)',
'pointer-events': 'none'
});
jQuery(selected_capital_range).append(pivotZone);
}
// Fonction pour calculer le step en fonction de la valeur
function calculateStep(value) {
return value < 10000 ? 500 : 250;
}
// Fonction pour arrondir au step le plus proche
function roundToStep(value) {
var step = calculateStep(value);
return Math.round(value / step) * step;
}
// Configuration du champ input
jQuery(selected_capital)
.attr('step', calculateStep(default_selected_value))
.on('input', function() {
var $input = jQuery(this);
var value = Number($input.val());
// Si la valeur est vide ou non numérique, ne rien faire
if (!value) return;
// Annuler le timeout précédent s'il existe
if (stepUpdateTimeout) {
clearTimeout(stepUpdateTimeout);
}
// Programmer la mise à jour du step après un délai
stepUpdateTimeout = setTimeout(function() {
var newStep = calculateStep(value);
$input.attr('step', newStep);
}, 500); // Délai de 500ms
// Indiquer que le changement vient de l'input
isInputChange = true;
// Mettre à jour le slider avec la valeur exacte
jQuery(selected_capital_range).slider('value', value);
// Mise à jour de l'affichage
jQuery(selected_capital_range).find(".slider_capital_box")
.text(number_format(value, 2, ',', '.') + ' €');
// Mise à jour des min/max du slider de durée
update_duration_slider_min_max(value);
});
jQuery(selected_capital_range).slider({
min: default_min,
max: default_max,
value: default_selected_value,
step: calculateStep(default_selected_value),
slide: function(event, ui) {
if (isInputChange) return;
var orange_bar = jQuery('.slider_capital_wrapper .after_bar'),
elem = jQuery(ui.handle),
left_css = parseInt(elem.css('left'), 10);
console.log('left_css', left_css);
orange_bar.css('width', left_css + 10);
// Met à jour la couleur du texte en fonction de la position par rapport au pivot
if (pivot_value > 0 && ui.value >= pivot_value) {
jQuery(selected_capital_range).find(".slider_capital_box").addClass('pivot-value');
if (!jQuery('#acceptConditions').is(':checked')) {
jQuery('.stimulator_result_btn').prop('disabled', true).addClass('disabled');
}
} else {
jQuery(selected_capital_range).find(".slider_capital_box").removeClass('pivot-value');
jQuery('.stimulator_result_btn').prop('disabled', false).removeClass('disabled');
}
jQuery(selected_capital).val(ui.value);
/* jQuery(selected_capital_range).children("span").text(number_format((ui.value), 2, ',', '.') + ' €'); */
jQuery(selected_capital_range).find(".slider_capital_box").text(number_format((ui.value), 2, ',', '.') + ' €');
// Gestion de l'affichage de la notice en fonction du pivot
if (pivot_value > 0) {
if (ui.value >= pivot_value) {
jQuery('.pat_plus75000').slideDown(300); // Animation douce pour l'affichage
/* jQuery(selected_capital_range).find(".slider_capital_box").addClass('pivot-value'); */
} else {
jQuery('.pat_plus75000').slideUp(300); // Animation douce pour le masquage
/* jQuery(selected_capital_range).find(".slider_capital_box").removeClass('pivot-value'); */
}
} else {
jQuery('.pat_plus75000').hide();
}
},
stop: function(event, ui) {
if (((loan_type == "am") && jQuery('#selected_capital').val() > 100000) || ((loan_type == "ph") && jQuery('#selected_capital').val() > 100000)) {
jQuery('#selected_months').val(30);
}
var selected = jQuery('#loan_type').val();
if (!(selected == 'ph' || selected == 'am')) {
jQuery('#selected_months').val(200);
}
var orange_bar = jQuery('.slider_capital_wrapper .after_bar'),
elem = jQuery(ui.handle),
left_css = parseInt(elem.css('left'), 10);
orange_bar.css('width', left_css + 10);
calculate_mensualite();
},
change: function(event, ui) {
var orange_bar = jQuery('.slider_capital_wrapper .after_bar'),
elem = jQuery(ui.handle),
left_css = parseInt(elem.css('left'), 10);
orange_bar.css('width', left_css + 10);
}
});
// Gestion du changement d'état de la case à cocher
jQuery('#acceptConditions').on('change', function() {
var currentValue = jQuery(selected_capital).val();
if (pivot_value > 0 && currentValue >= pivot_value) {
if (jQuery(this).is(':checked')) {
jQuery('.stimulator_result_btn').prop('disabled', false).removeClass('disabled');
} else {
jQuery('.stimulator_result_btn').prop('disabled', true).addClass('disabled');
}
}
});
var appended_elem = '<span class="slider_capital_box">test</span>';
/* jQuery(selected_capital).val(jQuery(selected_capital_range).slider('value')); */
if (!jQuery('.ui-slider-handle .fa-angle-right').length)
jQuery(selected_capital_range).find(".ui-slider-handle").append('<i class="fa-angle-right fas" data-name="angle-right" aria-hidden="true"></i>');
//if element is not present, append it
if (!jQuery(selected_capital_range).find('.slider_capital_box').length) {
jQuery(selected_capital_range).find('.ui-slider-handle').append(appended_elem);
}
jQuery(selected_capital_range).find(".slider_capital_box").text(number_format((jQuery(selected_capital_range).slider('value')), 2, ',', '.') + ' €');
if (sub_pivot_value > 0) {
var subPivotZone = jQuery('<div class="sub-pivot-zone"></div>');
subPivotZone.css({
'position': 'absolute',
'left': '0',
'width': sub_pivot_percent + '%',
'top': '0',
'bottom': '0',
'background-color': 'rgba(0, 0, 255, 0.15)', // Par exemple, bleu clair
'pointer-events': 'none'
});
if(jQuery('.sub-pivot-zone').length == 0)
jQuery(selected_capital_range).append(subPivotZone);
}
}
//Change month slider values
function change_month_slider(default_min, default_max, default_selected_value) {
var selected_months_range = '#selected_months_range';
var selected_months = '#selected_months';
var loan_type_in_years = ['am', 'amr', 'cdp', 'cied', 'ph'];
var sel_duree = jQuery(selected_months).val()
// Récupérer le type de crédit de la même manière que dans change_duree
var loan_type = jQuery('#loan_type').val(),
loan_radio_type = jQuery('.loan_type:checked').length ? jQuery('.loan_type:checked').val() : '',
sub_loan_radio_type = jQuery('.sub_loan_type:checked').length ? jQuery('.sub_loan_type:checked').val() : '';
if (loan_radio_type != '')
loan_type = loan_radio_type;
if (sub_loan_radio_type != '') {
if (authorized_value.includes(sub_loan_radio_type)) {
loan_type = sub_loan_radio_type;
} else if (map_values[sub_loan_radio_type] !== 'undefined') {
loan_type = map_values[sub_loan_radio_type];
}
}
// Récupérer le capital actuel
var selected_capital = jQuery('#selected_capital').val();
console.log('selected_capital', selected_capital);
console.log('loan_type', loan_type);
console.log('sel_duree', sel_duree);
// Calculer la durée maximale en fonction du capital
var results = [];
switch (loan_type) {
case 'pat':
results = calculate_pat(selected_capital, sel_duree);
break;
case 'fin_neuve':
results = calculate_fin_neuve(selected_capital, sel_duree);
break;
case 'fin_occ_m3a':
results = calculate_pao_m_3(selected_capital, sel_duree);
break;
case 'fin_occ_p3a':
results = calculate_pao_p_3(selected_capital, sel_duree);
break;
case 'ph':
results = calculate_ph(selected_capital, sel_duree);
break;
case 'am':
results = calculate_am(selected_capital, sel_duree);
break;
case 'frais_notaire':
results = calculate_frais_notaire(selected_capital, sel_duree);
break;
case 'but_immo':
results = calculate_but_immo(selected_capital, sel_duree);
break;
case 'mobil_carav':
results = calculate_mobilhome(selected_capital, sel_duree);
break;
case 'regroup_cred':
results = calculate_regroupement_de_credit(selected_capital, sel_duree);
break;
}
console.log('results', results);
// Vérifier si les résultats sont valides
/* if (!results || results.length < 2 || typeof results[1] === 'undefined') {
console.error('Résultats invalides pour le type de prêt:', loan_type);
return;
} */
// Utiliser max_duration (index 1) comme limite maximale
var max_duration = results[1];
var dynamic_max = default_max;
// Trouver la durée maximale valide dans les durées du type de prêt
var available_durations = form_sliders[loan_type].durees;
/* if (!available_durations || !Array.isArray(available_durations)) {
console.error('Durées non disponibles pour le type de prêt:', loan_type);
return;
} */
for (var i = available_durations.length - 1; i >= 0; i--) {
if (available_durations[i] <= max_duration) {
dynamic_max = available_durations[i];
break;
}
}
console.log('dynamic_max', dynamic_max);
function getStepForValue(loan_type,value) {
let dynamic_step = 1;
if (loan_type_in_years.includes(loan_type)) {
dynamic_step = 1; // Step de 1 an pour les prêts en années
} else {
if (value <= 48) {
dynamic_step = 6; // Step de 6 mois jusqu'à 48 mois
} else {
dynamic_step = 12; // Step de 12 mois au-delà de 48 mois
}
}
return dynamic_step;
}
// Mettre à jour le slider avec la nouvelle limite maximale
jQuery(selected_months_range).slider({
min: default_min,
max: dynamic_max,
value: Math.min(default_selected_value, dynamic_max),
step: getStepForValue(loan_type, default_selected_value),
slide: function(event, ui) {
var newStep = getStepForValue(loan_type, ui.value);
if (newStep !== jQuery(this).slider('option', 'step')) {
jQuery(this).slider('option', 'step', newStep);
}
var orange_bar = jQuery('.slider_duree_wrapper .after_bar_month'),
elem = jQuery(ui.handle),
left_css = parseInt(elem.css('left'), 10);
orange_bar.css('width', left_css + 10);
jQuery(selected_months).val(ui.value);
if (loan_type_in_years.includes(loan_type)) {
jQuery(selected_months_range).find(".slider_duree_box").text(ui.value + ' ans');
} else {
jQuery(selected_months_range).find(".slider_duree_box").text(ui.value + ' mois');
}
},
stop: function(event, ui) {
var orange_bar = jQuery('.slider_duree_wrapper .after_bar_month'),
elem = jQuery(ui.handle),
left_css = parseInt(elem.css('left'), 10);
orange_bar.css('width', left_css + 10);
calculate_mensualite();
},
change: function(event, ui) {
var orange_bar = jQuery('.slider_duree_wrapper .after_bar_month'),
elem = jQuery(ui.handle),
left_css = parseInt(elem.css('left'), 10);
orange_bar.css('width', left_css + 10);
}
});
jQuery(selected_months).val(jQuery(selected_months_range).slider('value'));
var periodicite = loan_type_in_years.includes(loan_type) ? ' ans' : ' mois';
var appended_elem = '<span class="slider_duree_box">' + jQuery(selected_months_range).slider('value') + periodicite + '</span>';
if (!jQuery(selected_months_range).find('.ui-slider-handle .fa-angle-right').length) {
jQuery(selected_months_range).find(".ui-slider-handle").append('<i class="fa-angle-right fas" data-name="angle-right" aria-hidden="true"></i>');
}
if (!jQuery(selected_months_range).find('.slider_duree_box').length) {
jQuery(selected_months_range).find('.ui-slider-handle').append(appended_elem);
}
}
// Create plus and minus buttons for slider
jQuery(".stimulator-slider-control.capital-minus").on('click', function() {
var selected_capital_range = '#selected_capital_range';
var selected_capital = (+jQuery('#selected_capital').val() + -100);
var selected = jQuery('#loan_type').val();
var selected_radio = jQuery('.loan_type:checked').length ? jQuery('.loan_type:checked').val() : '',
sub_loan_radio_type = jQuery('.sub_loan_type:checked').length ? jQuery('.sub_loan_type:checked').val() : '';
if (selected_radio != '')
selected = selected_radio;
if (sub_loan_radio_type != '') {
if (authorized_value.includes(sub_loan_radio_type)) {
selected = sub_loan_radio_type;
} else if (map_values[sub_loan_radio_type] !== 'undefined') {
selected = map_values[sub_loan_radio_type];
}
}
if ((selected_capital >= form_sliders[selected].capital_min) && (selected_capital <= form_sliders[selected].capital_max)) {
jQuery(selected_capital_range).slider({
value: selected_capital
});
if (((selected == "am") && jQuery('#selected_capital').val() > 100000) || ((selected == "ph") && jQuery('#selected_capital').val() > 100000)) {
jQuery('#selected_months').val(30);
} else {
jQuery('#selected_months').val(200);
}
jQuery('#selected_capital').val(selected_capital);
calculate_mensualite();
jQuery(selected_capital_range).find(".ui-slider-handle").append('<i class="fa-angle-right fas" data-name="angle-right" aria-hidden="true"></i>');
jQuery(selected_capital_range).find('.ui-slider-handle').append(appended_elem);
jQuery(selected_capital_range).find(".slider_capital_box").text(number_format((jQuery(selected_capital_range).slider('value')), 2, ',', '.') + ' €');
}
});
jQuery(".stimulator-slider-control.capital-plus").on('click', function() {
var selected_capital_range = '#selected_capital_range';
var selected_capital = (+jQuery('#selected_capital').val() + +100);
var selected = jQuery('#loan_type').val();
var selected_radio = jQuery('.loan_type:checked').length ? jQuery('.loan_type:checked').val() : '',
sub_loan_radio_type = jQuery('.sub_loan_type:checked').length ? jQuery('.sub_loan_type:checked').val() : '';
if (selected_radio != '')
selected = selected_radio;
if (sub_loan_radio_type != '') {
if (sub_loan_radio_type != '' && authorized_value.includes(sub_loan_radio_type)) {
selected = sub_loan_radio_type;
} else if (map_values[sub_loan_radio_type] !== 'undefined') {
selected = map_values[sub_loan_radio_type];
}
}
if ((selected_capital >= form_sliders[selected].capital_min) && (selected_capital <= form_sliders[selected].capital_max)) {
jQuery(selected_capital_range).slider({
value: selected_capital
});
if (((selected == "am") && jQuery('#selected_capital').val() > 100000) || ((selected == "ph") && jQuery('#selected_capital').val() > 100000)) {
jQuery('#selected_months').val(30);
} else {
jQuery('#selected_months').val(200);
}
jQuery('#selected_capital').val(selected_capital);
calculate_mensualite();
jQuery(selected_capital_range).find(".ui-slider-handle").append('<i class="fa-angle-right fas" data-name="angle-right" aria-hidden="true"></i>');
jQuery(selected_capital_range).find('.ui-slider-handle').append(appended_elem);
jQuery(selected_capital_range).find(".slider_capital_box").text(number_format((jQuery(selected_capital_range).slider('value')), 2, ',', '.') + ' €');
}
});
// 2. 5 Step form
// Accordian for content pages
jQuery(".ac-toggle-button").on('click', function(e) {
e.preventDefault();
jQuery(".ac-text-block").slideToggle("slow");
});
// Show link list when link is clicked
jQuery(".agency-menu-link").children("a").on('click', function() {
if (jQuery(".agency-menu-link").hasClass('agencies-active-link')) {
jQuery(".footer-locations").css("display", "none");
jQuery(".agency-menu-link").removeClass('agencies-active-link');
} else {
jQuery(".footer-locations").css("display", "inherit");
jQuery(".agency-menu-link").addClass('agencies-active-link');
}
});
jQuery('#co-emprunteur').on('change', function() {
if (jQuery('[name="co-emprunteur"]:checked').val() == "avec un co-emprunteur") {
jQuery(".co-emprunteur-fields").css('display', 'block');
jQuery("#co-emprunteur-step2").val(1);
jQuery("#co-emprunteur-step3").val(1);
jQuery("#co-emprunteur-step4").val(1);
} else {
jQuery(".co-emprunteur-fields").css('display', 'none');
jQuery(".co-emprunteur-fields input").val("");
jQuery("#co-emprunteur-step2").val(0);
jQuery("#co-emprunteur-step3").val(0);
jQuery("#co-emprunteur-step4").val(0);
}
});
jQuery('#je-suis-resident').on('change', function() {
if (jQuery('[name="je-suis-resident"]:checked').val() == "en Belgique") {
jQuery(".field-numero-national").show();
} else {
jQuery(".field-numero-national").hide();
}
});
jQuery('#co-je-suis-resident').on('change', function() {
if (jQuery('[name="co-je-suis-resident"]:checked').val() == "en Belgique") {
jQuery(".field-co-numero-national").show();
} else {
jQuery(".field-co-numero-national").hide();
}
});
jQuery('#habitation').on('change', function() {
var fields = ["montant-du-loyer-a-payer", "credit-hypothecaire-en-cours", "vous-habitez"];
for (var i = 0; i < fields.length; i++) {
jQuery(".field-" + fields[i]).hide();
}
switch (jQuery('#habitation').val()) {
case 'locataire':
jQuery(".field-montant-du-loyer-a-payer").show();
break;
case 'propriétaire':
jQuery(".field-credit-hypothecaire-en-cours").show();
break;
case 'sans charge locative':
jQuery(".field-vous-habitez").show();
break;
}
});
jQuery('#habitation-co-emprunteur').on('change', function() {
var fields = ["montant-du-loyer-a-payer-co-emprunteur", "credit-hypothecaire-en-cours-co-emprunteur", "vous-habitez-co-emprunteur"];
for (var i = 0; i < fields.length; i++) {
jQuery(".field-" + fields[i]).hide();
}
switch (jQuery('#habitation-co-emprunteur').val()) {
case 'locataire':
jQuery(".field-montant-du-loyer-a-payer-co-emprunteur").show();
break;
case 'propriétaire':
jQuery(".field-credit-hypothecaire-en-cours-co-emprunteur").show();
break;
case 'sans charge locative':
jQuery(".field-vous-habitez-co-emprunteur").show();
break;
}
});
jQuery('#nombre-d-enfant-s-a-charge').on('change', function() {
if (jQuery("#nombre-d-enfant-s-a-charge").val() == 0) {
jQuery(".field-montant-allocations-familiales").hide();
jQuery(".field-montant-pension-alimentaire-recue").hide();
} else {
jQuery(".field-montant-allocations-familiales").show();
jQuery(".field-montant-pension-alimentaire-recue").show();
}
});
jQuery('#nombre-d-enfant-s-a-charge-co-emprunteur').on('change', function() {
if (jQuery("#nombre-d-enfant-s-a-charge-co-emprunteur").val() == 0) {
jQuery(".field-co-montant-allocations-familiales").hide();
jQuery(".field-co-montant-pension-alimentaire-recue").hide();
} else {
jQuery(".field-co-montant-allocations-familiales").show();
jQuery(".field-co-montant-pension-alimentaire-recue").show();
}
});
jQuery('#profession').on('change', function() {
var ordered_fields;
jQuery("#autres-revenus-cheques-repas").val('non');
on_chnage_autres_revenus_cheques('');
jQuery('#valeur-du-cheque-repas').val('');
var fields = ['type-de-contrat', 'nom-de-l-employeur', 'adresse-rue-numero', 'code-postal', 'localite', 'engage-depuis-quant', 'salaire-net-mensuel', 'nom-de-l-organisme-de-paiement', 'paye-depuis-quand', 'montant-net-mensuel-de-l-allocation', 'depuis-quand', 'numero-d-entreprise', 'domaine-de-l-activite', 'revenus-imposables-annuels', 'revenus-locatifs', 'autres-revenus-cheques-repas', 'allocation-supplementaire'];
for (var i = 0; i < fields.length; i++) {
jQuery(".field-" + fields[i]).hide();
}
var allowed_fields;
var selected = jQuery("#profession").val();
jQuery("#tab4 .emprunteur-primary").removeClass('flex-ordered');
if ((selected == "ouvrier") || (selected == "employé") || (selected == "fonctionnaire") || (selected == "militaire") || (selected == "policier") || (selected == "enseignant")) {
allowed_fields = ['type-de-contrat', 'nom-de-l-employeur', 'adresse-rue-numero', 'code-postal', 'localite', 'engage-depuis-quant', 'salaire-net-mensuel', 'revenus-locatifs', 'autres-revenus-cheques-repas', 'allocation-supplementaire'];
} else if (selected == "chômeur") {
allowed_fields = ['nom-de-l-organisme-de-paiement', 'adresse-rue-numero', 'code-postal', 'localite', 'paye-depuis-quand', 'montant-net-mensuel-de-l-allocation', 'revenus-locatifs', 'allocation-supplementaire', 'repeat-block', 'ajouter-dautres-revenus'];
ordered_fields = ['nom-de-l-organisme-de-paiement', 'adresse-rue-numero', 'code-postal', 'localite', 'paye-depuis-quand', 'montant-net-mensuel-de-l-allocation', 'revenus-locatifs', 'montant-total-des-revenus-locatifs', 'allocation-supplementaire', 'valeur-du-cheque-repas', 'montant-net-mensuel', 'repeat-block', 'ajouter-dautres-revenus'];
jQuery("#tab4 .emprunteur-primary").addClass('flex-ordered');
var order = 1;
for (var i = 0; i < ordered_fields.length; i++) {
jQuery(".field-" + ordered_fields[i]).css('order', order);
order++;
}
} else if ((selected == "invalide")) {
allowed_fields = ['nom-de-l-organisme-de-paiement', 'adresse-rue-numero', 'code-postal', 'localite', 'paye-depuis-quand', 'montant-net-mensuel-de-l-allocation', 'revenus-locatifs', 'allocation-supplementaire'];
} else if ((selected == "pensionné") || (selected == "prépensionné")) {
allowed_fields = ['nom-de-l-organisme-de-paiement', 'adresse-rue-numero', 'code-postal', 'localite', 'paye-depuis-quand', 'montant-net-mensuel-de-l-allocation', 'revenus-locatifs', 'allocation-supplementaire'];
} else if ((selected == "indépendant")) {
allowed_fields = ['depuis-quand', 'numero-d-entreprise', 'domaine-de-l-activite', 'adresse-rue-numero', 'code-postal', 'localite', 'revenus-imposables-annuels', 'revenus-locatifs', 'autres-revenus-cheques-repas', 'allocation-supplementaire', 'repeat-block', 'ajouter-dautres-revenus'];
ordered_fields = ['depuis-quand', 'numero-d-entreprise', 'domaine-de-l-activite', 'adresse-rue-numero', 'code-postal', 'localite', 'revenus-imposables-annuels', 'revenus-locatifs', 'montant-total-des-revenus-locatifs', 'autres-revenus-cheques-repas', 'valeur-du-cheque-repas', 'allocation-supplementaire', 'repeat-block', 'ajouter-dautres-revenus'];
jQuery("#tab4 .emprunteur-primary").addClass('flex-ordered');
var order = 1;
for (var i = 0; i < ordered_fields.length; i++) {
jQuery(".field-" + ordered_fields[i]).css('order', order);
order++;
}
} else if (selected == "sans profession") {
allowed_fields = ['revenus-locatifs'];
}
for (var i = 0; i < allowed_fields.length; i++) {
jQuery(".field-" + allowed_fields[i]).show();
}
});
jQuery('#profession-co-emprunteur').on('change', function() {
var ordered_fields;
jQuery("#autres-revenus-cheques-repas-co-emprunteur").val('non');
on_chnage_autres_revenus_cheques('co-');
var fields = ['type-de-contrat', 'nom-de-l-employeur', 'adresse-rue-numero', 'code-postal', 'localite', 'engage-depuis-quant', 'salaire-net-mensuel', 'nom-de-l-organisme-de-paiement', 'paye-depuis-quand', 'montant-net-mensuel-de-l-allocation', 'depuis-quand', 'numero-d-entreprise', 'domaine-de-l-activite', 'revenus-imposables-annuels', 'revenus-locatifs', 'autres-revenus-cheques-repas', 'allocation-supplementaire'];
for (var i = 0; i < fields.length; i++) {
jQuery(".field-co-" + fields[i]).hide();
}
var allowed_fields;
var selected = jQuery("#profession-co-emprunteur").val();
jQuery("#tab4 .co-emprunteur-fields").removeClass('flex-ordered');
if ((selected == "ouvrier") || (selected == "employé") || (selected == "fonctionnaire") || (selected == "militaire") || (selected == "policier") || (selected == "enseignant")) {
allowed_fields = ['type-de-contrat', 'nom-de-l-employeur', 'adresse-rue-numero', 'code-postal', 'localite', 'engage-depuis-quant', 'salaire-net-mensuel', 'revenus-locatifs', 'autres-revenus-cheques-repas', 'allocation-supplementaire'];
} else if (selected == "chômeur") {
allowed_fields = ['nom-de-l-organisme-de-paiement', 'adresse-rue-numero', 'code-postal', 'localite', 'paye-depuis-quand', 'montant-net-mensuel-de-l-allocation', 'revenus-locatifs', 'allocation-supplementaire', 'repeat-block', 'ajouter-dautres-revenus'];
ordered_fields = ['nom-de-l-organisme-de-paiement', 'adresse-rue-numero', 'code-postal', 'localite', 'paye-depuis-quand', 'montant-net-mensuel-de-l-allocation', 'revenus-locatifs', 'montant-total-des-revenus-locatifs', 'allocation-supplementaire', 'valeur-du-cheque-repas', 'montant-net-mensuel', 'repeat-block', 'ajouter-dautres-revenus'];
jQuery("#tab4 .co-emprunteur-fields").addClass('flex-ordered');
var order = 1;
for (var i = 0; i < ordered_fields.length; i++) {
jQuery(".field-co-" + ordered_fields[i]).css('order', order);
order++;
}
} else if ((selected == "invalide")) {
allowed_fields = ['nom-de-l-organisme-de-paiement', 'adresse-rue-numero', 'code-postal', 'localite', 'paye-depuis-quand', 'montant-net-mensuel-de-l-allocation', 'revenus-locatifs', 'allocation-supplementaire'];
} else if ((selected == "pensionné") || (selected == "prépensionné")) {
allowed_fields = ['nom-de-l-organisme-de-paiement', 'adresse-rue-numero', 'code-postal', 'localite', 'paye-depuis-quand', 'montant-net-mensuel-de-l-allocation', 'revenus-locatifs', 'allocation-supplementaire'];
} else if ((selected == "indépendant")) {
allowed_fields = ['depuis-quand', 'numero-d-entreprise', 'domaine-de-l-activite', 'adresse-rue-numero', 'code-postal', 'localite', 'revenus-imposables-annuels', 'revenus-locatifs', 'autres-revenus-cheques-repas', 'allocation-supplementaire', 'repeat-block', 'ajouter-dautres-revenus'];
ordered_fields = ['depuis-quand', 'numero-d-entreprise', 'domaine-de-l-activite', 'adresse-rue-numero', 'code-postal', 'localite', 'revenus-imposables-annuels', 'revenus-locatifs', 'montant-total-des-revenus-locatifs', 'autres-revenus-cheques-repas', 'valeur-du-cheque-repas', 'allocation-supplementaire', 'repeat-block', 'ajouter-dautres-revenus'];
jQuery("#tab4 .co-emprunteur-fields").addClass('flex-ordered');
var order = 1;
for (var i = 0; i < ordered_fields.length; i++) {
jQuery(".field-co-" + ordered_fields[i]).css('order', order);
order++;
}
} else if (selected == "sans profession") {
allowed_fields = ['revenus-locatifs'];
}
for (var i = 0; i < allowed_fields.length; i++) {
jQuery(".field-co-" + allowed_fields[i]).show();
}
});
jQuery('#allocation-supplementaire').on('change', function() {
if (jQuery('#allocation-supplementaire').val() != "---") {
jQuery(".field-paye-depuis-quand-2").show();
jQuery(".field-montant-net-mensuel-de-l-allocation-2").show();
jQuery(".field-nom-de-l-organisme-de-paiement").show();
} else {
jQuery(".field-paye-depuis-quand-2").hide();
jQuery(".field-montant-net-mensuel-de-l-allocation-2").hide();
jQuery(".field-nom-de-l-organisme-de-paiement").hide();
}
});
jQuery('#allocation-supplementaire-co-emprunteur').on('change', function() {
if (jQuery('#allocation-supplementaire-co-emprunteur').val() == "oui") {
jQuery(".field-co-paye-depuis-quand-2").show();
jQuery(".field-co-montant-net-mensuel-de-l-allocation-2").show();
jQuery(".field-co-nom-de-l-organisme-de-paiement").show();
} else {
jQuery(".field-co-montant-net-mensuel-de-l-allocation-2").hide();
jQuery(".field-co-paye-depuis-quand-2").hide();
jQuery(".field-co-nom-de-l-organisme-de-paiement").hide();
}
});
function on_chnage_autres_revenus_cheques(prefix) {
var prefix_extended = '';
if (prefix == "co-") { prefix_extended = "-co-emprunteur" }
var selected = jQuery("#profession" + prefix_extended).val();
jQuery(".field-" + prefix + "valeur-du-cheque-repas").hide();
jQuery(".field-" + prefix + "montant-net-mensuel").hide();
if (jQuery("#autres-revenus-cheques-repas" + prefix_extended).val() == "oui") {
jQuery(".field-" + prefix + "valeur-du-cheque-repas").show();
if ((selected == "ouvrier") || (selected == "employé") || (selected == "fonctionnaire") || (selected == "militaire") || (selected == "policier") || (selected == "enseignant") || (selected == "indépendant")) {} else {
jQuery(".field-" + prefix + "montant-net-mensuel").show();
}
}
}
jQuery('#autres-revenus-cheques-repas').on('change', function() {
on_chnage_autres_revenus_cheques('');
});
jQuery('#autres-revenus-cheques-repas-co-emprunteur').on('change', function() {
on_chnage_autres_revenus_cheques('co-');
});
jQuery('#revenus-locatifs').on('change', function() {
if (jQuery('#revenus-locatifs').val() == "oui") {
jQuery(".field-montant-total-des-revenus-locatifs").show();
} else {
jQuery(".field-montant-total-des-revenus-locatifs").hide();
}
});
jQuery('#revenus-locatifs-co-emprunteur').on('change', function() {
if (jQuery('#revenus-locatifs-co-emprunteur').val() == "oui") {
jQuery(".field-co-montant-total-des-revenus-locatifs").show();
} else {
jQuery(".field-co-montant-total-des-revenus-locatifs").hide();
}
});
function onchange_type_de_credit() {
var fields = ['fonds-propres', 'type-des-frais-de-notaire', 'prix-d-achat', 'prix-de-la-construction-tvac', 'prix-d-achat', 'compromis-signe', 'valeur-du-batiment', 'montant-du-revenu-cadastral', 'marque-modele-du-vehicule', 'date-1ere-immatriculation', 'nom-du-vendeur', 'adresse-du-vendeur', 'prix-d-achat-du-vehicule', 'type-des-frais-de-notaire', 'type-des-travaux', 'montant-a-emprunter', 'duree'];
for (var i = 0; i < fields.length; i++) {
jQuery(".field-" + fields[i]).hide();
}
var allowed_fields;
switch (jQuery('#type-de-credit').val()) {
case 'Prêt Hypothécaire (Achat Maison)':
allowed_fields = ['prix-d-achat', 'fonds-propres', 'compromis-signe', 'montant-du-revenu-cadastral', 'montant-a-emprunter', 'duree'];
break;
case 'Prêt Hypothécaire (Construction)':
allowed_fields = ['prix-de-la-construction-tvac', 'fonds-propres', 'montant-a-emprunter', 'duree'];
break;
case 'Prêt Hypothécaire (Refinancement)':
allowed_fields = ['valeur-du-batiment', 'montant-a-emprunter', 'duree'];
break;
case 'Prêt Hypothécaire (Regroupement)':
allowed_fields = ['valeur-du-batiment', 'montant-a-emprunter', 'duree'];
break;
case 'Prêt Hypothécaire (Achat à L\'étranger)':
allowed_fields = ['prix-d-achat', 'fonds-propres', 'compromis-signe', 'montant-a-emprunter', 'duree'];
break;
case 'Prêt à Tempérament (Tous Motifs)':
allowed_fields = ['montant-a-emprunter', 'duree'];
break;
case 'Financement Véhicule Neuf':
allowed_fields = ['marque-modele-du-vehicule', 'date-1ere-immatriculation', 'nom-du-vendeur', 'adresse-du-vendeur', 'prix-d-achat-du-vehicule', 'montant-a-emprunter', 'duree'];
break;
case 'Financement Véhicule D\'occasion':
allowed_fields = ['marque-modele-du-vehicule', 'date-1ere-immatriculation', 'nom-du-vendeur', 'adresse-du-vendeur', 'prix-d-achat-du-vehicule', 'montant-a-emprunter', 'duree'];
break;
case 'Crédit Travaux / Rénovation / Energie':
allowed_fields = ['type-des-travaux', 'montant-a-emprunter', 'duree'];
break;
case 'Frais De Notaire':
allowed_fields = ['type-des-frais-de-notaire', 'montant-a-emprunter', 'duree'];
break;
default:
allowed_fields = ['montant-a-emprunter', 'duree'];
break;
}
for (var i = 0; i < allowed_fields.length; i++) {
jQuery(".field-" + allowed_fields[i]).show();
}
onchange_loan_type();
};
jQuery(".stimulator-slider-control.duree-plus").on('click', function() {
var selected_months_range = '#selected_months_range';
var selected_months = '#selected_months';
var selected = jQuery('#loan_type').val();
if ((jQuery(selected_months).val() >= form_sliders[selected].duree_min) && (jQuery(selected_months).val() <= form_sliders[selected].duree_max)) {
jQuery(selected_months).val(+jQuery(selected_months).val() + +1);
change_duree(form_sliders[selected].duree_min, form_sliders[selected].duree_max, jQuery(selected_months).val())
calculate_mensualite();
}
});
jQuery(".stimulator-slider-control.duree-minus").on('click', function() {
var selected_months_range = '#selected_months_range';
var selected_months = '#selected_months';
var selected = jQuery('#loan_type').val();
if ((jQuery(selected_months).val() >= form_sliders[selected].duree_min) && (jQuery(selected_months).val() <= form_sliders[selected].duree_max)) {
jQuery(selected_months).val(+jQuery(selected_months).val() + -1);
change_duree(form_sliders[selected].duree_min, form_sliders[selected].duree_max, jQuery(selected_months).val())
calculate_mensualite();
}
});
jQuery('.dautres-credit').on('click', function() {
if (jQuery('[name="dautres-credit[]"]').is(":checked")) {
jQuery(".dautres-credit-fields").css('display', 'block');
var n = jQuery(".repeater-fields-step-5").length;
if (n == "") { n = 0 };
n++;
var form_step_5 = '<div class="repeater-fields-step-5 rf-g-cours-' + n + '"><a href="javascript:void(0);" class="remove_rf_en_cours" data-repeated="' + n + '">X</a><div class="form-group"><label class="col-md-4">Avez-vous d\'autres crédits en cours?</label><div class="col-md-8"><span class="wpcf7-form-control-wrap dautres-credit"><span class="wpcf7-form-control wpcf7-checkbox field-co-emprunteur"><span class="wpcf7-list-item first last"><input type="checkbox" name="dautres-credit[]" class="dautres-credit-repeater" data-repeated="' + n + '" value="oui"><span class="wpcf7-list-item-label">oui</span></span></span></span></div><div class="clearfix"></div></div><div class="dautres-credit-fields-' + n + '" style="display: none;"> <div class="form-group"> <label class="col-md-4">Type de créance</label> <div class="col-md-8"> <span class="wpcf7-form-control-wrap type-de-creance"><select name="type-de-creance[]" class="wpcf7-form-control wpcf7-select" aria-invalid="false"><option value="">Veuillez faire un choix</option><option value="prêt hypothécaire">prêt hypothécaire</option><option value="prêt à tempérament">prêt à tempérament</option><option value="financement véhicule">financement véhicule</option><option value="leasing">leasing</option><option value="crédit ballon">crédit ballon</option><option value="carte de crédit">carte de crédit</option><option value="réserve d\'argent">réserve d\'argent</option><option value="découvert bancaire">découvert bancaire</option></select></span> </div><div class="clearfix"></div></div><div class="form-group"> <label class="col-md-4">Nom de l\'organisme / Banque </label> <div class="col-md-8"><span class="wpcf7-form-control-wrap nom-de-l-organisme-banque"><input type="text" name="nom-de-l-organisme-banque[]" value="" size="40" class="wpcf7-form-control wpcf7-text"></span></div><div class="clearfix"></div></div><div class="form-group"> <label class="col-md-4">Capital emprunté </label> <div class="col-md-8"><span class="wpcf7-form-control-wrap capital-emprunte"><input type="text" name="capital-emprunte[]" value="" size="40" class="wpcf7-form-control wpcf7-text number-field"></span></div><div class="clearfix"></div></div><div class="form-group"> <label class="col-md-4">Durée du crédit (en mois)</label> <div class="col-md-8"><span class="wpcf7-form-control-wrap duree-du-credit-en-mois"><input type="text" name="duree-du-credit-en-mois[]" value="" size="40" class="wpcf7-form-control wpcf7-text number-field"></span></div><div class="clearfix"></div></div><div class="form-group"> <label class="col-md-4">Mensualité </label> <div class="col-md-8"><span class="wpcf7-form-control-wrap mensualite"><input type="text" name="mensualite[]" value="" size="40" class="wpcf7-form-control wpcf7-text number-field"></span></div><div class="clearfix"></div></div><div class="form-group"> <label class="col-md-4">Date 1ère échéance </label> <div class="col-md-8"><span class="wpcf7-form-control-wrap date-1ere-echeance"><input type="text" name="date-1ere-echeance[]" value="" size="40" class="wpcf7-form-control wpcf7-text number-field"></span></div><div class="clearfix"></div></div><div class="form-group"><label class="col-md-4">Solde restant dû (approximatif) </label> <div class="col-md-8"><span class="wpcf7-form-control-wrap solde-restant-du-approximatif"><input type="text" name="solde-restant-du-approximatif[]" value="" size="40" class="wpcf7-form-control wpcf7-text number-field"></span></div><div class="clearfix"></div></div><div class="form-group"> <label class="col-md-4">A clôturer / Solder&nbsp;? </label> <div class="col-md-8"><div class="col-md-8"> <span class="wpcf7-form-control-wrap"> <span class="wpcf7-form-control wpcf7-radio"> <span class="wpcf7-list-item first"> <input type="radio" name="a-cloturer-solder[' + n + ']" value="oui"> <span class="wpcf7-list-item-label">oui</span> </span> <span class="wpcf7-list-item last"> <input type="radio" name="a-cloturer-solder[' + n + ']" value="non"> <span class="wpcf7-list-item-label">non</span> </span> </span> </span></div></div><div class="clearfix"></div></div></div></div>';
jQuery("#step-5-repeat-block").append(form_step_5);
} else {
var repeater_id = jQuery(".repeater-fields-step-5").length;
jQuery(".rf-g-cours-" + repeater_id).remove();
jQuery(".dautres-credit-fields").css('display', 'none');
}
});
jQuery(document).on('click', '.dautres-credit-repeater', function() {
var block_5 = jQuery(this).data("repeated");
if (jQuery(this).is(":checked")) {
jQuery(".dautres-credit-fields-" + block_5).show();
var n = jQuery(".repeater-fields-step-5").length;
if (n == "") { n = 0 };
n++;
var form_step_5 = '<div class="repeater-fields-step-5 rf-g-cours-' + n + '"><a href="javascript:void(0);" class="remove_rf_en_cours" data-repeated="' + n + '">X</a><div class="form-group"><label class="col-md-4">Avez-vous d\'autres crédits en cours?</label><div class="col-md-8"><span class="wpcf7-form-control-wrap dautres-credit"><span class="wpcf7-form-control wpcf7-checkbox field-co-emprunteur"><span class="wpcf7-list-item first last"><input type="checkbox" name="dautres-credit[]" class="dautres-credit-repeater" data-repeated="' + n + '" value="oui"><span class="wpcf7-list-item-label">oui</span></span></span></span></div><div class="clearfix"></div></div><div class="dautres-credit-fields-' + n + '" style="display: none;"> <div class="form-group"> <label class="col-md-4">Type de créance</label> <div class="col-md-8"> <span class="wpcf7-form-control-wrap type-de-creance"><select name="type-de-creance[]" class="wpcf7-form-control wpcf7-select" aria-invalid="false"><option value="">Veuillez faire un choix</option><option value="prêt hypothécaire">prêt hypothécaire</option><option value="prêt à tempérament">prêt à tempérament</option><option value="financement véhicule">financement véhicule</option><option value="leasing">leasing</option><option value="crédit ballon">crédit ballon</option><option value="carte de crédit">carte de crédit</option><option value="réserve d\'argent">réserve d\'argent</option><option value="découvert bancaire">découvert bancaire</option></select></span> </div><div class="clearfix"></div></div><div class="form-group"> <label class="col-md-4">Nom de l\'organisme / Banque </label> <div class="col-md-8"><span class="wpcf7-form-control-wrap nom-de-l-organisme-banque"><input type="text" name="nom-de-l-organisme-banque[]" value="" size="40" class="wpcf7-form-control wpcf7-text"></span></div><div class="clearfix"></div></div><div class="form-group"> <label class="col-md-4">Capital emprunté </label> <div class="col-md-8"><span class="wpcf7-form-control-wrap capital-emprunte"><input type="text" name="capital-emprunte[]" value="" size="40" class="wpcf7-form-control wpcf7-text number-field"></span></div><div class="clearfix"></div></div><div class="form-group"> <label class="col-md-4">Durée du crédit (en mois)</label> <div class="col-md-8"><span class="wpcf7-form-control-wrap duree-du-credit-en-mois"><input type="text" name="duree-du-credit-en-mois[]" value="" size="40" class="wpcf7-form-control wpcf7-text number-field"></span></div><div class="clearfix"></div></div><div class="form-group"> <label class="col-md-4">Mensualité </label> <div class="col-md-8"><span class="wpcf7-form-control-wrap mensualite"><input type="text" name="mensualite[]" value="" size="40" class="wpcf7-form-control wpcf7-text number-field"></span></div><div class="clearfix"></div></div><div class="form-group"> <label class="col-md-4">Date 1ère échéance </label> <div class="col-md-8"><span class="wpcf7-form-control-wrap date-1ere-echeance"><input type="text" name="date-1ere-echeance[]" value="" size="40" class="wpcf7-form-control wpcf7-text number-field"></span></div><div class="clearfix"></div></div><div class="form-group"><label class="col-md-4">Solde restant dû (approximatif) </label> <div class="col-md-8"><span class="wpcf7-form-control-wrap solde-restant-du-approximatif"><input type="text" name="solde-restant-du-approximatif[]" value="" size="40" class="wpcf7-form-control wpcf7-text number-field"></span></div><div class="clearfix"></div></div><div class="form-group"> <label class="col-md-4">A clôturer / Solder&nbsp;? </label> <div class="col-md-8"><div class="col-md-8"> <span class="wpcf7-form-control-wrap"> <span class="wpcf7-form-control wpcf7-radio"> <span class="wpcf7-list-item first"> <input type="radio" name="a-cloturer-solder[' + n + ']" value="oui"> <span class="wpcf7-list-item-label">oui</span> </span> <span class="wpcf7-list-item last"> <input type="radio" name="a-cloturer-solder[' + n + ']" value="non"> <span class="wpcf7-list-item-label">non</span> </span> </span> </span></div></div><div class="clearfix"></div></div></div></div>';
jQuery("#step-5-repeat-block").append(form_step_5);
} else {
var repeater_id = jQuery(".repeater-fields-step-5").length;
jQuery(".rf-g-cours-" + repeater_id).remove();
jQuery(".dautres-credit-fields-" + block_5).hide();
}
});
jQuery(document).on('click', '.remove_rf_revenus', function() {
var repeater_id = jQuery(this).data("repeated");
jQuery(".rf-g-revenus-" + repeater_id).remove();
});
jQuery(document).on('click', '.remove_rf_en_cours', function() {
var repeater_id = jQuery(this).data("repeated");
jQuery(".rf-g-cours-" + repeater_id).remove();
});
jQuery(document).on("keypress", "form", function(event) {
return event.keyCode != 13;
});
jQuery('.mini-stimulator #loan_type, .mini-stimulator .loan_type').change(function() {
var hidden_fields, allowed_fields;
var changeTo = '';
hidden_fields = [];
var loan_type = jQuery('.mini-stimulator #loan_type').val(),
loan_radio_type = jQuery('.mini-stimulator .loan_type:checked').length ? jQuery('.mini-stimulator .loan_type:checked').val() : '';
if (loan_radio_type != '')
loan_type = loan_radio_type;
jQuery(".field-type-des-travaux").hide();
allowed_fields = ['fonds-propres', 'type-des-frais-de-notaire'];
for (var i = 0; i < allowed_fields.length; i++) { jQuery(".field-" + allowed_fields[i]).show(); }
switch (loan_type) {
case 'pat':
changeTo = "Prêt à Tempérament (Personnel / Tous Motifs / Achats Divers)";
hidden_fields = ['fonds-propres', 'type-des-frais-de-notaire'];
break;
case 'frais_notaire':
hidden_fields = ['fonds-propres'];
changeTo = "Frais De Notaire";
break;
case 'but_immo':
hidden_fields = ['fonds-propres', 'type-des-frais-de-notaire'];
jQuery(".field-type-des-travaux").show();
changeTo = "Crédit Travaux / Rénovation / Energie";
break;
case 'fin_neuve':
changeTo = "Financement Véhicule Neuf";
hidden_fields = ['type-des-frais-de-notaire'];
break;
case 'fin_occ_m3a':
hidden_fields = ['fonds-propres', 'type-des-frais-de-notaire'];
changeTo = "Financement Véhicule D'occasion";
break;
case 'fin_occ_p3a':
hidden_fields = ['fonds-propres', 'type-des-frais-de-notaire'];
changeTo = "Financement Véhicule D'occasion";
break;
case 'am':
changeTo = "Prêt Hypothécaire (Achat Maison)";
break;
case 'ph':
changeTo = "Prêt Hypothécaire (Achat Maison)";
break;
}
// Change all pre de credit to veuillez sélectionner votre type de prêt
changeTo = '';
for (var i = 0; i < hidden_fields.length; i++) { jQuery(".field-" + hidden_fields[i]).hide(); }
jQuery('#type-de-credit').val(changeTo);
onchange_type_de_credit();
});
jQuery('#type-de-credit').change(function() {
var changeTo = '';
var changeYes = false;
var loan_type = jQuery('.mini-stimulator #loan_type').val(),
loan_radio_type = jQuery('.mini-stimulator .loan_type:checked').length ? jQuery('.mini-stimulator .loan_type:checked').val() : '';
if (loan_radio_type != '')
loan_type = loan_radio_type;
switch (jQuery('#type-de-credit').val()) {
case "Frais De Notaire":
changeTo = 'frais_notaire';
changeYes = true;
break;
case "Crédit Travaux / Rénovation / Energie":
changeYes = true;
changeTo = 'but_immo';
break;
case "Financement Véhicule Neuf":
changeYes = true;
changeTo = 'fin_neuve';
break;
case "Financement Véhicule D'occasion":
changeYes = true;
changeTo = 'fin_occ_m3a';
break;
case "Prêt Hypothécaire (Achat Maison)":
changeYes = true;
changeTo = 'am';
break;
case "Prêt Hypothécaire (Construction)":
changeYes = true;
changeTo = 'ph';
break;
case "Prêt Hypothécaire (Refinancement)":
changeYes = true;
changeTo = 'am';
break;
case "Prêt Hypothécaire (Regroupement)":
changeYes = true;
changeTo = 'am';
break;
case "Prêt Hypothécaire (Achat à L'étranger)":
changeYes = true;
changeTo = 'am';
break;
case "Prêt à Tempérament (Personnel / Tous Motifs / Achats Divers)":
changeYes = true;
changeTo = 'pat';
break;
}
if ((changeYes == true) && (loan_type != changeTo)) {
jQuery('.mini-stimulator #loan_type').val(changeTo);
jQuery('.mini-stimulator input#' + changeTo).prop('checked', true);
jQuery('#selected_months').val(200);
}
onchange_type_de_credit();
});
// 3. General
"use strict";
/* form handling */
jQuery(function() {
jQuery('.field-repeat-block').repeater({
show: function() {
changeYesjQuery(this).slideDown();
},
hide: function(deleteElement) {
if (confirm('Êtes-vous sûr de vouloir supprimer cet élément?')) {
jQuery(this).slideUp(deleteElement);
}
},
ready: function(setIndexes) {
}
});
// Config
var form = jQuery('#formulaire_form');
var wizard = jQuery('#form_wizard');
var error = jQuery('.alert-danger', form);
var success = jQuery('.alert-success', form);
jQuery.validator.addClassRules({
number_field: {
number: true
},
email_field: {
email: true
}
});
jQuery.validator.messages.required = "Ce champs est requis.";
jQuery.validator.messages.email = "Veuillez insérer une adresse mail valide."
form.validate({
doNotHideMessage: true,
focusInvalid: false,
invalidHandler: function(event, validator) {
success.hide();
error.show();
},
submitHandler: function(form) {
success.show();
error.hide();
jQuery(form).submit();
},
});
// Functions
var displayConfirm = function() {
jQuery('#tab6 .form-control-static', form).each(function() {
var input = jQuery('[name="' + jQuery(this).attr("data-display") + '"]', form);
if (input.is(":text") || input.is("textarea")) {
jQuery(this).html(input.val());
} else if (input.is("select")) {
jQuery(this).html(input.find('option:selected').text());
} else if (input.is(":radio") && input.is(":checked")) {
jQuery(this).html(input.attr("data-title"));
}
});
}
var handleTitle = function(tab, navigation, index) {
var total = navigation.find('li').length;
var current = index + 1;
// Set widget title
jQuery('.step-title', wizard).text('Step ' + (index + 1) + ' of ' + total);
// Set done steps
jQuery('li', wizard).removeClass("done");
var li_list = navigation.find('li');
for (var i = 0; i < index; i++) {
jQuery(li_list[i]).addClass("done");
}
if (current == 1) {
wizard.find('.button-previous').hide();
} else {
wizard.find('.button-previous').show();
}
if (current >= total) {
wizard.find('.button-next').hide();
wizard.find('.button-submit').show();
displayConfirm();
} else {
wizard.find('.button-next').show();
wizard.find('.button-submit').hide();
}
}
// Form wizard example
wizard.bootstrapWizard({
'nextSelector': '.button-next',
'previousSelector': '.button-previous',
onTabClick: function(tab, navigation, index, clickedIndex) {
success.hide();
error.hide();
if (form.valid() == false) {
return false;
} else {
dataLayer.push({ 'event': 'pageview', 'virtualUrl': 'subscription-step' + (index + 1) + '-completed.html' });
}
handleTitle(tab, navigation, clickedIndex);
},
onNext: function(tab, navigation, index) {
success.hide();
error.hide();
if (form.valid() == false) {
return false;
} else {
dataLayer.push({ 'event': 'pageview', 'virtualUrl': 'subscription-step' + (index + 1) + '-completed.html' });
}
handleTitle(tab, navigation, index);
},
onPrevious: function(tab, navigation, index) {
success.hide();
error.hide();
handleTitle(tab, navigation, index);
},
onTabShow: function(tab, navigation, index) {
// To set progressbar width
var total = navigation.find('li').length;
var current = index + 1;
if (current > 1) { jQuery('.page-formulaire-seletors').hide(); } else { jQuery('.page-formulaire-seletors').show(); }
var $percent = (current / total) * 100;
wizard.find('.progress-bar').css({
width: $percent + '%'
});
jQuery('html, body').animate({
scrollTop: jQuery("#form_wizard").offset().top
}, 1000);
}
});
wizard.find('.button-previous').hide();
jQuery('#form_wizard .button-submit').click(function() {}).hide();
});
function number_format(number, decimals, decPoint, thousandsSep) { // eslint-disable-line camelcase
number = (number + '').replace(/[^0-9+\-Ee.]/g, '')
var n = !isFinite(+number) ? 0 : +number
var prec = !isFinite(+decimals) ? 0 : Math.abs(decimals)
var sep = (typeof thousandsSep === 'undefined') ? ',' : thousandsSep
var dec = (typeof decPoint === 'undefined') ? '.' : decPoint
var s = ''
var toFixedFix = function(n, prec) {
var k = Math.pow(10, prec)
return '' + (Math.round(n * k) / k)
.toFixed(prec)
}
// @todo: for IE parseFloat(0.55).toFixed(0) = 0;
s = (prec ? toFixedFix(n, prec) : '' + Math.round(n)).split('.')
if (s[0].length > 3) {
s[0] = s[0].replace(/\B(?=(?:\d{3})+(?!\d))/g, sep)
}
if ((s[1] || '').length < prec) {
s[1] = s[1] || ''
s[1] += new Array(prec - s[1].length + 1).join('0')
}
return s.join(dec)
}
function update_capital_input() {
if (jQuery('#selected_capital').length) {
var selected = jQuery('#loan_type').val(),
selected_radio = jQuery('.loan_type:checked').length ? jQuery('.loan_type:checked').val() : '',
sub_loan_radio_type = jQuery('.sub_loan_type:checked').length ? jQuery('.sub_loan_type:checked').val() : '';
if (selected_radio != '')
selected = selected_radio;
if (sub_loan_radio_type != '' && authorized_value.includes(sub_loan_radio_type)) {
selected = sub_loan_radio_type;
} else if (map_values[sub_loan_radio_type] !== 'undefined') {
selected = map_values[sub_loan_radio_type];
}
var capital_max = form_sliders[selected].capital_max;
var capital_min = form_sliders[selected].capital_min;
var capital_selected = form_sliders[selected].capital_selected;
jQuery('#selected_capital').prop('min', capital_min);
jQuery('#selected_capital').prop('max', capital_max);
jQuery('#selected_capital').val(capital_selected);
}
}
/* allocation selector */
jQuery(document).on('change', '.allocation-supplementaire-repeater', function() {
var block_4 = jQuery(this).data("repeated");
if ((jQuery(this)).val() != "---") {
jQuery(this).parents(".repeater-fields-step-4").children(".add-repeater-fields").show();
} else {
jQuery(this).parents(".repeater-fields-step-4").children(".add-repeater-fields").hide();
}
});
jQuery(function() {
var is_sending = false,
failure_message = 'Whoops, looks like there was a problem. Please try again later.';
jQuery('#forumulair-submit').on('click', function(e) {
e.preventDefault(); // Prevent the default form submit
var $this = jQuery('#formulaire_form'); // Cache this
jQuery.ajax({
url: cd_ajax_url.ajaxUrl,
type: 'post',
dataType: 'JSON', // Set this so we don't need to decode the response...
data: $this.serialize(), // One-liner form data prep...
beforeSend: function() {
is_sending = true;
// You could do an animation here...
},
error: function(data) {
},
success: function(data) {
if (data.status === 'success') {
var message =
"<div class='alert alert-success'><p>Votre demande de crédit nous est bien parvenue et nous vous en remercions. Une suite vous sera assurée dans les plus brefs délais (vous allez d'ailleurs recevoir un accusé de réception de notre part, par e-mail)</p><p>Nous vous informons qu'il est toujours préférable de ne pas introduire votre demande auprès de plusieurs sociétés de crédit en même temps. Nous travaillons avec la plupart des banques et sociétés de crédit, ce qui signifie que si votre dossier venait à être refusé la 1ère fois, nous le réintroduirons automatiquement ailleurs afin d'avoir un maximum de chances d'acceptation.</p><p>Crédit Direct SPRL</p><a href='" + cd_ajax_url.site_url + "'>Retour vers la page d'accueil</a> </div>";
jQuery('#formulaire_form').html(message);
window.setTimeout(function() { window.location.href = cd_ajax_url.site_url; }, 15000);
} else {
// handleFormError(); // If we don't get the expected response, it's an error...
}
}
});
});
function handleFormError() {
is_sending = false; // Reset the is_sending var so they can try again...
alert(failure_message);
}
});
// Create plus and minus buttons for slider
jQuery("#show_contact_num").click(function() {
jQuery('.header-top-contacts').slideToggle();
});
jQuery('#rgpdID').on('click', function() {
if (jQuery(this).is(':checked')) {
jQuery('[type="submit"]').removeAttr('disabled');
} else {
jQuery('[type="submit"]').prop('disabled', true);
}
});
jQuery('[name="hascoborrower"]').each(function() {
jQuery(this).on('click', function(e) {
let val = jQuery(this).val();
if (val == 1) {
jQuery('.co-emprunteur').slideDown();
jQuery('.isRequired').prop('required', true);
} else if (val == 0) {
jQuery('.co-emprunteur').slideUp();
jQuery('.isRequired').removeAttr('required');
}
});
});
/* jQuery('#selected_capital_range').on('slide, change', function(event, ui) {
var css_left_span = jQuery('#selected_capital_range').find('span').css('left'),
orange_bar = jQuery('.slider-count-wrapper .after_bar');
if (!orange_bar.hasClass('active'))
orange_bar.addClass('active');
if (css_left_span < 90)
css_left_span += 10;
orange_bar.css('width', css_left_span);
}); */
/*jQuery('#selected_capital_range').on('slidechange', function(event, ui) {
var css_left_span = jQuery('#selected_capital_range').find('span').css('left'),
orange_bar = jQuery('.slider-count-wrapper .after_bar');
if (!orange_bar.hasClass('active'))
orange_bar.addClass('active');
if (css_left_span < 90)
css_left_span += 10;
orange_bar.css('width', css_left_span);
});*/
jQuery('#selected_capital_range').on('slidecreate', function(event, ui) {
var css_left_span = jQuery('#selected_capital_range').find('span').css('left'),
orange_bar = jQuery('.slider-count-wrapper .after_bar');
if (!orange_bar.hasClass('active'))
orange_bar.addClass('active');
orange_bar.css('width', css_left_span);
});
jQuery(document).ready(function($) {
// Gestion du changement d'état de la case à cocher avec effet de slide
$('#switch_duration_type').on('change', function() {
if ($(this).is(':checked')) {
$('.determined_choices').slideUp(300, function() {
$('.free_choice').slideDown(300);
});
} else {
$('.free_choice').slideUp(300, function() {
$('.determined_choices').slideDown(300);
});
}
});
});
// Gestion des boutons de type de crédit
jQuery(document).ready(function($) {
$('.credit-type-selector').on('click', function(e) {
e.preventDefault();
const type = $(this).data('type');
const $container = $('.load_simulator').parent();
// Ajout d'un indicateur de chargement
$container.addClass('loading');
// Requête AJAX
$.ajax({
url: cd_js.ajaxUrl,
type: 'POST',
data: {
action: 'ajax_regenerate_simulator',
type: type,
nonce: cd_js.nonce
},
success: function(response) {
if (response.success) {
// Mise à jour du contenu
$container.html(response.data.html);
// Réinitialisation des événements
if (typeof on_slider_value_change === 'function') {
on_slider_value_change();
}
} else {
console.error('Erreur lors de la régénération du simulateur:', response.data.message);
}
},
error: function(xhr, status, error) {
console.error('Erreur AJAX:', error);
$container.removeClass('loading');
},
complete: function() {
$container.removeClass('loading');
}
});
});
});
function handleCreditTypeClick() {
jQuery('#cred-hypo, #cred-pat').on('click', function(e) {
e.preventDefault();
// Ajout gestion classe active_btn
jQuery('#cred-hypo, #cred-pat').removeClass('active_btn');
jQuery(this).addClass('active_btn');
const type = jQuery(this).attr('id') === 'cred-hypo' ? 'am' : 'pat';
const container = jQuery('.home-simu-holder > .fusion-column-wrapper');
const parentContainer = container.parent();
// Sauvegarder la hauteur actuelle
const currentHeight = container.outerHeight();
jQuery.ajax({
url: cd_js.ajaxUrl,
type: 'POST',
data: {
action: 'ajax_regenerate_simulator',
type: type,
nonce: cd_js.nonce
},
beforeSend: function() {
// Ajouter le spinner
const loadingSpinner = jQuery('<div class="cd-loading-spinner"></div>');
parentContainer.append(loadingSpinner);
// Définir la hauteur minimale du parent
parentContainer.css('min-height', currentHeight + 'px');
// Animation de sortie
container.addClass('animate-slide-out-down');
// Enregistrer le temps de début du spinner
parentContainer.data('spinnerStart', Date.now());
},
success: function(response) {
if (response.success) {
// Mise à jour du contenu avec animation
container.html(response.data.html);
// Séquence d'animations d'entrée
setTimeout(function() {
container.removeClass('animate-slide-out-down').addClass('animate-slide-in-up');
// Réinitialisation des événements après l'animation
setTimeout(function() {
if (typeof on_slider_value_change === 'function') {
on_slider_value_change();
}
// Réinitialisation des sliders
if (typeof change_capital_slider === 'function') {
const capitalSlider = jQuery('#selected_capital_range');
if (capitalSlider.length) {
const min = parseInt(capitalSlider.data('min'));
const max = parseInt(capitalSlider.data('max'));
const value = parseInt(capitalSlider.data('value'));
change_capital_slider(min, max, value);
// Initialisation de la barre orange pour le capital
const capitalOrangeBar = jQuery('.slider-count-wrapper .after_bar');
if (capitalOrangeBar.length) {
const cssLeftSpan = capitalSlider.find('span').css('left');
capitalOrangeBar.addClass('active');
capitalOrangeBar.css('width', cssLeftSpan);
}
}
}
if (typeof change_month_slider === 'function') {
const monthSlider = jQuery('#selected_month_range');
if (monthSlider.length) {
const min = parseInt(monthSlider.data('min'));
const max = parseInt(monthSlider.data('max'));
const value = parseInt(monthSlider.data('value'));
change_month_slider(min, max, value);
// Initialisation de la barre orange pour la durée
const monthOrangeBar = jQuery('.slider-month-wrapper .after_bar');
if (monthOrangeBar.length) {
const cssLeftSpan = monthSlider.find('span').css('left');
monthOrangeBar.addClass('active');
monthOrangeBar.css('width', cssLeftSpan);
}
}
}
// Réinitialisation des calculs
if (typeof calculate_mensualite === 'function') {
calculate_mensualite();
}
// Réinitialisation des événements de formulaire
if (typeof onchange_loan_type === 'function') {
onchange_loan_type('radio');
}
// Réinitialiser la hauteur minimale après l'animation
parentContainer.css('min-height', '');
}, 500); // Attendre la fin de l'animation slideInUp
}, 500); // Attendre la fin de l'animation slideOutDown
} else {
console.error('Erreur lors de la régénération du simulateur:', response.data.message);
container.removeClass('animate-slide-out-down').addClass('animate-slide-in-up');
parentContainer.css('min-height', '');
}
},
error: function(xhr, status, error) {
console.error('Erreur AJAX:', error);
container.removeClass('animate-slide-out-down').addClass('animate-slide-in-up');
parentContainer.css('min-height', '');
},
complete: function() {
// Supprimer le spinner après au moins 800 ms
var spinnerStart = parentContainer.data('spinnerStart') || Date.now();
var elapsed = Date.now() - spinnerStart;
var minDuration = 800;
var removeSpinner = function() {
parentContainer.find('.cd-loading-spinner').remove();
};
if (elapsed < minDuration) {
setTimeout(removeSpinner, minDuration - elapsed);
} else {
removeSpinner();
}
}
});
});
}
// Appeler la fonction lors du chargement du document
jQuery(document).ready(function() {
handleCreditTypeClick();
});
// Initialisation de la modal de rappel de crédit
document.addEventListener('DOMContentLoaded', function() {
var creditReminderBtn = document.querySelector('.credit-reminder-btn');
if (creditReminderBtn) {
creditReminderBtn.addEventListener('click', function() {
var modal = new bootstrap.Modal(document.getElementById('creditReminderModal'));
modal.show();
});
}
});