	
	//  Global 'corrector' for IE/Mac et al., but doesn't hurt others
	var fudgeFactor = {top: -1, left: -1};
	
	//  Global x position variable
	var edgeX;
	
	//  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;
			}
		shiftTo(obj, edgeX, 21);
		show(obj);
		}
		
	function positionSubMenu(layerName, 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;
				}
			}
			
		var x = 132;
		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, y) {

  var el, x, y;

  positionSubMenu(id, y);
  el = document.getElementById(id);
  if (window.event) {
    x = window.event.clientX + document.documentElement.scrollLeft
      + document.body.scrollLeft;
    y = window.event.clientY + document.documentElement.scrollTop
      + document.body.scrollTop;
  }
  else {
    x = event.clientX + window.scrollX;
    y = event.clientY + window.scrollY;
  }
  x -= 2; y -= 2;
  //el.style.left = x + "px";
  //el.style.top  = y + "px";
  el.style.visibility = "visible";
}

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

  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)
    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;
