﻿function setPositionDivUserMenu()
{
    var divTopMenuUserMenuRef = $('divTopMenuUserMenu');
    var divUserMenuRef = $('divUserMenu');

    divUserMenuRef.style.left = getElementActualLeft(divTopMenuUserMenuRef) + divTopMenuUserMenuRef.offsetWidth - divUserMenuRef.offsetWidth + 'px';
    divUserMenuRef.style.top = getElementActualTop(divTopMenuUserMenuRef) + divTopMenuUserMenuRef.offsetHeight + 1 + 'px';
}

var timerHideUserMenu;
function hideUserMenu(event)
{
    var divTopMenuUserMenuRef = $('divTopMenuUserMenu');
    var divUserMenuRef = $('divUserMenu');

    if (!isOverElement(event, divTopMenuUserMenuRef) && !isOverElement(event, divUserMenuRef) && divUserMenuRef.style.display != 'none' && timerHideUserMenu == null)
    {
        timerHideUserMenu = setTimeout(
                                            function()
                                            {
                                                closeUserMenu();
                                            },
                                            2000
                                        );
    }
}

function userMenuClick()
{
    closeOpenedTopMenus();

    if ($('divUserMenu').style.display == 'none')
        openUserMenu();
    else
        closeUserMenu();
}

function openUserMenu()
{
    var divTopMenuUserMenuRef = $('divTopMenuUserMenu');
    var divUserMenuRef = $('divUserMenu');

    setImgMenuArrow($('imgBTopMenuUserMenu'), true);

    divTopMenuUserMenuRef.onmouseout = null;
    divTopMenuUserMenuRef.stopObserving('mouseout');
    bgTopMenuMouseOver(divTopMenuUserMenuRef);
    document.observe('mousemove', hideUserMenu);

    new Effect.BlindDown(
                            divUserMenuRef,
                            {
                                duration: 0.3,
                                afterUpdate: function()
                                {
                                    setPositionDivUserMenu();
                                },
                                afterFinish: function()
                                {
                                    setPositionDivUserMenu();
                                }
                            }
                        );
}

function closeUserMenu()
{
    var divTopMenuUserMenuRef = $('divTopMenuUserMenu');
    var divUserMenuRef = $('divUserMenu');

    divTopMenuUserMenuRef.observe('mouseout', function() { bgTopMenuMouseOut(divTopMenuUserMenuRef); });
    setImgMenuArrow($('imgBTopMenuUserMenu'), false);
    document.stopObserving('mousemove', hideUserMenu);

    new Effect.BlindUp(divUserMenuRef, { duration: 0.3, afterFinish: function() { bgTopMenuMouseOut(divTopMenuUserMenuRef); } });
}

function userMenuMouseOver()
{
    timerHideUserMenu = clearTimeout(timerHideUserMenu);
}

function inpPasswordOnFocus()
{
    var inpPasswordRef = $('inpPassword');
    var txtPasswordRef = $(prefixTagNameMain + 'txtPassword')
    inpPasswordRef.setStyle({ display: 'none' });
    txtPasswordRef.setStyle({ display: 'block' });
    txtPasswordRef.focus();
}
function txtPasswordOnBlur(element)
{
    if (trim(element.value).length == 0)
    {
        $('inpPassword').setStyle({ display: 'block' });
        element.setStyle({ display: 'none' });
    }
}
