﻿var DialogboxLogon = function() {
};

DialogboxLogon.Show = function(element, callback, returnUrl) {
    return this.ShowInternal(false, element, callback);
};

DialogboxLogon.ShowModal = function(element, callback, returnUrl) {
    return this.ShowInternal(true, element, callback, returnUrl);
};

DialogboxLogon.HideTitleBar = function(element) {
    $(element).dialog().parents(".ui-dialog").find(".ui-dialog-titlebar").remove();
};

DialogboxLogon.ShowInternal = function (isModal, element, callback, returnUrl) {

    $(element).load(
        "/Account/LogOnDialog/Normal/",
        {},
        function () {
            _ensureInitialization(element, callback, returnUrl);
            // initializing dialog
            $(element).dialog({
                bgiframe: true,
                autoOpen: false,
                //height: 490,
                width: 540,
                modal: isModal,
                closeOnEscape: true,
                resizable: false,
                title: "Connexion",
                open: function (event, ui) {
                    // HideTitleBar(element);
                },
                close: function () {
                    $(element).dialog('destroy');
                }
            });
            $(element).dialog('open');
        }
    );
    return false;


    function _ensureInitialization(element, callback, returnUrl) {
        var $currentForm = $("form:first", element);

        // event triggered when the form is posted.
        $("#cmdLogOn", $currentForm).click(function () {
            if (!FormValidation.Validate($currentForm))
                return false;

            AjaxHelper.Json(
                 this,
                "Account",
                "LogOnDialogSubmit",
                function (result) {
                    if (result.success) {
                        $("#dialogLogOn").dialog('close');
                        SiteMaster.UpdateHeader(true);
                        $.saturneoNotification("Bienvenue sur Quejerecommande.com !");
                        if ($.isFunction(callback)) {
                            callback(true, returnUrl);
                        }
                    } else {
                        ShowValidationErrors($currentForm, result);
                    }
                });
            return false;
        });

        $("#lnkForgotPassword", $currentForm).click(function () {
            window.location = $.url('Account/ResetPassword');
        });

        // dialog initialization.
        FormValidation.InitializeRules($currentForm, {
            userLogin: "required",
            password: "required"
        });

        $("#userLogin", $currentForm).focus();

        $("#btnRegister", $currentForm).click(function () {
            if (typeof $("#dialogLogOn") != "undefined")
                $("#dialogLogOn").dialog('close');
            DialogBoxRegisterUser();
            return false;
        });
    }

};

