function showSubmenu(menuItem, submenuId) {
	hideAllExcept(submenuId)
	submenu = document.getElementById(submenuId);
	submenu.style.left = getAbsoluteLeft(menuItem) + 'px';
	submenu.style.top = getAbsoluteTop(menuItem) + menuItem.offsetHeight + 'px';
	submenu.style.width = menuItem.offsetWidth;
	submenu.style.display="block";
	highlightTrigger("trig_" + submenuId);
}

function hideSubmenu(submenuId) {
	submenu = document.getElementById(submenuId);
	menuHideTimeout[submenuId] = setTimeout('submenu.style.display="none"; shadeTrigger("trig_'+submenuId+'");', 2000);
	
}

function cancelHideSubmenu(submenuId) {
	clearTimeout(menuHideTimeout[submenuId]);
}

function hideAllExcept(submenuId) {
	clearTimeout(menuHideTimeout[submenuId]);
	for (elementIdx in menuHideTimeout) {
		if (elementIdx != submenuId) {
			document.getElementById(elementIdx).style.display="none";
			shadeTrigger("trig_" + elementIdx);
		}
	}
}

function highlightTrigger(trigId) {
	var trigClassName = document.getElementById(trigId).className;
	document.getElementById(trigId).className = trigClassName + " mainMenuItemHighlighted";
}

function shadeTrigger(trigId) {
	var trigClassName = document.getElementById(trigId).className;
	var trigClassNameArray = trigClassName.split(" ");
	var newClassName = "";
	for (var className in trigClassNameArray) {
		if (trigClassNameArray[className] != "mainMenuItemHighlighted") {
			newClassName +=  trigClassNameArray[className] + " ";
		}
	}
	// remove last space ;))
	newClassName = newClassName.substring(-1);
	document.getElementById(trigId).className = newClassName;
}


function getAbsoluteLeft(obj) {
	var currentLeft = 0;
	// for internet explorer (more accurate on ie)
	if (obj.offsetParent) {

		while (obj.offsetParent) {
			currentLeft += obj.offsetLeft;
			obj = obj.offsetParent;
		}
	} else if (obj.getBoundingClientRect) {
		currentLeft = obj.getBoundingClientRect().left;
	} else if (obj.x) {
		currentLeft += obj.x;
	}
	return currentLeft;
}

function getAbsoluteTop(obj) {
	var currentTop = 0;
	// for internet explorer (more accurate on ie)
	if (obj.offsetParent) {

		while (obj.offsetParent) {
			currentTop += obj.offsetTop;
			obj = obj.offsetParent;
		}
	} else if (obj.getBoundingClientRect) {
		currentTop = obj.getBoundingClientRect().top;
	} else if (obj.y) {
		currentTop += obj.y;
	}
	return currentTop;
}







////////////////////////////////////////////////////////////////////////////////////

function showspan(name) {
var nume = name;
document.getElementById(nume).style.display='inline';
	if (document.getElementById(nume+'show')) {
		document.getElementById(nume+'show').style.display='none';
	}
	if (document.getElementById(nume+'hide')) {
		document.getElementById(nume+'hide').style.display='inline';
	}
}

function hidespan(name) {
var nume = name;
document.getElementById(nume).style.display='none';
document.getElementById(nume+'hide').style.display='none';
document.getElementById(nume+'show').style.display='inline';
}

///////////////////////////////////////////////////////////////////////////////////
