function fct_login_v4() {
    fct_executerAjax_v4({
        ps_pageAjax: 'fwkb_v4/login/login.ajax.php',
        po_parametreAjax: {
            login: $('#login').val(),
            password: $('#password').val(),
            token: $('#token').val()
        }
    }) ;
}
//24/10/22, hgrellier, Kala n°40950, On valide le fomulaire de connexion si on fait la touche 'Entrée' en saisie
function fct_onKeyUpConexion(po_parametre){
    if(
        po_parametre.pi_keyCode === 13
    ){
        fct_login_v4() ;
    }
}
//02/11/22, hgrellier, Kala n°40952, dialog de mot de passe oublié
function fct_clicMotDePasseOublier(){
    fct_ouvrirDialog_v4({
        ps_titreDialog: 'Mot de passe oublié',
        ps_idDialog: 'modifierMotDePasse',
        ps_pageAjax: 'fwkb_v4/login/motDePasseOublie.pag.php',
        ps_largeurDialog: 500,
        ps_hauteurDialog: 190,
        pa_bouton: [
            gs_dialogBoutonTypeSubmit,
            gs_dialogBoutonTypeFermer
        ]
    }) ;
}
//26/10/22, hgrellier, Kala n°40951, je déplace la fonction ici pour l'utiliser sur nouveau mot de passe
function fct_setEvenementMotDePasseConfirmation(){
    $('#inputMotDePasseConfirmation').keyup(function() {
        if (
            $('#inputMotDePasseConfirmation').val() === ''
        ) {
            $('#inputMotDePasseConfirmation').parent().removeClass('erreurInput_v4')
        }
        else {
            if (
                $('#inputMotDePasseNouveau').val() !== $('#inputMotDePasseConfirmation').val()
            ) {
                $('#inputMotDePasseConfirmation').parent().addClass('erreurInput_v4')
            } else {
                $('#inputMotDePasseConfirmation').parent().removeClass('erreurInput_v4')
            }
        }
    }) ;
}
//06/09/22, hgrellier, Kala n°40231, Deconnexion après modification du mot de passe
/**
 * @param po_parametre.pi_intervalleAvantDeconnexion
 * @param po_parametre.pb_deconnecterUtilisateur
 */
function fct_logoutApresModifMotDePasse(po_parametre){
    if(
        po_parametre.pi_intervalleAvantDeconnexion === undefined
    ) {
        var fi_intervalleAvantDeconnexion = 5000 ;
    }
    else {
        var fi_intervalleAvantDeconnexion = po_parametre.pi_intervalleAvantDeconnexion
    }
    let fs_fonctionLogOut = null ;
    let fs_messageModificationMotDePasse;
    if(
        po_parametre.pb_deconnecterUtilisateur
    ){
        fs_messageModificationMotDePasse = 'Un mail vous a bien été envoyé pour modifier votre mot de passe, vous allez maintenant être déconnecté.'
        fs_fonctionLogOut = 'fct_logout' ;
        /*setTimeout(
            fct_logout,
            fi_intervalleAvantDeconnexion
        ) ;*/
    }
    else{
        fs_messageModificationMotDePasse = 'Votre mot de passe a été modifié avec succès, vous allez maintenant pouvoir vous connecter' ;
        if(po_parametre.pb_isAffichageMobile) {
            fs_messageModificationMotDePasse += ' depuis l\'application.' ;
        }
        fs_messageModificationMotDePasse += '.' ;
        //30/05/23, rperrault, Je ne vois pas l'intérêt de rafraichir automatiquement la fenêtre, on va ajouter un bouton sur le dialog
        fs_fonctionLogOut = 'fct_rechargePageConnexionNouveauMotDePasse' ;
        /*setTimeout(
            fct_rechargePageConnexionNouveauMotDePasse,
            fi_intervalleAvantDeconnexion
        ) ;*/
    }
    //30/05/23, rperrault, Kala n°44923,
    let fs_classCssDialog = '' ;
    var fa_bouton ;
    //01/06/23, hgrellier, Kala n°44939, redirection vers l'application mobile directement après le changement de mot de passe
    if(po_parametre.pb_isAffichageMobile) {
        fs_classCssDialog += 'dialogTailleAdaptatifMobile' ;
        fa_bouton = [
            fct_getInputButton_v4_o({
                ps_idObjet: 'btnOuvrirApplicationMobileModificationMotDePasse2',
                ps_valeurObjet: 'Ouvrir l\'application',
                ps_fonctionOnClick: 'fct_redirectionMebVersApplicationMobile',
                ps_style: 'light'
            })
        ] ;
    }
    else{
        fa_bouton = [
            fct_getInputButton_v4_o({
                ps_idObjet: 'btnOkDialogMotDePasseModifie',
                ps_valeurObjet: 'OK',
                ps_style: 'light',
                ps_fonctionOnClick: fs_fonctionLogOut
            })
        ] ;
    }
    fct_ouvrirDialog_v4({
        ps_idDialog: 'divDialogMotDePasseModifie',
        ps_contenuDialog: fs_messageModificationMotDePasse,
        ps_titreDialog: 'Nouveau mot de passe',
        ps_classCssDialog: fs_classCssDialog,
        pa_bouton: fa_bouton
    }) ;
}
//26/10/22, hgrellier, Kala n°40951, Si la modification mot de passe est valider, on recharge la page de connexion pour que l'utilisateur se connecte
function fct_rechargePageConnexionNouveauMotDePasse(){
    // je recharge la page de connexion
    fct_goto_v4({
        ps_page: ''
    }) ;
}
/*
    On envoie un mail pour choisir un nouveau mot de passe
 */
