﻿$(function() {
        $('#instanceKeyInput,#pwdInput').keypress(keyHandlerLogin);
        var prvInstanceKey = GetCookie("instanceKey");
        if (prvInstanceKey) {
            $('#instanceKeyInput').remove();
            $('#instanceKeySpan').html(prvInstanceKey).show().after($('<input id="instanceKeyInput" type="hidden"/>').val(prvInstanceKey));
            $('#instanceKeySpan').editableSpan({ className: 'link', inputClassName: 'inputBoxLogin',
                externInputId: 'instanceKeyInput', inputWidth: '200',
                onTabOrEnterKey: function (ctl, sft, alt, ev) { $('#instanceKeySpan').change(); setTimeout("$('#pwdInput').focus().select();", 50); }
            });
            $('#pwdInput').focus();
        }
        else {
            $('#instanceKeyInput').focus();
        }
        var lastLanguage = GetCookie("lastLanguage");
        if (lastLanguage) {
            switchLanguage(lastLanguage);
        }
    });


// Login user
function loginUser() {
    var instanceKey = $('#instanceKeyInput').val();
    var password = $('#pwdInput').val();
    
    if (instanceKey != "" && password != "") {
        DeleteCookie("instanceKey");
        
        // set cookies values
        var expdate = new Date ();
        expdate.setTime(expdate.getTime() + (30 * 24 * 60 * 60 * 1000)); // 30 days
        SetCookie("instanceKey", instanceKey, expdate);
        
        $('#loginLoading').show();
        $('#loginResult').html("");
        SessionManager.loginAdminUser(instanceKey, password, function(result) {
                if (result == true) {
                    redirectToUrl("DefaultLoggedPage.aspx");
                }
                else {
                    $('#loginResult').html(loginFailedText);
                    $('#pwdInput').val("");
                    $('#loginLoading').hide();
                }
            });
    }
    else {
        $('#loginResult').html(loginInfoMissingText);
    }
}

function keyHandlerLogin(ev) {
    var keyCode = ev.keyCode ? ev.keyCode : ev.charCode;
    if (keyCode == 13) {
        if ($('#lostPasswordBottomDiv').is(':visible')) {
            submitLostPasswordForm();
        }
        else {
            loginUser();
        }
    }
    else if (keyCode == 27 && $('#lostPasswordBottomDiv').is(':visible')) {
        hideLostPassword();
    }
}

function displayLostPassword() {
    $('#contentDiv').css('background-color', '#e75012');
    $('#lostPasswordBottomDiv,#lostPasswordButtonsSpan').show();
    $('#lostPasswordLinkSpan,#loginBottomDiv').hide();
    $('#loginResult').html(companyCodeAndLoginAsk_lbl);
}

function hideLostPassword() {
    $('#contentDiv').css('background-color', '#605e5e');
    $('#lostPasswordBottomDiv,#lostPasswordButtonsSpan').hide();
    $('#lostPasswordLinkSpan,#loginBottomDiv').show();
    $('#loginResult').html("");
}

function submitLostPasswordForm() {
    var instanceKey = $('#instanceKeyInput').val();
    var email = $('#emailInput').val();
    $('#loginResult').html("");
    $('#lostPasswordLoading').show();
    SessionManager.lostPassword(instanceKey, email, function(result) {
            if (result == true) {
                $('#loginResult').html("Un email permettant de mettre à jour votre mot de passe vous a &eacute;t&eacute; envoy&eacute;");
            }
            else {
                $('#loginResult').html("D&eacute;sol&eacute;, vos coordonn&eacute;es n'ont pas &eacute;t&eacute; retrouv&eacute;es dans l'application");
            }
            $('#lostPasswordLoading').hide();
        });
}

