// setLayerPosition ---------------------------------------------------------
	function setLayerPosition( id, posanchor, xOffset, yOffset )
	{
			var layer = findLayer(id);
			// check layer existence to avoid script errors
			if (layer != null)			
			{
				var x = getLeftPosition( posanchor );
				var y = getTopPosition( posanchor );
				if ( xOffset ) x += xOffset;
				if ( yOffset ) y += yOffset;
				
				setLayerLeft( id, x );
				setLayerTop( id, y );
		
				setLayerVisibility( id, true );
			}
	}
	
	function hideLayer( id )
	{
		setLayerVisibility( id, false );
	}
	
	
/* Layer-API --------------------------------------------------------------------------------------------------- */
/* ------------------------------------------------------------------------------------------------------------- */	

	function getLayerVisibility( layerId )
	{
		var obj = findLayer( layerId );		
		if ( ( document.all ) || ( document.getElementById ) )
		{
			state = ( obj.style.visibility == "visible" );
		}
		else if ( document.layers )
		{
			state = ( obj.visibility == "show" );
		}
	
		return state;
	}

	function setLayerVisibility( layerId, state )
	{
		var obj = findLayer( layerId );
		if ( obj == null )
			alert( "Layer '" + layerId + "' nicht gefunden." );
		if ( state )
		{
			if ( ( document.all ) || ( document.getElementById ) ) obj.style.visibility = "visible";
			else if ( document.layers ) obj.visibility = "show";
		}
		else
		{
			if ( ( document.all ) || ( document.getElementById ) ) obj.style.visibility = "hidden";
			else if ( document.layers ) obj.visibility = "hide";
		}
	}


/* dcLayer ----------------------------------------------------------------------------------------------------- */
/* ------------------------------------------------------------------------------------------------------------- */	
	
	function getLayerTop( layerId )
	{
		
		
	if ( document.getElementById )
		{
			var obj = document.getElementById( layerId );
			return obj.style.top;
		}	
	}

	function setLayerTop( layerId, newVal )
	{
		if ( document.getElementById )
		{
			var obj = document.getElementById( layerId );
			obj.style.top = newVal + "px";
		}	
	}	
	
	
	
/* dcLayer ----------------------------------------------------------------------------------------------------- */
/* ------------------------------------------------------------------------------------------------------------- */		
	
	function getLayerLeft( layerId )
	{
		 if ( document.getElementById )
		{
			var obj = document.getElementById( layerId );
			return obj.style.left;
		}		
	}	
	
	
	function setLayerLeft( layerId, newVal )
	{
		var obj = findLayer( layerId );
		if ( obj == null )
			alert( "setLayerLeft ::: no layer with id " + layerId + " found !" );
		if ( document.getElementById )obj.style.left = newVal + "px";
	}		
	

	
/* dcLayer ----------------------------------------------------------------------------------------------------- */
/* ------------------------------------------------------------------------------------------------------------- */		
	
	function getLayerHeight( layerId )
	{
		var obj = findLayer( layerId );
		if ( document.all || document.getElementById )
			return obj.offsetHeight;
	}
	
	
	
/* dcLayer ----------------------------------------------------------------------------------------------------- */
/* ------------------------------------------------------------------------------------------------------------- */			

	function getLayerWidth( layerId )
	{
		var obj = findLayer( layerId );
		if ( document.all || document.getElementById )
			return obj.offsetWidth;
		
		/*
		if ( document.all )
			return document.all[layerId].offsetWidth;
		else if ( document.layers )
		{
			var obj = findLayer( layerId );
			return obj.clip.width;
		}
		else if ( document.getElementById )
		{
			var obj = document.getElementById( layerId );
			return document.defaultView.getComputedStyle( obj, "" ).getPropertyValue( "width" );
		}
		*/
	}	
	
	

/* findLayer --------------------------------------------------------------------------------------------------- */
/* ------------------------------------------------------------------------------------------------------------- */	

		function findLayer( layerId, parentObject )
		{
			if ( parentObject == null ) parentObject = document;
		
			if ( document.getElementById )
				return ( document.getElementById( layerId ) );
		}


/* getTopPosition ---------------------------------------------------------------------------------------------- */
/* ------------------------------------------------------------------------------------------------------------- */			
		
		function getTopPosition( anchorName )
		{
			
			if ( document.getElementById )
			{
				var anchorItem	= document.getElementById( anchorName );
				//alert ( anchorItem);
				var summe		= anchorItem.offsetTop;
				while ( ( anchorItem = anchorItem.offsetParent) != null )
					summe += anchorItem.offsetTop;
				return summe;
			}	
		}


/* getLeftPosition --------------------------------------------------------------------------------------------- */
/* ------------------------------------------------------------------------------------------------------------- */		
		
		
		function getLeftPosition( anchorName )
		{
			
			if ( document.getElementById )
			{
				var anchorItem	= document.getElementById(anchorName);
				var summe		= anchorItem.offsetLeft;
				while ( ( anchorItem = anchorItem.offsetParent) != null )
					summe += anchorItem.offsetLeft;
				return summe;
			}		
		}
	
	