﻿var _bInscriptionLogin = false;
var _bInscriptionEmail = false;
var _bInscriptionEmailVerif = false;
var _bInscriptionMdp = false;
var _bInscriptionMdpVerif = false;
var _bInscriptionCGDV = false;

var _bInscriptionValidationGlobale = false;


function ValiderFormulaireInscription(ctrl, libellebouton) {

    //  debugger;

    //            // récupérer l'id du bouton
    //            var _strIdCtrl = ctrl.id;            
    //            // récupérer l'ajout mis par microsoft
    //            var _strDebutCtrl = _strIdCtrl.split(libellebouton)[0];


    // remettre tous à false
    _bInscriptionLogin = false;
    _bInscriptionEmail = false;
    _bInscriptionEmailVerif = false;
    _bInscriptionMdp = false;
    _bInscriptionMdpVerif = false;
    _bInscriptionCGDV = false;

    _bInscriptionValidationGlobale = true;

    var _strDebutCtrl = "ctl00_";
    // variable pour les noms des ctrls
    var _strNomCtrl = "";

    _strNomCtrl = _strDebutCtrl + "txtInscriptionIdentifiant";
    Valider(_strNomCtrl, 'login');
    _strNomCtrl = _strDebutCtrl + "txtInscriptionEmail";
    Valider(_strNomCtrl, 'email');
    _strNomCtrl = _strDebutCtrl + "txtInscriptionConfirmationEmail";
    Valider(_strNomCtrl, 'identique', 'txtInscriptionConfirmationEmail|txtInscriptionEmail');
    _strNomCtrl = _strDebutCtrl + "txtInscriptionMdp";
    Valider(_strNomCtrl, 'mdp');
    _strNomCtrl = _strDebutCtrl + "txtInscriptionConfirmationMdp";
    Valider(_strNomCtrl, 'identique', 'txtInscriptionConfirmationMdp|txtInscriptionMdp');
    _strNomCtrl = _strDebutCtrl + "chkInscriptionCGDV";
    Valider(_strNomCtrl, 'checkbox');

    return false;
}


function Valider(ctrl, validation) {
    Valider(ctrl, validation, "");
}

function Valider(ctrl, validation, option) {


    var _bTypeString = false;

    _bTypeString = (typeof (ctrl) == "string");
    //            debugger;
    var id = "";

    var _strValeur;

    if (!_bTypeString) {
        id = ctrl.id;
        _strValeur = ctrl.value;

    }
    else {
        id = ctrl;
        _strValeur = $("#" + id).val();
    }

    //  alert(ctrl.value);
    var _bEtat = true;
    var _txtMsg = "";

    var _bConfirmation = false;

    switch (validation) {
        case 'email':
            var R = /^[a-zA-Z0-9_\.\-]+\@([a-zA-Z0-9\-]+\.)+[a-zA-Z0-9]{2,4}$/;
            // si champ vide
            if (_strValeur == "") {

                _bEtat = false;
                _txtMsg = "Le champ est obligatoire";
            }
            else if (R.test(_strValeur)) {   // si l'email respecte l'expression régulière                  



                // vérifier dans la bd si l'email est déjà existante ou non.
                var _strEmail = _strValeur;
                // lancer commande de test si l'email existe
                $.ajax(
                                    {
                                        type: "POST",
                                        url: "/WebService/Service.asmx/EmailExiste",
                                        data: "{sEmail:'" + _strEmail + "', sId:'" + id + "'}",
                                        contentType: "application/json; charset=utf-8",
                                        dataType: "json",
                                        success: function(msg) {

                                            var txt = "";
                                            txt = msg.d;
                                            var strSplit = txt.split("|");
                                            var strReponse = strSplit[0];
                                            var sID = strSplit[1];

                                            if (strReponse == "OK") {

                                                callbackValider(sID, false, "L'email existe déjà");
                                            }
                                            else {
                                                callbackValider(sID, true, "");
                                            }
                                        }
                                    }
                                    ); // Fin lancer commande de test si l'email existe

                return;
            } // Fin si l'email respecte l'expression régulière
            else {
                _bEtat = false;
                _txtMsg = "Email incorrect";
            } // fin si champ vide

            break;

        case 'identique':

            _bConfirmation = true;
            var strCtrl = "";

            var strSplit = option.split("|");
            var strNom1 = strSplit[0];
            var strNom2 = strSplit[1];

            var strTemp = id.split(strNom1)[0];


            strCtrl = "#" + strTemp + strNom2;

            if ($(strCtrl).val() == _strValeur) {
                _bEtat = true;
                _txtMsg = "";
            }
            else {
                _bEtat = false;
                _txtMsg = "La confirmation n'est pas identique";
            }



            break;

        case 'login':
            // Vérifier que le champ est rempli
            if (_strValeur == "") {

                // debugger;
                _bEtat = false;
                _txtMsg = "Le champ est obligatoire";
            }
            else {
                var strLogin = _strValeur;
                // vérifier si le login n'est pas utilisé                            
                $.ajax(
                                    {
                                        type: "POST",
                                        url: "/WebService/Service.asmx/IdentifiantExiste",
                                        data: "{sLogin:'" + strLogin + "', sId:'" + id + "'}",
                                        contentType: "application/json; charset=utf-8",
                                        dataType: "json",
                                        success: function(msg) {

                                            var txt = "";
                                            txt = msg.d;
                                            var strSplit = txt.split("|");
                                            var strReponse = strSplit[0];
                                            var sID = strSplit[1];

                                            // alert("msg = " + msg.d);
                                            // debugger;
                                            if (strReponse == "OK") {

                                                //promptText += settings.allrules["login"].alertText + "<br />";
                                                callbackValider(sID, false, "L'identifiant existe déjà", false);
                                                // alert("OK")
                                            }
                                            else {
                                                callbackValider(sID, true, "", false);
                                            }
                                        }
                                    }
                                    );
                return;

            }

            break;

        case 'mdp':
            if ($("#" + id).val().length < 6) {
                _bEtat = false;
                _txtMsg = "Il faut saisir au moins 6 caractères"
            }

            break;
        case 'checkbox':

            if (!$("#" + id).attr("checked")) {

                _bEtat = false;
                _txtMsg = "La case à cocher est requise";
            }

            break;

    } // FIn du SWITCH

    callbackValider(id, _bEtat, _txtMsg, _bConfirmation);
} // fin fct (ctrl, validation)

