// setup timer
window.onerror = null;
var menuActive = 0
var menuOn = 0
var onLayer
var timeOn = null // layer switching code

// true offset
function getAbsX(elt) 
	{ 
	return (elt.x) ? elt.x : getAbsPos(elt,"Left"); 
	}
function getAbsY(elt) 
	{ 
	return (elt.y) ? elt.y : getAbsPos(elt,"Top"); 
	}
function getAbsPos(elt,which) 
	{
 	iPos = 0;
 	while (elt != null) 
		{
  		iPos += elt["offset" + which];
  		elt = elt.offsetParent;
 		}
 	return iPos;
	}

// IE & NS6 top/left strings storage
function moveBy(elt,deltaX,deltaY) 
	{
 	elt.left = parseInt(elt.left) + deltaX;
 	elt.top = parseInt(elt.top) + deltaY;
	}	
	
// div style?	
function getDivStyle(layerName) 
	{
 	var style;
	// true DOM style
 	if (document.getElementById ? true : false) 
		{ 
		style = document.getElementById(layerName).style; 
		}
	// v4 DOM style (ie = doc.all, ns = doc.layers)	
 	else 
		{ 
		style = (document.all ? true : false) ? document.all[layerName].style
        : document.layers[layerName]; 
		}
 	return style;
	}

// timer
function btnTimer() 
	{
 	timeOn = setTimeout("btnOut()",1000)
 	}

// timer mouse out
function btnOut(layerName) 
	{
 	if (menuActive == 0) 
		{
 		hideLayer(onLayer)
		}
 	}

// mouse over
function menuOver(itemName) 
	{
 	clearTimeout(timeOn)
 	menuActive = 1
 	}

// mouse out 
function menuOut(itemName) 
	{
 	menuActive = 0 
 	timeOn = setTimeout("hideLayer(onLayer)", 400)
	}	
	
// show menu
function showLayer(layerName)
	{
	if (document.layers || document.all || document.getElementById) 
		{
 		if (timeOn != null) 
			{
 			clearTimeout(timeOn)
 			hideLayer(onLayer)
 			}
		divstyle = getDivStyle(layerName);
 		if (divstyle.visibility == 'visible' || divstyle.visibility == 'show') 
			{
   			divstyle.visibility = 'hidden';
 			} 
		else 
			{
			fixPosition(layerName);
   			divstyle.visibility = 'visible';
 			}
 		onLayer = layerName
 		}
	}		
	
// hide menu
function hideLayer(layerName)
	{
 	if (menuActive == 0) 
		{
 		getDivStyle(layerName).visibility = 'hidden';
		}
 	}	

// position submenu related to parent	
function setPosition(elt,parentName,childOf) 
	{
 	var positioner;
	// ie
 	if (document.all ? true : false) 
		{
  		positioner = document.all[parentName];
 		} 
	else 
		{
		// true DOM
  		if (document.getElementById ? true : false) 
			{
    		positioner = document.getElementById(parentName);
  			} 
		else 
			{
    		// ns4?
    		positioner = document.images[parentName];
  			}
 		}
 		elt.left = getAbsX(positioner);
 		elt.top = getAbsY(positioner) + (childOf ? positioner.height : 0);
	}

// element image anchor
function fixPosition(layerName) 
	{
 	divstyle = getDivStyle(layerName);
 	positionerImgName = layerName + 'imageAnchor';
	childOf = true;
 	if (childOf) 
		{
  		setPosition(divstyle,positionerImgName,true);
 		} 
	else 
		{
  		setPosition(divstyle,positionerImgName)
 		}
	}
