            // "load" handler for the window

            YAHOO.example.onWindowLoad = function(p_oEvent) {

                // Hides submenus of the root Menubar instance
                
                function hideSubmenus() {

                    if(oMenuBar.activeItem) {
                    
                        var oSubmenu = oMenuBar.activeItem.cfg.getProperty("submenu");

                        if(oSubmenu) {
                        
                            oSubmenu.hide();
                        
                        }
                    
                    }

                }    


                // Cancels the call to "hideSubmenus"

                function cancelTimer() {

                    if(nTimeoutId) {
    
                        window.clearTimeout(nTimeoutId);
    
                    }
                
                }
    
    
                // "mouseout" event handler for each submenu of the menubar
                
                function onSubmenuMouseOut(p_sType, p_aArguments, p_oMenu) {
    
                    cancelTimer();
    
                    nTimeoutId = window.setTimeout(hideSubmenus, 1000); //was originally 750
                
                }
    
    
                // "mouseover" handler for each item in the menubar
    
                function onMenuBarItemMouseOver(p_sType, p_aArguments, p_oMenuItem) {
                
                    var oActiveItem = this.parent.activeItem;
                
                
                    // Hide any other submenus that might be visible
                
                    if(oActiveItem && oActiveItem != this) {
                
                        this.parent.clearActiveItem();
                
                    }
                
                
                    // Select and focus the current MenuItem instance
                
                    this.cfg.setProperty("selected", true);
                    this.focus();
                
                
                    // Show the submenu for this instance
                
                    var oSubmenu = this.cfg.getProperty("submenu");
                
                    if(oSubmenu) {
                
                        oSubmenu.show();
                
                    }
                
                }
            
    
                // "mouseout" handler for each item in the menubar
            
                function onMenuBarItemMouseOut(p_sType, p_aArguments, p_oMenuItem) {
                
                    this.cfg.setProperty("selected", false);
                
                
                    var oSubmenu = this.cfg.getProperty("submenu");
                
                    if(oSubmenu) {
                
                        var oDOMEvent = p_aArguments[0],
                            oRelatedTarget = YAHOO.util.Event.getRelatedTarget(oDOMEvent);
                
                        if(
                            !(
                                oRelatedTarget == oSubmenu.element || 
                                this._oDom.isAncestor(oSubmenu.element, oRelatedTarget)
                            )
                        ) {
                
                            oSubmenu.hide();
                
                        }
                
                    }
                
                }


                var nTimeoutId;


                // Instantiate and render the menubar and corresponding submenus

                var oMenuBar = new YAHOO.widget.MenuBar("mainmenu");
                oMenuBar.render();


                /*
                    Add a "mouseover" and "mouseout" event handler each item 
                    in the menu bar 
                */               

                var aMenuBarItems = oMenuBar.getItemGroups()[0],
                    i = aMenuBarItems.length - 1;

                do {

                    aMenuBarItems[i].mouseOverEvent.subscribe(onMenuBarItemMouseOver);
                    aMenuBarItems[i].mouseOutEvent.subscribe(onMenuBarItemMouseOut);
                
                }
                while(i--);


                // Assign event handlers

                // Add a "mouseover" handler to the menubar

                oMenuBar.mouseOverEvent.subscribe(cancelTimer);

                var oKinesiology = oMenuBar.getItem(0).cfg.getProperty("submenu"),
                    oPrograms = oMenuBar.getItem(1).cfg.getProperty("submenu"),
					oUndergraduate = oPrograms.getItem(0).cfg.getProperty("submenu");
					oGraduate = oPrograms.getItem(1).cfg.getProperty("submenu");
					oDepartment = oMenuBar.getItem(2).cfg.getProperty("submenu"),
                    oLinks = oMenuBar.getItem(3).cfg.getProperty("submenu");


                // Add a "mouseover" event handler to each submenu
                
                oKinesiology.mouseOverEvent.subscribe(cancelTimer);
                oPrograms.mouseOverEvent.subscribe(cancelTimer);
				oUndergraduate.mouseOverEvent.subscribe(cancelTimer);
				oGraduate.mouseOverEvent.subscribe(cancelTimer);
                oDepartment.mouseOverEvent.subscribe(cancelTimer);
                oLinks.mouseOverEvent.subscribe(cancelTimer);


                // Add a "mouseout" event handler to each submenu

                oKinesiology.mouseOutEvent.subscribe(onSubmenuMouseOut, oKinesiology, true);
                oPrograms.mouseOutEvent.subscribe(onSubmenuMouseOut, oPrograms, true);
				oUndergraduate.mouseOutEvent.subscribe(onSubmenuMouseOut, oUndergraduate,true);
				oGraduate.mouseOutEvent.subscribe(onSubmenuMouseOut, oGraduate,true);
                oDepartment.mouseOutEvent.subscribe(onSubmenuMouseOut, oDepartment, true);
                oLinks.mouseOutEvent.subscribe(onSubmenuMouseOut, oLinks, true);


                // Add a "click" handler to the document

                YAHOO.util.Event.addListener(document, "click", hideSubmenus);

            }


            // Add a "load" handler for the window

            YAHOO.util.Event.addListener(window, "load", YAHOO.example.onWindowLoad);