// START SETUP CODE
var browser = navigator.appName; 
var bname = browser.toUpperCase();

var NS = (navigator.appName == "Netscape");
var IE4 = document.all;
var NS4 = document.layers;
var isIEandWin = (bname.indexOf("INTERNET EXPLORER") != -1 && navigator.appVersion.indexOf("Win") != -1) ? true : false;
mac = navigator.appVersion.indexOf("Mac");
if (mac>=0) {mac=1} else {mac=0}
var compliant = document.getElementById;
var initialized = false;

// DETERMINE WHETHER BROWSER IS STANDARDS COMPLIANT AND TURN DHTML ON IF COMPLIANT
if (compliant) {dhtml=1} else {dhtml=0}

// NS 4 reload code
// MIGHT BE ABLE TO LOSE THIS FUNCTION
// window.onResize = re;

var menuHeight=41;
var numMenus=3;
var menuOn=-1;
var flashPresent = 0;
var gatewayLock= -1;
var num = 0;


function MakeArray(n){
   this.length = n
   for (var i = 1; i<=n; i++) {
	  this[i] = new Image()
   }
   return this;
}

var menuOffset = new Array('0','114','252','193','260','335','415');

var minPos_x = new Array;
var maxPos_x = new Array;
var minPos_y = new Array;
var maxPos_y = new Array;
var imageName = new Array("secnav_theconcert","secnav_thefoundation","secnav_musicsaves");

if (document.images) {
	header_Over = new MakeArray(7);
	header_Out = new MakeArray(7);
	
	for (imgX=0;imgX<7;imgX++){
	header_Out[imgX] = new Image(); 
	header_Out[imgX].src = "/shows/events/save_music/2005/img/" + imageName[imgX] + ".gif";
	header_Over[imgX] = new Image();
	header_Over[imgX].src = "/shows/events/save_music/2005/img/" +imageName[imgX] + "_on.gif";
	}
}

function imgFlip(imageName,imageSrc) {
  if (document.images)
    document.images[imageName].src = eval(imageSrc + ".src");
}

function headerOver(num){
	if ((document.images) && (num != gatewayLock)){
		eval ("document." + imageName[num] + ".src ='" + header_Over[num].src +"'");
	}
}
function headerOut(num){
	if ((document.images) && (num != gatewayLock)){
	eval ("document." + imageName[num] + ".src ='" + header_Out[num].src +"'");}
	}

function headerOutX(num){
	if (document.images){
		if(dhtml==0 && (num != gatewayLock)) {
			eval ("document." + imageName[num] + ".src ='" + header_Out[num].src +"'");
		}
	}
}

// MENU FUNCTIONS

function refConstructor(menuId) {
	var prefix = "document.getElementById('menu" + menuId + "')";
	return prefix;
}

function hideDiv(thisDiv)
{
	var divRef = "document.getElementById(thisDiv)";
	eval(divRef+ ".style.visibility = 'hidden'");
}

function showDiv(thisDiv)
{ 
	var divRef = "document.getElementById(thisDiv)";
	eval(divRef+ ".style.visibility = 'visible'");
}

function findPosX(obj){
	var curleft = 0;
	if (obj.offsetParent){
		while (obj.offsetParent){
			curleft += obj.offsetLeft;
			obj = obj.offsetParent;
		}
	}
	else if (obj.x) curleft += obj.x;
	return curleft;
}

function findPosY(obj){
	var curtop = 0;
	if (obj.offsetParent){
		while (obj.offsetParent){
			curtop += obj.offsetTop;
			obj = obj.offsetParent;
		}
	}
	else if (obj.y) curtop += obj.y;
	return curtop;
}
	
function menuInit() {
	//alert('starting menuInit function');
	for (layerInit = 0;layerInit<numMenus;layerInit++) {
		var layerRef =  refConstructor(layerInit);
		
		var layerDim_y  = eval(layerRef + ".offsetHeight + menuHeight");
		var layerDim_x  = eval(layerRef + ".offsetWidth");
		var layerPos_y = findPosY(eval(layerRef));
		var layerPos_x = findPosX(eval(layerRef));
		
		minPos_y[layerInit] = (layerPos_y);
		maxPos_y[layerInit] = (layerPos_y + layerDim_y);
		minPos_x[layerInit] = (layerPos_x);
		maxPos_x[layerInit] = (layerPos_x + layerDim_x);		
		
	}
	if (flashPresent==1){(IE4) ? eval("document.all.flashLayer.style.visibility = 'visible'"):eval("document.flashLayer.visibility = 'visible'");}
	initialized = true;
}

function reportEvent(e) 
{
	var posx = 0;
	var posy = 0;
	var layerRef =  refConstructor(menuOn)

	if (!e) var e = window.event;
	if (e.pageX || e.pageY)
	{
		mousePos_x = e.pageX;
		mousePos_y = e.pageY + menuHeight;
	}
	else if ((e.clientX || e.clientY) && !mac)
	{
		mousePos_x = e.clientX + document.body.scrollLeft + document.documentElement.scrollLeft;
		mousePos_y = e.clientY + document.body.scrollTop + document.documentElement.scrollTop + menuHeight;
	}
	else if ((e.clientX || e.clientY) && mac)
	{
		mousePos_x = e.clientX + document.body.scrollLeft;
		mousePos_y = e.clientY + document.body.scrollTop + menuHeight;
	}

	if ((mousePos_y > maxPos_y[menuOn]) || (mousePos_x < minPos_x[menuOn]) || (mousePos_x > maxPos_x[menuOn]) ||(mousePos_y < minPos_y[menuOn]))
	{
		eval(layerRef + ".style.visibility = 'hidden'");
		v= menuOn;
		if (menuOn != gatewayLock) {headerOut(v);};
		
		menuOn=-1;
		
		if (isIEandWin) {
			if (document.all.layerToHide) showDiv('layerToHide');
		}
		
		if(flashPresent==1){
			eval("document.flashLayer.visibility = 'visible'");
		}
		
		document.onmousemove = null;
	}
}

function move() {
	if (IE4) { document.onmouseover = null }
	else{ document.releaseEvents(Event.MOUSEOVER)};
	var layerRef =  refConstructor(menuOn);
	eval(layerRef + ".style.visibility = 'visible'");
}

function xx() {
	move();
	first=0;
	if(document.layers) {document.captureEvents(Event.MOUSEMOVE)};
	document.onmousemove = reportEvent;
}

// FIRST CALL TO THE MENU FUNCTIONS
function menu(m) {
	if (initialized == false) {menuInit();}
	
	if (isIEandWin) {
		if (document.all.layerToHide) {
			hideDiv('layerToHide');
		}
	}
	if (m != menuOn) {
		v = m; 
		headerOver(v);
		if(dhtml){
			var layerRef =  refConstructor(menuOn)
			if (menuOn != m && menuOn!=-1){
				v2 = menuOn;
				if (menuOn+1 != (gatewayLock)) {headerOut(v2);};
				eval(layerRef + ".style.visibility = 'hidden'");
			}
			menuOn = m ;
		xx();
		};
	}
}
// END MENU CALLS

function loadFunctions(){
	menuInit;	
}

//for publishing
gatewayLock = null;
window.onload=loadFunctions;
window.onresize=menuInit;