/** menus **/

function Menus()
{
}

Menus.activeElement = null;
Menus.srcElement = null;
Menus.hider = null;
Menus.shadowElement = null;

Menus.prototype.mouseHike = function(element)
{
    if( Menus.activeElement != null ) {
		if( Menus.hider != null )
		    clearTimeout( Menus.hider );
		Menus.hider = null;
		this.finalCleanup();
    }
}

Menus.prototype.mouseOver = function(element)
{
    if( (element == Menus.activeElement) || (element == Menus.activeSrc) || (element == Menus.shadowElement) ) {
		if( Menus.hider != null ) {
		    clearTimeout( Menus.hider );
		    Menus.hider = null;
		}
		return;
    }

    if( Menus.activeElement != null ) {
		if( Menus.hider != null )
		    clearTimeout( Menus.hider );
		Menus.hider = null;
		this.finalCleanup();
    }

    var subId = element.getAttribute( "subid" );
    
    if( !subId ) return;
    
    var child = document.getElementById( "sub_" + subId );

    if( !child  ) return;

	var xpos = getPageCoords( element.parentNode.parentNode );
    var pos = getPageCoords( element );

    child.style.left = xpos.x + "px";
    child.style.top = (xpos.y + 32) + "px";
    child.style.width = "auto";
    child.style.display = "block";
    
    Menus.activeElement = child;

    Menus.srcElement = element;
    Menus.srcElement.style.color = "#555250";
    
    var isym = false;
    
    if( Menus.srcElement.className !== undefined ) {
    	if( Menus.srcElement.className == "ym" )
    		isym = true;
    } else {
    	if( Menus.srcElement.getAttribute( "class" ) == "ym" )
    		isym = true;
    }
    
    if( isym ) {
    	Menus.srcElement.style.background = "#fefa02";
    } else {
    	Menus.srcElement.style.background = "#ffffff";
    }

    Menus.shadowElement = document.createElement( "DIV" );
    Menus.shadowElement.style.position = "absolute";
    Menus.shadowElement.style.left = xpos.x + "px";
    Menus.shadowElement.style.top = (xpos.y + 32) + "px";
    Menus.shadowElement.style.width = "985px";
    Menus.shadowElement.style.height = "32px";
    Menus.shadowElement.style.background = "#ffffff";
    Menus.shadowElement.style.zIndex = 99;
    Menus.shadowElement.style.opacity = 0.65;
    Menus.shadowElement.style.filter = "alpha(opacity=65)";
    if( Menus.shadowElement.style.setAttribute )
    	Menus.shadowElement.style.setAttribute( "-moz-opacity", "0.65" );
    	
    setEventHandler( Menus.shadowElement, "mouseover", function() { menu.mouseOver( Menus.shadowElement ); } );
    setEventHandler( Menus.shadowElement, "mouseout", function() { menu.mouseOut( Menus.shadowElement ); } );

	document.body.appendChild( Menus.shadowElement );
}

Menus.prototype.mouseOut = function(element)
{
    if( Menus.hider != null ) return;
    if( Menus.activeElement == null ) return;

    Menus.hider = setTimeout( this.finalCleanup, 1200 );
}

Menus.prototype.finalCleanup = function()
{
    if( Menus.activeElement != null ) {
    	Menus.activeElement.style.display = "none";
    }
    
    if( Menus.srcElement != null ) {
    	Menus.srcElement.style.color = "";
		Menus.srcElement.style.background = "";
    }
    
    if( Menus.shadowElement != null ) {
    	document.body.removeChild( Menus.shadowElement );
    	Menus.shadowElement = null;
    }
    
    Menus.hider = null;
    Menus.srcElement = null;
    Menus.activeElement = null;
}

