obips.Drag=function(){};obips.Drag.Manager=function(){obips.Drag.Manager.baseConstructor.call(this);this.dragDescriptor=null};extend(obips.Drag.Manager,obips.Observable);obips.Drag.Manager.prototype.start=function(d,b,e,a){var c=document.getElementById("draggedObjectGhost");if(c){c.removeNode(true)}this.dragDescriptor=new obips.Drag.Descriptor(d,b,e,a);document.body.appendChild(this.dragDescriptor.ghostNode);this.notify(new obips.Observable.Event(obips.Drag.Manager.EventType.DRAG_STARTED,this.dragDescriptor))};obips.Drag.Manager.prototype.move=function(a){var b=document.getElementById("draggedObjectGhost");if(b){b.style.left=a.clientX;b.style.top=a.clientY}};obips.Drag.Manager.prototype.stop=function(a){var b=document.getElementById("draggedObjectGhost");b.removeNode(true);this.notify(new obips.Observable.Event(obips.Drag.Manager.EventType.DRAG_STOPPED,this.dragDescriptor));this.dragDescriptor=null};globalRegister.addObject("dragManager",new obips.Drag.Manager());obips.Drag.Manager.EventType=function(){};obips.Drag.Manager.EventType.DRAG_STARTED="dragStarted";obips.Drag.Manager.EventType.DRAG_STOPPED="dragStopped";obips.Drag.Descriptor=function(c,b,d,a){this.type=c;this.object=b;this.ghostNode=d.cloneNode(true);this.ghostNode.style.filter="progid:DXImageTransform.Microsoft.Alpha(opacity=50)";this.ghostNode.style.zIndex="1";this.ghostNode.style.position="absolute";this.ghostNode.style.left=a.clientX;this.ghostNode.style.top=a.clientY;this.ghostNode.id="draggedObjectGhost";this.ghostNode.draggedObject=this};