var menutohide = null;
var submenutohide = null;

var menuhidetimeout = null;
var submenuhidetimeout = null;

var currentmenuid = null;
var currentsubmenuid = null;

function showMenu(menuid, submenuid)
{
	//Ausblendende Timeouts unterbrechen
	if (menuhidetimeout!=null)
	{
		clearTimeout(menuhidetimeout);	
		menuhidetimeout = null;
	}
	if (submenuhidetimeout!=null)
	{
		clearTimeout(submenuhidetimeout);	
		submenuhidetimeout = null;
	}
	
	if (menuid==currentmenuid && submenuid==currentsubmenuid)
	{
		//Keine Aenderung
		//es muss nichts getan werden
	}
	else 
	{
		if (menuid==currentmenuid && submenuid!=currentsubmenuid)
		{
			//Menu bleibt, aber Submenu aendert sich
			hideElementNow(currentsubmenuid);
			currentsubmenuid = null;
			if (submenuid!=null)
			{
				var submenuelement = document.getElementById(submenuid);
				if (submenuelement!=null)
				{
					submenuelement.style.display='block';
					currentsubmenuid = submenuid;
				}
			}
		}
		else
		{
			if (menuid!=currentmenuid)
			{
				//erstes Menu aendert sich (und damit auch das Submenu)
				hideElementNow(currentsubmenuid);
				currentsubmenuid = null;
				hideElementNow(currentmenuid);
				currentmenuid = null;
				if (menuid!=null)
				{
					var menuelement = document.getElementById(menuid);
					if (menuelement!=null)
					{
						menuelement.style.display='block';
						currentmenuid = menuid;
					}
				}
				if (submenuid!=null)
				{
					var submenuelement = document.getElementById(submenuid);
					if (submenuelement!=null)
					{
						submenuelement.style.display='block';
						currentsubmenuid = submenuid;
					}
				}
			}
		}
	}
}

function hideMenu(menuid, submenuid)
{
	//Ausblendende Timeouts unterbrechen
	if (menuhidetimeout!=null)
	{
		clearTimeout(menuhidetimeout);	
		menuhidetimeout = null;
	}
	if (submenuhidetimeout!=null)
	{
		clearTimeout(submenuhidetimeout);	
		submenuhidetimeout = null;
	}
	if (submenuid!=null && submenuid!=currentsubmenuid)
	{
		hideElementNow(currentsubmenuid);
		currentsubmenuid = null;
		hideElementNow(submenuid);
	}
	if (submenuid!=null && submenuid==currentsubmenuid)
	{
		submenuhidetimeout = setTimeout("internalHideSubMenu()", 500);
	}
	if (menuid!=null && menuid!=currentmenuid)
	{
		hideElementNow(currentmenuid);
		currentmenuid = null;
		hideElementNow(menuid);
	}
	if (menuid!=null && menuid==currentmenuid)
	{
		menuhidetimeout = setTimeout("internalHideMenu()", 500);
	}
}

function internalHideSubMenu()
{
	hideElementNow(currentsubmenuid);
	currentsubmenuid = null;
}

function internalHideMenu()
{
	hideElementNow(currentmenuid);
	currentmenuid = null;
}

function hideElementNow(elementid)
{
	if (elementid!=null)
	{
		var element = document.getElementById(elementid);
		if (element!=null) {
			element.style.display = 'none';
		}
	}
}


function Go (targetUrl) {
    if (targetUrl != null) {
        if (targetUrl != '') {
            var NewPage = window.open(targetUrl);
            NewPage.focus();
        }
    }
}