function drag(obj, e)
{
 e = e?e:window.event;
 var x = parseInt(obj.style.left);
 var y = parseInt(obj.style.top);
 var tempX = e.clientX - x;
 var tempY = e.clientY - y;
 //or
 //var tempX = e.offsetX?e.offsetX:e.layerX; (IE may show page error)
 //var tempY = e.offsetY?e.offsetY:e.layerY; (IE may show page error)

 if(document.addEventListener)
 {
  document.addEventListener('mousemove', mousemove, true);
  document.addEventListener('mouseup', mouseup, true);
 }
 else if(document.attachEvent)
 {
  document.attachEvent('onmousemove', mousemove);
  document.attachEvent('onmouseup', mouseup);
 }
 //abort(e);
 //stop(e);

 function mousemove(e)
 {
  e = e?e:window.event;
  obj.style.left = e.clientX - tempX + "px";
  obj.style.top = e.clientY - tempY + "px";
  abort(e);
 }

 function mouseup(e)
 {
  e = e?e:window.event;
  if(document.removeEventListener)
  {
   document.removeEventListener('mousemove', mousemove, true);
   document.removeEventListener('mouseup', mouseup, true);
  }
  else if(document.detachEvent)
  {
   document.detachEvent('onmousemove', mousemove);
   document.detachEvent('onmouseup', mouseup);
  }
  abort(e);
 }

 function abort(e) //abort() or stop() are both available
 {
  if(e.preventDefault)  return e.preventDefault();
  else return e.returnValue = false;
 }

 function stop(e)
 {
  if(e.stopPropagation)  return e.stopPropagation();
  else return e.cancelBubble = true;
 }
}

function hideBox(obj)
{
 document.getElementById(obj).style.visibility = "hidden";
}

