
var DnD={CODE_ACCEPT:"accept",CODE_DEFAULT:"default",CODE_REJECT:"reject",startDrag:function(drag){if(!window.drag){this.init();window.drag=drag;Event.observe(document,'mousemove',this.mousemove);Event.observe(document,'mouseup',this.mouseup);}else{alert('drag in progress');}},endDrag:function(event){Event.stopObserving(document,'mousemove',this.mousemove);Event.stopObserving(document,'mouseup',this.mouseup);var drag=window.drag;if(drag){window.drag=null;var dropzone=drag.dropzone;drag.source.endDrag(event,drag);if(dropzone){dropzone.onbeforedrag(event,drag);if(dropzone.accept(drag)){dropzone.drop(event,drag);}
dropzone.onafterdrag(event);}}},updateDrag:function(event){var drag=window.drag;if(!drag.source.onupdatedrag||(drag.source.onupdatedrag(event)!=false)){var cursorRect=Richfaces.jQuery.getPointerRectangle(event);cursorRect.left+=5;cursorRect.top+=14;drag.indicator.position(cursorRect.left,cursorRect.top);Event.stop(event);}},initialized:false,init:function(){if(!this.initialized){this.mousemove=this.updateDrag.bindAsEventListener(this);this.mouseup=this.endDrag.bindAsEventListener(this);this.initialized=true;}}};DnD.Drag=Class.create();DnD.Drag.prototype={initialize:function(source,indicator,type){this.source=source;this.indicator=indicator;this.type=type;this.params={};},dragged:false,dropzone:null,getParameters:function(){var params={};Object.extend(params,this.params);return params;}};