       var re = /(dojoOn([a-z]+)(\s?))=/gi; var evts = str ? str.match(re)||[] : []; var ret = []; var lem = {}; for(var x=0; x<evts.length; x++){ if(evts[x].length < 1){ continue; } var cm = evts[x].replace(/\s/, ""); cm = (cm.slice(0, cm.length-1)); if(!lem[cm]){ lem[cm] = true; ret.push(cm); } } return ret; 
       var re = /(dojoOn([a-z]+)(\s?))=/gi; var evts = str ? str.match(re)||[] : []; var ret = []; var lem = {}; for(var x=0; x<evts.length; x++){ if(evts[x].length < 1){ continue; } var cm = evts[x].replace(/\s/, ""); cm = (cm.slice(0, cm.length-1)); if(!lem[cm]){ lem[cm] = true; ret.push(cm); } } return ret; 
dojo.widget.getDojoEventsFromStr = function(str){	// summary:	//		generates a list of properties with names that match the form	//		dojoOn*	// str: String	//		the template string to search		// var lstr = str.toLowerCase();	var re = /(dojoOn([a-z]+)(\s?))=/gi;	var evts = str ? str.match(re)||[] : [];	var ret = [];	var lem = {};	for(var x=0; x<evts.length; x++){		if(evts[x].length < 1){ continue; }		var cm = evts[x].replace(/\s/, "");		cm = (cm.slice(0, cm.length-1));		if(!lem[cm]){			lem[cm] = true;			ret.push(cm);		}	}	return ret; // Array}
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