/////////////////////////////////////////////////
// APPELS DES MODULES
/////////////////////////////////////////////////
const path = require("path");

/////////////////////////////////////////////////
// APPELS DES MODULES PERSOS
/////////////////////////////////////////////////
// loggings
const logger = require("../../public/js/app/logger_stagenat");
// DB
const { connect_DB_promise } = require('../../modules/db/databaseconnect');
// VÉRIF CODE SECRET
const { verif_codesecret } = require('../../modules/verif_codesecret');



////////////////////////////////////////////////////
// FILE NAME
////////////////////////////////////////////////////
const filename = path.parse(__filename).base;


/////////////////////////////////////////////////
// PAGE 2
// DOMAIN/stagenational/formulaire
//
// RECUPERATION CHAMPS SAISIS
// CALCUL AGE
// CALCUL DU PRIX
// AFFICHER PAGE RECAP
//
/////////////////////////////////////////////////

const SN_checkinfos = async function(req, res) {
    logger.info("======================================", { label: filename });
    logger.info("======== FUNCTION post_formulaire_stagenat (STAGE) ==========", { label: filename });
    logger.info("======================================", { label: filename });

    //Connexion
    let db_connection_promise = await connect_DB_promise();

    //// INITIALISATION DES MONTANTS PAR FAMILLE
    req.session.cout_total = 0;
    req.session.frais_dossier = 0;
    req.session.cout_total_hebergement = 0;
    req.session.cout_total_transport = 0;
    req.session.cout_total_dalcroze = 0;
    req.session.cout_total_chant = 0;
    req.session.cout_total_dalcroze_surplace = 0;
    req.session.cout_total_observation = 0;
    req.session.cout_total_cours = 0;
    req.session.cout_total_coursparticulier = 0;
    req.session.cout_total_eveil = 0;
    req.session.cout_total_collectif = 0;
    req.session.cout_total_ensemble = 0;
    req.session.cout_total_particulier = 0;

    req.session.cout_total_option_decouvrealto = 0;
    req.session.accompte_frais_bancaire = 0;
    req.session.remise = "";
    req.session.remise_fn_montant = 0;
    req.session.montant_accompte = 0;

    // Variables
    let adulte_trouve = "non";
    let nb_instrumentiste = 0;
        
    // RÉCUPÉRATION DES DONNÉES DU FORMULAIRE DE LA SESSION EN COURS
    req.session.association_suzuki = req.body.association_suzuki;
    
    req.session.adherent_nom = req.body.adherent_nom;
    req.session.adherent_prenom = req.body.adherent_prenom;
    req.session.adherent_adresse_rue = req.body.adherent_adresse_rue;
    req.session.adherent_adresse_complement = req.body.adherent_adresse_complement;
    req.session.adherent_adresse_codepostal = req.body.adherent_adresse_codepostal;
    req.session.adherent_adresse_ville = req.body.adherent_adresse_ville;
    req.session.adherent_adresse_pays = req.body.adherent_adresse_pays;
    req.session.adherent_telephone = req.body.adherent_telephone;
    req.session.adherent_mail = req.body.adherent_mail;
    req.session.hebergement = req.body.hebergement;
    req.session.commentaire_adherent = req.body.commentaire_adherent;

    var nb_prof_invite = 0;
    var nb_observateur = 0;
    var nb_accompagnant = 0;
    var nb_instrumentiste_camp = 0;
    var nb_personne_hebergement = 0;
    req.session.cout_supplement_hebergement = 0;

    // SI DATE LIMITE D'INSCRIPTION DÉPASSÉE ON vérifie que le code secret est bien ok
    await verif_codesecret(req, res);
    logger.info("req.session.onpeutcontinuer : " + req.session.onpeutcontinuer , { numsession: req.session.id, label: filename});

    if (req.session.onpeutcontinuer === "oui") {
        // TRAITEMENT DES PARTICIPANTS
        for (let toto = 1; toto < 7; toto++) {
            // RÉCUPÉRATION DES INFORMATIONS SAISIES
            if (req.body["personne_"+toto+"_nom"]) {
                req.session[`personne_${toto}_nom`] = req.body[`personne_${toto}_nom`];
                req.session[`personne_${toto}_prenom`] = req.body[`personne_${toto}_prenom`];
                req.session[`personne_${toto}_datenaissance`] = req.body[`personne_${toto}_datenaissance`];
                req.session[`personne_${toto}_transport_mode`] = req.body[`personne_${toto}_transport_mode`];
                req.session[`personne_${toto}_transport_arret`] = req.body[`personne_${toto}_transport_arret`];
                req.session[`personne_${toto}_role`] = req.body[`personne_${toto}_role`];

                // PROFIL pour observateur, prof ou non
                req.session[`personne_${toto}_profil`] = req.body[`personne_${toto}_profil`];
                req.session[`personne_${toto}_prise_charge_nom`] = req.body[`personne_${toto}_prise_charge_nom`];
                if (req.session[`personne_${toto}_prise_charge_nom`]) {adulte_trouve = "oui"}

                req.session[`personne_${toto}_instrument`] = req.body[`personne_${toto}_instrument`];
                req.session[`personne_${toto}_instrument_ensemble`] = req.body[`personne_${toto}_instrument_ensemble`];
                req.session[`personne_${toto}_instrument_collectif`] = req.body[`personne_${toto}_instrument_collectif`];
                req.session[`personne_${toto}_cahier`] = req.body[`personne_${toto}_cahier`];
                req.session[`personne_${toto}_piece`] = req.body[`personne_${toto}_piece`];
                req.session[`personne_${toto}_prof`] = req.body[`personne_${toto}_prof`];
                req.session[`personne_${toto}_mail_prof`] = req.body[`personne_${toto}_mail_prof`];
                req.session[`personne_${toto}_option_coursindividuel`] = req.body[`personne_${toto}_option_coursindividuel`];
                req.session[`personne_${toto}_option_decouvrealto`] = req.body[`personne_${toto}_option_decouvrealto`];
                req.session[`personne_${toto}_option_concertsolo_cahier`] = req.body[`personne_${toto}_option_concertsolo_cahier`];
                req.session[`personne_${toto}_option_concertsolo_piece`] = req.body[`personne_${toto}_option_concertsolo_piece`];
                for (let i = 1; i <= 5; i++) {
                    req.session[`personne_${toto}_activite_${i}`] = req.body[`personne_${toto}_activite_${i}`];
                }
                
                // CALCUL ÂGE PERSONNE
                // CALCUL PROFIL AGE DE LA PERSONNE
                if (req.session["personne_"+toto+"_datenaissance"]) {
                    let datenaissance_concat = req.session["personne_"+toto+"_datenaissance"];

                    let an=datenaissance_concat.substr(6,4); // l'année (les quatre premiers caractères de la chaîne à partir de 6)
                    let mois=datenaissance_concat.substr(3,2);// On selectionne le mois de la date de naissance
                    let day= datenaissance_concat.substr(0,2); // On selectionne la jour de la date de naissance
                    let birthDate = new Date(an + "-" + mois + "-" + day);
                    let debutstage = new Date('2026-08-23');
                    let age = debutstage.getFullYear() - birthDate.getFullYear();
                    let m = debutstage.getMonth() - birthDate.getMonth();
                    if (m < 0 || (m === 0 && debutstage.getDate() < birthDate.getDate())) {
                        age--;
                    }
                    req.session[`personne_${toto}_age`] = age;
                    //logger.info("Age de " + req.session[`personne_${toto}_prenom`] + " = " + age , { numsession: req.session.id, label: filename});

                    // CALCUL PROFIL_AGE DE LA PERSONNE
                    req.session[`personne_${toto}_profilage`] = 
                        (age < 3) ? "moins_3ans" :
                        (age >= 3 && age <= 5) ? "3-5ans" :
                        (age >= 6 && age <= 11) ? "6-11ans" :
                        (age >= 12 && age <= 15) ? "12-15ans" :
                        (age >= 16 && age <= 17) ? "16-17ans" : 
                        "adulte";

                    // Pour camp ado : on vérifie s'il y a un adulte ou non
                    if (req.session[`personne_${toto}_age`] > 17) {
                        adulte_trouve = "oui";
                        logger.info("adulte_trouve : " + adulte_trouve, { numsession: req.session.id, label: filename});
                    };
                    
                    ///////////////////////
                    // TARIF PAR PERSONNE
                    
                    //// INITIALISATION DES MONTANTS PAR PERSONNE
                    req.session[`personne_${toto}_cout_hebergement`] = 0;
                    req.session[`personne_${toto}_cout_transport`] = 0;
                    req.session[`personne_${toto}_observation_cout`] = 0;
                    req.session[`personne_${toto}_cours_cout`] = 0;
                    req.session[`personne_${toto}_coursindividuel_cout`] = 0;
                    
                    req.session[`personne_${toto}_option_decouvrealto_cout`] = 0;
                    req.session[`personne_${toto}_eveil_cout`] = 0;
                    req.session[`personne_${toto}_dalcroze_cout`] = 0;
                    req.session[`personne_${toto}_chant_cout`] = 0;
                    req.session[`personne_${toto}_collectif_cout`] = 0;
                    req.session[`personne_${toto}_ensemble_cout`] = 0;
                    req.session[`personne_${toto}_particulier_cout`] = 0;

                    // FLOCONS VERT COUT PAR PERSONNE

                    // OBLIGER LES INSTRUMENTISTES CAMP ADO A CHOISIR Hébergement FLOCONS VERTS
                    if (req.session["personne_"+toto+"_role"] == "instrumentiste_camp") {
                        req.session.hebergement = "flocons verts partagé";
                        nb_instrumentiste_camp ++;
                    }

                    if ((req.session.hebergement === "flocons verts partagé" || req.session.hebergement === "flocons verts non partagé") 
                        && req.session[`personne_${toto}_role`] !== "prof_invite") {
                    
                        logger.info(`HEBERGEMENT : ${req.session.hebergement}`, { numsession: req.session.id, label: filename });
                    
                        // 11 ans - 17 ans & ADULTE tarif 300€/semaine
                        if (req.session[`personne_${toto}_age`] > 10) {
                            req.session[`personne_${toto}_cout_hebergement`] = 300;
                            req.session.cout_total += 300;
                            req.session.cout_total_hebergement += 300;
                            nb_personne_hebergement++;
                        }
                    
                        // 3 - 10 ans tarif 250€/semaine
                        if (req.session[`personne_${toto}_age`] >= 3 && req.session[`personne_${toto}_age`] <= 10) {
                            req.session[`personne_${toto}_cout_hebergement`] = 250;
                            req.session.cout_total += 250;
                            req.session.cout_total_hebergement += 250;
                            nb_personne_hebergement++;
                        }
                    }

                    // CAR COUT PAR PERSONNE           
                    if (req.session[`personne_${toto}_transport_mode`] === "car" && req.session[`personne_${toto}_role`] !== "prof_invite") {
                        logger.info(`ON AJOUTE LE COUT DU CAR : ${req.session[`personne_${toto}_role`]}`, { numsession: req.session.id, label: filename });
                    
                        req.session[`personne_${toto}_cout_transport`] = 65;
                        req.session.cout_total_transport += 65;
                        req.session.cout_total += 65;
                    }

                    // ACTIVITE COUT PAR PERSONNE
                    const activiteMapping = {
                        "dalcroze": { option: "opt_dalcroze", label: "rythmique Dalcroze", cout: 75, labelcout:"dalcroze_cout", totalKey: "cout_total_dalcroze" },
                        "chant": { option: "opt_chantchoral", label: "chant choral", cout: 75, labelcout:"chant_cout", totalKey: "cout_total_chant", gratuit: 11 },
                        "eveil": { option: "opt_eveil", label: "éveil musical", cout: 75, labelcout:"eveil_cout", totalKey: "cout_total_eveil" },
                        "cours_collectif_suzuki_acc": { option: "opt_collectif", label: "Cours collectif Suzuki", cout: 75, labelcout:"collectif_cout", totalKey: "cout_total_collectif" },
                        "atelier_mus_ens_acc": { option: "opt_ensemble", label: "Atelier musique d'ensemble", cout: 75, labelcout:"ensemble_cout", totalKey: "cout_total_ensemble" },
                        "cours_particulier": { option: "opt_particulier", label: "Cours particulier", cout: 65, labelcout:"particulier_cout", totalKey: "cout_total_particulier" }
                    };

                    for (let i = 1; i <= 5; i++) {
                        let activiteKey = `personne_${toto}_activite_${i}`;
                        
                        if (req.session[activiteKey]) {
                            let activite = req.session[activiteKey];
                            console.log(`activite = ${req.session[activiteKey]}`);
                            
                            if (activiteMapping[activite]) {
                                let { option, label, cout, labelcout, totalKey, gratuit } = activiteMapping[activite];
                    
                                req.session[`personne_${toto}_${option}`] = label;
                                console.log(`activite label = ${req.session[`personne_${toto}_${option}`]}`);
                    
                                if (gratuit !== undefined && req.session[`personne_${toto}_age`] > gratuit) {
                                    req.session[`personne_${toto}_${labelcout}`] = "offert"; // Gratuit pour adultes
                                } else {
                                    req.session[`personne_${toto}_${labelcout}`] = cout;
                                    req.session[totalKey] += cout;
                                    req.session.cout_total += cout;
                                }
                                console.log(`activite cout = ${req.session[`personne_${toto}_${labelcout}`]}`);
                            }
                        }
                    }

                    // observateur cout par personne
                    if (req.session["personne_"+toto+"_role"] == "observateur" && req.session["personne_"+toto+"_profil"] == "non_professeur") {
                        req.session["personne_"+toto+"_observation_cout"] = 30;
                        req.session.cout_total_observation += 30;
                        req.session.cout_total += 30;
                        nb_observateur ++;
                    }

                    // INSTRUMENTISTE PAR PERSONNE
                    // TARIF DIFFÉRENT SI INSCRIPTION AVANT LE 30/04/2026 pour appliquer la réduction voir ligne // REMISE POUR INSCRIPTION AVANT lE 30 AVRIL
                    let date1 = new Date('2026-05-01');
                    let date2 = new Date();
                    if (req.session["personne_"+toto+"_role"] == "instrumentiste" || req.session["personne_"+toto+"_role"] == "instrumentiste_camp") {
                        if (req.session["personne_"+toto+"_instrument"]== "alto" || req.session["personne_"+toto+"_instrument"]== "violon" || req.session["personne_"+toto+"_instrument"] == "violoncelle" || req.session["personne_"+toto+"_instrument"] == "flute traversière" || req.session["personne_"+toto+"_instrument"] == "trompette" ) {
                                req.session["personne_"+toto+"_cours_cout"] = 280;
                                req.session.cout_total_cours += 280;
                                req.session.cout_total += 280;
                            if (req.session["personne_"+toto+"_option_coursindividuel"] == "cours individuel") {
                                if (req.session["personne_"+toto+"_cahier"]=="Cahier 1" || req.session["personne_"+toto+"_cahier"]=="Cahier 2" || req.session["personne_"+toto+"_cahier"]=="Cahier 3") {
                                    req.session["personne_"+toto+"_coursindividuel_cout"] += 45;
                                    req.session.cout_total_coursparticulier += 45;
                                    req.session.cout_total += 45;
                                } else {
                                    req.session["personne_"+toto+"_coursindividuel_cout"] += 65;
                                    req.session.cout_total_coursparticulier += 65;
                                    req.session.cout_total += 65;
                                }
                            }
                            if (req.session["personne_"+toto+"_option_decouvrealto"] == "decouvertealto") {
                                req.session["personne_"+toto+"_option_decouvrealto_cout"] += 35;
                                req.session.cout_total_option_decouvrealto += 35;
                                req.session.cout_total += 35;
                            }
                            // REMISE POUR FAMILLE NOMBREUSE
                            // ICI ON COMPTE LE NOMBRE D'INSTRUMENTISTE, APRÈS EN DEHORS DE LA BOUCLE PAR PERSONNE ON DÉDUIRA LA REMISE SUR LE TOTAL
                            nb_instrumentiste ++;
                        }

                        if (req.session["personne_"+toto+"_instrument"]== "piano") {

                            if (req.session["personne_"+toto+"_cahier"]=="Cahier 1") {
                                req.session["personne_"+toto+"_cours_cout"] = 300;
                                req.session.cout_total_cours += 300;
                                req.session.cout_total += 300;
                            } else if (req.session["personne_"+toto+"_cahier"]=="Cahier 2" || req.session["personne_"+toto+"_cahier"]=="Cahier 3" || req.session["personne_"+toto+"_cahier"]=="Cahier 4") {
                                req.session["personne_"+toto+"_cours_cout"] = 315;
                                req.session.cout_total_cours += 315;
                                req.session.cout_total += 315;
                            } else {
                                req.session["personne_"+toto+"_cours_cout"] = 340;
                                req.session.cout_total_cours += 340;
                                req.session.cout_total += 340;
                            }
                            // REMISE POUR FAMILLE NOMBREUSE
                            // ICI ON COMPTE LE NOMBRE D'INSTRUMENTISTE, APRÈS EN DEHORS DE LA BOUCLE PAR PERSONNE ON DÉDUIRA LA REMISE SUR LE TOTAL
                            nb_instrumentiste ++;
                        }
                        
                        // REMISE POUR INSCRIPTION AVANT lE 30 AVRIL
                        if (date2 < date1) {
                            req.session.cout_total_cours -= 40;
                            req.session["personne_"+toto+"_cours_cout"] -= 40;
                            req.session.cout_total -= 40;
                            req.session.remise = "Remise pour inscription avant le 30 avril";
                        }

                        // ACOMPTE + 150 PAR INSTRUMENTISTE
                        req.session.montant_accompte += 150;
                    }

                    // Y-A-T-IL UN PROF INVITÉ
                    if (req.session["personne_"+toto+"_role"] == "prof_invite") {
                        nb_prof_invite ++;
                    }

                    // COMBIEN D'ACCOMPAGNANT
                    if (req.session["personne_"+toto+"_role"] == "accompagnant" || req.session["personne_"+toto+"_role"] == "accompagnant_activite") {
                        nb_accompagnant ++;
                    }
                }
            }
        }

        /////////////////////////////////
        // CAMP ADO
        let compteur_ado = 0
        logger.info("compteur_ado au départ : " + compteur_ado, { numsession: req.session.id, label: filename});

        if (adulte_trouve == "non" && req.session.hebergement == "flocons verts partagé") {
            for (let toto = 1; toto < 7; toto++) {
                if (req.session["personne_"+toto+"_age"] >= 14 && req.session["personne_"+toto+"_age"] < 18) { 
                    req.session["personne_"+toto+"_profil"] = "Camp ado";
                    compteur_ado ++;
                    logger.info("compteur_ado incrémenté : " + compteur_ado, { numsession: req.session.id, label: filename});
                }   else if (req.session["personne_"+toto+"_age"] < 14) {
                        req.session.err_mineur = "oui";
                        logger.info("err_mineur " + req.session.err_mineur, { numsession: req.session.id, label: filename});
                    }
            }

            //////////////////////////////////
            // VÉRIFICATION DU NOMBRE D'ADO ENCORE DISPO DANS DB
            try {

                //Query
                let sql = 'select campado_capacite, campado_nb_reservation from stn_stage';
                
                logger.info("sql stn_stage  : " + sql, { numsession: req.session.id, label: filename});
                const [results, fields] = await db_connection_promise.execute(sql);
                await db_connection_promise.end();
                logger.info("TABLE stn_stage nombre de campado_capacite : " + results[0].campado_capacite, { numsession: req.session.id, label: filename});
                logger.info("TABLE stn_stage nombre de campado_nb_reservation : " + results[0].campado_nb_reservation, { numsession: req.session.id, label: filename});

                logger.info("results[0].campado_capacite - results[0].campado_nb_reservation = " + (results[0].campado_capacite - results[0].campado_nb_reservation), { numsession: req.session.id, label: filename});
                if ((results[0].campado_capacite - results[0].campado_nb_reservation) < compteur_ado) {
                    req.session.err_campado_capa = "oui";
                    logger.info("Il n'y a plus de place disponible pour inscrire une personne en Camp Ado", { numsession: req.session.id, label: filename});
                }

            } catch (error) {
                // Echec de connection à la BD
                logger.error("Il y a un problème avec la connection à la base de données! : " + error, { numsession: req.session.id, label: filename});
                req.session.err_mail_form_adhesion_1 = "Il y a un problème système connexion base de données, veuillez recommencer.";
                req.session.err_mail_form_adhesion_ = error;
                res.redirect('/stagenational/identifier');
            }

        }
        req.session.compteur_ado = compteur_ado;

        /////////////////////////////////
        // CALCUL DU TARIF
        if (req.session.err_mineur == "oui" || req.session.err_campado_capa == "oui") {
            logger.info("existing session_err_mineur OR req.session.err_campado_capa : " + req.session.err_mineur + " | " + req.session.err_campado_capa, { numsession: req.session.id, label: filename});
            res.redirect('/stagenational/formulaire');
        } else {

            //////////////////////////////////
            // SUPPLÉMENT TARIF SI HÉBERGEMENT NON PARTAGÉ
            if (req.session.hebergement == "flocons verts non partagé") {
                logger.info("nb_personne_hebergement : " + nb_personne_hebergement, { numsession: req.session.id, label: filename});
                // Pour 1 personne (par exemple observateur)
                if (nb_personne_hebergement == 1) {
                    req.session.cout_total += (143);
                    req.session.cout_total_hebergement += (143);
                    req.session.cout_supplement_hebergement = (143);
                }
                // Famille de 2 personnes
                if (nb_personne_hebergement == 2) {
                    req.session.cout_total += (60*2);
                    req.session.cout_total_hebergement += (60*2);
                    req.session.cout_supplement_hebergement = (60*2);
                }
                // Famille de 3 personnes
                if (nb_personne_hebergement == 3) {
                    req.session.cout_total += (50*3);
                    req.session.cout_total_hebergement += (50*3);
                    req.session.cout_supplement_hebergement = (50*3);
                }
                // Famille de 4 personnes
                if (nb_personne_hebergement == 4) {
                    req.session.cout_total += (20*4);
                    req.session.cout_total_hebergement += (20*4);
                    req.session.cout_supplement_hebergement = (20*4);
                }
                logger.info("cout_supplement_hebergement : " + req.session.cout_supplement_hebergement, { numsession: req.session.id, label: filename});
            }

            //////////////////////////////////
            // REMISE POUR FAMILLE NOMBREUSE
            console.log("nb_instrumentiste = ",nb_instrumentiste)
            if (nb_instrumentiste == 2) {
                logger.info("//REMISE POUR FAMILLE NOMBREUSE");
                req.session.cout_total -= 50;
                req.session.remise += " - Remise de 50€ pour famille nombreuse (2 enfants)";
                req.session.remise_fn_montant = 50;
            };
            if (nb_instrumentiste > 2) {
                logger.info("//REMISE POUR FAMILLE NOMBREUSE");
                req.session.cout_total -= 100;
                req.session.remise += " - Remise de 100€ pour famille nombreuse (plus de 3 enfants)";
                req.session.remise_fn_montant = 100;
            };
            //////////////////////////////////
            // FRAIS DE DOSIER

            // pas de frais pour les profs invités
            console.log("nb_prof_invite = ",nb_prof_invite)
            if (nb_prof_invite > 0) {
                req.session.frais_dossier = 0;
            } else {
                req.session.frais_dossier = 30;
            }
            req.session.cout_total += req.session.frais_dossier;
            req.session.montant_accompte += req.session.frais_dossier;

            //////////////////////////////////
            // ACOMPTE
            // Si acompte est de 0 on lui met 150 (par ex si c'est un observateur)
            console.log("req.session.montant_accompte = ",req.session.montant_accompte)
            if (req.session.montant_accompte < 150 && req.session.cout_total > 150 ) {
                req.session.montant_accompte = 150;
                logger.info("req.session.montant_accompte = " + req.session.montant_accompte, { numsession: req.session.id, label: filename});
            }

            //////////////////////////////////
            // FRAIS bancaire
            // 1,5 % (carte standard ou 1,9% carte premium du coup moyenne des 2 : 1,7%)  + 0,25 € pour l'Espace économique européen (hors UK)
            console.log("req.session.montant_accompte = ",req.session.montant_accompte)
            console.log("req.session.datelimitedepass = ",req.session.datelimitedepass)
            if (req.session.montant_accompte > 149 && req.session.datelimitedepass === "non") {
                req.session.accompte_frais_bancaire = 0.25;
                req.session.accompte_frais_bancaire += req.session.montant_accompte * 0.015;
                //req.session.accompte_frais_bancaire = Math.round(req.session.accompte_frais_bancaire * 100) / 100;
                //req.session.accompte_frais_bancaire = Number(req.session.accompte_frais_bancaire.toFixed(2));
                req.session.accompte_frais_bancaire = Math.round(req.session.accompte_frais_bancaire);
                
                req.session.cout_total += req.session.accompte_frais_bancaire;
                req.session.montant_accompte += req.session.accompte_frais_bancaire;
            }

            // RECAP SANS ACOMPTE À PAYER
            if (req.session.montant_accompte < 150 || req.session.datelimitedepass === "oui") {
                logger.info("REDIRECTION VERS RÉCAP SANS ACOMPTE (montant_accompte) = " + req.session.montant_accompte, { numsession: req.session.id, label: filename});
                req.session.montant_accompte = 0;
                res.redirect('/stagenational/recap');
            }
            // RECAP AVEC ACOMPTE À PAYER
            if (req.session.montant_accompte > 149 && req.session.datelimitedepass === "non") {
                logger.info("REDIRECTION VERS RÉCAP AVEC ACOMPTE (montant_accompte) = " + req.session.montant_accompte, { numsession: req.session.id, label: filename});
                res.redirect('/stagenational/recap');
            }
        }
    } else {
        logger.info("Votre session est terminé 'onpeutcontinuer' : " + req.session.onpeutcontinuer, { numsession: req.session.id });
        req.session.err_mail_form_adhesion_1 = 'Votre session est terminée ("onpeutcontinuer" = non), veuillez recommencer.';
        res.redirect('/stagenational/identifier');
    }
}

/////////////////////////////////////////////////
// EXPORT DE MODULE POUR QU'IL SOIT LU DANS LES AUTRES FICHIERS JS
/////////////////////////////////////////////////

module.exports = {
    SN_checkinfos
}