// layer switching

var lArr = new Array();		// generic layer array for switching
var lArr_on = 0;			// don't keep initiating
var timer = 0;			// turns off layers

function setTimer(number) {
	timer = number;
}
function startTimer(group,l) {
	setTimer(1);
	functionName = "checkTimer('" + group + "'," + l + ")";
	setTimeout(functionName, 100);
}
function checkTimer(group,l) {
	if (timer==1) {
		LayerSwitchAllOff(group,l)
	}
}

function LayerSwitchAllOff(group,l) {
	// initiate array first time through...
	if(!lArr_on) {
		lArrInit(group,l);
	}
	// hide all layers in group
	for (var i = 0; i < l; i++) {
		pm_layerHide(lArr[i]);
	}
}

function N4xLayerSwitch(target_idx,group,l) {
	if (bNN && !v5) LayerSwitch(target_idx,group,l);
}
	
function LayerSwitch(target_idx,group,l,pos) {
	// initiate array first time through...
	if(!lArr_on) {
		lArrInit(group,l);
	}
	// hide all layers in group
	for (var i = 0; i < l; i++) {
		pm_layerHide(lArr[i]);
	}
	
	//position layer at parent element
	var menu = getLayer(lArr[target_idx]);
	menu.style.top = getRealY(pos) + pos.offsetHeight;
	menu.style.left = getRealX(pos);
	menu.style.width = (pos.offsetWidth>menu.offsetWidth)?pos.offsetWidth:menu.offsetWidth;
	// show the layer you want
	pm_layerShow(lArr[target_idx]);
	// reset lArr_on at the end of the function
	lArr_on = 0;
}

// initiate array first time through...
function lArrInit(group,l) {
	for(var i = 0; i < l; i++) {
	//alert("adding: "+group+i);
		lArr[i] = group+i;
	}
	lArr_on = 1;
}

// show the layer you want
function pm_layerShow(targetLayer) 
{
	if(bIE) 
	{
		if(document.all[targetLayer].style.visibility == 'hidden')
		{
			
			document.all[targetLayer].style.visibility = 'visible';
			//if(v >= 5)
				//fadeElement(targetLayer,33);
		}
	}
	if(bNN) 
	{
		if(v >= 5) 
		{
			if(document.getElementById(targetLayer).style.visibility == 'hidden')
			{
				document.getElementById(targetLayer).style.visibility = 'visible';
				//fadeElement(targetLayer,33);
			}
		}
		 else {
			document.layers[targetLayer].visibility = 'hidden';
		}
	}
}

function pm_layerHide(targetLayer) 
{
	if(bIE) 
	{
		if(document.all[targetLayer].style.visibility == 'visible')
		{
			if(v >= 5)
				document.getElementById(targetLayer).style.visibility = 'hidden';//fadeElement(targetLayer,-33);
			else
				document.all[targetLayer].style.visibility = 'hidden';
		}
	}
	if(bNN) 
	{
		if(v >= 5) 
		{
			if(document.getElementById(targetLayer).style.visibility == 'visible')
			{
				//fadeElement(targetLayer,-33);
				document.getElementById(targetLayer).style.visibility = 'hidden';
			}
		} 
		else 
		{
			document.layers[targetLayer].visibility = 'hidden';
		}
	}
}

function fadeElement(fadeLayer,rate)
{
	var opac;
	incOpacity(fadeLayer,rate);
	opac = -1;
	if(bIE && v >= 5)
	{
		opac = document.getElementById(fadeLayer).filters.alpha.opacity;
	}
	if(bNN && v >= 6)
	{
		opac = document.getElementById(fadeLayer).style.MozOpacity*100;
	}
	
	if(opac > 0 && opac < 100)
	{
		setTimeout("fadeElement('"+fadeLayer+"',"+rate+")",0);
	}
	else
	{
		var limit = (rate < 0)? 0 : 100;
		setOpacity(fadeLayer,limit);
	}
}

function setOpacity(e,o)
{
	if(bIE && v >= 5)
	{
		document.getElementById(e).filters.alpha.opacity = o;
	}
	if(bNN && v >= 6)
	{
		document.getElementById(e).style.MozOpacity = o / 100;
	}
}


function incOpacity(e,o)
{
	if(bIE && v >= 5)
	{
		document.getElementById(e).filters.alpha.opacity += o;
	}
	if(bNN && v >= 6)
	{
		document.getElementById(e).style.MozOpacity += o / 100;
	}
}
