﻿var _categoryDivIsPositioned = false;
var _collectionsDivIsPositioned = false;
var _newsDivIsPositioned = false;

var _visibleMenu = null;

var _cancelHide = false;

function positionMenu(menuDiv, parentDiv)
{  
    if (menuDiv != null)
    {
        var elementLeft = getElementLeft(parentDiv);
        var elementTop = getElementTop(parentDiv);
        
        elementLeft -= 5;
        elementTop += 18; // Adjust for height of base menu
        
        menuDiv.style.top = elementTop + 'px';
        menuDiv.style.left = elementLeft + 'px';
    }
}

function showHideMenu(menuDiv, visible)
{   
    if (visible)
    {        
        _cancelHide = true;
    
        if (menuDiv == _visibleMenu)
            return; // Do nothing - already showing
        else if (_visibleMenu != null)
            showHideMenu(_visibleMenu, false); // Hide it immediately
            
        menuDiv.style.display = 'block';
        _visibleMenu = menuDiv;
    }
    else
    {
        menuDiv.style.display = 'none';
        _visibleMenu = null;
    }
}

function showNewsMenu(parentDiv) 
{
    if (!_newsDivIsPositioned && parentDiv != null) {
        positionMenu(newsMenuDiv(), parentDiv);
        _newsDivIsPositioned = false;
    }

    showHideMenu(newsMenuDiv(), true);
}

function showCategoryMenu(parentDiv)
{
    if (!_categoryDivIsPositioned && parentDiv != null)
    {
        positionMenu(productMenuDiv(), parentDiv);
        _categoryDivIsPositioned = false;
    }
    
    showHideMenu(productMenuDiv(), true);
}

function showCollectionsMenu(parentDiv)
{
    if (!_collectionsDivIsPositioned && parentDiv != null)
    {
        positionMenu(collectionMenuDiv(), parentDiv);
        _collectionsDivIsPositioned = false;
    }
    
    showHideMenu(collectionMenuDiv(), true);
}

function hideCategoryMenu()
{
    _cancelHide = false;

    setTimeout(function() {
        if (!_cancelHide)
        {
            showHideMenu(productMenuDiv(), false);
            _cancelHide = false;
        }
    }, 1200);
}

function hideCollectionsMenu()
{
    _cancelHide = false;

    setTimeout(function() {
        if (!_cancelHide)
        {
            showHideMenu(collectionMenuDiv(), false);
            _cancelHide = false;
        }
    }, 1200);
}

function hideNewsMenu() {

    _cancelHide = false;

    setTimeout(function() {
        if (!_cancelHide) {
            showHideMenu(newsMenuDiv(), false);
            _cancelHide = false;
        }
    }, 1200);
}

function productMenuDiv()
{
    return document.getElementById('mnuProducts');
}

function collectionMenuDiv()
{
    return document.getElementById('mnuCollections');
}

function newsMenuDiv() {
    return document.getElementById('mnuNews');
}