rem:         if(!params){ params = {}; } this.isSource = typeof params.isSource == "undefined" ? true : params.isSource; var type = params.accept instanceof Array ? params.accept : ["text"]; this.accept = null; if(type.length){ this.accept = {}; for(var i = 0; i < type.length; ++i){ this.accept[type[i]] = 1; } } this.horizontal = params.horizontal; this.copyOnly = params.copyOnly;  this.isDragging = false; this.mouseDown = false; this.targetAnchor = null; this.targetBox = null; this.before = true;  this.sourceState  = ""; if(this.isSource){ dojo.addClass(this.node, "dojoDndSource"); } this.targetState  = ""; if(this.accept){ dojo.addClass(this.node, "dojoDndTarget"); } if(this.horizontal){ dojo.addClass(this.node, "dojoDndHorizontal"); }  this.topics = [ dojo.subscribe("/dnd/source/over", this, "onDndSourceOver"), dojo.subscribe("/dnd/start",  this, "onDndStart"), dojo.subscribe("/dnd/drop",   this, "onDndDrop"), dojo.subscribe("/dnd/cancel", this, "onDndCancel") ]; 
add:  this.isSource = false; dojo.removeClass(this.node, "dojoDndSource"); 
context: function(node, params){	// summary: a constructor of the Source	// node: Node: node or node's id to build the source on	// params: Object: a dict of parameters, recognized parameters are:	//	isSource: Boolean: can be used as a DnD source, if true; assumed to be "true" if omitted	//	accept: Array: list of accepted types (text strings) for a target; assumed to be ["text"] if omitted	//	horizontal: Boolean: a horizontal container, if true, vertical otherwise or when omitted	//	copyOnly: Boolean: always copy items, if true, use a state of Ctrl key otherwise	//	the rest of parameters are passed to the selector	if(!params){ params = {}; }	this.isSource = typeof params.isSource == "undefined" ? true : params.isSource;	var type = params.accept instanceof Array ? params.accept : ["text"];	this.accept = null;	if(type.length){		this.accept = {};		for(var i = 0; i < type.length; ++i){			this.accept[type[i]] = 1;		}	}	this.horizontal = params.horizontal;	this.copyOnly = params.copyOnly;	// class-specific variables	this.isDragging = false;	this.mouseDown = false;	this.targetAnchor = null;	this.targetBox = null;	this.before = true;	// states	this.sourceState  = "";	if(this.isSource){		dojo.addClass(this.node, "dojoDndSource");	}	this.targetState  = "";	if(this.accept){		dojo.addClass(this.node, "dojoDndTarget");	}	if(this.horizontal){		dojo.addClass(this.node, "dojoDndHorizontal");	}	// set up events	this.topics = [		dojo.subscribe("/dnd/source/over", this, "onDndSourceOver"),		dojo.subscribe("/dnd/start",  this, "onDndStart"),		dojo.subscribe("/dnd/drop",   this, "onDndDrop"),		dojo.subscribe("/dnd/cancel", this, "onDndCancel")	];},
meta: 4497	/local1/tlutelli/issta_data/temp/all_js/javascript/2007_temp/2007/4497/4522b0bb856ee25030b05400284d3585cee0f362/source.js/buggy/dnd/source.js