var intervalID = null;
var intervalLength = 500;

showMenu = function(elemObj)
{
	hideMenu();
        
    if(intervalID != null)
    {
        clearInterval(intervalID);
        intervalID = null;
    }
    
    var position = getElementPosition(elemObj);
    var divMenu = document.getElementById('DivMenu');
    
    divMenu.style.display = 'inline';
    divMenu.style.top = (position.top + 45) + 'px';
    divMenu.style.left = position.left + 10 + 'px';
    
	if(intervalID != null)
    {
        clearInterval(intervalID);
        intervalID = null;
    }
}

startHideMenu = function()
{
    intervalID = setInterval('hideMenu()',intervalLength);
}

hideMenu = function()
{
    var divMenu = document.getElementById('DivMenu');
    
    divMenu.style.display = 'none';
    
    if(intervalID != null)
    {
        clearInterval(intervalID);
        intervalID = null;
    }
}

menuActivated = function()
{
    if(intervalID != null)
    {
        clearInterval(intervalID);
        intervalID = null;
    }
}

menuDeactivated = function()
{
    startHideMenu();
}

// Ritorna la posizione assoluta dell'elemento html
// specificato.
function getElementPosition(elemObj) {
    var offsetTrail = elemObj;
    var offsetLeft = 0;
    var offsetTop = 0;
    while (offsetTrail) {
        offsetLeft += offsetTrail.offsetLeft;
        offsetTop += offsetTrail.offsetTop;
        offsetTrail = offsetTrail.offsetParent;
    }
    if (navigator.userAgent.indexOf("Mac") != -1 &&
        typeof document.body.leftMargin != "undefined") {
        offsetLeft += document.body.leftMargin;
        offsetTop += document.body.topMargin;
    }
    
    return {left:offsetLeft, top:offsetTop};
}

