﻿var UserManager = (function() {
    function init() {
        //		$$(".user-login").addReplacingEvent("click",function (e) {
        //			UserManager.openLogin();
        //		});
        $$(".user-logout").addReplacingEvent("click", function(e) {
            UserManager.logout();
        });
        //		$$(".user-register").addReplacingEvent("click",function (e) {
        //			UserManager.openRegister();
        //		});
        if ($("searchButton") && $("searchText")) {
            $("searchButton").addReplacingEvent("click", function(e) {
                UserManager.search();
            });
            $("searchText").addReplacingEvent("click", function(e) {
                if ($("searchText").value == "Enter keyword") {
                    $("searchText").value = "";
                }
            });
            $("searchText").addEvent("keypress", function(e) {
                if (e.key && !e.shift) switch (e.key) {
                    case "enter":
                        UserManager.search();
                        return;
                }
            });
        }
    }
    $domready(init);

    function loginLoaded(immediateCall) {
        (function() {
            var lb = new Lightbox(UserManager._loginFormElement).show();
        }).delay(immediateCall ? 0 : 50); // delay so js/css could load
    }

    return {
        openLogin: function() {
            // if already got source
            if (UserManager._loginFormElement) loginLoaded(true);
            // otherwise fetch source from server
            else Mantis.Web.Services.UserService.GetLoginFormSource(function(source) {
                UserManager._loginFormElement = Element.fromMarkup(source);
                loginLoaded(false);
            });
        },


        logout: function() {
            WebService.AuthenticationService.logout();
        },
        openRegister: function() {
            LightboxForm.show("CreateUserPersonalDetails");
        },
        sendPassword: function(userName, callback) {
            Mantis.Web.Services.UserService.SendPassword(userName, function(success) {
                if (callback) callback(success);
            });
        },
        search: function() {
            if ($("searchText").value == "") {
                $("searchText").value = "Enter keyword";
            }
            else {
                window.location.href = "search-results.aspx?" + $("searchText").value;
            }
        }

    }
})();


