  YAHOO.example.OverlayManager = new YAHOO.widget.OverlayManager();


            // Data used to built product category submenus

            var g_aYProducts = {
                
                aboutus: [

                    { text: "Who Are We?", url: "whoarewe.htm" },
                    { text: "Organization", url: "organize.htm" },
                    { text: "Our History", url: "history.htm" },
                    { text: "Ministries", url: "ministry.htm" },
                    { text: "Shepherd Groups", url: "whogroups.htm" }

                ],

                people: [

                    { text: "Staff", url: "staff.htm" },
                    { text: "Elders", url: "elders.htm" },
                    { text: "Deacons", url: "deacons.htm" }

                ],

                youth: [

                    { text: "Youth Activities", url: "youthact.htm" },
                    { text: "Preschool", url: "preschool/" },
                    { text: "Children's Worship", url: "children.htm" },
                    { text: "Permission/Medical Form", url: "medical.doc" }
                ],

                information: [
                    { text: "Bible Classes", url: "classes.htm" },
		            { text: "Bulletin", url: "bulletin.htm" },
		            { text: "Calendar", url: "http://westernheights.ccbchurch.com/app/w_calendar.php" },
                    { text: "Directions", url: "location.htm" },
                    { text: "Members Only Area", url: "http://westernheights.ccbchurch.com/" },
                    { text: "Sermons", url: "sermons.htm" },
                    { text: "Weekly Events", url: "events.htm" }
                ],

                calendar: [

		            { text: "Calendar", url: "http://westernheights.ccbchurch.com/app/w_calendar.php" }
                ],

                bulletin: [

		            { text: "Bulletin", url: "bulletin.htm" }
                ],
                sermons: [

		            { text: "Sermons", url: "sermons.htm" }
                ]
            };

            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 oEvent = p_aArguments[0],
                        oRelatedTarget = YAHOO.util.Event.getRelatedTarget(oEvent);

                    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,
                        this
                    );

                    aMenuBarItems[i].mouseOutEvent.subscribe(
                        onMenuBarItemMouseOut,
                        this
                    );

                }
                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);
