

YAHOO.example.onMenuBarReady = function(p_oEvent) {  
	YAHOO.widget.MenuItem.prototype.IMG_ROOT=base;
	YAHOO.widget.MenuItem.prototype.IMG_ROOT_SSL=secureBase;
	YAHOO.widget.MenuBarItem.prototype.SUBMENU_INDICATOR_IMAGE_PATH = 
	"images/media/spacer.gif";
	YAHOO.widget.MenuBarItem.prototype.SELECTED_SUBMENU_INDICATOR_IMAGE_PATH = 
	"images/media/spacer.gif";
	YAHOO.widget.MenuBarItem.prototype.DISABLED_SUBMENU_INDICATOR_IMAGE_PATH = 
	"images/media/spacer.gif";
	YAHOO.widget.MenuItem.prototype.CHECKED_IMAGE_PATH = 
	"images/media/spacer.gif";
	YAHOO.widget.MenuItem.prototype.SELECTED_CHECKED_IMAGE_PATH = 
	"images/media/spacer.gif";
	YAHOO.widget.MenuItem.prototype.DISABLED_CHECKED_IMAGE_PATH = 
	"images/media/spacer.gif";
	
	// Animation object
	var oAnim;
	
	// Utility function used to setup animation for submenus
	function setupMenuAnimation(p_oMenu) {
	    if(!p_oMenu.animationSetup) {
	        var aItems = p_oMenu.getItemGroups();
	        if(aItems && aItems[0]) {
	            var i = aItems[0].length - 1;
	            var oSubmenu;
	            do {
	                oSubmenu = p_oMenu.getItem(i).cfg.getProperty("submenu");
	                if(oSubmenu) {
	                    oSubmenu.beforeShowEvent.subscribe(onMenuBeforeShow, oSubmenu, true);
	                    oSubmenu.showEvent.subscribe(onMenuShow, oSubmenu, true);
	                }
	            }
	            while(i--);
	        }
	        p_oMenu.animationSetup = true;
	    }
	}
	
	// "beforeshow" event handler for each submenu of the menu bar
	function onMenuBeforeShow(p_sType, p_sArgs, p_oMenu) {
	    if(oAnim && oAnim.isAnimated()) {
	        oAnim.stop();
	        oAnim = null;
	    }
	    YAHOO.util.Dom.setStyle(this.element, "overflow", "hidden");
	    YAHOO.util.Dom.setStyle(this.body, "marginTop", ("-" + this.body.offsetHeight + "px"));
	}
	
	// "show" event handler for each submenu of the menu bar
	function onMenuShow(p_sType, p_sArgs, p_oMenu) {
		oAnim = new YAHOO.util.Anim(
		    this.body, 
		    { marginTop: { to: 0 } },
		    .5, 
		    YAHOO.util.Easing.easeOut
		);
	   oAnim.animate();
	   var me = this;
	   function onTween() {
	       me.cfg.refireEvent("iframe");
	   }
	   function onAnimationComplete() {
	       YAHOO.util.Dom.setStyle(me.body, "marginTop", ("0px"));
	       YAHOO.util.Dom.setStyle(me.element, "overflow", "visible");
	       setupMenuAnimation(me);
	   }
		/*
		     Refire the event handler for the "iframe" 
		     configuration property with each tween so that the  
		     size and position of the iframe shim remain in sync 
		     with the menu.
		*/
		if(this.cfg.getProperty("iframe") == true) {
		    oAnim.onTween.subscribe(onTween);
		}
		oAnim.onComplete.subscribe(onAnimationComplete);
	}
	
	// "render" event handler for the menu bar
	function onMenuRender(p_sType, p_sArgs, p_oMenu) {
	    setupMenuAnimation(p_oMenu);
	}
	
	// Instantiate and render the menu bar
	var oMenuBar = new YAHOO.widget.MenuBar("categories", { autosubmenudisplay:true, constraintoviewport:false, hidedelay:750, lazyload:true });
	// Subscribe to the "render" event
	oMenuBar.renderEvent.subscribe(onMenuRender, oMenuBar, true);
	oMenuBar.render();
}

// Initialize and render the menu bar when it is available in the DOM
YAHOO.util.Event.addListener(window, "load", YAHOO.example.onMenuBarReady);
//yAHOO.util.Event.onContentReady("categories", YAHOO.example.onMenuBarReady);
