// page controls
var timeon = null
document.onmouseover=hideall;
window.onerror = null;

// array contains labels for nav
label = new Array('a','b','c','d');
// array contains btn names
btns  = new Array('experience','events','services','aboutus');
// value for hiding all menus
menus = 1;
subs  = 3;
ypos  = 375;

function over () { 
	clearTimeout(timeon);
	hideallsubs();
}

function subover () { 
	clearTimeout(timeon);
}

// hide all menus
function hideall () {
	for(id=1; id<=menus; id++) {
		swapview('menu' + id, 'hidden');
	}
	hideallsubs();
	MM_swapImgRestore();
}

// hide all submenus
function hideallsubs () {
	for(id=1; id<=subs; id++) {
		swapview('sub' + id, 'hidden');
	}
}

// roll out of object
function out () {
	if(document.layers) {
		timeon = setTimeout("hideall()", 400);
	}
	//hideallsubs();
}

// show a menu
function show (num, obj) {
	if (obj) {
		swapview('gallery_values','hidden');
		hideall();
		obj.cancelBubble=true
		MM_swapImage(label[num-1],'','images/navig/'+btns[num-1]+'_on.gif',1);
		var menuID = "menu" + num;
		move (menuID, label[num-1],0,0);
		if (swapview(menuID,'visible')) {
			return true;
		} else {
			return false;
		}
	} else {
		return false;
	}
} // show layer

// show a menu
function showsub (num, obj) {
	if (obj) {
		hideallsubs();
		obj.cancelBubble=true;
		var menuID = "sub" + num;
		move (menuID, "sub_id" + num,100,1);
		if (swapview(menuID,'visible')) {
			return true;
		} else {
			return false;
		}
	} else {
		return false;
	}
} // show layer

// hide a menu
function hide (num, obj) {
	if (obj) {
		obj.cancelBubble = true;
		var menuID = "menu" + num;
		if (swapview (menuID,'hidden')) {
			return true;
		} else {
			return false;
		}
	} else {
		return false;
	}
	//swapview('gallery_values','visible');
} // show layer

// find specifed objects left offset
function getleft(ele, xo) { 
	var elem = MM_findObj(ele);
	xPos = elem.offsetLeft; 
	tempEl = elem.offsetParent; 
	while (tempEl != null) { 
		xPos += tempEl.offsetLeft; 
		tempEl = tempEl.offsetParent; 
	} 
	return xPos+xo;
} // getElementLeft

function gettop(ele) {
	var elem = MM_findObj(ele);
	yPos = elem.offsetTop;
	tempEl = elem.offsetParent;
	while (tempEl != null) {
		yPos += tempEl.offsetTop;
		tempEl = tempEl.offsetParent;
	}
	return yPos;
}

function getStyleObject(obj) {
    // cross-browser function to get an object's style object given its id
  if(document.getElementById && document.getElementById(obj)) {
	// W3C DOM
		return document.getElementById(obj).style;
  } else if (document.all && document.all(obj)) {
	// MSIE 4 DOM
		return document.all(obj).style;
  } else if (document.layers && document.layers[obj]) {
	// NN 4 DOM.. note: this won't find nested layers
		return document.layers[obj];
  } else {
		return false;
  }
} // getStyleObject

function move (obj, offset, xo, yo) {
  // get a reference to the cross-browser style object and make sure the object exists
  var styleObject = getStyleObject(obj);
  if(styleObject) {
		// document.write(newYCoordinate);
		styleObject.left = getleft(offset,xo);
		if (yo == 0) {
			styleObject.top  = ypos;
		} else {
			styleObject.top  = gettop(offset) + yo;
		}
		return true;
  } else {
		// we couldn't find the object, so we can't very well move it
		return false;
  }
} // moveObject

function swapview (obj, val) {
	var styleObject = getStyleObject(obj);
	if (styleObject) {
		styleObject.visibility = val;
		return true;
	} else {
		return false;
	}
} // changeVisibility

function MM_preloadImages() { //v3.0
  var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
    var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
    if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
}

function MM_swapImgRestore() { //v3.0
  var i,x,a=document.MM_sr; for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc;
}

function MM_findObj(n, d) { //v4.01
  var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
  if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
  if(!x && d.getElementById) x=d.getElementById(n); return x;
}

function MM_swapImage() { //v3.0
  var i,j=0,x,a=MM_swapImage.arguments; document.MM_sr=new Array; for(i=0;i<(a.length-2);i+=3)
   if ((x=MM_findObj(a[i]))!=null){document.MM_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];}
}

// initialize hacks whenever the page loads
window.onload = initializeHacks;

// setup an event handler to hide popups for generic clicks on the document
document.onclick = hideall;

function initializeHacks() {
    // this ugly little hack resizes a blank div to make sure you can click
    // anywhere in the window for Mac MSIE 5
  if ((navigator.appVersion.indexOf('MSIE 5') != -1) 
		&& (navigator.platform.indexOf('Mac') != -1)
		&& getStyleObject('blankDiv')) {
		window.onresize = explorerMacResizeFix;
  }
  resizeBlankDiv();
  // this next function creates a placeholder object for older browsers
  createFakeEventObj();
}

function createFakeEventObj() {
	// create a fake event object for older browsers to avoid errors in function call
	// when we need to pass the event object to functions
  if (!window.event) {
		window.event = false;
  }
} // createFakeEventObj

function resizeBlankDiv() {
	// resize blank placeholder div so IE 5 on mac will get all clicks in window
	if ((navigator.appVersion.indexOf('MSIE 5') != -1) 
		&& (navigator.platform.indexOf('Mac') != -1)
		&& getStyleObject('blankDiv')) {
			getStyleObject('blankDiv').width = document.body.clientWidth - 20;
			getStyleObject('blankDiv').height = document.body.clientHeight - 20;
  }
}
function explorerMacResizeFix () {
    location.reload(false);
}