var menusReady = false;
var menuName = "";
var imageOn = "";

// vertical position of menus
var nav_yPos = 227;
// horizontal offset of first menu
var nav_xOffset_m1 = 409;
// horizontal offset of second menu
var nav_xOffset_m2 = 239;
// horizontal offset of first menu
var nav_xOffset_m1_ie = 400;
// horizontal offset of second menu
var nav_xOffset_m2_ie = 230;
// height of the rollover trigger image, used in menuOff function
var yBottomOffset = 26;
// height of the rollover trigger image, used in menuOff function
var yTopOffset = 22;


// status message
window.defaultStatus = "Welcome to Tam&aacute;stslikt Cultural Institute.";

// browser sniffer
var myBrowser = null;
if(document.all) {
  myBrowser = "IE";
} 
else if(document.layers) {
  myBrowser = "NN";
}
else if(document.getElementById) {
  myBrowser = "DOM";
}

// open new window
function openWindow(url,title,w,h,resize,scroll){
var params = "";
if (!((resize=="Null")||(resize=="0")||(resize=="no"))) params += 'resizable,';
if (!((scroll=="Null")||(scroll=="0")||(scroll=="no"))) params += 'scrollbars,';
var winX = Math.floor((screen.width/2)-(w/2));
var winY = 100;

if((myBrowser == "NN")||(myBrowser == "DOM")) {
popupWin = window.open(url, title, params + 'width=' + w + ',height=' + h + ',screenX=' + winX + ',screenY=' + winY);
} else if(myBrowser == "IE") {
popupWin = window.open(url, title, params + 'width=' + w + ',height=' + h + ',left=' + winX + ',top=' + winY);
}
popupWin.focus();
}

// load menu button images

m1_off = new Image();
m1_off.src = "/images/nav1_off.gif";
m1_on = new Image();
m1_on.src = "/images/nav1_over.gif";

m2_off = new Image();
m2_off.src = "/images/nav2_off.gif";
m2_on = new Image();
m2_on.src = "/images/nav2_over.gif";

m3_off = new Image();
m3_off.src = "/images/nav3_off.gif";
m3_on = new Image();
m3_on.src = "/images/nav3_over.gif";

m4_off = new Image();
m4_off.src = "/images/nav4_off.gif";
m4_on = new Image();
m4_on.src = "/images/nav4_over.gif";

// load menu 1 images VISIT US
m1_01_off = new Image();
m1_01_off.src = "/images/nav1-1-off.gif";
m1_01_on = new Image();
m1_01_on.src = "/images/nav1-1-over.gif";

m1_02_off = new Image();
m1_02_off.src = "/images/nav1-2-off.gif";
m1_02_on = new Image();
m1_02_on.src = "/images/nav1-2-over.gif";

// load menu 2 images EXHIBITS & EVENTS
m2_01_off = new Image();
m2_01_off.src = "/images/nav2-3-off.gif";
m2_01_on = new Image();
m2_01_on.src = "/images/nav2-3-over.gif";

m2_02_off = new Image();
m2_02_off.src = "/images/nav2-4-off.gif";
m2_02_on = new Image();
m2_02_on.src = "/images/nav2-4-over.gif";

// Menu Javascript Functions
function rollOn(imgName) {
  if (document.images) {
    document[imgName].src = eval(imgName + "_on.src");
  }
}

function rollOff(imgName) {
  if (document.images) {
    document[imgName].src = eval(imgName + "_off.src");
  }
}

function itemOn(imgName,layer) {
  if (document.layers) {
	document.layers[layer].document[imgName].src = eval(imgName + "_on.src");
  }
  else {	
    document[imgName].src = eval(imgName + "_on.src");
  }
}

function itemOff(imgName,layer) {
  if (document.layers) {
	document.layers[layer].document[imgName].src = eval(imgName + "_off.src");
  }
  else {	
    document[imgName].src = eval(imgName + "_off.src");
  }
}

// get style reference for layer object
function getLayer(ID) {
  if(typeof ID == "string") {
    if(myBrowser == "NN") {
      return(document.layers[ID]);
    } else if(myBrowser == "IE") {
      return(document.all[ID].style);
    } else if(myBrowser == "DOM") {
      return(document.getElementById(ID).style);
    }
  }
  else {
    return ID;
  }
}

// get layer left
function getLayerLeft(layerName) {
  var layerObj = getLayer(layerName);
  return(layerObj.left);
}

// get layer top
function getLayerTop(layerName) {
  var layerObj = getLayer(layerName);
  return(layerObj.top);
}

// get layer width
function getLayerWidth(layerName) {
  var layerObj = getLayer(layerName);
  if(myBrowser == "NN") {
    return(layerObj.clip.width);
  } else if(myBrowser == "IE" || myBrowser == "DOM") {
    return(layerObj.width);
  }
}

// get layer height
function getLayerHeight(layerName) {
  var layerObj = getLayer(layerName);
  if(myBrowser == "NN") {
    return(layerObj.clip.height);
  } else if(myBrowser == "IE" || myBrowser == "DOM") {
    return(layerObj.height);
  }
}

// show layer
function showLayer(layerName) {
	var layerObj = getLayer(layerName);
	if(myBrowser == "NN") {
    	layerObj.visibility='show';
  	} else if (myBrowser == "IE" || myBrowser == "DOM") {
    	layerObj.visibility='visible';
	}
}

