function addEventSimple(obj,evt,fn){if(obj.addEventListener)obj.addEventListener(evt,fn,false);else if(obj.attachEvent)obj.attachEvent('on'+evt,fn)}function removeEventSimple(obj,evt,fn){if(obj.removeEventListener)obj.removeEventListener(evt,fn,false);else if(obj.detachEvent)obj.detachEvent('on'+evt,fn)}dragDrop={initialMouseX:undefined,initialMouseY:undefined,startX:undefined,startY:undefined,draggedObject:undefined,targetElement:undefined,handle:undefined,initElement:function(element,handle){if(typeof element=='string')element=$(element).get(0);if(typeof handle=='string')handle=$(handle,element).get(0);dragDrop.targetElement=element;dragDrop.handle=handle;dragDrop.handle.onmousedown=dragDrop.startDragMouse},startDragMouse:function(e){dragDrop.startDrag();var evt=e||window.event;dragDrop.initialMouseX=evt.clientX;dragDrop.initialMouseY=evt.clientY;addEventSimple(document,'mousemove',dragDrop.dragMouse);addEventSimple(document,'mouseup',dragDrop.releaseElement);return false},startDrag:function(){if(dragDrop.draggedObject)dragDrop.releaseElement();var obj=dragDrop.targetElement;dragDrop.startX=obj.offsetLeft;dragDrop.startY=obj.offsetTop;dragDrop.draggedObject=obj;obj.className+=' dragged'},dragMouse:function(e){var evt=e||window.event;var dX=evt.clientX-dragDrop.initialMouseX;var dY=evt.clientY-dragDrop.initialMouseY;dragDrop.setPosition(dX,dY);return false},setPosition:function(dx,dy){dragDrop.draggedObject.style.left=dragDrop.startX+dx+'px';dragDrop.draggedObject.style.top=dragDrop.startY+dy+'px'},releaseElement:function(){removeEventSimple(document,'mousemove',dragDrop.dragMouse);removeEventSimple(document,'mouseup',dragDrop.releaseElement);dragDrop.draggedObject.className=dragDrop.draggedObject.className.replace(/dragged/,'');dragDrop.draggedObject=null}}