DragManager={
	enabled : false,
	trackMouse:function(e){
		if (ie) e=event
		DragManager.mousex=(ie)?e.x:e.pageX
		DragManager.mousey=(ie)?e.y:e.pageY

		if (DragManager.grabbed) {
			var o=DragManager.grabbedObj
			var x=(DragManager.mousex - DragManager.lyrx-10) + "px"
			var y=(DragManager.mousey - DragManager.lyry-10) + "px"
			o.style.left=x
			o.style.top=y
		}
		e.browserReturn=false
		e.bubble=false
	},
	grab:function(e){
		if (ie) e=event
		DragManager.lyrx=(ie)?e.offsetX:e.layerX
		DragManager.lyry=(ie)?e.offsetY:e.layerY
		DragManager.grabbed=true
		DragManager.grabbedObj=this.proxyFor
		DragManager.grabbedObj.style.zIndex=parseInt(DragManager.grabbedObj.style.zIndex)+10
		this.onselectstart=function() { return false }
	},
	ungrab:function(){
		if (mac||!ie) {
			window.resizeBy(0,1)
			window.resizeBy(0,-1)
		}
		DragManager.grabbed=false
		DragManager.grabbedObj=null
	},
	manage:function(obj,proxyFor){
		if (!DragManager.enabled) DragManager.Enable()
		if (ie) {
 			obj.elm.onmousedown=DragManager.grab
 			obj.elm.onmouseup=DragManager.ungrab
 		} else {
	 		obj.elm.addEventListener("mousedown",DragManager.grab,false)
	 		obj.elm.addEventListener("mouseup",DragManager.ungrab,false)
 		}
 		obj.elm.proxyFor=proxyFor||obj.elm
	},
	Enable:function(){
		if (DragManager.enabled) return
		(ie)?document.onmousemove=DragManager.trackMouse:window.onmousemove=DragManager.trackMouse
		DragManager.enabled=true
	}
}
