var DFB = {};
var flagelement = null;
var flagtop = 0;
var cursubelement = null;
var curthirdelement = null;
var navleft = 0;
var cursubtop = 0;
var delayhide = null;
var mytmpelement = document.createElement("li");
YAHOO.util.Dom.addClass(mytmpelement,"spliter");
mytmpelement.innerHTML = "|";
DFB.TopNav = {
	init:function(){
		flagelement = YAHOO.util.Dom.get("overlay");
		var subtemp = YAHOO.util.Dom.get("sub_temp");
		navleft = YAHOO.util.Dom.getX(subtemp);
		var y = YAHOO.util.Dom.getY(subtemp) - 5;
		//var ua = navigator.userAgent.toLowerCase();
		//if(ua.indexOf('msie') > -1) y -= 2;
		if(YAHOO.env.ua.ie > 0 && YAHOO.env.ua.ie < 7) y -= 2;
		flagelement.style.top = y + "px";
		flagtop = y;
		
		var navobj = YAHOO.util.Dom.get("nav");
		if(navobj.hasChildNodes()){
			var mainlis = YAHOO.util.Dom.getChildren(YAHOO.util.Dom.getFirstChild(navobj));
			for (var i in mainlis){
				if(i < mainlis.length -1){
					var tmpnode = mytmpelement.cloneNode(true);
					YAHOO.util.Dom.insertAfter(tmpnode,mainlis[i]);
				}
				YAHOO.util.Event.addListener(mainlis[i], "mouseover", this.changeSubNav);
				YAHOO.util.Event.addListener(mainlis[i], "mouseout", this.delayhidemenu);
			}
		}
	},
	delayhidemenu:function(e){
		if(cursubelement != null) delayhide = setTimeout("DFB.TopNav.hiddenSubNav()",250);
	},
	hiddenSubNav:function(e){
		if(curthirdelement != null) YAHOO.util.Dom.setStyle(curthirdelement, "display", "none");
		if(cursubelement != null) YAHOO.util.Dom.setStyle(cursubelement, "display", "none");
	},
	changeSubNav:function(e){
		if(cursubelement != null) YAHOO.util.Dom.setStyle(cursubelement, "display", "none");
		var rec = YAHOO.util.Dom.getRegion(this);
		var rleft = rec.left;
		var rwidth = (rec.right - rec.left) * 1;
		with(flagelement){
			style.left = (rleft + (rwidth/2 - 20)) +"px";
		}
		
		if(delayhide != null) clearTimeout(delayhide);
		
		YAHOO.util.Dom.setStyle(flagelement, "display", "inline");
		var subitem = this.getElementsByTagName("UL").item(0);
		if(subitem != null){
			YAHOO.util.Dom.setStyle(subitem, "display", "inline");
			subitem.style.left = (rleft - navleft)+"px";
			cursubelement = subitem;
			if(cursubelement.hasChildNodes()){
				var sublis = YAHOO.util.Dom.getChildren(cursubelement);
				for (var i in sublis){ 
					var dubdiv = YAHOO.util.Dom.getFirstChild(sublis[i]);
					if(dubdiv != null){
						YAHOO.util.Event.addListener(sublis[i], "mouseover", DFB.TopNav.changeThirdNav);
					}
				}
			}
		}
	},
	changeThirdNav:function(e){
		if(curthirdelement != null) YAHOO.util.Dom.setStyle(curthirdelement, "display", "none");
		var dubdiv = YAHOO.util.Dom.getFirstChild(this);
		var rec = YAHOO.util.Dom.getRegion(dubdiv);
		var rleft = rec.left;
		var rtop = rec.top; 
		var rright = rec.right;
		var rwidth = (rec.right - rec.left) * 1;
		var thirditem = this.getElementsByTagName("UL").item(0);
		if(thirditem != null){
			YAHOO.util.Dom.setStyle(thirditem, "display", "inline");
			thirditem.style.left = (rleft - navleft + rwidth - 6)+"px";
			thirditem.style.top = (rtop - flagtop - 16)+"px";
			thirditem.style.width = "186px";
			curthirdelement = thirditem;
		}
	}
};
			
YAHOO.util.Event.onDOMReady(init);function init(){DFB.TopNav.init();}