var timeOutMenuChange = 0;
var originalMenu = '';
var activatedClass = '';
var newMenuId = '';
var newMenuTimeout = null;

function changemenu(id) {
	// Wait a small amount of time before actually changing the menu
	newMenuId = id;
	if (newMenuTimeout) {
		clearTimeout(newMenuTimeout);
	}
	newMenuTimeout = setTimeout(reallyChangeMenu,200);
}

function cancelChangeMenu() {
	if (newMenuTimeout) {
		clearTimeout(newMenuTimeout);
	}
}
	

function reallyChangeMenu() {
	id = newMenuId;
	if (originalMenu == '') {
		originalMenu = document.getElementById('nav2').innerHTML;
	}
	var el = document.getElementById("menu_"+id);
	var topmenu = document.getElementById(id);
	var nav2 = document.getElementById("nav2");
	if (el && nav2) {
		var menu = el.innerHTML;
		nav2.innerHTML = menu;
		if (activatedClass) {
			menuRemoveClass(activatedClass,'activated');
		}
		menuAddClass(topmenu, 'activated');
		activatedClass = topmenu; 
	}
}
function resetMenuTimer() {
	if (timeOutMenuChange !=0) {
		clearTimeout(timeOutMenuChange);
	}
}

function bumpMenuTimer() { 
	if (timeOutMenuChange !=0) {
		clearTimeout(timeOutMenuChange);
	}
	if (originalMenu != '') {
		// only bump if we have changed the menu
		// Change the number to alter delay (in miliseconds)
		timeOutMenuChange = setTimeout(resetMenu,600);
	}
	
}

function menuAddClass(obj,cl) {
	var cn = obj.className;
	if (cn == '') {
		obj.className = cl;
	}
	else {
		obj.className += ' '+cl;
	}
}
function menuRemoveClass(obj, cl) {
	var cn = obj.className;
	var arr = cn.split(" ");

	cn = '';
	for (var i=0;i<arr.length;i++) {
		if (arr[i] != cl) {
			if (cn != '') {
				cn += ' ';
			}
			cn += arr[i];
		}
	}
	obj.className = cn;
}


function resetMenu() {
	document.getElementById('nav2').innerHTML=originalMenu;
	if (activatedClass) {
		menuRemoveClass(activatedClass,'activated');
		activatedClass = '';
	}
	timeoutMenuChange = 0;
}

// functions for initial page load

function initChangeMenu() {
	id = newMenuId;
	if(document.getElementById("menu_"+id)) {
		originalMenu = document.getElementById("menu_"+id).innerHTML;

		var el = document.getElementById("menu_"+id);
		var topmenu = document.getElementById(id);
		var nav2 = document.getElementById("nav2");
		if (el && nav2) {
			var menu = el.innerHTML;
			nav2.innerHTML = menu;
			if (activatedClass) {
				menuRemoveClass(activatedClass,'on');
			}
			menuAddClass(topmenu, 'on');
			activatedClass = topmenu; 
		}
	}
}

function setmenu(id) {
	// Wait a small amount of time before actually changing the menu
	newMenuId = id;
	if (newMenuTimeout) {
		clearTimeout(newMenuTimeout);
	}
	newMenuTimeout = setTimeout(initChangeMenu,200);
}

//set menus on page load
function loadMenu() {
	var sec = "genome";
	var pg = document.location.href;
	if (pg.indexOf("Partners.html") != -1) {sec = "home";}
	if (pg.indexOf("ProteinInformation.html") != -1) {sec = "proteins_pathways";}
	if (pg.indexOf("Tutorial") != -1 || pg.indexOf("GettingStarted.html") != -1 || pg.indexOf("NewUserGuide.html") != -1) {sec = "help";}
	if (pg.indexOf("SysBio") != -1 || pg.indexOf("RegulatoryNetwork.html") != -1 || pg.indexOf("ChipSeq") !=-1) {sec = "sysbio";}
	newMenuId = sec;
	setmenu(newMenuId);
}

setTimeout('loadMenu()', 250);


