var shownElements = new Array(10);
var timerID = null;
	
if ((window.navigator.appName).indexOf("Explorer") >= 0 ) 			
			ieYes = 1;

function position_menu()
{	
	cGetElement("menuTable").style.left = window.screen.availWidth - cGetElement("menuTable").offsetWidth - 20;	
}

function showMenu(path, subGroup, where, obj)	//where = 0 -> don't care; 1 -> below; 2 -> right;
{		
	var elements = path.split('/');
	var i;
	if (timerID != null )
	{
		window.clearTimeout(timerID);
	}	
	for (i=0; i<elements.length; i++)
	{		
		if ( ( shownElements[i] != null ) && ( shownElements[i] != elements[i] ) )
		{
			hideItem(shownElements[i]);
		}
		showItem(elements[i], 0, null);
		shownElements[i] = elements[i];		

	}		
	if ( subGroup.length > 0)
	{
		showItem(subGroup, where, obj);		
		if ((shownElements[i] != null) && ( shownElements[i] != subGroup))
		{
			hideItem(shownElements[i]);
		}
		shownElements[i++] = subGroup;
	}
	while (i < 10)
	{
		if (shownElements[i] != null)
		{
			hideItem(shownElements[i]);
		}
		i++;
	}
}

function setHide()
{
	timerID = window.setTimeout(hideMenu, 500);
}


function showItem(eId, where, obj)
{
	element = cGetElement(eId);	
	if ( element.className.lastIndexOf("Selected") < 0 )
	{
		element.className = element.className + "Selected";
		if ( where > 0 )
		{
			if (where == 1)
			{
				element.style.left = getX(obj);
				element.style.top = getY(obj)+ obj.offsetHeight;				

			}	
			else if (where == 2)
			{
				element.style.left = getX(obj) + obj.offsetWidth;
				element.style.top = getY(obj);
			}						

		}
	}
}


function hideItem(eId)
{
	if (eId != null)
	{
		element = cGetElement(eId);
		if ( element.className.lastIndexOf("Selected") >= 0 )
		{
			element.className = element.className.substring(0, element.className.lastIndexOf("Selected"));
		}
	}
}

function hideMenu()
{
	for (i=0; i<shownElements.length; i++)
	{
		if ( shownElements[i] != null )
		{
			hideItem(shownElements[i]);
		}
	}
}

function cGetElement(eId)
{	
	if (document.all != null)
	{	
		return document.all[eId];
	}
	else
	{
		return document.getElementById(eId);	
	}
}


	function getX(obj)
	{
		var x = 0;		
		var tmp = 0;
		if ( obj.offsetParent )
		{
			while ( obj.offsetParent )
			{	
				
				tmp = obj.offsetLeft;				
				x += tmp;				
				obj = obj.offsetParent;
				/*if ((ieYes == 1 ) && ( obj.offsetParent == null))
				{
					x -= tmp;					
				}*/
			}			
			
		}
		else if ( obj.offsetLeft )		
			x += obj.offsetLeft;
		return x;
	}

	function getY(obj)
	{
		var y = 0;	
		var tmp = 0;	
		
		if ( obj.offsetParent )
		{
			while ( obj.offsetParent )
			{				
				tmp = obj.offsetTop;				
				y += tmp;
				obj = obj.offsetParent;
				/*if ((ieYes == 1 ) && ( obj.offsetParent == null))
					y -= tmp;*/
			}
		}
		else if ( obj.offsetTop )
			y += obj.offsetTop;
		return y;
	}