var menus = new Array();
var openMenus = new Array();
var menuTimer = 0;
var lastMenu = '';
var winW;
var winH;
var designW = 780;
var designH = 2000;
var left = '';
var top = '';

/* open debug window
dbWin = window.open ('','debugwin','top=0,left=0,width=50,height=200,menubar=no,resizeable=yes,status=no');
dbWin.document.write('DB window open<br>');
*/

comp = (document.getElementById) ? true:false;

function setHeight(a,b){
	if((document.documentElement.offsetHeight - b) > 0){
	document.getElementById(a).style.height = String(document.documentElement.offsetHeight - b) + 'px';
	}
}

//Create menu object
function menuObj(name, level){
	var c=this; c.name=name; c.level=level; c.itemCount=0;
	c.mnuItems = new Array();
	return this;
}

function mnuItem(name, url, child){
	var c=this; c.name=name; c.url=url; c.child=child;
	return this;
}

menuObj.prototype.addMnuItem = function(name, url, child){  //Add menu item
	var c = this;
	c.mnuItems[c.itemCount] = new mnuItem(name, url, child);
	c.itemCount ++;
}

menus[0] = new menuObj('main', 0);
menus[0].addMnuItem('Home', 'index.html');
menus[0].addMnuItem('Events', 'events.html');
menus[0].addMnuItem('Results', 'results.html');
menus[0].addMnuItem('Gallery', 'gallery.html');
menus[0].addMnuItem('Join', 'join.html');
menus[0].addMnuItem('Contact', 'contact.html');

/*
menus[1] = new menuObj('subMnu1', 1);
menus[1].addMnuItem('Half hour', 'trial_half.htm');
menus[1].addMnuItem('One hour', 'trial_hour.htm');
*/

function setupMnu(){
	document.write('<div id="mainMnu">');
	for(k=0; k < menus[0].mnuItems.length; k++){
		str = '<a href="' + menus[0].mnuItems[k].url + '"';
		if (menus[0].mnuItems[k].child){
			str += ' onMouseOver="menuOver(' + menus[0].level + ', \'' + menus[0].mnuItems[k].child +'\')"';
			str += ' onMouseOut="menuOff()"';
		} else {
			str += ' onMouseOver="menuOver(' + menus[0].level + ')"';
			str += ' onMouseOut="menuOff()"';
		}
		str += '><div>' + menus[0].mnuItems[k].name + '</div></a>';
		document.write(str);
	}
	document.write('</div>');
	document.write('<div id="subMnu">');
	for(k=1; k < menus.length; k++){
		document.write('<div id="' + menus[k].name +'" style="display:none">');
			for(i=0; i < menus[k].mnuItems.length; i++){
				str = '<a href="' + menus[k].mnuItems[i].url + '">';
				str += '<div>' + menus[k].mnuItems[i].name + '</div></a>';
				document.write (str);
			}
		document.write('</div>');
	}
	document.write('</div>');
}

// this is the new menuOver function, the css controls position of the menu div
function menuOver(level, child){
	stopAll();
	if (level != null)
	{
		for (i=level+1; i < openMenus.length; i++){
			//close open menus at lower levels
			if (comp)
			{
				//document.getElementById(openMenus[i]).style.visibility = 'hidden';
				document.getElementById(openMenus[i]).style.display = 'none';
			} else {
				//document.all[openMenus[i]].style.visibility = 'hidden';
				document.all[openMenus[i]].style.display = 'none';
			}
		}
	}
	if (child != null){
		openMenus[level + 1] = child;
		if (comp){
			document.getElementById(child).style.display = 'block';
		} else {
			document.all[child].style.display = 'block';
		}
	}
}

/* this older menu function positions the sub menus absolutly based on screen size. (still good function for some sites)
function overMenu(iMenu, menuLevel, child, x, y, n)
{
	stopAll();
	lastMenu = iMenu;
	if (menuLevel != null)
	{
		for (i=(menuLevel + 1);i < openMenus.length ; i++ )
		{
			if (comp)
			{
				document.getElementById(openMenus[i]).style.visibility = 'hidden';
			} else {
				document.all[openMenus[i]].style.visibility = 'hidden';
			}
		}
	}
	if (comp)
	{
		mnuObj = document.getElementById(iMenu).style;
		childBk = document.getElementById('mnuBk').style;
	} else {
		mnuObj = document.all[iMenu].style;
		childBk = document.all['mnuBk'].style;
	}
	if (menuLevel == 0)
	{
		childBk.visibility = 'hidden';
	}
	if (child)
	{
		openMenus[menuLevel + 1] = child;
		winW = document.documentElement.offsetWidth;
		winH = document.documentElement.offsetHeight;
		if (winW < designW){ x = x + 20; } else { x = (x + (winW / 2) - (designW / 2)); }
		if (winH < designH){ y = y + 10; } else { y = (y + (winH / 2) - (designH / 2)); }
		if (comp)
		{
			childObj = document.getElementById(child).style;
			childObj.left = String(x) + 'px';
			childObj.top = String(y) + 'px';
			childBk.left = childObj.left;
			childBk.top = childObj.top;
		} else {
			childObj = document.all[child].style;
			childObj.pixelLeft = x;
			childObj.pixelTop = y;
			childBk.pixelLeft = childObj.pixelLeft;
			childBk.pixelTop = childObj.pixelTop;
		}
		childBk.pixelHeight = n * 40;
		//window.status = n;
		childBk.visibility = 'visible';
		childObj.visibility = 'visible';
	}
	offColor = mnuObj.color;
	mnuObj.color = onColor;
}
*/

function menuOff()
{
	/*if (comp)
	{
		document.getElementById(lastMenu).style.color = offColor;
	} else {
		document.all[lastMenu].style.color = offColor;
	}
	if (menuTimer > 0){clearTimeout(menuTimer); menuTimer = 0;}
	menuTimer = setTimeout('clearAll()', 400);*/
}

function stopAll(){
	if (menuTimer > 0 ){clearTimeout(menuTimer); menuTimer = 0;}
}

function clearAll(){
	for (i=1;i < openMenus.length ;i++ ){
		if (comp)
		{
			document.getElementById(openMenus[i]).style.visibility = 'hidden';
		} else {
			document.all[openMenus[i]].style.visibility = 'hidden';
		}
	}
	openMenus = new Array();
}

