
$(document).ready(function() {
    var idLoginMdpOublie=0;
    var AlreadySent=0;
    /*Description:fonction sendData qui fait une requette ajax en POST sur l'action loginpage
     *Parametre d'envoi: informations sur un utilisateur
     *Retour: Ouvre la boite de dialogue retourEnvoi et affiche un message selon le cas qu'on rencontre
*/
    function sendData () {
        var dataString = 'login='+ $("input#login").val()+'&pass='+$("input#password").val()+'&beta='+$("input#beta").val()+'&checkbox='+$("#sesouvenir:checked").val();
        if(AlreadySent==0){
            $.ajax({
                type: "POST",
                url: baseUrl+"/user/loginpage",
                data: dataString+data,
                success: function(msg){
                    var value= $.parseJSON(msg, false);
                    var codemsg=value.codemsg;
                
                
                    switch(codemsg){
                        case '1':
                            $("#retourEnvoi").empty();
                            $("#retourEnvoi").append($.i18n._("Veuillez saisir votre pseudo."));
                            $("#retourEnvoi").dialog('open');
                        
                            break;
                        case '2':
                            $("#retourEnvoi").empty();
                            $("#retourEnvoi").append($.i18n._("Veuillez saisir votre mot de passe."));
                            $("#retourEnvoi").dialog('open');
                       
                            break;
                        case '3':
                            $("#retourEnvoi").empty();
                            $("#retourEnvoi").append($.i18n._("Cet utilisateur est inconnu."));
                            $("#retourEnvoi").dialog('open');
                        
                            break;
                        case '4':
                            $("#retourEnvoi").empty();
                            $("#retourEnvoi").append($.i18n._("Désolé, ce mot de passe ne correspond pas à cet utilisateur."));
                            $("#retourEnvoi").dialog('open');
                        
                            break;
                        case '5':
                            var link=value.link;
                            setTimeout(function(){
                                location.href = baseUrl+link;
                            },500);
                            break;
                        case '6':
                            $("#retouRenvoiMailconfirmation").empty(); 
                            $("#retouRenvoiMailconfirmation").append($.i18n._("Vous devez d’abord valider votre inscription en cliquant sur le lien de confirmation du mail de validation que vous avez recu le "));
                            $("#retouRenvoiMailconfirmation").append(value.dateinscription+" à l’adresse ");
                            $("#retouRenvoiMailconfirmation").append(value.email);
                            $("#retouRenvoiMailconfirmation").dialog('open');
                            idLoginMdpOublie=value.idlogin;
                            break;
                        case '7':
                            $("#retourEnvoi").empty();
                            $("#retourEnvoi").append($.i18n._("Un problème technique nous empêche de répondre à votre requête.<br />Nous informons notre service technique pour qu'il le résolve dans les meilleurs délais. <br /><br />Merci de votre compréhension."));
                            $("#retourEnvoi").dialog('open');
                            break
                        case '8':
                            $("#retourEnvoi").empty();
                            $("#retourEnvoi").append(value.msg);
                            $("#retourEnvoi").dialog('open');
                            break;
                        case '10':
                            $("#retourEnvoi").empty();
                            $("#retourEnvoi").append(value.msg);
                            $("#retourEnvoi").dialog('open');
                            break;
                        default :
                            $("#retourEnvoi").empty();
                            $("#retourEnvoi").append($.i18n._("Un problème technique nous empêche de répondre à votre requête.<br /> Nous informons notre service technique pour qu'il le résolve dans les meilleurs délais. <br /><br />Merci de votre compréhension."));
                            $("#retourEnvoi").dialog('open');
                        
                            break;
                    }
                }
            });
        }
    }

    /******
         * Fonction oubliemdpPseudo()
         * Description : Envoi AJAX en POST sur l'action oubliePseudo
         * Parametre d'envoi : loginOublie
         * Retour : Ouvre une boite de dialogue et écrit le message d'erreur à l'intérieur
         *
         */

    function oubliemdpPseudo(){
        var dataString = 'loginOublie='+ $("input#loginOublie").val();

        $.ajax({
            type: "POST",

            url: baseUrl+"/user/oubliepseudo",
            data: dataString,
            success: function(msg){
                traitementDialogOublie(msg);
               
            },
            failure : function() {
                $("#retourEnvoi").empty();
                $("#retourEnvoi").append($.i18n._("Un problème technique nous empêche de répondre à votre requête.<br /> Nous informons notre service technique pour qu'il le résolve dans les meilleurs délais. <br /><br />Merci de votre compréhension."));
                $("#retourEnvoi").dialog('open');
            }
        });
    }


    /******
         * Fonction oubliemdpEmail()
         * Description : Envoi AJAX en POST sur l'action oubliePseudo
         * Parametre d'envoi : mailOublie
         * Retour : Ouvre une boite de dialogue et écrit le message d'erreur à l'intérieur
         *
         */
    function oubliemdpEmail(){
        var dataString = 'mailOublie='+ $("input#emailOublie").val();
        $.ajax({
            type: "POST",
            url: baseUrl+"/user/oubliepseudo",
            data: dataString,
            success: function(msg){
                var verif = /^[a-zA-Z0-9_-]+@[a-zA-Z0-9-]{2,}[.][a-zA-Z]{2,3}$/
                if( $("input#emailOublie").val().search(verif)==-1){
                    $("#retourEnvoi").empty();
                    $("#retourEnvoi").append($.i18n._("Cette adresse mail n'est pas valide.<br>Merci de la ressaisir."));
                    $("#retourEnvoi").dialog('open');
                   

                }
                else{
                    traitementDialogOublie(msg);
                }
            },
            failure : function() {
                $("#retourEnvoi").empty();
                $("#retourEnvoi").append($.i18n._("Un problème technique nous empêche de répondre à votre requête.<br /> Nous informons notre service technique pour qu'il le résolve dans les meilleurs délais. <br /><br />Merci de votre compréhension."));
                $("#retourEnvoi").dialog('open');
            }
        });

    }


    /******
         * Fonction traitementDialogOublie(msg)
         * Description : Traitement du JSON renvoyé lors du POST du formulaire d'oublie de MDP
         * Parametre : Chaine JSON renvoyé par la méthode AJAX
         * Retour : Ouvre une boite de dialogue et écrit le message d'erreur à l'intérieur
         *
         */
   function traitementDialogOublie(msg){
        var value= $.parseJSON(msg, false);
        var codemsg=value.codemsg;
        
        
        switch(codemsg){
            case 'loginOublie-1':
                $("#retourEnvoi").empty();
                $("#retourEnvoi").append($.i18n._("Un nouveau mot de passe vous a été envoyé dans votre boite email."));
                $("#retourEnvoi").dialog('open');
                
                break;
            case 'loginOublie-2':
                $("#retouRenvoiMailconfirmation").empty();
                
                $("#retouRenvoiMailconfirmation").append($.i18n._("Vous devez d’abord valider votre inscription en cliquant sur le lien de confirmation du mail de validation que vous avez recu le "));
                $("#retouRenvoiMailconfirmation").append(value.dateinscription+" à l’adresse ");
                $("#retouRenvoiMailconfirmation").append(value.email);
                $("#retouRenvoiMailconfirmation").dialog('open');
                idLoginMdpOublie=value.idlogin;
                break;
            case 'loginOublie-3':
                $("#retourEnvoi").empty();
                $("#retourEnvoi").append($.i18n._("Un problème technique nous empêche de répondre à votre requête.<br />Nous informons notre service technique pour qu'il le résolve dans les meilleurs délais. <br /><br />Merci de votre compréhension."));
                $("#retourEnvoi").dialog('open');
                
                setTimeout(function(){
                    location.href = baseUrl+"/contact/index";
                },500)
                break;
            case 'loginOublie-4':
                $("#retourEnvoi").empty();
                $("#retourEnvoi").append("Cet utilisateur est inconnu.");
                $("#retourEnvoi").dialog('open');
                
                break;
            case 'loginOublie-5':
                $("#retourEnvoi").empty();
                $("#retourEnvoi").append($.i18n._("Desolé, vous devez obligatoirement ne renseigner qu'un seul des 2 champs."));
                $("#retourEnvoi").dialog('open');
               
                break;
            default :
                $("#retourEnvoi").empty();
                $("#retourEnvoi").append($.i18n._("Un problème technique nous empêche de répondre à votre requête.<br /> Nous informons notre service technique pour qu'il le résolve dans les meilleurs délais. <br /><br />Merci de votre compréhension."));
                $("#retourEnvoi").dialog('open');
                
                break;
        }
    }

    function dialogboxConfirmail(url){

        $("#retourConfirmMail").dialog({
            bgiframe: true,
            autoOpen: false,
            modal: true,
            width:500,
            buttons: {
                Valider: function() {
                    location.href = url;
                    $(this).dialog('close');
                }
                    
            }
        });
    //gestion du mot de passe oublié
    }

    $("#forgetpassdiv").dialog({
            bgiframe: true,
            autoOpen: false,
            width: 500,
            modal: true,
            buttons: {
                Ok: function() {

                    if(($("input#emailOublie").val()!="")&&($("input#loginOublie").val()!="")){
                        $("#retourEnvoi").empty();
                        $("#retourEnvoi").append($.i18n._("Desolé, vous devez obligatoirement ne renseigner qu'un seul des 2 champs."));
                        $("#retourEnvoi").dialog('open');

                    }else if($("input#emailOublie").val()!=""){

                        oubliemdpEmail();
                    }else if($("input#loginOublie").val()!=""){
                        oubliemdpPseudo()
                    }

                    else{
                        $("#retourEnvoi").empty();
                        $("#retourEnvoi").append($.i18n._("Desolé, vous devez obligatoirement renseigner un des 2 champs."));
                        $("#retourEnvoi").dialog('open');

                    }

                },
                Cancel: function() {
                    $(this).dialog('close');

                }
            }
        });


 $("#retourEnvoi").dialog({
        bgiframe: true,
        width:500,
        autoOpen: false,
        modal: true
                   
    });

    /* formulaire vide*/
    function formLoginVide(){
        if(($("#login").val()=="")||($("#password").val()=="")){
            return true;
        }else{
            return false;
        }
    }

    function checkformLogin(){
        var checkint=0;
        $("#retourEnvoi").empty();
        /**** On commence par tester si tous les champs obligatoires sont remplis ****/
        if(formLoginVide()){
            $("#retourEnvoi").append($.i18n._("Vous devez remplir les 2 champs pseudo et mot de passe pour pouvoir vous connecter."));
            checkint++;
        }

        if(checkint!=0){
            $("#retourEnvoi").dialog('open');
            return false
        }else{
            return true;
        }
    }

    /****
         * ToDo: Gérer le multilangue sur l'affichage des boutons !
         *
         */
   
    $("#retouRenvoiMailconfirmation").dialog({
        bgiframe: true,
        autoOpen: false,
        width: 500,
        modal: true,
        buttons: {
            'Renvoyer le mail de Confirmation': function() {
                var dataString = 'idlogin='+ idLoginMdpOublie;
                $.ajax({
                    type: "POST",
                    url: baseUrl+"/user/renvoimailconfirm",
                    data: dataString,
                    success: function(msg){

                        var value= $.parseJSON(msg, false);
                        var codemsg=value.codemsg;

                        switch (codemsg){
                            case 'renvoimailconfirmation-0':
                                $("#retourEnvoi").empty();
                                $("#retourEnvoi").append(value.message);
                                $("#retourEnvoi").dialog('open');
                                break;
                            case 'renvoimailconfirmation-1':
                                $("#retourEnvoi").empty();
                                $("#retourEnvoi").append(value.message);
                                $("#retourEnvoi").dialog('open');
                                break;
                            case 'renvoimailconfirmation-2':
                                $("#retourEnvoi").empty();
                                $("#retourEnvoi").append(value.message);
                                $("#retourEnvoi").dialog('open');
                                break;
                            case 'renvoimailconfirmation-3':
                                $("#retourEnvoi").empty();
                                $("#retourEnvoi").append(value.message);
                                $("#retourEnvoi").dialog('open');
                                break;
                            case 'renvoimailconfirmation-4':
                                $("#retourEnvoi").empty();
                                $("#retourEnvoi").append(value.message);
                                $("#retourEnvoi").dialog('open');
                                break;

                            case 'renvoimailconfirmation-5':
                                $("#retourEnvoi").empty();
                                $("#retourEnvoi").append(value.message);
                                $("#retourEnvoi").dialog('open');
                                break;
                        }
                    },
                    failure : function() {
                        $("#retourEnvoi").empty();
                        $("#retourEnvoi").append("Un problème technique nous empêche de répondre à votre requête.<br /> Nous informons notre service technique pour qu'il le résolve dans les meilleurs délais. <br /><br />Merci de votre compréhension.");
                        $("#retourEnvoi").dialog('open');
                    }
                });
            }

        }
    });


    /*******
         * Affiche un formulaire si on clique sur l'image ayant pour id login_form_ok
         **/

    $("#login_form_ok").click(function(){
        if(checkformLogin()){
            sendData();
        }
        return false;
    });

    /*******
         * Affiche un formulaire si on clique sur le lien ayant pour id forgetpass
         **/

    $("#forgetpass").click(function(){
        $("#forgetpassdiv").dialog('open');
    });
});

