var mmOpenContainer = null;
var mmOpenMenus = null;
var mmHideMenuTimer = null;

function MM_menuStartTimeout(hideTimeout) {
	mmHideMenuTimer = setTimeout("MM_menuHideMenus()", hideTimeout);	
}

function MM_menuHideMenus() {
	MM_menuResetTimeout();
	if(mmOpenContainer) {
		var c = document.getElementById(mmOpenContainer);
		c.style.visibility = "inherit";
		mmOpenContainer = null;
	}
	if( mmOpenMenus ) {
		for(var i = 0; i < mmOpenMenus.length ; i++) {
			var m = document.getElementById(mmOpenMenus[i]);
			m.style.visibility = "hidden";			
		}
		mmOpenMenus = null;
	}
}

function MM_menuHideSubmenus(menuName) {
	if( mmOpenMenus ) {
		var h = false;
		var c = 0;
		for(var i = 0; i < mmOpenMenus.length ; i++) {
			if( h ) {
				var m = document.getElementById(mmOpenMenus[i]);
				m.style.visibility = "hidden";
			} else if( mmOpenMenus[i] == menuName ) {
				h = true;
			} else {
				c++;
			}
		}
		mmOpenMenus.length = c+1;
	}
}

function MM_menuOverMenuItem(menuName, subMenuSuffix) {
	MM_menuResetTimeout();
	MM_menuHideSubmenus(menuName);
	if( subMenuSuffix ) {
		var subMenuName = "" + menuName + "_" + subMenuSuffix;
		MM_menuShowSubMenu(subMenuName);
	}
}

function MM_menuShowSubMenu(subMenuName) {
	MM_menuResetTimeout();
	var e = document.getElementById(subMenuName);
	e.style.visibility = "inherit";
	if( !mmOpenMenus ) {
		mmOpenMenus = new Array;
	}
	mmOpenMenus[mmOpenMenus.length] = "" + subMenuName;
}

function MM_menuResetTimeout() {
	if (mmHideMenuTimer) clearTimeout(mmHideMenuTimer);
	mmHideMenuTimer = null;
}

function MM_menuShowMenu(containName, menuName, xOffset, yOffset, triggerName) {
	MM_menuHideMenus();
	MM_menuResetTimeout();
	MM_menuShowMenuContainer(containName, xOffset, yOffset, triggerName);
	MM_menuShowSubMenu(menuName);
}

function MM_menuShowMenuContainer(containName, x, y, triggerName) {	
	var c = document.getElementById(containName);
	var s = c.style;
	s.visibility = "inherit";
	
	mmOpenContainer = "" + containName;
}

/* accessibility */

function KeyHandler(e,id,alt) {
	var keynum;
	

if(window.event) // IE
	{
	keynum = e.keyCode;
	}
else if(e.which) // Netscape/Firefox/Opera
	{
	keynum = e.which;
	}
if (id.length > 26) {
	if (keynum == 39) {
	document.getElementById(id).focus();
	return !(keynum == 39);	
	}
	if (keynum == 13) {
	document.getElementById(id).focus();
	return !(keynum == 13);	
	}	
	
	// left key for catering section only
	if (keynum == 37) {
	if (id == 'MMMenu0207155440_7_1_Item_0' || id == 'MMMenu0207155440_7_2_Item_0') {
	document.getElementById(id).focus();
	return !(keynum == 37);	
	}
	}
	//down key for menus / catering 1st tab, to arrow down past sub menu
	if (keynum == 40 && alt == 'nav_menus' || keynum == 40 && alt == 'nav_catering') {
		switch (alt) {
		case 'nav_menus':
			document.getElementById('MMMenu0207155440_4_Item_1').focus();
			return !(keynum == 40);				
			break;
		case 'nav_catering':
			document.getElementById('MMMenu0207155440_7_Item_1').focus();
			return !(keynum == 40);				
			break;			
		}
		
	} else {
		if (keynum == 40) {
		KeyNext(e,alt,'');
		return !(keynum == 40);		
		}	
	}	
	if (keynum == 38 && alt == 'nav_menus' || alt == 'nav_catering') {
	KeyNext(e,'',alt);
	return !(keynum == 38);		
	} else {
		if (keynum == 38) {
		KeyNext(e,alt,'');
		return !(keynum == 38);		
		}	
	}
	}
else {	
	if (keynum == 40) {
	document.getElementById(id).focus();
	return !(keynum == 40);	
	}
	if (keynum == 13) {
	document.getElementById(id).focus();
	return !(keynum == 13);	
	}	
	}
}
	
function KeyNext(e,id,alt) {
	var keynum;
	var obj = document.getElementById;
	var end = id.indexOf('Item');
	var mainID = id.substring(0,end+5);
	var itemNum = id.substring(end+5);
	var prevNum = parseInt(itemNum) - 1;
	var nextNum = parseInt(itemNum) + 1;
	var prev = mainID + prevNum;
	var next = mainID + nextNum;
//	alert(obj(prev));
//	alert(mainID);
//	alert(itemNum);
	
if(window.event) // IE
	{
	keynum = e.keyCode;
	}
else if(e.which) // Netscape/Firefox/Opera
	{
	keynum = e.which;
	}
if (keynum == 38) {
	if (document.getElementById(prev)) {document.getElementById(prev).focus();}
	else {document.getElementById(alt).focus();}	
	return !(keynum == 38);	
	}	
	
	
if (keynum == 40) {
	if (document.getElementById(next)) {document.getElementById(next).focus();return !(keynum == 40);}
	else if (id == 'MMMenu0207155440_4_Item_1') {document.getElementById('nav_nutrition').focus(); return !(keynum == 40);	}	
	else if (id == 'MMMenu0207155440_7_Item_1') {document.getElementById('nav_stuff').focus(); return !(keynum == 40);}
	else {document.getElementById(alt).focus(); return !(keynum == 40);	}
	}	
	
if (keynum == 9) {
	/*if (document.getElementById(next)) {document.getElementById(next).focus();return !(keynum == 9);}
	else if (id == 'MMMenu0207155440_4_Item_1') {document.getElementById('nav_nutrition').focus(); return !(keynum == 9);	}	
	else if (id == 'MMMenu0207155440_7_Item_1') {document.getElementById('nav_stuff').focus(); return !(keynum == 9);}
	else {document.getElementById(alt).focus(); return !(keynum == 9);	}*/
	if (alt.indexOf('nav_') != -1 && itemNum > 0) {return !(keynum == 9);	}
	}
	
}
