function isDocumentOk(http){ var stat = http["status"];  return Boolean((!stat)||((200 <= stat)&&(300 > stat))||(stat==304)); } 
function isDocumentOk(http){ var stat = http["status"];  return Boolean((!stat)||((200 <= stat)&&(300 > stat))||(stat==304)); } 
	dojo.hostenv.getText = function(uri, async_cb, fail_ok){		// summary: Read the contents of the specified uri and return those contents.		// uri:		//		A relative or absolute uri. If absolute, it still must be in		//		the same "domain" as we are.		// async_cb:		//		If not specified, load synchronously. If specified, load		//		asynchronously, and use async_cb as the progress handler which		//		takes the xmlhttp object as its argument. If async_cb, this		//		function returns null.		// fail_ok:		//		Default false. If fail_ok and !async_cb and loading fails,		//		return null instead of throwing.		// need to block async callbacks from snatching this thread as the result		// of an async callback might call another sync XHR, this hangs khtml forever		// hostenv._blockAsync must also be checked in BrowserIO's watchInFlight()		// NOTE: must be declared before scope switches ie. this.getXmlhttpObject()		if(!async_cb){ this._blockAsync = true; }		var http = this.getXmlhttpObject();		function isDocumentOk(http){			var stat = http["status"];			// allow a 304 use cache, needed in konq (is this compliant with the http spec?)			return Boolean((!stat)||((200 <= stat)&&(300 > stat))||(stat==304));		}		if(async_cb){			var _this = this, timer = null, gbl = dojo.global();			var xhr = dojo.evalObjPath("dojo.io.XMLHTTPTransport");			http.onreadystatechange = function(){				if(timer){ gbl.clearTimeout(timer); timer = null; }				if(_this._blockAsync || (xhr && xhr._blockAsync)){					timer = gbl.setTimeout(function () { http.onreadystatechange.apply(this); }, 10);				}else{					if(4==http.readyState){						if(isDocumentOk(http)){							// dojo.debug("LOADED URI: "+uri);							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; // String	}
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