var MenuHandler = {
	items: [
		"nav_button_home",
		"nav_button_service",
		"nav_button_galleries",
		"nav_button_guestbook",
		"nav_button_company",
		"nav_button_account"
    ],
    hideMenuTimer: {
		service_menu: null,
		company_menu: null
	},
	setup: function() {
		MenuHandler.items.each(function(id) {
			if( $(id) ) {
				$(id).observe("click", this["onNavButtonClick"]);
				$(id).observe("mouseover", this["onNavButtonMouseOver"]);
				$(id).observe("mouseout", this["onNavButtonMouseOut"]);
			}
		});
		
		var list = $("service_menu_list");
		
		if( list ) {
			list.observe("mouseover", cancelHideServiceMenuTimer);
			list.observe("mouseout", function(event) {
				MenuHandler.hideMenuTimer.service_menu = window.setTimeout("hideServiceMenuList()", 500);
			});
		}
		
		list = $("company_menu_list");
		
		if( list ) {
			list.observe("mouseover", cancelHideCompanyMenuTimer);
			list.observe("mouseout", function(event) {
				MenuHandler.hideMenuTimer.company_menu = window.setTimeout("hideCompanyMenuList()", 500);
			});
		}
	}
};


/*******************************************************************************
 * 
 * Menu handler function
 * 
 ******************************************************************************/


function onNavButtonClick(event) {
	
}

function onNavButtonMouseOver(event) {
	var element = event.element();
	var src = element.src;
	
	if( src.endsWith("_active.png") ) {
		// Ignore
	} else {
		element.src = src.replace(/\.png$/i, "_active.png");
	}
	
	if( element.id == "nav_button_service_image" ) {
		cancelHideServiceMenuTimer(event);
		$("service_menu_list").show();
	} else if( element.id == "nav_button_company_image" ) {
		cancelHideCompanyMenuTimer(event);
		$("company_menu_list").show();
	}
}

function onNavButtonMouseOut(event) {
	var element = event.element();
	var src = element.src;
	
	if( src.endsWith("_active.png") ) {
		if( !element.hasClassName("nb-active") ) {
			element.src = src.replace(/_active\.png$/i, ".png");
		}
	} else {
		// Ignore
	}
	
	if( element.id == "nav_button_service_image" ) {
		MenuHandler.hideMenuTimer.service_menu = window.setTimeout("hideServiceMenuList()", 500);
	} else if( element.id == "nav_button_company_image" ) {
		MenuHandler.hideMenuTimer.company_menu = window.setTimeout("hideCompanyMenuList()", 500);
	}
}

function cancelHideServiceMenuTimer(event) {
	if( MenuHandler.hideMenuTimer.service_menu != null ) {
		window.clearTimeout(MenuHandler.hideMenuTimer.service_menu);
		MenuHandler.hideMenuTimer.service_menu = null;
	}
}

function cancelHideCompanyMenuTimer(event) {
	if( MenuHandler.hideMenuTimer.company_menu != null ) {
		window.clearTimeout(MenuHandler.hideMenuTimer.company_menu);
		MenuHandler.hideMenuTimer.company_menu = null;
	}
}

function hideServiceMenuList() {
	$("service_menu_list").hide();
}

function hideCompanyMenuList() {
	$("company_menu_list").hide();
}