 YAHOO.example.onMenuBarReady = function() {
                var oAnim;
                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;
                    }
                }
             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"));
                }
                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);
                    }
                    if(this.cfg.getProperty("iframe") == true) {
                        oAnim.onTween.subscribe(onTween);
                    }
                    oAnim.onComplete.subscribe(onAnimationComplete);          
                }
                function onMenuRender(p_sType, p_sArgs, p_oMenu) {
                    setupMenuAnimation(p_oMenu);
                }
                var oMenuBar = new YAHOO.widget.MenuBar("MyMenu", { autosubmenudisplay:true, hidedelay:750, lazyload:true });
                oMenuBar.renderEvent.subscribe(onMenuRender, oMenuBar, true);
                oMenuBar.render();
            };
            YAHOO.util.Event.onContentReady("MyMenu", YAHOO.example.onMenuBarReady);