code: function(control, callbacks, options) {
          OpenLayers.Handler.prototype.initialize.apply(this, arguments);
          
          if (this.documentDrag === true) {
              var me = this;
              this._docMove = function(evt) {
                  me.mousemove({
                      xy: {x: evt.clientX, y: evt.clientY},
                      element: document
                  });
              };
              this._docUp = function(evt) {
                  me.mouseup({xy: {x: evt.clientX, y: evt.clientY}});
              };
          }
      }
docs: Constructor: OpenLayers.Handler.Drag
  Returns OpenLayers.Handler.Drag
  
  Parameters:
  control - {<OpenLayers.Control>} The control that is making use of
  this handler.  If a handler is being used without a control, the
  handlers setMap method must be overridden to deal properly with
  the map.
  callbacks - {Object} An object containing a single function to be
  called when the drag operation is finished. The callback should
  expect to recieve a single argument, the pixel location of the event.
  Callbacks for 'move' and 'done' are supported. You can also speficy
  callbacks for 'down', 'up', and 'out' to respond to those events.
  options - {Object}