
// submit form on enter keypress
$('.login-form, input').keypress(function (e) {
    if (e.which == 13) {
        $('#btnSubmitLogin').trigger("click");
    }
});

$('#btnSubmitLogin').click(function (e)
{
    e.preventDefault();
    if (!$('.login-form form').valid()) {
        return;
    };

    var l = Ladda.create(this);
    l.start();
    var redirectUrl = '';

    var jqxhr = $.post("/user/login", $('.login-form form').serialize())
        .done(function (result)
        {
            //if a json result, check for errors
            if (!result.success) 
            {
                $('#loginValidationErrors').html(result.responseText);
                $('#loginValidationErrors').removeClass('hidden');
            }

            redirectUrl = result.redirectUrl;
        })
        .fail(function (err)
        {
            $('#loginValidationErrors').html(err);
            $('#loginValidationErrors').removeClass('hidden');
        })
        .always(function ()
        {
            l.stop();
            if (redirectUrl !== '')
            {
                window.location.href = redirectUrl; //force a redirect, as a page refresh is needed to load up permissions
            }
        });

    return false;
});

var $loginvalidation = $('.login-form form').validate({  // initialize plugin
    rules: {
        Email: {
            required: true,
            email: true
        },
        Password: {
            required: true
        }
    },
    messages: {
        Email: {
            required: "The Email field is required",
            email: "The Email field is not a valid e-mail address"
        },
        Password: {
            required: "The Password field is required"
        }
    },
    errorClass: "field-validation-error",
    highlight: function (element) {
        $(element).closest('.form-group')
            .removeClass('has-success').addClass('has-error');
    },
    success: function (element) {
        element.closest('.form-group')
            .removeClass('has-error').addClass('has-success');
        element.remove();
    },
    submitHandler: function (form) {
        return false; // ajax used, block the normal submit
    }
});

jQuery(document).ready(function ($) {
    
    //Show the Heading if the login page is in a modal dialog
    if ($('div#modalLogin').parents('.modaal-content-container').length)
    {
        $('#loginTitle').show();
    }
    else
    {
        $('#loginTitle').hide();
    }
});
