		var preloaded = [];

		// here is a lame preloading script i am putting in just for demonstration
		for (var i = 1; i <= 12; i++) {
			preloaded[i] = [loadImage(i + "-0.gif?7"), loadImage(i + "-1.gif?7")];
		}

		// MK 10/17/2008: Added to allow a base URL for all menu images
		if (! window.menuImageBaseUrl) {
			menuImageBaseUrl = "/images/links";
		}

		function init(menu) {
			// whatever stuff you need to do onload goes here.

			//==========================================================================================
			// if supported, initialize dropdowns
			//==========================================================================================
			// Check isSupported() so that menus aren't accidentally sent to non-supporting browsers.
			// This is better than server-side checking because it will also catch browsers which would
			// normally support the menus but have javascript disabled.
			//
			// If supported, call initialize() and then hook whatever image rollover code you need to do
			// to the .onactivate and .ondeactivate events for each menu.
			//==========================================================================================
			if (DropDown.isSupported()) {
				DropDown.initialize();

				// hook all the image swapping of the main toolbar to menu activation/deactivation
				// instead of simple rollover to get the effect where the button stays hightlit until
				// the menu is closed.
//				menu1.onactivate = function() { swapImage("button1", preloaded[1][1].src) };
//				menu1.ondeactivate = function() { swapImage("button1", preloaded[1][0].src) };

				menu1.onactivate = function() { showSelectBoxes(false); swapImage("button2", preloaded[2][1].src) };
				menu1.ondeactivate = function() { showSelectBoxes(true); swapImage("button2", preloaded[2][(menu == 'menu1' ? 0 : 0)].src) };

				menu2.onactivate = function() { showSelectBoxes(false); swapImage("button3", preloaded[3][1].src) };
				menu2.ondeactivate = function() { showSelectBoxes(true); swapImage("button3", preloaded[3][(menu == 'menu2' ? 1 : 0)].src) };		
				
				menu3.onactivate = function() { showSelectBoxes(false); swapImage("button4", preloaded[4][1].src) };
				menu3.ondeactivate = function() { showSelectBoxes(true); swapImage("button4", preloaded[4][(menu == 'menu3' ? 1 : 0)].src) };				
				
				menu5.onactivate = function() { showSelectBoxes(false); swapImage("button7", preloaded[7][1].src) };
				menu5.ondeactivate = function() { showSelectBoxes(true); swapImage("button7", preloaded[7][(menu == 'menu5' ? 1 : 0)].src) };		
				
//				menu6.onactivate = function() { showSelectBoxes(false); swapImage("button7", preloaded[7][1].src) };
//				menu6.ondeactivate = function() { showSelectBoxes(true); swapImage("button7", preloaded[7][(menu == 'menu6' ? 1 : 0)].src) };		
				
				menu6.onactivate = function() { showSelectBoxes(false); swapImage("button8", preloaded[8][1].src) };
				menu6.ondeactivate = function() { showSelectBoxes(true); swapImage("button8", preloaded[8][(menu == 'menu6' ? 1 : 0)].src) };		
				
				//menu8.onactivate = function() { showSelectBoxes(false); swapImage("button11", preloaded[11][1].src) };
				//menu8.ondeactivate = function() { showSelectBoxes(true); swapImage("button11", preloaded[11][(menu == 'menu8' ? 1 : 0)].src) };		
				
				menu9.onactivate = function() { showSelectBoxes(false); swapImage("button12", preloaded[12][1].src) };
				menu9.ondeactivate = function() { showSelectBoxes(true); swapImage("button12", preloaded[12][(menu == 'menu9' ? 1 : 0)].src) };		
				
				menu7.onactivate = function() { showSelectBoxes(false); swapImage("button9", preloaded[9][1].src) };
				menu7.ondeactivate = function() { showSelectBoxes(true); swapImage("button9", preloaded[9][(menu == 'menu7' ? 1 : 0)].src) };		
				
				menu11.onactivate = function() { showSelectBoxes(false); swapImage("button5", preloaded[5][1].src) };
				menu11.ondeactivate = function() { showSelectBoxes(true); swapImage("button5", preloaded[5][(menu == 'menu11' ? 1 : 0)].src) };																							
				
				menu12.onactivate = function() { showSelectBoxes(false); swapImage("button6", preloaded[6][1].src) };
				menu12.ondeactivate = function() { showSelectBoxes(true); swapImage("button6", preloaded[6][(menu == 'menu12' ? 1 : 0)].src) };																							

//				menu10.onactivate = function() { showSelectBoxes(false); swapImage("button10", preloaded[10][1].src) };
//				menu10.ondeactivate = function() { showSelectBoxes(true); swapImage("button10", preloaded[10][(menu == 'menu10' ? 1 : 0)].src) };																								
				
			}
		}

		// this is a crappy example preloader. Use whichever one you want.
		function loadImage(sFilename) {
			var img = new Image();
			img.src = menuImageBaseUrl + "/" + sFilename;
			return img;
		}

		// this is a crappy example image swapper. Use whichever you want.
		function swapImage(imgName, sFilename) {
			document.images[imgName].src = sFilename;
		}
		

		// Dave's additions to handle select boxes...
		function showSelectBoxes(visible) {
			var IE = (document.all) ? 1 : 0;
			var visText = "";
			if (visible)
				visText = "visible";
			else
				visText = "hidden";
			
			if (IE) {
				var select_boxes = document.getElementsByTagName("select");
				for(var i = 0; i < select_boxes.length; i++) {  // Loop through the returned tags
//					if (select_boxes[i].className.indexOf('hideForMenu') >= 0)
						select_boxes[i].style.visibility = visText;
				} 
			}
			
			var divs = document.getElementsByTagName("div");
			for(var i = 0; i < divs.length; i++) {  // Loop through the returned tags
				if (divs[i].className.indexOf('hideForMenu') >= 0)
						divs[i].style.visibility = visText;
			} 
		}