//--drag&drop--begin
dt=document;
g=function(a){
   return dt.getElementById(a);
}

var dragObj, wasDrag, posY, posX;    //переменные скрипта

function draggable(e) { //поиск тягаемого объекта
   var o=e?e.target:event.srcElement;
   while(o) { if(o.className&&o.className.indexOf('drag')>-1)return o; o = o.parentNode; }
   return false;
}

function getX(e){
   return (e||window.event).clientX+dt.body.scrollLeft 
} 

function getY(e){
   return (e||window.event).clientY+dt.body.scrollTop 
} // определение коорд-т события

function block(e){
   e?e.preventDefault():window.event.returnValue=false;
} // отмена умолч. действия

dt.onmousedown=function(e){ 
   var t=draggable(e); if(!t)return;
   if(t.style.left == "50%"){var width = (window.innerWidth ? window.innerWidth : (document.documentElement.clientWidth ? document.documentElement.clientWidth : document.body.offsetWidth)); t.style.left = ((width-21)/2)+"px";}
   if(t.style.top == "50%"){var height = (window.innerHeight ? window.innerHeight : (document.documentElement.clientHeight ? document.documentElement.clientHeight : document.body.offsetHeight)); t.style.top = (height/2)+"px";}
   posY=getY(e)-parseInt(t.style.top); 
   posX=getX(e)-parseInt(t.style.left);
   dragObj=t; block(e);
}

dt.onmousemove=function(e){
   if(!dragObj)return;
   dragObj.style.top =getY(e)-posY+'px';
   dragObj.style.left=getX(e)-posX+'px';
   wasDrag=1; block(e);
}

dt.onmouseup=function(){
   dragObj=0;
}

dt.onclick=function(e){
   if(wasDrag){wasDrag=false; block(e);}
}
//--drag&drop--end