function preload(img)
{
  var a=new Image(); a.src=img; return a;
}
 
var remember = new Array();
var remember2 = new Array();
var checkIt;
var DHTML = (document.getElementById || document.all || document.layers);
 
function show(name,lvl,obj)
{
 if (!DHTML) return;
 checkUserInput();
 if (remember[lvl] && remember[lvl] == name) return;
 if (remember[lvl])
 {
  closeAll(lvl);
 }
 if (name)
 {
  var x = getObjStyle(name);
  x.visibility = 'visible';
 }
 remember[lvl] = name;
 if (obj.parentNode) y = obj.parentNode;
 else if (obj.parentElement) y = obj.parentElement;
 else return;
 if (y.className) return;
 y.className = 'over';
 if (remember2[lvl]) remember2[lvl].className = '';
 remember2[lvl] = y;
}

function closeAll(lvl)
{
 for (i=remember.length - 1;i>=lvl;i--)
 {
  if (remember[i])
  {
   var x = getObjStyle(remember[i]);
   x.visibility = 'hidden';
  }
  remember[i] = null;
  if (remember2[i])
  {
   remember2[i].className = '';
   remember2[i] = null;
  }
 }
}
 
function checkUserInput()
{
/* dont do this for now...
	if (checkIt) clearTimeout(checkIt);
        // timeout used to be 5000 (rds)
 checkIt = setTimeout('closeAll(1)', 5000);
*/
}

function getObj(name)
{
  if (document.getElementById)
  {
    return document.getElementById(name);
  }
  else if (document.all)
  {
    return document.all[name];
  }
  else if (document.layers)
  {
    return document.layers[name];
  }
  else return false;
}
 
function getObjStyle(name)
{
  if (document.getElementById)
  {
    return document.getElementById(name).style;
  }
  else if (document.all)
  {
    return document.all[name].style;
  }
  else if (document.layers)
  {
    return document.layers[name];
  }
  else return false;
}	

function getLeft(theObj) 
{ 
	var myobj = theObj; 

	myleft = myobj.offsetLeft; 
	myparent = myobj.offsetParent; 
	while (myparent != null) 
	{ 
		myleft += myparent.offsetLeft; 
		myparent = myparent.offsetParent; 
	} 
	
	return myleft; 
} 

function getTop(theObj) 
{ 
	var myobj = theObj; 

	mytop = myobj.offsetTop; 
	myparent = myobj.offsetParent; 
	while (myparent != null) 
	{ 
		mytop += myparent.offsetTop; 
		myparent = myparent.offsetParent; 
	} 
	
	return mytop; 
} 




function setMenuPosition(menuName,btnName)
{
	
	theMenu = getObj(menuName);
	theBtnObj = getObj(btnName);
	
	// find x pos
		
	xLeft = getLeft(getObj('homeBtn'));
	xRightmost = getLeft(getObj('contactBtn')) + getObj('contactBtn').offsetWidth - 10;
	
	while ((xLeft + theMenu.offsetWidth) <	xRightmost)
	//while ((xLeft + getLeft(theMenu) - theMenu.offsetWidth) < xRightmost)
	{
		xLeft += 1;
		if (xLeft == getLeft(theBtnObj))
			break;
	}

	
	
	// find y pos	
	yTopmost = getTop(getObj('header2'));
	yBottommost = getTop(getObj('header2')) + getObj('header2').offsetHeight;
	yCenter = (yTopmost + yBottommost) / 2;
	yTop = yCenter - (theMenu.offsetHeight/2);
		
	// set position		
	theMenuStyle = getObjStyle(menuName);
	theMenuStyle.left = xLeft;
	theMenuStyle.top = yTop;
}


