var AuthorizationMy = new function() {
    var authBlockSelector = "#authorization-block-my";
    var inlineFormId = "#form_login";
    var loginButtonSelector = authBlockSelector + " .submit-button";
    var loginLinkSelector = authBlockSelector + " .login_link";
    var logoutLinkSelector = authBlockSelector + " .logout_link";
    var logoutLinkProcessSelector = authBlockSelector + " .logout_link_process";
    var logoutFormSelector = authBlockSelector + " .logout_form";
    var loginFormSelector = authBlockSelector + " .login_form";
    var logoutForumHashSelector = authBlockSelector + " .forum_logout_hash";

    function construct() {
        this.initBlock = function() {
            $(loginButtonSelector).click(function() {
                var md5 = hex_md5($('#authorization_password_myif').val());
                $('#authorization_password_myif_md5').val(md5);
            });

            $(logoutLinkSelector).click(function(event) {
                event.preventDefault();
                $(logoutLinkSelector + ', ' + logoutLinkProcessSelector).toggle();
                var hash = $(logoutForumHashSelector).val();
                im = $('<iframe width="0" height="0" style="display:none">');
                im.attr('src', 'http://pif.investfunds.ru/forums/login.php?do=logout&logouthash=' + hash);
                im.load(function () {
                    $(logoutFormSelector).submit();
                });
                $('body').prepend(im);
            });

            $(loginLinkSelector).click(function(event) {
                event.preventDefault();
                AuthorizationMy.showLoginForm();
            });
        }

        this.showLoginForm = function() {
            if ($(inlineFormId).length == 0) {
                $(loginFormSelector).modal({
                    onShow: function() {
                        if (document.cookie.indexOf('not_first_visit') != -1) {
                            $('div.login_form form').attr('action', './');
                        }
                    },
                    onClose: function() {
                        $.modal.close();
                    },
                    opacity: 75,
                    overlayCss: {
                        backgroundColor: "#000"
                    },
                    overlayClose: true
                });
            }
        }
    }

    return new construct();
}
