Menu={Version:"1.3.1",HORIZONTAL:1,VERTICAL:2,_menuId:null,_menuNode:null,_showTimeout:null,_hideTimeout:null,_activeNodes:new Array(),_orientation:1,_showPause:0,_hidePause:1000,_opacity:1,setHidePause:function(secs)
{Menu._hidePause=secs*1000;alert("Deprecated method Menu.setHidePause() used: Please use the options argument for Menu.init().");},init:function(menuId,options)
{Menu._menuId=(typeof menuId=="string")?menuId:"menu";if(options)
{if(options.orientation!=undefined)
{Menu._orientation=options.orientation;}
if(options.showPause!=undefined)
{Menu._showPause=options.showPause*1000;}
if(options.hidePause!=undefined)
{Menu._hidePause=options.hidePause*1000;}
if(options.opacity!=undefined)
{Menu._opacity=options.opacity;}}
if(document.loaded===true||$(Menu._menuId))
{Menu._doInit();}
else
{if(document.observe)
{document.observe("dom:loaded",Menu._doInit);}
else
{Element.observe(window,"load",Menu._doInit);}}},_doInit:function()
{Menu._menuNode=$(Menu._menuId);Menu._addEvents(Menu._menuNode);},_addEvents:function(ulElement,level)
{if(isNaN(level))
{level=1;}
var elements=(Element.select)?ulElement.select("li"):ulElement.getElementsBySelector("li")
for(var i=0;i<elements.length;i++)
{if(elements[i].parentNode==ulElement)
{var subMenus=(Element.select)?elements[i].select("ul"):elements[i].getElementsBySelector("ul");if(subMenus.length>0)
{elements[i].observe("mouseover",Menu._showSubMenu.bindAsEventListener(elements[i],level));if(level==1)
{elements[i].observe("mouseout",Menu._hideSubMenu.bindAsEventListener(elements[i],level));}
var a=(Element.select)?elements[i].select("a")[0]:elements[i].getElementsBySelector("a")[0];a.addClassName("submenu");Menu._addEvents(subMenus[0],(level+1));}
else
{elements[i].observe("mouseover",Menu._quickHideSubMenu.bindAsEventListener(elements[i],level));}}}},_showSubMenu:function(e,level)
{Event.stop(e);var isFirst=(Menu._activeNodes.length==0);Menu._quickHideSubMenu(e,level);if(isFirst&&Menu._showPause>0)
{Menu._showTimeout=window.setTimeout(function(){Menu._doShowSubMenu(this,level);}.bind(this),Menu._showPause);}
else
{Menu._doShowSubMenu(this,level);}},_doShowSubMenu:function(node,level)
{if(Menu._showTimeout)
{window.clearTimeout(Menu._showTimeout);}
var a=(Element.select)?node.select("a")[0]:node.getElementsBySelector("a")[0];var subMenu=(Element.select)?node.select("ul")[0]:node.getElementsBySelector("ul")[0];a.addClassName("menu_open");a.parentNode.addClassName("menu_open");subMenu.style.visibility="visible";subMenu.style.position="absolute";var pos=(Element.positionedOffset)?node.positionedOffset():Position.positionedOffset(node);if(level==1&&Menu._orientation==Menu.HORIZONTAL)
{subMenu.style.left=pos[0]+"px";subMenu.style.top=(pos[1]+node.getHeight())+"px";}
else
{subMenu.style.left=(pos[0]+node.getWidth())+"px";subMenu.style.top=pos[1]+"px";}
if(level==1&&Menu._opacity>0&&Menu._opacity<1)
{subMenu.setOpacity(Menu._opacity);}
Menu._activeNodes.push({"level":level,"link":a,"subMenu":subMenu});},_quickHideSubMenu:function(e,level)
{Event.stop(e);if(Menu._hideTimeout)
{window.clearTimeout(Menu._hideTimeout);}
Menu._doHideSubMenusFromLevel(level);},_hideSubMenu:function(e,level)
{Event.stop(e);if(Menu._showTimeout)
{window.clearTimeout(Menu._showTimeout);}
if(Menu._hidePause<=0)
{Menu._doHideSubMenusFromLevel(1);}
else
{Menu._hideTimeout=window.setTimeout(function(){Menu._doHideSubMenusFromLevel(1);},Menu._hidePause);}},_doHideSubMenusFromLevel:function(level)
{if(isNaN(level))
{level=1;}
Menu._activeNodes=Menu._activeNodes.findAll(function(node)
{if(node.level>=level)
{if(node.link)
{node.link.removeClassName("menu_open");node.link.parentNode.removeClassName("menu_open");}
if(node.subMenu)
{node.subMenu.style.visibility="hidden";}
return false;}
return true;});}};
