var allMenus = Array();
var openSubMenu = null;  // Currently Open Submenu

/**
 * Common onLoad Handler.
 */
Event.observe(window, 'load', function(myEvent) {
	// Process each main menu item.
	$$('.mainMenuItem').each(function(myMainMenu) {
		var menuHash = new Hash();
		menuHash.set('main', myMainMenu);
		
		var subMenus = myMainMenu.select('.subMenuContainer');
		if(subMenus.length > 0) {
			subMenus[0].hide();
			menuHash.set('sub', subMenus[0]);
		}
		allMenus.push(menuHash);
	});
});

/**
 * Common onMouseMove Handler.
 */
Event.observe(document, 'mousemove', function(myEvent) {
	// If a sub-menu is open and mouse is moved outside, hide sub-menu.
	if(openSubMenu) {
		var realOffset = openSubMenu.cumulativeOffset();
		var myMargin = 20;
		var showArea = new Hash();
		showArea.set('left', realOffset.left - myMargin);
		showArea.set('right', realOffset.left + openSubMenu.offsetWidth + myMargin);
		showArea.set('top', realOffset.top - myMargin);
		showArea.set('bottom', realOffset.top + openSubMenu.offsetHeight + myMargin);
		
		if(Event.pointerX(myEvent) < showArea.get('left')
		|| Event.pointerX(myEvent) > showArea.get('right')
		|| Event.pointerY(myEvent) < showArea.get('top')
		|| Event.pointerY(myEvent) > showArea.get('bottom'))
		{
			openSubMenu.hide();
			openSubMenu = null;
		}
	}
	
	allMenus.each(function(myMenuHash) {
		var realOffset = myMenuHash.get('main').cumulativeOffset();
		var myMargin = 20;
		var showArea = new Hash();
		showArea.set('left', realOffset.left - myMargin);
		showArea.set('right', realOffset.left + myMenuHash.get('main').offsetWidth + myMargin);
		showArea.set('top', realOffset.top - myMargin);
		showArea.set('bottom', realOffset.top + myMenuHash.get('main').offsetHeight + myMargin);
		
		if(Event.pointerX(myEvent) > showArea.get('left')
		&& Event.pointerX(myEvent) < showArea.get('right')
		&& Event.pointerY(myEvent) > showArea.get('top') 
		&& Event.pointerY(myEvent) < showArea.get('bottom'))
		{
			if(openSubMenu) openSubMenu.hide();
			if(myMenuHash.get('sub')) { 
				myMenuHash.get('sub').show();
				openSubMenu = myMenuHash.get('sub');
			}
		}
	});
});

function openPopup(url) {
	window.open(
		url
	,	'normaFeyePopup'
	,	'dependent=yes'
		+ ',height=500'
		+	',width=400'
		+	',top=100'
		+	',left=100'
		+	',location=no'
		+	',status=no'
		+	',menubar=no'
		+	',toolbar=300'
		+ ',scrollbars=yes'
	);
}
