function menuBar( theMenu, hoverFlag, color ) {
	if ( hoverFlag ) {
				document.getElementById(theMenu).style.backgroundColor = color;
	} else {
				document.getElementById(theMenu).style.backgroundColor = color;
	}
}

function menuItem( element, hoverFlag, color ) {
	if ( hoverFlag ) {
				element.style.backgroundColor = color;
	} else {
				element.style.backgroundColor = color;
	}
}

function menuBarClick( tableCellRef, navStyle, url ) {
	window.location.href = url;
}
var mnuActive=false;
var mnuButtonActive=false;
var mnuActiveName='';
var mnuButtonName='';

var ie4=false;
var dom=false;
var ns4=false;

var ns4=document.layers;
var ie4=document.all;
var dom=document.getElementById;


var hideTimeout;
var layer2Hide;

function timeOut(hide){
	hideTimeout = window.setTimeout(hide, 500);
	layer2Hide = hide;
}

function clearTime(){
	window.clearTimeout(hideTimeout);
}

function hideLayer() {
	deactivateOpen();
}

function activate(theLayer, theObject)
{
	if(layer2Hide == "hideLayer()") window.clearTimeout(hideTimeout);

	deactivateOpen();
	
	mnuActive = true;
	mnuActiveName = theLayer;
	mnuButtonActive = true;
	mnuButtonName = theObject
	
	menuBar(theObject, 1, '#000000');

	var coords = getPageCoords(theObject);
	
  if (ie4) 
  {
    document.all[theLayer].style.visibility = "visible";
    document.all[theLayer].style.left = coords.x + "px";
    document.all[theLayer].style.top = coords.y + "px";
    document.all[theLayer].style.filter = "progid:DXImageTransform.Microsoft.Alpha(opacity=100)";
    
    for (var i=0; i< document.Form1.length; i++) {
			if (document.Form1.elements[i].type == 'select-one' | document.Form1.elements[i].type == 'select-multiple') {
				Form1.elements[i].style.visibility = 'hidden';
			}
		}
		
		for (var i=0; i< document.applets.length; i++) {
			document.applets[i].style.visibility = 'hidden';
		}
  }
  else if(dom)
  {
      document.getElementById(theLayer).style.visibility="visible";
      document.getElementById(theLayer).style.left = coords.x + "px";
			document.getElementById(theLayer).style.top = coords.y + "px";
			
			for (var i=0; i< document.applets.length; i++) {
			document.applets[i].style.visibility = 'hidden';
		}
  }
}

function deactivateOpen()
{
	if (mnuButtonActive) {
		menuBar(mnuButtonName, 0, '#000000');
		mnuButtonActive = false;
		mnuButtonName = '';
	}
	if (mnuActive) {
		
		theLayer = mnuActiveName;
	
		if (ie4)
		{
			document.all[theLayer].style.visibility = "hidden";
	    
			for (var i=0; i< document.Form1.length; i++) {
				if (document.Form1.elements[i].type == 'select-one' | document.Form1.elements[i].type == 'select-multiple') {
					Form1.elements[i].style.visibility = 'visible';
				}
			}
			
			for (var i=0; i< document.applets.length; i++) {
				document.applets[i].style.visibility = 'visible';
			} 
		}
		else if (dom) 
		{
				document.getElementById(theLayer).style.visibility="hidden";
				
				for (var i=0; i< document.applets.length; i++) {
				document.applets[i].style.visibility = 'visible';
			} 
		}
	  
		mnuActive = false;
		mnuActiveName = '';
	}
}

function deactivate(theLayer,theObject,theEvent)
{
  if (ie4)
  {
    if(!theObject.contains(theEvent.toElement))
    {
      document.all[theLayer].style.visibility = "hidden";
      
      for (var i=0; i< document.Form1.length; i++) {
				if (document.Form1.elements[i].type == 'select-one' | document.Form1.elements[i].type == 'select-multiple') {
					Form1.elements[i].style.visibility = 'visible';
				}
			}
			
			for (var i=0; i< document.applets.length; i++) {
				document.applets[i].style.visibility = 'visible';
			}
			
			if (mnuButtonActive) {
				menuBar(mnuButtonName, 0, '#252525');
				mnuButtonActive = false;
				mnuButtonName = '';
			}
    }    
  }
  else if (dom) 
  {
    if (!containsNN6(theObject,theEvent.relatedTarget))
    {
        document.getElementById(theLayer).style.visibility="hidden";
			
			for (var i=0; i< document.applets.length; i++) {
				document.applets[i].style.visibility = 'visible';
			}
			
			if (mnuButtonActive) {
				menuBar(mnuButtonName, 0, '#252525');
				mnuButtonActive = false;
				mnuButtonName = '';
			}
    }
  }
}

function getPageCoords (elementId) {
  var coords = {x: 0, y: 0}
  var element;
  var height;
  var width;
  if (document.all)
    element = document.all[elementId];
  else if (document.getElementById)
    element = document.getElementById(elementId);
    
    height = element.offsetHeight;
	width = element.offsetWidth;
    
  while (element) {
    coords.x += element.offsetLeft;
    coords.y += element.offsetTop;
    
    element = element.offsetParent;
  }
  coords.x = coords.x + width;
  coords.y = coords.y - 1;
  return coords;
}


function containsNN6 (container, containee) 
{
  var isParent = false;
  do 
  {
    if ((isParent = container == containee))
      break;
    containee = containee.parentNode;
  }
  while (containee != null);
  return isParent;
}