var oldClasses = new Array();
var isRunning = false;

String.prototype.trim = function () 
{
    return this.replace(/^\s*/, "").replace(/\s*$/, "");
}

startList = function() 
{
	if (document.getElementById) 
	{
		var navRoot = document.getElementById('main_navigation');
		for (var i = 0; i < navRoot.childNodes.length; i++) 
		{
			var node = navRoot.childNodes[i];
			if (node.nodeName == 'DIV' && node.className.indexOf('middle') > 0) 
			{
				node.onmouseover = function() 
				{
					if (!isRunning)
					{
						isRunning = true;
						var elements = new Array();
						elements[0] = getPreviousSibling(this);
						elements[1] = this;
						elements[2] = getNextSibling(this);
						for (var i = 0; i < 3; i++)
							oldClasses[i] = elements[i].className.trim();
						elements[0].className = 
								elements[0].className.trim().replace(/^(.*)_normal$/, "$1_hover");
						elements[1].className =
								elements[1].className.trim().replace(/^(.*)_normal$/, "$1_hover");
						elements[2].className =
								elements[2].className.trim().replace(/^(.*)normal_(.*)$/, "$1hover_$2");
					}
				}
				node.onmouseout = function() 
				{
					if (isRunning)
					{
						var elements = new Array();
						elements[0] = getPreviousSibling(this);
						elements[1] = this;
						elements[2] = getNextSibling(this)
						for (var i = 0; i < 3; i++)
							elements[i].className = oldClasses[i];
						isRunning = false;
					}
				}
			}
		}
	}
}

function getPreviousSibling(node)
{
	do
	{
		node = node.previousSibling;
	}
	while (node != null && node.nodeName == "#text")

	return node;
}
function getNextSibling(node)
{
	do
	{
		node = node.nextSibling
	}
	while (node != null && node.nodeName == "#text")
	return node;
}

window.onload=startList;
