var HeaderMenu = {

	images : null,

	init : function() {
	
		var menuItems = $('#header .menu .menuitem');

		if (!menuItems) { return; }
	
		HeaderMenu.images = ImagePreloader.load([
			"/media/thunder/09okc_nav_home_off.gif",
			"/media/thunder/09okc_nav_home_on.gif",
			"/media/thunder/09okc_nav_tickets_off.gif",
			"/media/thunder/09okc_nav_tickets_on.gif",
			"/media/thunder/09okc_nav_news_off.gif",
			"/media/thunder/09okc_nav_news_on.gif",
			"/media/thunder/09okc_nav_team_off.gif",
			"/media/thunder/09okc_nav_team_on.gif",
			"/media/thunder/09okc_nav_schedule_off.gif",
			"/media/thunder/09okc_nav_schedule_on.gif",
			"/media/thunder/09okc_nav_video_off.gif",
			"/media/thunder/09okc_nav_video_on.gif",
			"/media/thunder/09okc_nav_community_off.gif",
			"/media/thunder/09okc_nav_community_on.gif",
			"/media/thunder/09okc_nav_gamenight_off.gif",
			"/media/thunder/09okc_nav_gamenight_on.gif",
			"/media/thunder/09okc_nav_rumble_off.gif",
			"/media/thunder/09okc_nav_rumble_on.gif",
			"/media/thunder/09okc_nav_girls_off.gif",
			"/media/thunder/09okc_nav_girls_on.gif"
		]);
		
		menuItems.hover(
			function(e) {
				HeaderMenu.activateMenuItem(this);
				HeaderMenu.openSubmenu($('.submenu', this));
			},
			function(e) {
				HeaderMenu.deactivateMenuItem(this);
				HeaderMenu.closeSubmenu($('.submenu', this));
			}
		);
	},

	activateMenuItem : function(menuitem) {
		if (!menuitem) { return; }

		$(menuitem).addClass('highlighted');
		var menuitemImage = $("a:first img:first", menuitem)[0];
		
		if (menuitemImage) {
			var newSrc = menuitemImage.src.replace(/off/gi, 'on');

			if (HeaderMenu.images[newSrc]) {
				menuitemImage.replaceWith(HeaderMenu.images[newSrc]);
			} else {
				menuitemImage.src = newSrc;
			}
		}
	},
	
	deactivateMenuItem : function(menuitem) {
		if (!menuitem) { return; }
		
		if (!menuitem) { return; }

		$(menuitem).removeClass('highlighted');
		var menuitemImage = $("a:first img:first", menuitem)[0];
		
		if (menuitemImage) {
			var newSrc = menuitemImage.src.replace(/on/gi, 'off');

			if (HeaderMenu.images[newSrc]) {
				menuitemImage.replaceWith(HeaderMenu.images[newSrc]);
			} else {
				menuitemImage.src = newSrc;
			}
		}
	},
	
	openSubmenu : function(submenu) {
		if (!submenu) { return; }
		
		submenu.removeClass("closed");
		submenu.addClass("open");
	},

	closeSubmenu : function(submenu) {
		if (!submenu) { return; }
		
		submenu.removeClass("open");
		submenu.addClass("closed");
	}

}

$(document).ready(HeaderMenu.init);