if(!ok && !omitModuleCheck){ dojo.raise("Could not load '" + moduleName + "'; last tried '" + relpath + "'"); } } 
var syms = this.getModuleSymbols(moduleName); var startedRelative = ((syms[0].charAt(0) != '/') && !syms[0].match(/^\w+:/)); var last = syms[syms.length - 1]; var ok;   if(last=="*"){ moduleName = nsyms.slice(0, -1).join('.'); while(syms.length){ syms.pop(); syms.push(this.pkgFileName); relpath = syms.join("/") + '.js'; if(startedRelative && relpath.charAt(0)=="/"){ relpath = relpath.slice(1); } ok = this.loadPath(relpath, !omitModuleCheck ? moduleName : null); if(ok){ break; } syms.pop(); } }else{ relpath = syms.join("/") + '.js'; moduleName = nsyms.join('.'); var modArg = !omitModuleCheck ? moduleName : null; ok = this.loadPath(relpath, modArg); if(!ok && !exactOnly){ syms.pop(); while(syms.length){ relpath = syms.join('/') + '.js'; ok = this.loadPath(relpath, modArg); if(ok){ break; } syms.pop(); relpath = syms.join('/') + '/'+this.pkgFileName+'.js'; if(startedRelative && relpath.charAt(0)=="/"){ relpath = relpath.slice(1); } ok = this.loadPath(relpath, modArg); if(ok){ break; } } } 
dojo.hostenv.loadModule = function(/*String*/moduleName, /*Boolean?*/exactOnly, /*Boolean?*/omitModuleCheck){// summary://	loads a Javascript module from the appropriate URI//// description://	loadModule("A.B") first checks to see if symbol A.B is defined. //	If it is, it is simply returned (nothing to do).//	//	If it is not defined, it will look for "A/B.js" in the script root directory,//	followed by "A.js".//	//	It throws if it cannot find a file to load, or if the symbol A.B is not//	defined after loading.//	//	It returns the object A.B.//	//	This does nothing about importing symbols into the current package.//	It is presumed that the caller will take care of that. For example, to import//	all symbols://	//	   with (dojo.hostenv.loadModule("A.B")) {//	      ...//	   }//	//	And to import just the leaf symbol://	//	   var B = dojo.hostenv.loadModule("A.B");//	   ...//	//	dj_load is an alias for dojo.hostenv.loadModule	if(!moduleName){ return; }	omitModuleCheck = this._global_omit_module_check || omitModuleCheck;	var module = this.findModule(moduleName, false);	if(module){		return module;	}	// protect against infinite recursion from mutual dependencies	if(dj_undef(moduleName, this.loading_modules_)){		this.addedToLoadingCount.push(moduleName);	}	this.loading_modules_[moduleName] = 1;	// convert periods to slashes	var relpath = moduleName.replace(/\./g, '/') + '.js';	var nsyms = moduleName.split(".");		// this line allowed loading of a module manifest as if it were a namespace	// it's an interesting idea, but shouldn't be combined with 'namespaces' proper	// and leads to unwanted dependencies	// the effect can be achieved in other (albeit less-flexible) ways now, so I am	// removing this pending further design work	// perhaps we can explicitly define this idea of a 'module manifest', and subclass	// 'namespace manifest' from that	//dojo.getNamespace(nsyms[0]);	var syms = this.getModuleSymbols(moduleName);	var startedRelative = ((syms[0].charAt(0) != '/') && !syms[0].match(/^\w+:/));	var last = syms[syms.length - 1];	var ok;	// figure out if we're looking for a full package, if so, we want to do	// things slightly diffrently	if(last=="*"){		moduleName = nsyms.slice(0, -1).join('.');		while(syms.length){			syms.pop();			syms.push(this.pkgFileName);			relpath = syms.join("/") + '.js';			if(startedRelative && relpath.charAt(0)=="/"){				relpath = relpath.slice(1);			}			ok = this.loadPath(relpath, !omitModuleCheck ? moduleName : null);			if(ok){ break; }			syms.pop();		}	}else{		relpath = syms.join("/") + '.js';		moduleName = nsyms.join('.');		var modArg = !omitModuleCheck ? moduleName : null;		ok = this.loadPath(relpath, modArg);		if(!ok && !exactOnly){			syms.pop();			while(syms.length){				relpath = syms.join('/') + '.js';				ok = this.loadPath(relpath, modArg);				if(ok){ break; }				syms.pop();				relpath = syms.join('/') + '/'+this.pkgFileName+'.js';				if(startedRelative && relpath.charAt(0)=="/"){					relpath = relpath.slice(1);				}				ok = this.loadPath(relpath, modArg);				if(ok){ break; }			}		}		if(!ok && !omitModuleCheck){			dojo.raise("Could not load '" + moduleName + "'; last tried '" + relpath + "'");		}	}	// check that the symbol was defined	//Don't bother if we're doing xdomain (asynchronous) loading.	if(!omitModuleCheck && !this["isXDomain"]){		// pass in false so we can give better error		module = this.findModule(moduleName, false);		if(!module){			dojo.raise("symbol '" + moduleName + "' is not defined after loading '" + relpath + "'"); 		}	}	return module;}
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