var default_menu_item = "menu_bluesbash";

var default_banner = new Asset.image("images/headers/GeneralInformation.jpg?mod=20100426",{'id':'SiteHeader'});
var banners = new Array();
banners['menu_jazzfest'] = new Asset.image("images/headers/JazzFest.jpg?mod=20100426",{'id':'SiteHeader'});
banners['menu_bluesbash'] = new Asset.image("images/headers/BluesBash.jpg?mod=20100426",{'id':'SiteHeader'});
banners['menu_upcoming_presentations'] = new Asset.image("images/headers/ConcertSeries.jpg?mod=20100426",{'id':'SiteHeader'});

var timer;
var current_item;

var top_menu_items = [];
function initializeTopMenu() {
	var tabSelected = false;

	var tabid = "NavLinks";
	mastertabvar[tabid]=new Array()
	var menuitems=document.getElementById(tabid).getElementsByTagName("li")
	for (var i=0; i<menuitems.length; i++){
		if (menuitems[i].getAttribute("rel")){
			menuitems[i].setAttribute("rev", tabid) //associate this submenu with main tab
			mastertabvar[tabid][mastertabvar[tabid].length]=menuitems[i].getAttribute("rel") //store ids of submenus of tab menu
			if (menuitems[i].className=="selected")
				showsubmenu(tabid, menuitems[i].getAttribute("rel"))
		}
	}

	top_menu_items = $$("#NavLinks a");
	top_menu_items.each(function(item) {
		if(item.hasClass('NavActive')) {
			tabSelected = true;
		}

		item.addEvents({'click':function(){selectTopMenuItem(item);}})
		item.addEvents({'mouseover':function(){hoverTopMenuItem(item);}})
		item.addEvents({'mouseover':function(){mouseOver(item);}})
		item.addEvents({'mouseout':function(){mouseOut(item);}})

		var submenuid = item.getParent().getAttribute('rel');
		if(submenuid) {
			$$('#'+submenuid+' a').each(function(submenu_item){
				submenu_item.addEvents({'click':function(){selectTopMenuItem(item, submenu_item);}})
			});
			$(submenuid).addEvents({'mouseover':function(){mouseOver(item);}})
			$(submenuid).addEvents({'mouseout':function(){mouseOut(item);}})
		}

	});

	if (!tabSelected) {
		selectTopMenuItem($(default_menu_item))
	}
}


// Switch back to current menu after 2 seconds of not hovering over any menu items
function mouseOut(item){
	if(timer) {
		$clear(timer);
	}
	timer = function(){hoverTopMenuItem(current_item);}.delay(3000);
}

function mouseOver(item){
	if(timer) {
		$clear(timer);
	}

}


function selectTopMenuItem(item, submenu_item){
	current_item = item;

	top_menu_items.each(function(i) {
		i.removeClass('NavActive');
	});
	$(item.id).addClass('NavActive');
	if(banners[item.id]) {
		banners[item.id].replaces('SiteHeader');

	} else {
		default_banner.replaces('SiteHeader');
	}

	$$('.SubNav').each(function(item) {
		item.style.display = "none";
	});

	var submenu = item.getParent().getAttribute('rel');
	if(submenu) {
		$(submenu).style.display = "block";
	}

	if(submenu_item) {
		submenu_item.blur();
	} else {
		item.blur();
	}
}

function hoverTopMenuItem(item){
	top_menu_items = $$("#NavLinks a");
		top_menu_items.each(function(navitem) {
		navitem.removeClass('NavActive');

	});
	item.addClass('NavActive');

	if(item.parentNode.getAttribute("rev")) {
		showsubmenu(item.parentNode.getAttribute("rev"), item.parentNode.getAttribute("rel"))
	}
	else {
		$$('.SubNav').each(function(item) {
			item.style.display = "none";
		});
	}
}

var mastertabvar=new Object()
mastertabvar.baseopacity=0
mastertabvar.browserdetect=""

function showsubmenu(masterid, id){
	if (typeof highlighting!="undefined")
		clearInterval(highlighting)
	submenuobject=document.getElementById(id)
	mastertabvar.browserdetect=submenuobject.filters? "ie" : typeof submenuobject.style.MozOpacity=="string"? "mozilla" : ""
	hidesubmenus(mastertabvar[masterid])
	submenuobject.style.display="block"
	instantset(mastertabvar.baseopacity)
	highlighting=setInterval("gradualfade(submenuobject)",50)
}

function hidesubmenus(submenuarray){
	for (var i=0; i<submenuarray.length; i++)
	document.getElementById(submenuarray[i]).style.display="none"
}

function instantset(degree){
	if (mastertabvar.browserdetect=="mozilla")
		submenuobject.style.MozOpacity=degree/100
	//else if (mastertabvar.browserdetect=="ie")
	//submenuobject.filters.alpha.opacity=degree
}


function gradualfade(cur2){
	if (mastertabvar.browserdetect=="mozilla" && cur2.style.MozOpacity<1)
		cur2.style.MozOpacity=Math.min(parseFloat(cur2.style.MozOpacity)+0.2, 1)
	//else if (mastertabvar.browserdetect=="ie" && cur2.filters.alpha.opacity<100)
	//	cur2.filters.alpha.opacity+=10
	else if (typeof highlighting!="undefined") //fading animation over
		clearInterval(highlighting)
}