// Requires: xelement.js
if(typeof(xElement) == "undefined") alert("xElement Required");

// ||||||||||||||||||||||||||||||||||||||||||||||||||

TopNav = {timer : null, current : null};

var refPracticeAreas = "ni0";
var refPartners = "ni1";
var bPracticeAreas = false;

TopNav.show = function(name, reference){
	if(this.timer) clearTimeout(this.timer);
	
	if (xBrowser.ns6up) {
		var offSetX = -12;
		var offSetY = -17;
	} else if (xBrowser.ie5up) {
		var offSetX = 0;
		var offSetY = 2;
	}
	var ref = document.getElementById(reference);
	var menu = document.getElementById(name);
	menu.style.top = yPos(ref)+ offSetY + "px";
	menu.style.left = xPos(ref) + offSetX + "px";
	ref.style.margin = "20px 0 20px 0";
	bPracticeAreas = false;
	xElement.getStyle(name).visibility = "visible";
	this.current = name;
}

TopNav.hide = function(reference){
	this.timer = setTimeout("TopNav.doHide()",300);
}

TopNav.doHide = function(reference){
	if(bPracticeAreas){
		var ref = document.getElementById(refPracticeAreas);
		ref.style.margin = "0 0 16px 0";
	}else{
		var ref = document.getElementById(refPartners);
		ref.style.margin = "16px 0 16px 0";
	}
	if(this.current){
		xElement.getStyle(this.current).visibility = "hidden";
		this.current = null;
		xElement.getStyle(this.current2).visibility = "hidden";
		this.current2 = null;
	}
}

//reposition method is used to reposition the current top navigation element if the client is running a Gecko based browser
TopNav.reposition = function(name){
	var name2 = name+"_bar";
	
	if (xBrowser.ns6up) {
		var offSetX = -8;
		var offSetY = 23;
	} else if (xBrowser.ie5up) {
		var offSetX = -10;
		var offSetY = 23;
	} else {
		var offSetX = -8;
		var offSetY = 23;
	}
	
	var ref = document.getElementById('topNav_btn_1');
	var top = yPos(ref);
	var lft = xPos(ref);
	document.getElementById(name).style.top = top + offSetY;
	document.getElementById(name).style.left = lft + offSetX;
	document.getElementById(name2).style.top = top + offSetY;
}

