    YAHOO.ext.LayoutDragDropMgr = function(layout){
        this.layout = layout;
        this.pollId = null;
        this.pollInterval = 50;
        this.monitorDelegate = this.monitor.createDelegate(this);
        this.mouseMoveDelegate = YAHOO.ext.EventManager.wrap(this.onMouseMove, this, true);
    };
    YAHOO.ext.LayoutDragDropMgr.prototype = {
        startDrag : function(dragRegion){
            this.dragOffsets = this.el.getXY() || [0,0];
            this.dragRegion = dragRegion;
            this.layout.getEl().on('mousemove', this.mouseMoveDelegate);
            this.pollId = setInterval(this.monitorDelegate, this.pollInterval);
        },

        endDragOver : function(dragRegion){
            this.dragRegion = null;
            this.layout.getEl().removeListener('mousemove', this.mouseMoveDelegate);
            clearInterval(this.pollId);
        },

        onMouseMove : function(e){
            var xy = e.getXY();
            this.pointX = xy[0] - this.dragOffsets[0];
            this.pointY = xy[1] - this.dragOffsets[1];
        },

        monitor : function(){
            var x = this.pointX;
            var y = this.pointY;
            var pos = this.dragRegion.position;

        }

    };

Copyright © 2006 Jack Slocum. All rights reserved.