/* Experimental common javascript RIA library http://github.com/bga/jbasis Copyright (c) 2009-2010, Fyodorov "Bga" Alexander All rights reserved. @license http://github.com/bga/jbasis/blob/master/LICENSE */ if(!("XMLHttpRequest"in window)&&("ActiveXObject"in window)){window.__jb_ieXHR=function(){window.XMLHttpRequest=function(){var a=this;setTimeout(function(){delete a},0);return new ActiveXObject(window.XMLHttpRequest.lastVerProgId_)};XMLHttpRequest.lastVerProgId_=null;(XMLHttpRequest.__findLastMsXmLHttpVerProgId=function(){var a=["Microsoft.XMLHTTP","Msxml2.XMLHTTP","Msxml2.XMLHTTP.4.0","Msxml2.XMLHTTP.3.0","Msxml2.XMLHTTP.5.0","Msxml2.XMLHTTP.6.0","Msxml2.XMLHTTP.7.0"];var i=a.length,xhr=null;while(xhr==null&&i--){try{xhr=new ActiveXObject(a[i])}catch(err){xhr=null}}if(xhr==null){(($jb&&$jb._error)||window.alert)("No Msxml available found! XMLHttpRequest emulation for ie fail.")}else{delete xhr;XMLHttpRequest.lastVerProgId_=a[i]}})();window.__jb_ieXHR=undefined};if(window.$jb!=null&&$jb.Loader!=null){$jb.Loader._scope()._willDeclared("$jb/ieXHR.js")._completed(window.__jb_ieXHR)}else{window.__jb_ieXHR()}} if("XDomainRequest"in window){window.__jb_ieXDRToXHR=function(){var f=window.XMLHttpRequest;window.XMLHttpRequest=function(){this.onreadystatechange=null;this.xhr_=new f();this.xdr_=new window.XDomainRequest();this.readyState=0;this.status=null;this.statusText=null;this.responseText=null;this.onreadystatechange=null;this.getResponseHeader=null;this.getAllResponseHeaders=null;this.setRequestHeader=null;this.abort=null;this.send=null;this.isXDR_=null;var a=this;a.__xdrLoadedBinded=function(){a.__xdrLoaded()};a.__xdrErrorBinded=function(){a.__xdrError()};a.__xdrProgressBinded=function(){a.__xdrProgress()};a.__xhrReadyStateChangedBinded=function(){a.__xhrReadyStateChanged()}};XMLHttpRequest.prototype.open=function(a,b,c,d,e){if(/^([a-z]+):/.test(b)&&b.indexOf(document.domain)==-1){this.isXDR_=true;this.__setXDRActive();this.xdr_.open(a,b)}else{this.isXDR_=false;this.__setXHRActive();this.xhr_.open(a,b,c,d,e)}};XMLHttpRequest.prototype.__xdrGetResponseHeader=function(a){if(a=="Content-Type"&&this.xdr_.contentType>"")return this.xdr_.contentType;return""};XMLHttpRequest.prototype.__xdrGetAllResponseHeaders=function(){return(this.xdr_.contentType>"")?"Content-Type: "+this.xdr_.contentType:""};XMLHttpRequest.prototype.__xdrSetRequestHeader=function(a,b){throw new Error("Request headers not supported");};XMLHttpRequest.prototype.__xdrLoaded=function(){if(this.onreadystatechange!=null){this.readyState=4;this.status=200;this.statusText="OK";this.responseText=this.xdr_.responseText;this.onreadystatechange()}};XMLHttpRequest.prototype.__xdrError=function(){if(this.onreadystatechange!=null){this.readyState=4;this.status=0;this.statusText="";this.responseText="";this.onreadystatechange()}};XMLHttpRequest.prototype.__xdrProgress=function(){if(this.onreadystatechange!=null&&this.status!=3){this.readyState=3;this.status=3;this.statusText="";this.onreadystatechange()}};XMLHttpRequest.prototype.__finalXDRRequest=function(){this.xdr_.onload=this.xdr_.onerror=this.xdr_.onprogress=null};XMLHttpRequest.prototype.__sendXDR=function(a){this.xdr_.onload=this.__xdrLoadedBinded;this.xdr_.onerror=this.xdr_.ontimeout=this.__xdrErrorBinded;this.xdr_.onprogress=this.__xdrProgressBinded;this.responseText=null;this.xdr_.send(a)};XMLHttpRequest.prototype.__abortXDR=function(){this.__finalXDRRequest();this.xdr_.abort()};XMLHttpRequest.prototype.__setXDRActive=function(){this.send=this.__sendXDR;this.abort=this.__abortXDR;this.getResponseHeader=this.__xdrGetResponseHeader;this.getAllResponseHeaders=this.__xdrGetAllResponseHeaders;this.setRequestHeader=this.__xdrSetRequestHeader};XMLHttpRequest.prototype.__xhrGetResponseHeader=function(a){return this.xhr_.getResponseHeader(a)};XMLHttpRequest.prototype.__xhrGetAllResponseHeaders=function(){return this.xhr_.getAllResponseHeaders()};XMLHttpRequest.prototype.__xhrSetRequestHeader=function(a,b){return this.xhr_.setRequestHeader(a,b)};XMLHttpRequest.prototype.__xhrReadyStateChanged=function(){if(this.onreadystatechange!=null&&this.readyState!=this.xhr_.readyState){this.readyState=this.xhr_.readyState;if(this.readyState===4){this.status=this.xhr_.status;this.statusText=this.xhr_.statusText;this.responseText=this.xhr_.responseText}this.onreadystatechange()}};XMLHttpRequest.prototype.__finalXHRRequest=function(){this.xhr_.onreadystatechange=null};XMLHttpRequest.prototype.__abortXHR=function(){this.__finalXHRRequest();this.xhr_.abort()};XMLHttpRequest.prototype.__sendXHR=function(a){this.xhr_.onreadystatechange=this.__xhrReadyStateChangedBinded;this.xhr_.send(a)};XMLHttpRequest.prototype.__setXHRActive=function(){this.send=this.__sendXHR;this.abort=this.__abortXHR;this.getResponseHeader=this.__xhrGetResponseHeader;this.getAllResponseHeaders=this.__xhrGetAllResponseHeaders;this.setRequestHeader=this.__xhrSetRequestHeader};window.__jb_ieXDRToXHR=undefined};if(window.$jb!=null&&$jb.Loader!=null){$jb.Loader._scope()._requireIf("$jb/ieXHR.js",!("XMLHttpRequest"in window))._willDeclared("$jb/ieXDRToXHR.js")._completed(window.__jb_ieXDRToXHR)}else{window.__jb_ieXDRToXHR()}}