function setTables()
{
	var tables = document.getElementsByTagName('table');
	
	for(var i = 0; i < tables.length; i++)
	{
		var rows = tables[i].getElementsByTagName('tr');
		
		for(var j = 0; j < rows.length; j++)
		{
			if(j % 2)
			{
				rows[j].className = 'altbackground';
			}
			else
			{
				rows[j].className = '';
			}
		}
	}
}

function setMenu()
{
	var menu_options = document.getElementById('nav').getElementsByTagName('li');
	var submenu;
	
	for(var i = 0; i < menu_options.length; i++)
	{
		submenu = menu_options[i].getElementsByTagName('ul');
		if(submenu.length)
		{
			submenu[0].className = "hidden"; //submenu[0] because there should only be one ul inside the li
			setSubMenu(menu_options[i]);
		}
	}
}

function setSubMenu(option)
{
	option.getElementsByTagName('a')[0].onclick = function ()
	{
		if(option.getElementsByTagName('ul')[0].className == 'hidden')
		{
			option.getElementsByTagName('ul')[0].className = "";
		}
		else
		{
			option.getElementsByTagName('ul')[0].className = "hidden";
		}
		return false;
	};

	//if menu is accessed via keyboard, don't hide menus that have already been opened
	option.getElementsByTagName('a')[0].onkeyup = function ()
	{
		if(option.getElementsByTagName('ul')[0].className == 'hidden')
		{
			option.getElementsByTagName('ul')[0].className = "";
		}
		return true;
	};
}

//Find current page in the menu and set class to "currentPage"
function setCurrentPage()
{
	var current = window.location.href;
	
	//If the current page is an index, remove "index.*" from the url
	current = current.replace(/index\..*$/,'');
	
	//Remove any url variables or anchors from the url
	current = current.replace(/[#?].*$/,'');
	
	//Get each url in #nav
	var links = document.getElementById('nav').getElementsByTagName('a');
	
	for(var i = 0; i < links.length; i++)
	{
		var url = links[i].href;
		
		//Skip urls to sites outside of Rowan
		if(url.search(/^http:\/\/www.rowan.edu/) != -1)
		{
			url = url.replace(/index\..*$/,'');
			url = url.replace(/[#?].*$/,'');
			//if the url ends without a / or a filename, add a /
			if((url.search(/\/$/) == -1) && (url.search(/\.[A-Za-z]{3,4}$/) == -1))
			{
				url = url.concat('/');
			}
			
			if(url == current)
			{
				links[i].id = "currentPage";
				
				var submenu = links[i];
				
				while(submenu.tagName != 'UL')
				{
					submenu = submenu.parentNode;
				}
				
				//If link turns out to be in a submenu, expand that menu
				if(submenu.id != "nav")
				{
					submenu.className = "";
				}
				
				break; //No need to continue checking all the urls in #nav if a match has already been found.
			}
		}
	}
}

DOMReady(setTables);
DOMReady(setMenu);
DOMReady(setCurrentPage);
