add:  d._println = console.debug;   d._XMLHTTP_PROGIDS = ['Msxml2.XMLHTTP', 'Microsoft.XMLHTTP', 'Msxml2.XMLHTTP.4.0'];  d._xhrObj= function(){    var http = null; var last_e = null; try{ http = new XMLHttpRequest(); }catch(e){} if(!http){ for(var i=0; i<3; ++i){ var progid = dojo._XMLHTTP_PROGIDS[i]; try{ http = new ActiveXObject(progid); }catch(e){ last_e = e; }  if(http){ dojo._XMLHTTP_PROGIDS = [progid]; break; } }  /*if(http && !http.toString) { http.toString = function() { "[object XMLHttpRequest]"; } }*/ }  if(!http){ throw new Error("XMLHTTP not available: "+last_e); }  return http; }  var isDocumentOk = function(http){ var stat = http["status"];   return Boolean((!stat)||((200 <= stat)&&(300 > stat))||(stat==304)); }  d._blockAsync = false; d._getText = function(uri, async_cb, fail_ok){                  if(!async_cb){ this._blockAsync = true; }  var http = this._xhrObj();  if(async_cb){ var _this = this, timer = null, gbl = dojo.global(); http.onreadystatechange = function(){ if(timer){ gbl.clearTimeout(timer); timer = null; } if(_this._blockAsync){ timer = gbl.setTimeout(function(){ http.onreadystatechange.apply(this); }, 10); }else{ if(4==http.readyState){ if(isDocumentOk(http)){  async_cb(http.responseText); } } } } }  http.open('GET', uri, async_cb ? true : false); try{ http.send(null); if(async_cb){ return null; } if(!isDocumentOk(http)){ var err = Error("Unable to load "+uri+" status:"+ http.status); err.status = http.status; err.responseText = http.responseText; throw err; } }catch(e){ this._blockAsync = false; if((fail_ok)&&(!async_cb)){ return null; }else{ throw e; } }  this._blockAsync = false; return http.responseText; } 
context: 	(function(){		var d = dojo;		// this is a scope protection closure. We set browser versions and grab		// the URL we were loaded from here.		// grab the node we were loaded from		if(document && document.getElementsByTagName){			var scripts = document.getElementsByTagName("script");			var rePkg = /dojo\.js([\?\.]|$)/i;			for(var i = 0; i < scripts.length; i++){				var src = scripts[i].getAttribute("src");				if(!src){ continue; }				var m = src.match(rePkg);				if(m){					// find out where we came from					if(!djConfig["baseUrl"]){						djConfig["baseUrl"] = src.substring(0, m.index);					}					// and find out if we need to modify our behavior					var cfg = scripts[i].getAttribute("djConfig");					if(cfg){						var cfgo = eval("({ "+cfg+" })");						for(var x in cfgo){							djConfig[x] = cfgo[x];						}					}					break; // "first Dojo wins"				}			}		}		d._baseUrl = djConfig["baseUrl"];		// fill in the rendering support information in dojo.render.*		var n = navigator;		var dua = n.userAgent;		var dav = n.appVersion;		var tv = parseFloat(dav);		d.isOpera = (dua.indexOf("Opera") >= 0) ? tv : 0;		d.isKhtml = (dav.indexOf("Konqueror") >= 0)||(dav.indexOf("Safari") >= 0) ? tv : 0;		d.isSafari = (dav.indexOf("Safari") >= 0) ? tv : 0;		var geckoPos = dua.indexOf("Gecko");		d.isMozilla = d.isMoz = ((geckoPos >= 0)&&(!d.isKhtml)) ? tv : 0;		d.isIE = ((document.all)&&(!d.isOpera)) ? tv : 0;		var cm = document["compatMode"];		d.isQuirks = (cm == "BackCompat")||(cm == "QuirksMode")||(d.isIE < 6);		// TODO: is the HTML LANG attribute relevant?		d.locale = d.locale || (d.isIE ? n.userLanguage : n.language).toLowerCase();	})();
meta: 4497	/local1/tlutelli/issta_data/temp/all_js/javascript/2007_temp/2007/4497/398bdd09f2eb9379bbf1df25ea5084841f8ce399/hostenv_browser.js/buggy/_base/_loader/hostenv_browser.js