this.dragObjects.push(tdo); } }, this); 
 tdo.dragOffset.y += dy; tdo.dragOffset.x += dx; tdo.dragSource = tempSource; 
	onMouseMove: function(e){		if((dojo.render.html.ie)&&(e.button != 1)){			// Oooops - mouse up occurred - e.g. when mouse was not over the			// window. I don't think we can detect this for FF - but at least			// we can be nice in IE.			this.currentDropTarget = null;			this.onMouseUp(e, true);			return;		}		// if we've got some sources, but no drag objects, we need to send		// onDragStart to all the right parties and get things lined up for		// drop target detection		if(	(this.selectedSources.length)&&			(!this.dragObjects.length) ){			var dx;			var dy;			if(!this._dragTriggered){				this._dragTriggered = (this._dragStartDistance(e.pageX, e.pageY) > this.threshold);				if(!this._dragTriggered){ return; }				dx = e.pageX - this.mouseDownX;				dy = e.pageY - this.mouseDownY;			}			// the first element is always our dragSource, if there are multiple			// selectedSources (elements that move along) then the first one is the master			// and for it the events will be fired etc.			this.dragSource = this.selectedSources[0];						dojo.lang.forEach(this.selectedSources, function(tempSource){				if(!tempSource){ return; }				var tdo = tempSource.onDragStart(e);				if(tdo){					tdo.onDragStart(e);					// "bump" the drag object to account for the drag threshold					tdo.dragOffset.y += dy;					tdo.dragOffset.x += dx;					tdo.dragSource = tempSource;					this.dragObjects.push(tdo);				}			}, this);			/* clean previous drop target in dragStart */			this.previousDropTarget = null;			this.cacheTargetLocations();		}		// FIXME: we need to add dragSources and dragObjects to e		dojo.lang.forEach(this.dragObjects, function(dragObj){			if(dragObj){ dragObj.onDragMove(e); }		});		// if we have a current drop target, check to see if we're outside of		// it. If so, do all the actions that need doing.		if(this.currentDropTarget){			//dojo.debug(dojo.html.hasParent(this.currentDropTarget.domNode))			var c = dojo.html.toCoordinateObject(this.currentDropTarget.domNode, true);			//		var dtp = this.currentDropTargetPoints;			var dtp = [				[c.x,c.y], [c.x+c.width, c.y+c.height]			];		}		if((!this.nestedTargets)&&(dtp)&&(this.isInsideBox(e, dtp))){			if(this.dropAcceptable){				this.currentDropTarget.onDragMove(e, this.dragObjects);			}		}else{			// FIXME: need to fix the event object!			// see if we can find a better drop target			var bestBox = this.findBestTarget(e);			if(bestBox.target === null){				if(this.currentDropTarget){					this.currentDropTarget.onDragOut(e);					this.previousDropTarget = this.currentDropTarget;					this.currentDropTarget = null;					// this.currentDropTargetPoints = null;				}				this.dropAcceptable = false;				return;			}			if(this.currentDropTarget !== bestBox.target){				if(this.currentDropTarget){					this.previousDropTarget = this.currentDropTarget;					this.currentDropTarget.onDragOut(e);				}				this.currentDropTarget = bestBox.target;				// this.currentDropTargetPoints = bestBox.points;				e.dragObjects = this.dragObjects;				this.dropAcceptable = this.currentDropTarget.onDragOver(e);			}else{				if(this.dropAcceptable){					this.currentDropTarget.onDragMove(e, this.dragObjects);				}			}		}	},
6315	/local1/tlutelli/issta_data/temp/all_js/javascript/2007_temp/2007/6315/2f1d2cb699c9d9329e8b782b0463156e211cb0f6/struts_dojo.js.uncompressed.js/buggy/src/main/resources/org/apache/struts2/static/dojo/struts_dojo.js.uncompressed.js