var ie=document.all;
var dom=document.getElementById&&!document.all;
var isdrag=false;
var x,y;
var dobj; //position de l'objet au début du déplacement

function movemouse(e)
{
  if (isdrag)
  {
    dobj.style.left = dom ? tx + e.clientX - x +"px": tx + window.event.clientX - x;
    dobj.style.top  = dom ? ty + e.clientY - y +"px": ty + window.event.clientY - y;
    return false;
  }
}

function selectmouse(e)
{
  var fobj       = dom ? e.target : event.srcElement; //position de l'objet à la fin du déplacement
  var topelement = dom ? "HTML" : "BODY";
  while (fobj.tagName != topelement && fobj.className != "dragme")
  {
    fobj = dom ? fobj.parentNode : fobj.parentElement;
  }
  if (fobj.className=="dragme")
  {
    isdrag = true;
    dobj = fobj;
    tx = parseInt(dobj.style.left+0,10);
    ty = parseInt(dobj.style.top+0,10);
    x = dom ? e.clientX : event.clientX;
    y = dom ? e.clientY : event.clientY;
    document.onmousemove=movemouse;
    return false;
  }
}
document.onmousedown=selectmouse;
document.onmouseup=new Function("isdrag=false");

