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/65ae7e8768a77997b7894e274bc242069a1cb027/struts_dojo.js.uncompressed.js/clean/src/main/resources/org/apache/struts2/static/dojo/struts_dojo.js.uncompressed.js