Мне нужно перемещать элемент внутри div, а не по всему document.
<div id="myDiv">
<div id='ball3' style="width:66; height:20"></div>
</div>
Модифицирую код из учебника 
http://learn.javascript.ru/drag-and-...рование
var ball = document.getElementById('ball3');
ball.onmousedown = function(e) {
  var self = this;
  e = fixEvent(e);
  this.style.position = 'absolute';
 
  moveAt(e);
  this.style.zIndex = 1000; // над другими элементами
  function moveAt(e) {
    self.style.left = e.offsetX - 33+ 'px'; //33 - половина ширины перемещаемого блока
    self.style.top = e.offsetY - 10+ 'px'; //10 - половина высоты перемещаемого блока
  }
  document.getElementById('myDiv').onmousemove = function(e) {
    e = fixEvent(e);
    moveAt(e); 
  };
  this.onmouseup = function() {
    document.onmousemove = self.onmouseup = null;
  };
}
ball.ondragstart = function() { 
  return false; 
};
По умолчанию курсор находится в центре перемещаемого блока, При перемещении(как только курсор находится на перемещаемом элементе), перемещаемый элемент начинает прыгать к координатам 0:0, Как сделать так, чтоб при попадании мышки на элемент он не менял своих координат?