//This is a library of functions that are useful when manipulating layers
//This was taken from JavaScript the Complete reference, by Thomas Powel

(document.layers) ? layerobject=true : layerobject=false;
(document.all) ? allobject = true : allobject = false;
(document.getElementById) ? dom = true : dom = false;

opera = navigator.userAgent.toLowerCase().indexOf('opera') != -1;

function getElement(layerName,parentLayer)
{
	if (layerobject)
	{
		parentLayer= (parentLayer) ? parentLayer : self;
		layerCollection = parentLayer.document.layers;
		if (layerCollection[layerName])
			return layerCollection[layerName];
			
		for (i=0; i < layerCollection.length;)
			return (getElement(layerName, layerCollection[i++]));
	}
	
	if (allobject)
		return document.all[layerName];
	
	if (dom)
		return document.getElementById(layerName);
}

function hide(layerName)
{
	var theLayer = getElement(layerName);
	
	if (layerobject)
		theLayer.visibility = 'hide';
	else
		theLayer.style.visibility = 'hidden';
}

function show(layerName)
{

	var theLayer = getElement(layerName);
	if (layerobject)
		theLayer.visibility = 'show';
	else
		theLayer.style.visibility = 'visible';
}

function setX(layerName, x)
{
	var theLayer = getElement(layerName);
	
	if (layerobject)
		theLayer.left = x;
   else if (opera)
		theLayer.style.pixelLeft = x;
   else
		theLayer.style.left=x + "px";
		
		
}

function getX(layerName)
{
	var theLayer = getElement(layerName);
	var curleft = 0;

	if (allobject || dom)
	{
		while (theLayer.offsetParent)
		{
			curleft += theLayer.offsetLeft
			theLayer = theLayer.offsetParent;
		}
	}
	else if (layerobject)
		curleft += theLayer.pageX;
		
	return curleft;
}

function getY(layerName)
{
	var theLayer = getElement(layerName);
	var curtop = 0;


	if (allobject || dom)
	{
		while (theLayer.offsetParent)
		{
			curtop += theLayer.offsetTop
			theLayer = theLayer.offsetParent;
		}
	}
	else if (layerobject)
		curtop += theLayer.pageY;
		
	return curtop;
}

function setY(layerName, y)
{
	var theLayer = getElement(layerName);
	
	if (layerobject)
		theLayer.top = y;
	else if (opera)
		theLayer.style.pixelTop = y;
	else
		theLayer.style.top = y + "px";
}

function setZ(layerName, zIndex)
{
	var theLayer = getElement(layerName);
	
	if (layerobject)
		theLayer.zIndex = zIndex;
	else
		theLayer.style.zIndex = zIndex;
}

function setHeight(layerName, height)
{
	var theLayer = getElement(layerName);
	
	if (layerobject)
		theLayer.clip.height = height;
	else if (opera)
		theLayer.style.pixelHeight = height;
	else
		theLayer.style.height = height + "px";
}

function setWidth(layerName, width)
{
	var theLayer = getElement(layerName);
	
	if (layerobject)
		theLayer.clip.width = width;
	else if (opera)
		theLayer.style.pixelWidth = width;
	else
		theLayer.style.width = width + "px";
}

function setClip(layerName, top, right, bottom, left)
{
	var theLayer = getElement(layerName);
	
	if (layerobject)
	{
		theLayer.clip.top = top;
		theLayer.clip.right = right;
		theLayer.clip.bottom = bottom;
		theLayer.clip.left = left;
	}
	else
		theLayer.style.clip = "rect ("+top+"px "+right+"px "+" "+bottom+"px "+left+"px )";
}

function setContents(layerName, content)
{
	var theLayer = getElement(layerName);
	
	if (layerobject)
	{
		theLayer.document.write(content);
		theLayer.document.close();
		return;
	}
	
	if (theLayer.innerHTML)
		theLayer.innerHTML = content;
}