$(document).ready(function(){ 
	var navPrefixHi = "NaviButtonHi";
	var navPrefix = "NaviButton";
	$("#single_navi_r span, #main_navi_r span").hover(
		function(){
			/* highlighting */
			if (!this.className || this.className.indexOf("active")==-1) {
				prevNode = this.previousSibling;
				if (this.className && this.className.indexOf("rightHighlighted")>-1) {
					$(this).addClass("allHighlighted");
					$(this).removeClass("rightHighlighted");
					$(prevNode).addClass("rightHighlighted");
				} else if (prevNode.className && prevNode.className.indexOf("active")>-1) {
					$(this).addClass("leftHighlighted");
					$(prevNode).addClass("allHighlighted");
				} else {
					$(this).addClass("leftHighlighted");
					$(prevNode).addClass("rightHighlighted");
				}
				this.firstChild.firstChild.src = this.firstChild.firstChild.src.replace(navPrefix,navPrefixHi);
			}
			/* flyout menu */
			var n = $(this).prevAll().length;
			//alert(n);
			//alert($("#navi_tree:nth-child(2)").length);
			//alert($("#navi_tree>li").length);
			var layerNode = $("#navi_tree>li")[n];
			if($(layerNode).children().filter("ul").length > 0) {
				//$(layerNode).children().filter("ul").css("position","absolute").css("top","0");
				$(layerNode).children().filter("ul").clone().appendTo(this);
			}
		},
		function(){
			/* highlighting */
			if (!this.className || this.className.indexOf("active")==-1) {
				prevNode = this.previousSibling;
				if (this.className && this.className.indexOf("allHighlighted")>-1) {
					$(this).addClass("rightHighlighted");
				}
				$(this).removeClass("allHighlighted");
				$(this).removeClass("leftHighlighted");
				$(prevNode).removeClass("rightHighlighted");
				$(prevNode).removeClass("allHighlighted");
				this.firstChild.firstChild.src = this.firstChild.firstChild.src.replace(navPrefixHi,navPrefix);
			}
			/* flyout menu */
			var n = $(this).prevAll().length;
			var layerNode = $("#navi_tree>li")[n];
			if($(this).children().filter("ul").length > 0) {
				//$(layerNode).children().filter("ul").css("position","static");
				$(this).children().filter("ul").remove();
			}
		}
	);
	$("#sub_navi_r a").hover(
		function(){
			if (!this.className || this.className.indexOf("active")==-1) {
				this.firstChild.src = this.firstChild.src.replace(navPrefix,navPrefixHi);
			}
		},
		function(){
			if (!this.className || this.className.indexOf("active")==-1) {
				this.firstChild.src = this.firstChild.src.replace(navPrefixHi,navPrefix);
			}
		}
	);
});
