document.fixedLayer = '';


function getFixedLayer()
{
	return document.fixedLayer;
}


function fixLayer(layerN)
{
	eval("document.fixedLayer = layerN");
}

function freeFixedLayer()
{
	fixLayer("");
}

	/**
	 *
	 * show a layer
	 * 
	 * @param string lName, the ID of the layer to hide
	 * @param string parentName, id of the parent block element
	 * @return void
	 * @access public
	 *
	 **/
	function showLayer(lName, parentName)
	{
		var doc = document;
	
	
		if ( parentName != null && parentName != "" )
		{
			var str = "parent." + parentName;
	
			var obj = eval(str);
	
			doc = obj.document;
			
			//alert("showLayer: " + obj + " - Str: " + str);
		}
	
	
		if ( ie4 )
		{
			//alert("showLayer: " + document.all[''+lName] + " args: " + lName + ", " + parentName);
	
			if ( doc.all[''+lName] != null )
			{
				doc.all[''+lName].style.visibility = "visible";
			}
		}
		else if( ie5 || ie6 || ns6 || mz7 )
		{
			//alert("showLayer: " + doc.getElementById(lName));
			if ( doc.getElementById(lName) != null )
			{
				doc.getElementById(lName).style.visibility = "visible";
			}
		}
		else if ( op5 || op6 )
		{
			layerObj = eval("document.lName");
			layerObj.style.visibility = "visible";
		}
		else
		{
			//alert("showLayer: " + document.layers[''+lName]);
			doc.layers[lName].visibility = "show";
		}	
	}


	/**
	 *
	 * hide a layer
	 * 
	 * @param string lName, the ID of the layer to hide
	 * @param string parentName, id of the parent block element
	 * @return void
	 * @access public
	 *
	 **/
	function hideLayer(lName, parentName)
	{
		if ( lName == null || lName == "" )
		{
			return;
		}
		
		var doc = document;
	
		if ( parentName != null && parentName != "" )
		{
			var str = "parent." + parentName;	
			var obj = eval(str);
	
			doc = obj.document;			
			//alert("hideLayer: " + obj + " - Str: " + str);
		}
	
		if ( ie4 )
		{	
			if ( doc.all[''+lName] != null )
			{
				doc.all[''+lName].style.visibility = "hidden";
			}
		}
		else if ( ns6 || mz7 || ie5 || ie6 )
		{
			if ( doc.getElementById(lName) != null )
			{
				doc.getElementById(lName).style.visibility = "hidden";
			}
		}
		else if ( op5 || op6 )
		{	
			layerObj = eval("document.lName");
			layerObj.style.visibility = "hidden";
		}		
		else
		{
			doc.layers[lName].visibility = "hide";
		}
	}



	function moveLayerOnTop(lName, parentName)
	{
		var doc = document;
		
		if ( parentName != null && parentName != "" )
		{
			var str = "parent." + parentName;
	
			var obj = eval(str);
	
			doc = obj.document;
			
			//alert("moveLayerOnTop: " + obj + " - Str: " + str);
		}
	
		if ( ie4 )
		{
			if ( doc.all[''+lName] != null )
			{
				doc.all[''+lName].style.zIndex = 50;	
			}
			//alert("moveLayerOnTop(2): " + doc.all[''+lName]);
		}
		else if ( ie5 || ie6 || ns6 || mz7 )
		{
			if ( doc.getElementById(lName) != null )
			{
				doc.getElementById(lName).style.zIndex = 50;
			}
		}
		else if ( op5 || op6 )
		{
			document.lName.style.zIndex = 50;
		}	
		else
		{
			doc.layers[lName].zIndex = 15;
		}
	}



	//displays the layers given
	function displayLayers()
	{	
		for(i = 0; i < arguments.length; i++)
		{
			moveLayerOnTop(arguments[i]);
			
			showLayer(arguments[i]);
		}
	}

	function hideLayers()
	{
		for(i = arguments.length-1; i >= 0; i--)
		{
			hideLayer(arguments[i]);
		}
	}


	function displayLayersInFrame()
	{
		moveLayerOnTop(arguments[0], arguments[1]);
	
		for (i = 0; i < arguments.length ; i += 2)
		{
			showLayer(arguments[i], arguments[i+1]);
		}
	}



	function hideLayersInFrame()
	{	
		for(i = 0; i < arguments.length ; i += 2)
		{
			hideLayer(arguments[i], arguments[i+1]);
		}
	}
