// JavaScript Document
var navigationMenuItems				= null;
var officeNavigationItems			= null;

function navigation_load()
{
	// Activate the top navigation menu...
	navigationMenuItems = GetElementsByClassName("folder", "LI", document.getElementById("top-navigation"));
	
	for (var i=0; i < navigationMenuItems.length ; i++)
	{
		navigationMenuItems[i].onmouseover = function()
		{
			AddClassName(this, "over");
		}
		
		navigationMenuItems[i].onmouseout = function()
		{
			RemoveClassName(this, "over");
		}		
	}
	
	// Activate the office navigation menu...
	officeNavigationItems = GetElementsByClassName("folder", "LI", document.getElementById("offices-box"));
	
	for (var i=0; i < officeNavigationItems.length ; i++)
	{
		officeNavigationItems[i].onmouseover = function()
		{
			AddClassName(this, "over");
		}
		
		officeNavigationItems[i].onmouseout = function()
		{
			RemoveClassName(this, "over");
		}	
		
		officeNavigationItems[i].onclick = function()	
		{
			// Clicking anywhere on the LI will lead to the URL specified on the embedded A tag...
			window.location = this.childNodes[0]; 				
		}
	}
}

/*
		navigationMenuItems[i].onclick = function()
		{
			
			if(this.className.toLowerCase().indexOf("over")==-1)
			{
				for(var x=0; x < navigationMenuItems.length ; x++)
				{
					RemoveClassName(navigationMenuItems[x], "over");
				}
				
				AddClassName(this, "over");
			}
			else
			{
				RemoveClassName(this, "over");
			}				
		}
		*/


/* CSS HELPERS */
function $(elementName)
{
	return document.getElementById(elementName);
}

function GetElementsByClassName(strClass, tag, elm)
{
	var classFilter = strClass;
	var tagFilter	= tag || "*";
	var element		= elm || document;
	var returnArray = new Array();
	
	// Get the descendant nodes of the selected root element	
	var nodes		= element.getElementsByTagName(tagFilter);
	
	// Apply the class filter
	for (var i=0; i<nodes.length; i++)
	{
		if(nodes[i].className == classFilter)
		{
			returnArray.push(nodes[i]);
		}
	}
	
	return returnArray;
}

function AddClassName(objTarget, cssClassName)
{
	cssClassName = cssClassName.toLowerCase();

	if(objTarget.className.toLowerCase().indexOf(cssClassName)==-1)
	{
		objTarget.className += " " + cssClassName;
	}
}

function ReplaceClassName(objTarget, oldClass, newClass)
{
	oldClass = oldClass.toLowerCase();
	newClass = newClass.toLowerCase();
	
	alert(oldClass);
	
	if(objTarget.className.toLowerCase().indexOf(newClass)==-1)
	{
		objTarget.className = cssClassName;
	}
	else
	{
		objTarget.className = objTarget.className.replace(oldClass, newClass);
	}
}

function RemoveClassName(objTarget, cssClassName)
{
	cssClassName = cssClassName.toLowerCase();
	
	if(objTarget.className.toLowerCase().indexOf(cssClassName)!=-1)
	{
		objTarget.className = objTarget.className.replace(cssClassName, "");
	}
}

// Page loaded listener
if(window.addEventListener)
{window.addEventListener("load", navigation_load, false);}
else if(document.addEventListener)
{document.addEventListener("load", navigation_load, false);}
else if(window.attachEvent)
{window.attachEvent("onload", navigation_load);}
