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 drawDrop(thisElement, thisMenu){
	var thingLeft = DL_GetElementLeft(document.getElementById(thisElement));
	var thingTop = DL_GetElementTop(document.getElementById(thisElement));
	var menuTop = thingTop-4; thingLeft += 126;
	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 drawDropHere(thisElement, thisMenu, left){
/*
	var thingLeft = DL_GetElementLeft(document.getElementById(thisElement));
	var thingTop = DL_GetElementTop(document.getElementById(thisElement));
*/
  var pos = findPos(document.getElementById(thisElement));
  var thingLeft = pos[0];
  var thingTop = pos[1];
	//var menuTop = thingTop-212; thingLeft += 350;
	var menuTop = thingTop; 
  if(left) { 
    thingLeft += 180;
  }
  else {
    thingLeft -= 180;
  }

	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 findPos(obj) {
    var curleft = curtop = 0;
    if (obj.offsetParent) {
      curleft = obj.offsetLeft
      curtop = obj.offsetTop
      while (obj = obj.offsetParent) {
        curleft += obj.offsetLeft
        curtop += obj.offsetTop
      }
    }
    return [curleft,curtop];
  }


}

function killDrop(thisMenu){
	document.getElementById(thisMenu).style.visibility = 'hidden';
}
