            // Initialize and render the menu bar when it is available in the DOM

            YAHOO.util.Event.onContentReady("site-nav", function () {

                // Animation object

                var oAnim;


                // "beforeshow" event handler for each submenu of the menu bar

                function onMenuBeforeShow(p_sType, p_sArgs) {

                    var oBody,
                        oShadow,
                        oUL;
                
                    if (this.parent) {

                        oShadow = this.element.lastChild;

                        oShadow.style.height = "0px";
                    
                        if (oAnim && oAnim.isAnimated()) {
                        
                            oAnim.stop();
                            oAnim = null;
                        
                        }

                        oBody = this.body;
                        oUL = oBody.getElementsByTagName("ul")[0];
    
                        YAHOO.util.Dom.setStyle(oBody, "overflow", "hidden");
                        YAHOO.util.Dom.setStyle(oUL, "marginTop", ("-" + oUL.offsetHeight + "px"));
                    
                    }

                }

                function onTween(p_sType, p_aArgs, p_oShadow) {

                    if (this.cfg.getProperty("iframe")) {this.syncIframe();}
                
                    if (p_oShadow) {
                
                        p_oShadow.style.height = this.element.offsetHeight + "px";
                    
                    }
                
                }

                function onAnimationComplete(p_sType, p_aArgs, p_oShadow) {

                    var oBody = this.body,
                        oUL = oBody.getElementsByTagName("ul")[0];

                    if (p_oShadow) {
                    
                        p_oShadow.style.height = this.element.offsetHeight + "px";
                    
                    }

                    YAHOO.util.Dom.setStyle(oUL, "marginTop", "auto");
                    YAHOO.util.Dom.setStyle(oBody, "overflow", "visible");
                    
                    if (YAHOO.env.ua.ie) {
                    
                        YAHOO.util.Dom.setStyle(oBody, "zoom", "1");
                    
                    }
                    
                }


                // "show" event handler for each submenu of the menu bar

                function onMenuShow(p_sType, p_sArgs) {

                    var oElement,
                        oShadow,
                        oUL;
                
                    if (this.parent) {

                        oElement = this.element;
                        oShadow = oElement.lastChild;
                        oUL = this.body.getElementsByTagName("ul")[0];
                    
                        oAnim = new YAHOO.util.Anim(oUL, 
                            { marginTop: { to: 0 } },
                            .5, YAHOO.util.Easing.easeOut);


                        oAnim.onStart.subscribe(function () {
        
                            oShadow.style.height = "100%";
                        
                        });
    

                        oAnim.animate();

    
                        /*
                             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 (YAHOO.env.ua.ie) {
                            
                            oShadow.style.height = oElement.offsetHeight + "px";

                            oAnim.onTween.subscribe(onTween, oShadow, this);
    
                        }
    
                        oAnim.onComplete.subscribe(onAnimationComplete, oShadow, this);
                    
                    }
                
                }


                // Instantiate and render the menu bar

                var oMenuBar = new YAHOO.widget.MenuBar("site-nav", { autosubmenudisplay: true, hidedelay: 750, lazyload: true });
                
                oMenuBar.subscribe("beforeShow", onMenuBeforeShow);
                oMenuBar.subscribe("show", onMenuShow);


                /*
                     Call the "render" method with no arguments since the markup for 
                     this menu already exists in the DOM.
                */

                oMenuBar.render();            
            
            });