function fct_demandeModifierMotDePasse(po_parametre){
    fct_executerAjax_v4({
        ps_pageAjax: 'fwkb_v4/utilisateur/demandeModifierMotDePasse.ajax.php',
        po_parametreAjax: {
            token: po_parametre.ps_token,
            isAffichageMobile: po_parametre.pb_isAffichageMobile,
            deconnecterUtilisateur: po_parametre.pb_deconnecterUtilisateur,
            clefUtilisateur: po_parametre.pi_clefUtilisateur,
            nouvelleDemande: po_parametre.pb_nouvelleDemande
        }
    }) ;
}
/*
    Si on demande un nouveau mot de passe alors qu'on a déjà un token de modification mot de passe valide
 */
function fct_demanderNouvelleDemmandeMotDePasse(po_parametre){
    //01/06/23, hgrellier, Kala n°44939, correction orthographique veuillez -> veillez
    let ls_contenu = 'Vous avez déjà fait une demande de mot de passe récemment, veillez à regarder vos mails pour vérifier si vous n\'avez pas déjà un mail de demande de nouveau mot de passe.
'
    ls_contenu += '
 Sinon, vous pouvez demander à recevoir un nouveau mail pour demander un nouveau mot de passe.'
    fct_ouvrirDialog_v4({
        ps_titreDialog: 'Modifier mot de passe',
        ps_idDialog: 'modifierMotDePasse',
        ps_contenuDialog: ls_contenu,
        ps_largeurDialog: 600,
        ps_hauteurDialog: 200,
        pa_bouton: [
            fct_getInputButton_v4_o({
                ps_idObjet: 'btnModifierMotDePasseNouvelleDemande',
                ps_valeurObjet: 'Demander mot de passe',
                ps_fonctionOnClick: 'fct_demandeModifierMotDePasse',
                po_parametreOnClick: {
                    pb_deconnecterUtilisateur: false,
                    pi_clefUtilisateur: po_parametre.pi_clefUtilisateur,
                    pb_nouvelleDemande: true
                },
                pb_isLoader : 1
            }),
            gs_dialogBoutonTypeFermer
        ]
    }) ;
}
//01/06/23, hgrellier, Kala n°44939, redirection vers l'application mobile directement après le changement de mot de passe
/*
    Une fois le mot de passe modifié, on redirige l'utilisateur vers l'application mobile
 */
function fct_redirectionMebVersApplicationMobile(po_parametre){
    // redirection vers le playstore
    //window.location = 'https://play.google.com/store/apps/detail?id=com.brangeon.monespacebrangeon';
    
    var userAgent = navigator.userAgent || navigator.vendor || window.opera;
    // Windows Phone must come first because its UA also contains "Android"
    if (/windows phone/i.test(userAgent)) {
        //
    }
    
    if (/android/i.test(userAgent)) {
        window.location.href='app://com.brangeon.monespacebrangeon' ;
    }
    
    // iOS detection from: http://stackoverflow.com/a/9039885/177710
    if (/iPad|iPhone|iPod/.test(userAgent) && !window.MSStream) {
        //
    }
    
}