Agent = window.navigator.userAgent;
Version = parseInt(Agent.charAt(Agent.indexOf("/")+1),10);
var visLayers = new Array();
var lastSubLayer = null;
var numVisLayers = -1;
var retrunSrcImage = null;
var retrunNameImage = null;
var timerName = null;


function IsIE()			{ return Agent.indexOf("MSIE") > 0;			}
function IEStyl(s)		{ return document.all.tags("div")[s].style; }
function NSStyl(s)		{ return FindElement(s,0);					}

function cleanUpLayers ()
{
	if (numVisLayers == -1)
		return;
	if (retrunSrcImage != null)
	{
		setImage (retrunNameImage, retrunSrcImage);
		retrunSrcImage = null;
		retrunNameImage = null;
	}
	for (i = 0; i <= numVisLayers; i ++)
	{
		var item = visLayers[i];
		if (IsIE())
			IEStyl(item).visibility = "hidden";
		else
			NSStyl(item).visibility = "hidden";
		visLayers[i] = null;
	}
	numVisLayers = -1;
	lastSubLayer = null;
}

function hideLastLayer ()
{
	temp = visLayers[numVisLayers];
	var item = null;
	if (IsIE())
		IEStyl(temp).visibility = "hidden";
	else
		NSStyl(temp).visibility = "hidden";
		
	visLayers[numVisLayers] = null;
	numVisLayers--;
	lastSubLayer = null;
}

function showLayer(s, doClear, imageName, origPath, newPath)
{
	if (doClear == 1)
		cleanUpLayers ();
	if (IsIE())
		IEStyl(s).visibility = "visible";
	else
		NSStyl(s).visibility = "visible";

	if (origPath != "")
	{
		setImage(imageName, newPath);
		retrunSrcImage = origPath;
		retrunNameImage = imageName;
	}
	addToArray (s);
	stopTimeOut();
}

function popLayer(s)
{
	
	
	if (IsIE())
		IEStyl(s).visibility = "visible";
	else
		NSStyl(s).visibility = "visible";

/*	if (origPath != "")
	{
		setImage(imageName, newPath);
		retrunSrcImage = origPath;
		retrunNameImage = imageName;
	}*/
	addToArray (s);
	stopTimeOut();
}



function showSubLayer(s)
{
	if (lastSubLayer != null)
		hideLastLayer();
	var item = null;
	if (IsIE())
		IEStyl(s).visibility = "visible";
	else
		NSStyl(s).visibility = "visible";

	addToArray (s);
	lastSubLayer = s;
}

function addToArray (item)
{
	var found = false;
	if (numVisLayers == -1)
	{
		visLayers[++numVisLayers] = item;
		return;
	}
	for (i = 0; i <= numVisLayers; i ++)
	{
		if (visLayers[i] == item)
			found = true;
	}
	if (! found)
		visLayers[++numVisLayers] = item;
}

function hideLayer(s)
{
      if (IsIE())	{ IEStyl(s).visibility = "hidden";			}
      else			{ NSStyl(s).visibility = "hidden";			}
}

function button_over (name, path, classid )
{
	showLayer( classid , 0); 
	return true;
}

function button_out(name, path, classid )
{
	hideLayer( classid ); 
	return true;
}

function setImage(name, path)
{
	var img = null;
	if (document.images)
	{
		if (!IsIE())	{ img = FindElement(name, 0); 	}
		else			{ img = document.images[name];	}
		if (img)
		{
			img.src = path;
		}
	}
}

function startTimeOut() {
	timerName = setTimeout ("timeProc()", 200);
}

function stopTimeOut() {
	if (timerName != null) {
		clearTimeout (timerName);
		timerName = null;
	}
}

function timeProc () {
	cleanUpLayers();
	timerName = null;
}

function FindElement (n,ly)
{
	if (Version < 4)
		return document[n];
	var curDoc = ly ? ly.document : document;
	var elem = curDoc[n];
	if (!elem)
	{
		for (var i=0;i<curDoc.layers.length;i++)
		{
			elem = FindElement(n,curDoc.layers[i]);
			if (elem)
				return elem;
		}
	}
	return elem;
}

