rem:  if(!/(^|\s+)dojoDndHorizontal(\s+|$)/.test(this.node.className)){ this.node.className += " dojoDndHorizontal"; } 
add: dojo.addClass(this.node, "dojoDndHorizontal"); 
context: function(node, params){	// summary: a constructor of the Selector	// 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	//	the rest of parameters are passed to the selector	if(!params){ params = {}; }	this.isSource = typeof params.isSource == "undefined" ? true : params.isSource;	var types = params.accept instanceof Array ? params.accept : ["text"];	this.accept = null;	if(types.length){		this.accept = {};		for(var i = 0; i < types.length; ++i){			this.accept[types[i]] = 1;		}	}	this.horizontal = params.horizontal;	// 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.html.addClass(this.node, "dojoDndSource");		if(!/(^|\s+)dojoDndSource(\s+|$)/.test(this.node.className)){			this.node.className += " dojoDndSource";		}	}	this.targetState  = "";	if(this.accept){		//dojo.html.addClass(this.node, "dojoDndTarget");		if(!/(^|\s+)dojoDndTarget(\s+|$)/.test(this.node.className)){			this.node.className += " dojoDndTarget";		}	}	if(this.horizontal){		//dojo.html.addClass(this.node, "dojoDndHorizontal");		if(!/(^|\s+)dojoDndHorizontal(\s+|$)/.test(this.node.className)){			this.node.className += " dojoDndHorizontal";		}	}	// set up events	this.topics = {		dndSourceOver:	dojo.subscribe("dndSourceOver", this, "onDndSourceOver"),		dndStart:		dojo.subscribe("dndStart",  this, "onDndStart"),		dndDrop:		dojo.subscribe("dndDrop",   this, "onDndDrop"),		dndCnacel:		dojo.subscribe("dndCancel", this, "onDndCancel")	};},
meta: 4497	/local1/tlutelli/issta_data/temp/all_js/javascript/2007_temp/2007/4497/5ead1799efeb26da424b23141e8b28467b5bc6f0/source.js/clean/dnd/source.js