// hide layer
function hideLayer(layerName) {
	var layerObj = getLayer(layerName);
	if(myBrowser == "NN") {
    	layerObj.visibility='hide';
  	} else if (myBrowser == "IE" || myBrowser == "DOM") {
    	layerObj.visibility='hidden';
	}
}

// move layer to absolute coordinates
function moveLayer(layerName, xPos, yPos) {
  var layerObj = getLayer(layerName);
  if(myBrowser == "NN") {
    layerObj.moveTo(xPos, yPos);
  } else if(myBrowser == "IE" || myBrowser == "DOM") {
    layerObj.left = xPos + "px";
    layerObj.top = yPos + "px";
  }
}

function mouseMove(e) {
	if ((myBrowser == "NN") || (myBrowser == "DOM")) {
    	menuOff(e.pageX,e.pageY);
  	} else if(myBrowser == "IE") {
    	menuOff(event.x,event.y);
	}
}

function menuOn(layerName, imgName) {
if(menusReady) {
		if (menuName.length) hideLayer(menuName);
		if (imageOn.length) rollOff(imageOn);
		if (imgName.length) rollOn(imgName);
		menuName = layerName;
		showLayer(menuName);
		imageOn = imgName;
	}
}

function isOutside(xcord, ycord, left, right, top, bottom) {
	if ((xcord < left)||(xcord > right)||(ycord < top)||(ycord > bottom)) return true;
	else return false;
}

function menuOff(xcord, ycord) {
	var left,right,top,bottom;
	//document.xy.mx.value=xcord;
	//document.xy.my.value=ycord;
	if(menuName.length) {
		left = parseInt(getLayerLeft(menuName));
		right = left + parseInt(getLayerWidth(menuName));
		top = parseInt(getLayerTop(menuName)) - yTopOffset;
		bottom = top + parseInt(getLayerHeight(menuName)) + yBottomOffset;
	    // alert(left+','+right+','+top+','+bottom+','+xcord+','+ycord);
		if ((myBrowser == "NN") || (myBrowser == "DOM")) {
			if (isOutside(xcord, ycord, left, right, top, bottom)) { 
				if (imageOn){rollOff(imageOn)};
				imageOn = "";
				hideLayer(menuName);
				menuName = "";
			}
	  	} else if(myBrowser == "IE") {
			if (isOutside(xcord, ycord, left, right, top - document.body.scrollTop, bottom - document.body.scrollTop)) { 
				if (imageOn){rollOff(imageOn)};
				imageOn = "";
				hideLayer(menuName);
				menuName = "";
			}
	  	}
	}
}

// get window width
function getWindowWidth(thisWindow) {
  if(myBrowser == "NN" || myBrowser == "DOM") {
    return(thisWindow.innerWidth);
  } else if(myBrowser == "IE") {
    return(thisWindow.document.body.clientWidth);
  }
}

// get window horizontal center
function getCenter(thisWindow) {
  return(Math.floor(getWindowWidth(thisWindow)/2));
}

// position horizontal menus
function positionMenus(){
	var centerX = getCenter(self);
 	if(myBrowser=="IE") {
		count=0;
		if (count==0){
			count=1;
			var minX = 900/2;
			if (centerX < minX) centerX = minX;
			var xPos = centerX - nav_xOffset_m1_ie;
			moveLayer('Layer0', xPos, nav_yPos);
			xPos = centerX - nav_xOffset_m2_ie;
			moveLayer('Layer1', xPos, nav_yPos);
		}
		else{
			count=0;
		}
	}
	if((myBrowser=="NN") || (myBrowser=="DOM")) {
		var minX = 938/2;
		if (centerX < minX) centerX = minX;
		var xPos = centerX - nav_xOffset_m1;		
		moveLayer('Layer0', xPos, nav_yPos);
		xPos = centerX - nav_xOffset_m2;
		moveLayer('Layer1', xPos, nav_yPos);
	}
}

// track mouse movement to turn off menus
function mouseMove(e) {
	if ((myBrowser == "NN") || (myBrowser == "DOM")) {
    	menuOff(e.pageX,e.pageY);
  	} else if(myBrowser == "IE") {
    	menuOff(event.x,event.y);
	}
}

// position menu layers and refresh NN4
function handleResize(init) {
  if (init==true) {
    if (myBrowser=="NN") {
      // setup for resize
   	  document.pgWidth=window.innerWidth;
      document.pgHeight=window.innerHeight;
      window.captureEvents(Event.RESIZE);
  	  window.onresize = handleResize;
	  // setup for popups
	  document.captureEvents(Event.MOUSEMOVE);
    }
    else if ((myBrowser=="IE") || (myBrowser=="DOM")) {
	}
  }
  else {
    if (myBrowser=="NN") {
  	  if (window.innerWidth!=document.pgWidth || window.innerHeight!=document.pgHeight) {
	    if (parseInt(navigator.appVersion)==4) { location.reload();	}
	    else {
		  if (window.innerWidth!=document.pgWidth) {
		    positionMenus();
		  }
	    }
	  }
	}
    else if ((myBrowser=="IE") || (myBrowser=="DOM")) {
      positionMenus();
	}
  }
  document.onmousemove = mouseMove;
}

handleResize(true);