function DL_GetElementLeft(eElement) {
   if (!eElement && this) {eElement = this;}

   var DL_bIE = document.all ? true : false;
   var nLeftPos = eElement.offsetLeft;
   var eParElement = eElement.offsetParent;

   while (eParElement != null) {
      if(DL_bIE) {
         if( (eParElement.tagName != "TABLE") && (eParElement.tagName != "BODY") ) {
            nLeftPos += eParElement.clientLeft;
         }
      } else {
	  	// is gecko
         if(eParElement.tagName == "TABLE") {
            var nParBorder = parseInt(eParElement.border);
            if(isNaN(nParBorder)) {
               var nParFrame = eParElement.getAttribute('frame');
               if(nParFrame != null) {
                  nLeftPos += 1;
               }
            } else if(nParBorder > 0) {
               nLeftPos += nParBorder;
            }
         }
      }
      nLeftPos += eParElement.offsetLeft;
      eParElement = eParElement.offsetParent;
   }
   return nLeftPos;
}

function DL_GetElementTop(eElement){
   if (!eElement && this) {eElement = this;}
   var DL_bIE = document.all ? true : false; // initialize var to identify IE
   var nTopPos = eElement.offsetTop;         // initialize var to store calculations
   var eParElement = eElement.offsetParent;  // identify first offset parent element
   while (eParElement != null) {
      if(DL_bIE) {
         if( (eParElement.tagName != "TABLE") && (eParElement.tagName != "BODY") ) {
            nTopPos += eParElement.clientTop;
         }
      } else {
         if(eParElement.tagName == "TABLE") {
            var nParBorder = parseInt(eParElement.border);
            if(isNaN(nParBorder)) {
               var nParFrame = eParElement.getAttribute('frame');
               if(nParFrame != null) {
                  nTopPos += 1;
               }
            } else if(nParBorder > 0) {
               nTopPos += nParBorder;
            }
         }
      }
      nTopPos += eParElement.offsetTop;
      eParElement = eParElement.offsetParent;
   }
   return nTopPos; 
}

function getPos(thisElement) {
	var thingLeft = DL_GetElementLeft(document.getElementById(thisElement));
	var thingTop = DL_GetElementTop(document.getElementById(thisElement));
	alert(thingLeft +'from left \n '+ thingTop +'from top');
}

function $(o) { 
	return((typeof(o)=='object'?o:document).getElementById(o)); 
}

var menuHideHandles = new Array();

function drawDrop(thisElement, thisMenu){
	if (menuHideHandles[thisMenu] != 0)
		clearTimeout(menuHideHandles[thisMenu]);
	var thingLeft = DL_GetElementLeft($(thisElement));
	var thingTop = 10+ DL_GetElementTop($(thisElement));
	var menuTop = thingTop + 18;
	if(document.getElementById(thisMenu)){
		document.getElementById(thisMenu).style.position = 'absolute';
		document.getElementById(thisMenu).style.top = menuTop + 'px';
		document.getElementById(thisMenu).style.left = thingLeft + 'px';
		document.getElementById(thisMenu).style.visibility = 'visible';
	}
}

function killDrop(thisMenu){
	menuHideHandles[thisMenu] = setTimeout('doKillDrop(\'' + thisMenu + '\');', 75);
}

function doKillDrop(thisMenu){
	document.getElementById(thisMenu).style.visibility = 'hidden';
}
