var expandDirection = 'right';
sfHover = function() {
	var sfEls = document.getElementById("nav").getElementsByTagName("LI");
	var isLevel1 = true;
	var isSelectedLevel = true;
	var leftItems = new Array();
	var blnParentIsLeftItem = false;

	for (var i=0; i<sfEls.length; i++) {
		sfEls[i].onmouseover=function() {
			var windowWidth = 0;
			
			if(document.documentElement.clientWidth == null) {
				windowWidth = document.body.clientWidth;
			} else {
				windowWidth = document.documentElement.clientWidth;
			}
			if(((event.clientX + (151 - event.offsetX) + 151) >= windowWidth || expandDirection == 'left') && this.className.indexOf('TopMenu_Level2') == 0) {
				expandDirection = 'left';
			}
			if(this.className != 'TopMenu_Level1' && (event.clientX + (151 - event.offsetX) + 151) < windowWidth) {
				for(k=0;k<leftItems.length;k++) {
					if(leftItems[k] == this.parentElement.parentElement.id) {
						blnParentIsLeftItem = true;
					}
				}
				if(!blnParentIsLeftItem) { expandDirection = 'right'; }
			}
			
			if(this.className == 'TopMenu_Level1') {
				if(isLevel1==true) {
					expandDirection = 'right';
					leftItems = new Array();
				}
				isLevel1 = true;
				blnParentIsLeftItem = false;
			} else {
				isLevel1 = false;
			}
			
			var isLeftItem = false;
			if(expandDirection == 'left' && this.className.indexOf('TopMenu_Level2') == 0) {
				for(k=0;k<leftItems.length;k++) {
					if(leftItems[k] == this.id) {
						isLeftItem = true;
					}
				}
				if(isSelectedLevel == true || isLeftItem == true) {
					this.className+=" slhover";
					leftItems[leftItems.length] = this.id;
					isSelectedLevel = false;
				} else {
					this.className+=" sfhover";
				}
			} else {
				this.className+=" sfhover";
			}
			
			if((this.className.indexOf('slhover') == -1 && this.className.indexOf('sfhover') == -1) || isLeftItem == false) {
				this.style.zIndex = '1';
			}
			if(this.className.indexOf('Level1') > -1) {
				isSelectedLevel = true;
			}
		}

		sfEls[i].onmouseout=function() {
			if(this.className.indexOf('slhover') == -1 && this.style.zIndex < 90) {
				this.style.zIndex = '0';
			}
			this.className=this.className.replace(new RegExp(" sfhover\\b"), "");
			this.className=this.className.replace(new RegExp(" slhover\\b"), "");
		}
	}
}

if (window.attachEvent) { window.attachEvent("onload", sfHover); }