﻿    $(document).ready(function(){
        $("#ajaxOnLoad, #ajaxOnLoaded, #ajaxOnError").hide();
        $("#btnValidation").click(function(){ performLogin(); });
        $("#btnPasswordRetrieve").click(function(){ performPasswordRetrieve(); });
        var requestManager = Sys.WebForms.PageRequestManager.getInstance();
        requestManager.add_beginRequest(deactivateForm);
        requestManager.add_endRequest(activateForm);
    });

    function performLogin() {
        $("#ajaxOnLoaded, #ajaxOnError").hide();
        $("#ajaxOnLoad").show();
        $("#btnValidation").attr("disabled", "true");
        Sys.Services.AuthenticationService.login(
            $get('tbUserName').value.replace(' ', ''),
            $get('ctl00_Content_ddlBirthDayLogin').value + $get('ctl00_Content_ddlBirthMonthLogin').value + $get('ctl00_Content_ddlBirthYearLogin').value,
            false,
            null,
            null,
            onLoginComplete,
            onLoginError,
            null);
    }
    
    function onLoginComplete(result)
    {
        $("#ajaxOnLoad").hide();
        if(result)
        {
            $("#ajaxOnLoad").html("Utilisateur identifié. Redirection en cours...");
            var redir = "Profile.aspx";
            var tempRedir = document.location.search.split("=")
            if(tempRedir.length > 1){
                if(tempRedir[1].length > 5)
                    redir = unescape(tempRedir[1]) ; // Filtramos direcciones del tipo Default.aspx?view=1
            }
            document.location = redir;
        }
        else
        {
            $("#ajaxOnLoaded").show(); 
            $("#btnValidation").removeAttr("disabled");
        }  
    }
    function onLoginError(result)
    {
        $("#btnValidation").removeAttr("disabled");
        $("#ajaxOnError").show();   
    }
    
    function performPasswordRetrieve()
    {
        $("#passwordRetrieveOnError").hide();
        $("#passwordRetrieveOnLoad").show();
        var email = $get('tbForgetPassword').value;
        var serviceOutput = "nok";
        if(emailCheck(email, logRetrievePasswordErrors))
            PageMethods.RetrievePassword(email, onPasswordRetrieveComplete);
        else
            return;
    }
    function onPasswordRetrieveComplete(result)
    {
        if(result != 'nok')
        {
            $("#loginLeft .password h2").html("Consultez votre messagerie");
            $("#loginLeft .password p").html("Notre système a identifié votre adresse e-mail et vous a envoyé vos codes d'accès à votre messagerie.").show("slow");
            $("#loginLeft .password fieldset").hide("slow");
        }
        else
            logRetrievePasswordErrors('Vous devez saisir l’adresse e-mail sous laquelle vous avez créé votre compte. L\'adresse indiquée ne correspond à aucun utilisateur.'); 
    }
    function logRetrievePasswordErrors(e)
    {
        $("#passwordRetrieveOnError").html(e).show();
        $("#passwordRetrieveOnLoad").hide();
    }
    
    function deactivateForm(sender, args)
    {
        $("#<%=btnCreateUser.ClientID %>").attr("disabled","true");
    }
    
    function activateForm(sender, args)
    {
        $("#<%=btnCreateUser.ClientID %>").removeAttr("disabled");
    }