	
	//  Global 'corrector' for IE/Mac et al., but doesn't hurt others
	var fudgeFactor = {top: -1, left: -1};
	
	//  Global x position variable
	var edgeX;
	    
    //  Global timeout
    var theTimeout;

	//  Center a positionable element whose name is passed as a parameter
	//  in the current window/frame, and show it
	function centerIt(layerName)
		{
		// 'obj' is the positionable object
		var obj = getRawObject(layerName);
		// set fudgeFactor values only first time
		if (fudgeFactor.top == -1)
			{
			if ((typeof obj.offsetTop == "number") && obj.offsetTop > 0)
				{
				fudgeFactor.top = obj.offsetTop;
				fudgeFactor.left = obj.offsetLeft;
				}
			else
				{
				fudgeFactor.top = 0;
				fudgeFactor.left = 0;
				}
			if (obj.offsetWidth && obj.scrollWidth)
				{
				if (obj.offsetWidth != obj.scrollWidth)
					{
					obj.style.width = obj.scrollWidth;
					}
				}
			}
		var x = Math.round((getInsideWindowWidth()/2) - (getObjectWidth(obj)/2));
		var y = Math.round((getInsideWindowHeight()/2) - (getObjectHeight(obj)/2));
		edgeX = x-fudgeFactor.left;
		if (edgeX < 0)
			{
			edgeX = 0;
			}
			//ss changed from 21 0
		shiftTo(obj, edgeX, 0);
		show(obj);
		}
		
	function positionSubMenu(layerName, x, y) 
		{
		// 'obj' is the positionable object
		var obj = getRawObject(layerName);
		
		// set fudgeFactor values only first time
		if (fudgeFactor.top == -1)
			{
			if ((typeof obj.offsetTop == "number") && obj.offsetTop > 0)
				{
				fudgeFactor.top = obj.offsetTop;
				}
			else
				{
				fudgeFactor.top = 0;
				}
			}
			
		shiftTo(obj, x, y);
		}
		
function contains(a, b) {

  // Return true if node a contains node b.

  while (b.parentNode)
    if ((b = b.parentNode) == a)
      return true;
  return false;
}

function openMenu(event, id, x, y) {
  //var el;
  
  if (theTimeout) clearTimeout(theTimeout);
  closeFromOpen();

  positionSubMenu(id, x, y);
  el = document.getElementById(id);

  el.style.visibility = "visible";
}

function closeMenu(event, id) {
  var el, current, related;

  if (theTimeout) clearTimeout(theTimeout);
  el = document.getElementById(id);

  if (window.event) {
    current = el;
    related = window.event.toElement;
  }
  else {
    current = event.currentTarget;
    related = event.relatedTarget;
  }

  if (current != related && !contains(current, related) && related != el)
    theTimeout = setTimeout("el.style.visibility = 'hidden';", 1000);
    // Changed this line to add the delay before the hide command is executed.
    // Change the '500' to leave menus up longer.  It is in milliseconds.
}

function closeFromOpen()
    {
    var el, id;

    for(var i=1; i<6; i++){
    id = "subMenu" + i;
    el = document.getElementById(id);
    el.style.visibility = "hidden";
    }
    }

function handleResize()
	{
	if (isNN4)
		{
		//  causes extra re-draw, but gotta do it to get banner object color drawn
		location.reload();
		}
	else
		{
		centerIt('pagediv')
		}
	}
		  
window.onresize = handleResize;
