function dspMenuContent(e) {
	if (!e) parentLink = event.srcElement;
	if (e.target) parentLink = e.target;
	else if (e.srcElement) parentLink = e.srcElement;
	clearTimeout(timeoutId);
	timeoutId = 0;
	var subMenuUL = getNextNode(parentLink, "UL");
	if(subMenuUL) setMenuContent("<UL>"+removeULs(subMenuUL.innerHTML)+"</UL>");
	else clearMenuContent();
}
function xremoveULs(innerHTML) {
	var fistOccurrence = innerHTML.toLowerCase().indexOf("<ul>");
	var lastOccurrence = innerHTML.toLowerCase().lastIndexOf("</ul>");
	if((fistOccurrence!=-1)&&(lastOccurrence!=-1)) return innerHTML.substring(0, fistOccurrence) + innerHTML.substring(lastOccurrence+5,innerHTML.length);
	else return innerHTML;
}
function removeULs(innerHTML) {
	var ULOccurrenceIni = innerHTML.toLowerCase().indexOf("<ul>");
	var ULOccurrenceEnd = innerHTML.toLowerCase().indexOf("</ul>", ULOccurrenceIni);
	var lastULOccurrenceIni = 0;
	var positions = [];
	var results = innerHTML;
	while ((ULOccurrenceIni!=-1)&&(ULOccurrenceEnd!=-1)) {
		positions[positions.length] = [ULOccurrenceIni,ULOccurrenceEnd];
		ULOccurrenceIni = innerHTML.toLowerCase().indexOf("<ul>", ULOccurrenceEnd);
		ULOccurrenceEnd = innerHTML.toLowerCase().indexOf("</ul>", ULOccurrenceIni);
	}
	var ix;
	for(i=0;i<positions.length;i++) {
		ix = positions.length-1-i;
		results = results.substring(0, positions[ix][0]) + results.substring(positions[ix][1]+5,results.length);
	}
	return results;
}
function getNextNode(baseObject, nextNodeName) {
	var objResult = baseObject;
	try {
		while(objResult.nodeName.toLowerCase()!=nextNodeName.toLowerCase()) objResult = objResult.nextSibling;
		return objResult;
	}
	catch(e) {
		return null;
	}
}
function getParent(baseObject, parentName) {
	var objResult = baseObject.parentNode;
	try {
		while(objResult.nodeName.toLowerCase()!=parentName.toLowerCase()) objResult = objResult.parentNode;
		return objResult;
	}
	catch(e) {
		return null;
	}
}
function getFirstChild(baseObject, childName) {
	try {
		var firstChild = baseObject.firstChild;
		while(firstChild.nodeName.toLowerCase()!=childName.toLowerCase()) firstChild = firstChild.nextSibling;
		return firstChild;
	}
	catch(e) {
		return null;
	}
}
function getFirstLevelObjects(baseObject, childName) {
	var results = new Array();
	var child = baseObject.firstChild;
	while(child) {
		if(child.nodeName.toLowerCase()==childName.toLowerCase()) results[results.length] = child;
		child = child.nextSibling;
	}
	return results;
}
function clearMenuContent() {
	setMenuContent("&nbsp;");
	clearTimeout(timeoutId);
	timeoutId = 0;
}
var timeoutId = 0;
var timeout = 1000;
function hideMenuContent() {
	clearTimeout(timeoutId);
	timeoutId = setTimeout("clearMenuContent();", timeout);
}
function setMenuContent(strContent) {
	document.getElementById("menu_content").innerHTML = strContent;
}
function attachEvent(elm, evType, handler) {
	if (elm.addEventListener) elm.addEventListener(evType, handler, false);
	else if (elm.attachEvent) elm.attachEvent("on" + evType, handler);
	else elm["on" + evType] = handler;
}
function getMenuItems() {
	var firstUL = getFirstChild(document.getElementById("menu"), "UL");
	var result = getFirstLevelObjects(firstUL, "LI");
	return result;
}
function attachMenuEvents() {
	var LIs = getMenuItems();
	var link;
	for(var i=0; i<LIs.length; i++) {
//		alert(LIs[i].innerHTML);
		link = getFirstChild(LIs[i], "A");
		attachEvent(link, "mouseover", dspMenuContent);
		attachEvent(link, "mouseout", hideMenuContent);
	}
}
function addMenuContentDiv() {
	var menuDiv = document.getElementById("menu_content");
	if(!menuDiv) {
		var menuContentDiv = document.getElementById("right");
		var firstElement = menuContentDiv.firstChild;
		menuDiv = document.createElement("div");
		menuDiv.setAttribute("id","menu_content");
		menuDiv.innerHTML = "&nbsp;";
		if(firstElement) menuContentDiv.insertBefore(menuDiv,firstElement);
		else menuContentDiv.appendChild(menuDiv);
	}
}
function getParam(paramName) {  
	paramName = paramName.replace(/[\[]/,"\\\[").replace(/[\]]/,"\\\]");  
	var regexS = "[\\?&]"+paramName+"=([^&#]*)";  
	var regex = new RegExp(regexS);  
	var results = regex.exec(window.location.href);  
	if(results==null) return ""; 
	else return results[1];
}
function get3rdLevel() {
	var selectedLink = getSelectedLink();
	if(selectedLink) {
		var counter = 0;
		var parentUL = getParent(selectedLink, "UL");
		var subMenuUL = getSubMenu(selectedLink)
		while (parentUL) { counter++; parentUL = getParent(parentUL, "UL"); }
		if((counter==2)&&(subMenuUL)) return subMenuUL;
		else if((counter==3)) return getParent(selectedLink, "UL");
		else return;
	}
}
function dsp3rdLevelMenuContent() {
	var menu3rdLevel = document.getElementById("menu3rdLevel");
	if(menu3rdLevel) {
		var subMenu = get3rdLevel();
		if(subMenu) menu3rdLevel.innerHTML = "<UL>"+subMenu.innerHTML+"</UL>";
	}
}
function getSelectedLink() {
	var pathName = window.location.search.replace("?","");
	var pattPathName = new RegExp(pathName+"$");
	var menuLinks = document.getElementById("menu").getElementsByTagName("A");
	var results;
	for(var i=0; i<menuLinks.length; i++) {
		results = pattPathName.exec(menuLinks[i].href);  
		if((results!=null)&&(menuLinks[i].href.indexOf(window.location.pathname)!=-1)) return menuLinks[i];
	}
	return;
}
function getSubMenu(objLink) {
	return getNextNode(objLink, "UL");
}
function main() {
	addMenuContentDiv();
	attachMenuEvents();
	attachEvent(document.getElementById("menu_content"), "mouseover", function() { clearTimeout(timeoutId) });
	attachEvent(document.getElementById("menu_content"), "mouseout", hideMenuContent);
	dsp3rdLevelMenuContent();
}
main();