var mySubMenus = new Array( 'submenu1', 'submenu2', 'submenu3', 'submenu4', 'submenu5' );
var myMainMenus = new Array( 'menuitem1', 'menuitem2', 'menuitem3', 'menuitem4', 'menuitem5' );
var myFunctions = new Array( ShowMenu1, ShowMenu2, ShowMenu3, ShowMenu4, ShowMenu5 );

var curTimeoutID;

function ShowMenu1() { ShowMenu( 1 ); }
function ShowMenu2() { ShowMenu( 2 ); }
function ShowMenu3() { ShowMenu( 3 ); }
function ShowMenu4() { ShowMenu( 4 ); }
function ShowMenu5() { ShowMenu( 5 ); }

// add the InitStartup function to the 'load' event of the window
addEvent( window, 'load', InitStartup );

function ShowMenu( menuID ) {
	var eShowMenu = document.getElementById( 'submenu' + menuID );
	var eHideMenu;
	
	window.clearTimeout( curTimeoutID );
	
	for( var i = 0; i < mySubMenus.length; i++ ) {
		eHideMenu = document.getElementById( mySubMenus[i] );
		
		if( eShowMenu && eHideMenu)
			if( eShowMenu != eHideMenu )
				eHideMenu.style.visibility = 'hidden';
	}
	
	if( eShowMenu ) 
		eShowMenu.style.visibility = 'visible';
	
	return true;
}

function HideAllTimeout() {
	curTimeoutID = window.setTimeout('HideAll()', 500 );
	return true;
}

function HideAll() {
	var eHideMenu;
	
	for( var i = 0; i < mySubMenus.length; i++ ) {
		eHideMenu = document.getElementById( mySubMenus[i] );
		
		if( eHideMenu )
			HideMenu( i );
	}
	
	return true;
}

function HideMenu( menuID ) {
	var eHideMenu;
	
	eHideMenu = document.getElementById( mySubMenus[menuID] );
		
	if( eHideMenu )
		eHideMenu.style.visibility = 'hidden';
	
	return true;
}

function ActivateMenu() {
	window.clearTimeout( curTimeoutID );
}

// this sets a few values and adds more events
function InitStartup() {
	var eAttachItem;
	
	for( var i = 0; i < myMainMenus.length; i++ ) {
		eAttachItem = document.getElementById( myMainMenus[i] );
		
		if( eAttachItem ) {
			addEvent( eAttachItem, 'mousemove', myFunctions[i], false );
			addEvent( eAttachItem, 'mouseout', HideAllTimeout, false );
		}
	}
	
	for( var i = 0; i < mySubMenus.length; i++ ) {
		eAttachItem = document.getElementById( mySubMenus[i] );
		
		if( eAttachItem )
			addEvent( eAttachItem, 'mousemove', ActivateMenu, false );
	}	
}

// function to add an event to an object
function addEvent( objObject, evType, fnFunction ) { 
	if ( objObject.addEventListener )
		objObject.addEventListener( evType, fnFunction, true ); 
	
	else if ( objObject.attachEvent )
		objObject.attachEvent( "on" + evType, fnFunction ); 
}

