﻿    //MENU
    
	var visibleMenu = "";
    var timerID = -1;
    function ShowHoverMenu(objName, caller)
    {
        stopTimeOut();
        if( objName == visibleMenu ) return;
		HideVisibleMenu();
		visibleMenu = objName;
		
        var objToShow = getElement(objName);
        visibleMenu = objName;
        
        if(caller != null)
        {
            var x = findPosX(caller);
            var y = findPosY(caller);
            objToShow.style.left = parseInt(x + 5) + "px";
            objToShow.style.top = parseInt(y + 10) + "px";
        }
        
        objToShow.style.visibility = "visible";
    }
    
    function HideHoverMenu()
    {
        startTimeOut();
    }
    
    function HideVisibleMenu()
    {
        stopTimeOut();
        if(visibleMenu != '')
        {
            var objToShow = getElement(visibleMenu);
            if(objToShow != null)
            {
                if(objToShow.style.filter != null)
                {
                    objToShow.style.filter="blendTrans(duration=2)";
                    objToShow.filters.blendTrans(duration=2).Apply();
                    objToShow.filters.blendTrans.Play();
                }
                objToShow.style.visibility = "hidden";
            }
            visibleMenu = '';
        }
    }
    
    function startTimeOut() 
	{
	   timerID  = setTimeout("onTimeOut()", 1000);
	}
    function stopTimeOut()
	{
		if(timerID != -1) {
			clearTimeout(timerID);
			timerID = -1;
		}
	}
	
	function onTimeOut() 
	{
		if( timerID != -1 )
		{
			stopTimeOut();
			HideVisibleMenu();
		}				
	}
    
    //STANDARD FUNCTIONS
	function findPosX(obj)
    {
	    var curleft = 0;
	    if (obj.offsetParent)
	    {
		    while (obj.offsetParent)
		    {
			    curleft += obj.offsetLeft
			    obj = obj.offsetParent;
		    }
	    }
	    else if (obj.x)
		    curleft += obj.x;
	    return curleft;
    }

    function findPosY(obj)
    {
	    var curtop = 0;
	    if (obj.offsetParent)
	    {
		    while (obj.offsetParent)
		    {
			    curtop += obj.offsetTop
			    obj = obj.offsetParent;
		    }
	    }
	    else if (obj.y)
		    curtop += obj.y;
	    return curtop;
    }

    function getElement(name)
    {
	    if(document.getElementById) {
		    return document.getElementById(name);
	    } else if (document.all){
		    return document.all[name];
	    }
    }

    function getElementHeight(elem) 
    {
	    if (elem.style.pixelHeight != null && elem.style.pixelHeight > 0) 
		    return elem.style.pixelHeight;
	    else
		    return elem.offsetHeight;
    }

    function getElementWidth(elem) 
    {
	    if (elem.style.pixelWidth != null && elem.style.pixelWidth > 0) 
		    return elem.style.pixelWidth;
	    else
		    return elem.offsetWidth;
    }

