//<![CDATA[

        YAHOO.example.OverlayManager = new YAHOO.widget.OverlayManager();


        // Data used to built product category submenus

        var g_aYProducts = {

            programs: [
            
                { text: "Legal Secretary Program ", url: "lsprogram.html" },
                { text: "Post-Baccalaureate Paralegal Program", url: "plprogram.html" },
                { text: "Business Office Assistant", url: "boaprogram.html" }
            ]
        
        };

        var g_nTimeoutId;


        // "mouseover" event handler for the root menu

        function onMenuBarMouseOver(p_sType, p_aArguments, p_oMenu) {

            if(g_nTimeoutId) {

                window.clearTimeout(g_nTimeoutId);

            }
        
        }

        // "mouseover" event handler for each submenu

        function onSubmenuMouseOver(p_sType, p_aArguments, p_oMenu) {

            if(g_nTimeoutId) {

                window.clearTimeout(g_nTimeoutId);

            }

        }


        // "mouseout" event handler for each submenu
        
        function onSubmenuMouseOut(p_sType, p_aArguments, p_oMenu) {

            function hideMenu() {

                p_oMenu.hide();

            }


            if(g_nTimeoutId) {

                window.clearTimeout(g_nTimeoutId);

            }

            g_nTimeoutId = window.setTimeout(hideMenu, 750);
        
        }


        // "mousedown" handler for the document

        function onDocumentMouseDown(p_oEvent) {
        
            YAHOO.example.OverlayManager.hideAll();

        }


        // "mouseover" handler for each item in the menu bar

        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 menu bar
    
        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();
        
                }
        
            }
        
        };


        // "load" handler for the window

        function onWindowLoad() {

            var oMenuBar = new YAHOO.widget.MenuBar("yproducts");

            var i = oMenuBar.getItemGroups()[0].length - 1,
                oMenuItem,
                oSubmenu,               
                aSubmenuItems,
                nSubmenuItems;


            do {

                oMenuItem = oMenuBar.getItem(i);
                
                aSubmenuItems = g_aYProducts[oMenuItem.element.id];

                if(aSubmenuItems) {
                
                    // Create a submenu

                    oSubmenu = new YAHOO.widget.Menu(
                                    (oMenuItem.element.id + "menu")
                                );

                    // Add a "mouseover" event handler to the submenu

                    oSubmenu.mouseOverEvent.subscribe(
                            onSubmenuMouseOver, 
                            oSubmenu, 
                            true
                        );


                    // Add a "mouseout" event handler to the submenu

                    oSubmenu.mouseOutEvent.subscribe(
                            onSubmenuMouseOut,
                            oSubmenu, 
                            true
                        );


                    // Add items to the submenu

                    nSubmenuItems = aSubmenuItems.length;

                    for(var n=0; n<nSubmenuItems; n++) {

                        oSubmenu.addItem(
                            new YAHOO.widget.MenuItem(
                                aSubmenuItems[n].text, 
                                { url: aSubmenuItems[n].url}
                                )
                            );

                    }


                    // Add the submenu to its parent item in the main menu

                    oMenuItem.cfg.setProperty("submenu", oSubmenu);

                    YAHOO.example.OverlayManager.register(oSubmenu);
                    
                }
            
            }
            while(i--);


            // Render the menubar and corresponding submenus
            
            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--);


            // Add a "mouseover" handler to the menubar

            oMenuBar.mouseOverEvent.subscribe(
                    onMenuBarMouseOver, 
                    oMenuBar, 
                    true
                );


            // Add a "mousedown" handler to the document

            YAHOO.util.Event.addListener(
                    document, 
                    "mousedown", 
                    onDocumentMouseDown
                );

        }


        // Add a "load" handler for the window

        YAHOO.util.Event.addListener(window, "load", onWindowLoad);

//]]>