var Drag={obj:null,init:function(m,s,k,o,l,p,r,t,q,n){m.onmousedown=Drag.start;m.hmode=r?false:true;m.vmode=t?false:true;m.root=s&&s!=null?s:m;if(m.hmode&&isNaN(parseInt(m.root.style.left))){m.root.style.left="0px"}if(m.vmode&&isNaN(parseInt(m.root.style.top))){m.root.style.top="0px"}if(!m.hmode&&isNaN(parseInt(m.root.style.right))){m.root.style.right="0px"}if(!m.vmode&&isNaN(parseInt(m.root.style.bottom))){m.root.style.bottom="0px"}m.minX=typeof k!="undefined"?k:null;m.minY=typeof l!="undefined"?l:null;m.maxX=typeof o!="undefined"?o:null;m.maxY=typeof p!="undefined"?p:null;m.xMapper=q?q:null;m.yMapper=n?n:null;m.root.onDragStart=new Function();m.root.onDragEnd=new Function();m.root.onDrag=new Function()},start:function(g){var f=Drag.obj=this;g=Drag.fixE(g);var e=parseInt(f.vmode?f.root.style.top:f.root.style.bottom);var h=parseInt(f.hmode?f.root.style.left:f.root.style.right);f.root.onDragStart(h,e);f.lastMouseX=g.clientX;f.lastMouseY=g.clientY;if(f.hmode){if(f.minX!=null){f.minMouseX=g.clientX-h+f.minX}if(f.maxX!=null){f.maxMouseX=f.minMouseX+f.maxX-f.minX}}else{if(f.minX!=null){f.maxMouseX=-f.minX+g.clientX+h}if(f.maxX!=null){f.minMouseX=-f.maxX+g.clientX+h}}if(f.vmode){if(f.minY!=null){f.minMouseY=g.clientY-e+f.minY}if(f.maxY!=null){f.maxMouseY=f.minMouseY+f.maxY-f.minY}}else{if(f.minY!=null){f.maxMouseY=-f.minY+g.clientY+e}if(f.maxY!=null){f.minMouseY=-f.maxY+g.clientY+e}}document.onmousemove=Drag.drag;document.onmouseup=Drag.end;return false},drag:function(m){m=Drag.fixE(m);var l=Drag.obj;var o=m.clientY;var n=m.clientX;var j=parseInt(l.vmode?l.root.style.top:l.root.style.bottom);var p=parseInt(l.hmode?l.root.style.left:l.root.style.right);var e,k;if(l.minX!=null){n=l.hmode?Math.max(n,l.minMouseX):Math.min(n,l.maxMouseX)}if(l.maxX!=null){n=l.hmode?Math.min(n,l.maxMouseX):Math.max(n,l.minMouseX)}if(l.minY!=null){o=l.vmode?Math.max(o,l.minMouseY):Math.min(o,l.maxMouseY)}if(l.maxY!=null){o=l.vmode?Math.min(o,l.maxMouseY):Math.max(o,l.minMouseY)}e=p+((n-l.lastMouseX)*(l.hmode?1:-1));k=j+((o-l.lastMouseY)*(l.vmode?1:-1));if(l.xMapper){e=l.xMapper(j)}else{if(l.yMapper){k=l.yMapper(p)}}Drag.obj.root.style[l.hmode?"left":"right"]=e+"px";Drag.obj.root.style[l.vmode?"top":"bottom"]=k+"px";Drag.obj.lastMouseX=n;Drag.obj.lastMouseY=o;Drag.obj.root.onDrag(e,k);return false},end:function(){document.onmousemove=null;document.onmouseup=null;Drag.obj.root.onDragEnd(parseInt(Drag.obj.root.style[Drag.obj.hmode?"left":"right"]),parseInt(Drag.obj.root.style[Drag.obj.vmode?"top":"bottom"]));Drag.obj=null},fixE:function(b){if(typeof b=="undefined"){b=window.event}if(typeof b.layerX=="undefined"){b.layerX=b.offsetX}if(typeof b.layerY=="undefined"){b.layerY=b.offsetY}return b}};