function callbackValider(id, etat, strMessage, bConfirmation) {

    var ctrlImg = id + "_Img";
    var ctrlTxt = id + "_Msg";

    if (etat) {
        if (bConfirmation) {
            $("#" + ctrlImg).attr("src", "/App_Themes/BonjourVoisinsNC/images/commun/spacer.gif");
        }
        else {
            $("#" + ctrlImg).attr("src", "/App_Themes/BonjourVoisinsNC/images/commun/OK.png");
            $("#" + ctrlImg).attr("align", "absmiddle");
        }
    }
    else {
        $("#" + ctrlImg).attr("src", "/App_Themes/BonjourVoisinsNC/images/commun/Error.png");
        $("#" + ctrlImg).attr("align", "absmiddle");
    }

    $("#" + ctrlTxt).text(strMessage);


    switch (id) {

        case "ctl00_txtInscriptionIdentifiant":
            _bInscriptionLogin = etat;
            break;
        case "ctl00_txtInscriptionEmail":
            _bInscriptionEmail = etat;
            break;
        case "ctl00_txtInscriptionConfirmationEmail":
            _bInscriptionEmailVerif = etat;
            break;
        case "ctl00_txtInscriptionMdp":
            _bInscriptionMdp = etat;
            break;
        case "ctl00_txtInscriptionConfirmationMdp":
            _bInscriptionMdpVerif = etat;
            break;
        case "ctl00_chkInscriptionCGDV":
            _bInscriptionCGDV = etat;
            break;
    }



    if (_bInscriptionLogin
                && _bInscriptionEmail
                && _bInscriptionEmailVerif
                && _bInscriptionMdp
                && _bInscriptionMdpVerif
                && _bInscriptionCGDV
                && _bInscriptionValidationGlobale) {
        //debugger;
        _bInscriptionLogin = false;
        var _strLogin = $("#ctl00_txtInscriptionIdentifiant").val();
        var _strEmail = $("#ctl00_txtInscriptionEmail").val();
        var _strMdp = $("#ctl00_txtInscriptionMdp").val();
        var _bOptNewletter = $("#ctl00_chkInscriptionNewsletter").attr("checked");


        // mettre à jour l'inscription
        $.ajax(
                                    {
                                        type: "POST",
                                        url: "/WebService/Service.asmx/GererInscription",
                                        data: "{sLogin:'" + _strLogin + "', sMdp:'" + _strMdp + "', sEmail:'" + _strEmail + "', bOptNewsletter:" + _bOptNewletter + "}",
                                        contentType: "application/json",
                                        dataType: "json",
                                        success: function(msg) {
                                            
                                            _etatSliderHaut = -1;
                                            chargementContenuValidationInscription(msg.d);
                                            ChangerTailleSliderHaut("200px");

                                        }
                                    }
                                    );          // Fin lancer commande de test si l'email existe
    }



} // Fin fct  callbackValider(id, etat, strMessage)


// Fonction pour gérer un nouveau mot de passe
function DemandeDeNouveauMDP() {




    $.ajax({
        type: "POST",
        url: "/motpasseperdu.aspx",
        success: function(msg) {

            var _strContenuMdp = msg;
            afficheLightBox(_strContenuMdp);
        }
    });

    return false;

}
