// JavaScript Document: Funktioner til dynamisk menu

function activate( layername ) 
{
	if( document.getElementById( layername ) ) document.getElementById( layername ).style.display='';
}

function deActivate( layername )
{
	document.getElementById( layername ).style.display='none';
}

function activateLoop( layername ) //initieres med det sidste layer i grenen.
{
	function loop( layername )
	{
		activate( layername );
		if( menu[layername].parent != null )
		{
			loop( menu[layername].parent );
		}
	}
	activeLayer = layername;
	loop( layername );
}

function isActive( layername ) 
{
	if( document.getElementById( layername ).style.display != 'none' )
	{
		return true;
	}
	else
	{
		return false;
	}
}

function isLayer( layername ) {
	return document.getElementById( layername );
}

function show( layername )
{
	if( !isLayer( layername ) )
	{
		hideActive( layername );
	}
	else if( isActive( layername ) )
	{
		hideActive( layername );
	} else {
		if( menu[activeLayer].parent && activeLayer != menu[layername].parent )
		{
			hideActive( layername );
		}
		if( isLayer( layername ) )
		{
			activate( layername );
			activeLayer = layername;
		}
	}
}

function hideActive( layername )
{
	if( menu[activeLayer].parent != null && activeLayer != menu[layername].parent )
	{
		deActivate( activeLayer );
		activeLayer = menu[activeLayer].parent;
	}
	if( activeLayer != menu[layername].parent )
	{
		hideActive( layername );
	}
}


// klassen til objecterne der repręsentere menulayerne:
function menuObj( name, parent ) 
{
	this.name = name;
	this.parent = parent;
}

var menu = new Object();
