Арсений,
 Неохота разбираться в этих скриптах, кину Вам маленький незамысловатый скриптик:
var changePosition=null,offX=null,offY=null;
function move(id,e)
{
	e = e || window.event;
	if( e.preventDefault ) e.preventDefault(); 
	else e.returnValue = false;
	if(changePosition)
	{
		changePosition=document.getElementById(id);
		var x=e.clientX-offX;
		var y=e.clientY-offY;
		changePosition.style.left=x+"px";
		changePosition.style.top=y+"px";
	}
}
function release()
{
	changePosition=null;
}
function capture(e)
{
	e = e || window.event;
	if( e.preventDefault ) e.preventDefault(); 
	else e.returnValue = false;
	offX=e.offsetX || e.layerX;
	offY=e.offsetY || e.layerY;
	if(!changePosition)
	{
		changePosition=document.getElementById("el");
	}
}
 
<body onmousemove="move('el',event)">
<div  onmouseup="release()" onmousedown="capture(event)"  id="el" style="width:300px; height:200px; position:absolute; border:1px solid #000000; background-color:#996600;" ></div>
</body>