$(document).ready(function () {
    //login button hookups
    $(".sign-in-link").click(function (e) {
        e.preventDefault();
        clearErrorMessagesV2();
        $("#sign-in-box").css("left", $('.sign-in-link').offset().left - 310 + "px");
        $("#sign-in-box").css("top", $('.sign-in-link').offset().top + "px");
        $("#sign-in-box").fadeToggle(250);
        e.stopPropagation();
    });

    $(window).resize(function () { $("#sign-in-box").fadeOut(250); });

    $("body").click(function (e) {
        if ($("#sign-in-box:visible").length > 0) {
            if (e.pageX < $("#sign-in-box").offset().left || e.pageX > $("#sign-in-box").offset().left + 390 || e.pageY < $("#sign-in-box").offset().top + 40 || e.pageY > $("#sign-in-box").offset().top + 250)
                $("#sign-in-box").fadeOut(250);
        }
    });

    $("#sign-in-button").click(function (e) {
        e.preventDefault();
        
        if ($("#sign-in-button").hasClass("disabled"))
            return;

        LogIn('login-name', 'login-password', 'login-remember', function () { location.reload(); });
    });

    $(".sign-out-link").click(function (e) {
        e.preventDefault();
        $.post("/_layouts/lrmscartapi.asmx/Logout", {},
			function (data) {
			    location.href = location.protocol+"//"+location.host;
			});
    });

    $('#login-password').keyup(function (e) {
        if (e.keyCode == 13) {
            $('#sign-in-button').click();
        }
    });
});

function LogIn(usernameField, passwordField, loginRememberField, successFunction) {
    $("#sign-in-button").addClass("disabled");
    $("body").addClass("wait");
    $.post(getSSLLink("/_layouts/lrmscartapi.asmx/ValidateUser"), { username: $('#' + usernameField).val(), password: $('#' + passwordField).val(), stayLoggedIn: $('#' + loginRememberField).is(":checked") },
	function (data) {
	    if ($(data).text().indexOf('true') == -1) {
	        $("#sign-in-button").removeClass("disabled");
	        $("body").removeClass("wait");
	        buildErrorMessageV2($('#login-name'), $('#login-name'), 'Login is Invalid', true);
	    }
	    else
	        successFunction.call();
	});
}

