// Author: Caleb Johnston | Big Spaceship
// Date: July 1, 2005
// Site: Billboard.com
// attn: Mod of the xMenu object

// The TopNav object is used for all submenus in the TopNav section of every page.
// the TopNav object requires xelement.js for each submenu element.

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

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

TopNav = {timer : null, current : null};
TopNav.show = function(name){
	if(this.timer) clearTimeout(this.timer);
	var name2 = name+"_bar";
	if (xBrowser.ns6up) {
		var offSetX = -8;
		var offSetY = 23;
	} else if (xBrowser.ie5up) {
		var offSetX = -10;
		var offSetY = 23;
	}
	var ref = document.getElementById('topNav_btn_1');
	var menu = document.getElementById(name);
	var menu2 = document.getElementById(name2);
	var top = yPos(ref);
	var lft = xPos(ref);
	menu.style.top = top + offSetY;
	menu.style.left = lft + offSetX;
	menu2.style.top = top + offSetY;
	menu2.style.left = 0;
	xElement.getStyle(name).visibility = "visible";
	xElement.getStyle(name2).visibility = "visible";
	this.current = name;
	this.current2 = name2;
}

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

TopNav.doHide = function(){
	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;
}

TopNav.startBuild = function(name, area){
	var div
	var div2;
	var img;
	if (area=="charts") {
		img = '/bbcom/images/top_nav_charts_submenu_bg.gif';
	} else if (area=="news") {
		img = '/bbcom/images/top_nav_news_submenu_bg.gif';
	} else if (area=="artists") {
		img = '/bbcom/images/top_nav_artists_submenu_bg.gif';
	} else if (area=="tools") {
		img = '/bbcom/images/top_nav_tools_submenu_bg.gif';
	} else if (area=="entertain") {
		img = '/bbcom/images/top_nav_entertain_submenu_bg.gif';
	} else if (area=="interact") {
		img = '/bbcom/images/top_nav_interact_submenu_bg.gif';
	} else if (area=="shop") {
		img = '/bbcom/images/top_nav_shop_submenu_bg.gif';
	} else if (area=="about") {
		img = '/bbcom/images/top_nav_about_submenu_bg.gif';
	}  else if (area=="fashion") {
		img = '/bbcom/images/top_nav_fashion_submenu_bg.gif';
	}
	
	
	var name2 = name+"_bar";
	if(document.layers){
		div2 = '<layer name="'+name2+'" left="0" z-index="500" width="750" height="34" visibility="hidden" style="background-image: url('+img+'); background-repeat: repeat-x;">&nbsp;</layer>';
		div = '<layer name="'+name+'" left="0" z-index="550" visibility="hidden" ';
	}else{
		div2 = '<div id="'+name2+'" style="position:absolute; left: 0; width: 750px; height: 34px; z-index:500; visibility:hidden; background-image: url('+img+'); background-repeat: repeat-x;">&nbsp;</div>';
		div = '<div id="'+name+'" style="position:absolute; left: 0; z-index:550; visibility:hidden"';
	}
	div += 'onMouseOver="TopNav.show(\''+name+'\')" onMouseOut="TopNav.hide(\''+name+'\')">';
	var source = div2 + div;
	return source;
}

TopNav.endBuild = function(){
	return  document.layers ? "<\/layer>" : "<\/div>";
}

//startStaticBuild method is used to build a top nav menu that doesn't drop down dynmically but is constantly visible
TopNav.startStaticBuild = function(name, area){
	var div
	var div2;
	var img;
	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;
	}

	if (area=="charts") {
		img = '/bbcom/images/top_nav_charts_submenu_bg.gif';
	} else if (area=="news") {
		img = '/bbcom/images/top_nav_news_submenu_bg.gif';
	} else if (area=="artists") {
		img = '/bbcom/images/top_nav_artists_submenu_bg.gif';
	} else if (area=="tools") {
		img = '/bbcom/images/top_nav_tools_submenu_bg.gif';
	} else if (area=="entertain") {
		img = '/bbcom/images/top_nav_entertain_submenu_bg.gif';
	}  else if (area=="interact") {
		img = '/bbcom/images/top_nav_interact_submenu_bg.gif';
	} else if (area=="shop") {
		img = '/bbcom/images/top_nav_shop_submenu_bg.gif';
	} else if (area=="about") {
		img = '/bbcom/images/top_nav_about_submenu_bg.gif';
	} else if (area=="fashion") {
		img = '/bbcom/images/top_nav_fashion_submenu_bg.gif';
	}
	
	var ref = document.getElementById('topNav_btn_1');
	var top = yPos(ref);
	var lft = xPos(ref);
	var _ymenu = top + offSetY;
	var _xmenu = lft + offSetX;

	if(document.layers){
		div2 = '<layer name="'+name2+'" top="'+_ymenu+'" left="0" z-index="400" width="750" height="34" visibility="visible" style="background-image: url('+img+'); background-repeat: repeat-x;">&nbsp;</layer>';
		div = '<layer name="'+name+'" top="'+_ymenu+'" left="'+_xmenu+'" z-index="450" visibility="visible" >';
	}else{
		div2 = '<div id="'+name2+'" style="position:absolute; top: '+_ymenu+'; left: 0px; width: 750px; height: 34px; z-index:400; visibility:visible; background-image: url('+img+'); background-repeat: repeat-x;">&nbsp;</div>';
		div = '<div id="'+name+'" style="position:absolute; top: '+_ymenu+'; left: '+_xmenu+'; z-index:450; visibility: visible;" >';
	}
	var source = div2 + div;
	return source;
}

TopNav.endStaticBuild = function(){
	return  document.layers ? "<\/layer>" : "<\/div>";
}
