YAHOO.example.onMenuBarReady = function() {
// 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("menuPrincipal", { autosubmenudisplay:true, 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.onContentReady("menuPrincipal", YAHOO.example.onMenuBarReady);