﻿//PAGE LOAD =============================================================================
$(document).ready(function () {
    setupLogInGui();
});

//SETUP LOGIN GUI
function setupLogInGui() {
    //SIGN OUT PROCEDURE
    $(".imgSignOutButton").click(function () {
        $.ajax({
            type: "GET",
            url: "/webservices/handlers/general.ashx?method=soProcedure",
            async: false,
            dataType: "json",
            success: function (data) {
                if (data.jval.success === "true") {
                    window.location.replace("/index.aspx");
                }
            },
            error: function (XMLHttpRequest, textStatus, errorThrown) {
                alert("Mmm, there seems to be a problem...please retry later!");
            }
        });
    });

    //CANCEL SIGN IN
    $(".imgSignInCloseWindow").click(function () {
        $(".SignInFormContainer").hide();
    });

    $(".SignInFormContainer").keypress(function (e) {
        if (e.which == 13) { 
            $('.imgSignInExecuteButton').click();
        }
    });

    //SIGN IN INVOKE
    $(".imgSignInExecuteButton").click(function () {
        var email = $(".txtsignin_email").val().replace(/^\s*|\s*$/g, '');
        var password = $(".txtsignin_password").val().replace(/^\s*|\s*$/g, '');

        var chkRem = $(".SignInFormContainer").find("input:checkbox");
        var rem = chkRem.attr("checked");

        if ((email === "") || (password === "")) {
            alert("Please enter a valid email and password!");
            return false;
        }

        var isEmailValid = checkEmail(email);
        if (isEmailValid === false) {
            alert("Please enter a valid email!");
            return false;
        }

        $(".loginAjaxPI").show();
        $(".imgSignInExecuteButton").hide();

        var returnUrl1 = $(".txtSignInReturnUrl").val();
        var postData = "email=" + $.URLEncode(email) + "&pw=" + $.URLEncode(password) + "&rem=" + rem + "&returnUrl1=" + returnUrl1;

        $.ajax({
            type: "POST",
            url: "/webservices/handlers/general.ashx?method=siProcedure",
            async: false,
            dataType: "json",
            data: postData,
            success: function (data) {
                if (data.jval.success === "true") {
                    var returnUrl = data.jval.redirectUrl;
                   
                    if (returnUrl != "") {
                        window.location.replace(returnUrl);
                    } else {
                        alert("Invalid login details!");
                    }

                } else {
                    var errorMsg = data.jval.errorMsg;
                    if (errorMsg == "EXPIRED") {
                        alert("Please contact support - Account Expired");
                    } else if (errorMsg == "INVALID") {
                        $(".loginAjaxPI").hide();
                        $(".imgSignInExecuteButton").show();
                        alert("Invalid login details!");
                    } else if (errorMsg == "LOCKED") {
                        $(".loginAjaxPI").hide();
                        $(".imgSignInExecuteButton").show();
                        alert("Your account has been locked. Please contact us on 0207 937 6666 to enable!");
                    }
                }
            },
            error: function (XMLHttpRequest, textStatus, errorThrown) {
                $(".loginAjaxPI").hide();
                $(".imgSignInExecuteButton").show();
                alert("Mmm, there seems to be a problem...please retry later!" + errorThrown);
            }
        });



    });

    //Show Sign-in form
    $(".imgSignInButton").click(function () {
        var imgPosition = $(this).position();
        var signinPanel = $(".SignInFormContainer");
        signinPanel.css({ 'left': (imgPosition.left - 225) });
        signinPanel.css({ 'top': (imgPosition.top + 35) });
        if ($(".SignInFormContainer:visible").length > 0) {
            signinPanel.hide();
        } else {
            signinPanel.show();
        }

    });
}
