rem: var mover = function(node, e){ dojo.dnd.Mover.call(this, node, e); 
add: var mover = function(node, e, notifier){ dojo.dnd.Mover.call(this, node, e, notifier); 
context: dojo.dnd.move.constrainedMover = function(fun, within){	// summary: returns a constrained version of dojo.dnd.Mover	// description: this function produces n object, which will put a constraint on 	//	the margin box of dragged object in absolute coordinates	// fun: Function: called on drag, and returns a constraint box	// within: Boolean: if true, constraints the whole dragged object withtin the rectangle, 	//	otherwise the constraint is applied to the left-top corner	var mover = function(node, e){		dojo.dnd.Mover.call(this, node, e);	};	dojo.extend(mover, dojo.dnd.Mover.prototype);	dojo.extend(mover, {		onMouseMove: function(e){			// summary: event processor for onmousemove			// e: Event: mouse event			var m = this.marginBox, c = this.constraintBox,				l = m.l + e.pageX, t = m.t + e.pageY;			l = l < c.l ? c.l : c.r < l ? c.r : l;			t = t < c.t ? c.t : c.b < t ? c.b : t;			dojo.marginBox(this.node, {l: l, t: t});		},		onFirstMove: function(){			// summary: called once to initialize things; it is meant to be called only once			dojo.dnd.Mover.prototype.onFirstMove.call(this);			var c = this.constraintBox = fun.call(this), m = this.marginBox;			c.r = c.l + c.w - (within ? m.w : 0);			c.b = c.t + c.h - (within ? m.h : 0);		}	});	return mover;	// Object};
meta: 4497	/local1/tlutelli/issta_data/temp/all_js/javascript/2007_temp/2007/4497/88b70e9100d3f2e6adf8e801ba732dbc1a97b46e/move.js/buggy/dnd/move.js