
vjo.itype("vjo.dsf.IBinding").protos({serialize:function(_1){},deserialize:function(_2){}}).endType();
vjo.needs("vjo.dsf.Json");vjo.ctype("vjo.dsf.JsonBinding").satisfies("vjo.dsf.IBinding").needs("vjo.dsf.Error").needs("vjo.dsf.SvcErr").needs("vjo.dsf.Message").needs("vjo.util.List").needs("vjo.util.Map").needs("vjo.dsf.ServiceResponse").needs("vjo.dsf.Service").needs("vjo.dsf.Enc").protos({serialize:function(_1){var _2="";_2+=vjo.dsf.Service.generateReqParams(_1);_2+=vjo.dsf.Enc.encodeURIComponent(JSON.stringify(_1.request));_1.rawRequest=_2;return _2;},deserialize:function(_3){var _4=_3.response.data;try{_3.response=eval("("+_4+")");this.addMethods(_3.response,vjo.dsf.ServiceResponse.prototype.addError);if(_3.response.data){this.processObj(_3.response.data);}}
catch(e){var _5=new vjo.dsf.Error();_5.id=vjo.dsf.SvcErr.Prs;_5.message="marshalling="+_3.svcConfig.respMarshalling+":responseText="+_4;_3.response.addError(_5);}},processObj:function(_6){var _7=_6.javaClass;if(_7&&_7.length>0){if(/java.util.([^\s])*List/.test(_7)){this.addMethods(_6,vjo.util.List.prototype);}else{if(/java.util.([^\s])*Map/.test(_7)){this.addMethods(_6,vjo.util.Map.prototype);}}}},addMethods:function(_8,_9){for(var _a in _9){_8[_a]=_9[_a];}}}).endType();
vjo.ctype("vjo.dsf.NvBinding").satisfies("vjo.dsf.IBinding").needs("vjo.dsf.Service").needs("vjo.dsf.Enc").protos({serialize:function(_1){_1.rawRequest=vjo.dsf.Service.generateReqParams(_1)+vjo.dsf.Enc.encodeURIComponent(_1.request);return _1.rawRequest;},deserialize:function(_2){}}).endType();
vjo.ctype("vjo.dsf.XhrTransport").satisfies("vjo.dsf.ITransport").needs("vjo.dsf.Message").needs("vjo.dsf.Service").protos({processed:[],timerCount:0,reqTimers:[],handleRequest:function(_1,_2){this.remoteTrspHdl(_1);var _3=vjo.dsf.Service,xmlHttpReq=_3.getXmlHttpReq(),requestUrl=this.appendPort80ForSafari(document.location.href,_1.svcConfig.url),cfg=_1.svcConfig;_1.status=-1;try{var _4=(cfg.async===false)?false:true;xmlHttpReq.open(cfg.method,requestUrl,_4);var _5=this.timerCount++;if(_4){this.setupReadyState(xmlHttpReq,_1,_5);}
if(cfg.method=="POST"){xmlHttpReq.setRequestHeader("Content-Type","application/x-www-form-urlencoded");xmlHttpReq.setRequestHeader("Content-Length",_1.rawRequest.length);if(_1.headers!=="undefined"&&_1.headers){var i=0;for(var m in _1.headers){xmlHttpReq.setRequestHeader(m,_1.headers[m]);}}
xmlHttpReq.send(_1.rawRequest);}else{xmlHttpReq.send(null);}
if(!_4&&!this.checkAndSetProcessed(_5)){vjo.dsf.Service.callback(xmlHttpReq,_1);}else{if(cfg.timeout){var _8=this;this.reqTimers[_5]=window.setTimeout(function(){_8.timeout(xmlHttpReq,_1,_5);},cfg.timeout);}}}
catch(e){vjo.dsf.SvcErr.err(_1,vjo.dsf.SvcErr.InvRq,"Cannot open URL '"+requestUrl+"'");}},setupReadyState:function(_9,_a,_b){var _c=this;_9.onreadystatechange=function(){if(_9.readyState!=4){return;}
if(_c.checkAndSetProcessed(_b)){return;}
var _d=_c.reqTimers[_b];if(_d){window.clearTimeout(_d);delete _c.reqTimers[_b];}
vjo.dsf.Service.callback(_9,_a);};},timeout:function(_e,_f,idx){if(this.checkAndSetProcessed(idx)){return;}
delete _e.onreadystatechange;_e.abort();delete this.reqTimers[idx];vjo.dsf.SvcErr.err(_f,vjo.dsf.SvcErr.TO,"Timed out:"+_f.svcConfig.timeout);vjo.dsf.ServiceEngine.handleResponse(_f);},checkAndSetProcessed:function(idx){if(this.processed[idx]){return true;}
this.processed[idx]=true;return false;},remoteTrspHdl:function(_12){var cfg=_12.svcConfig;if(!cfg||cfg.objType!="dsf_SvcConfig"){return;}else{if(cfg.respMarshalling=="JSCALLBACK"){if(typeof vjo.dsf.assembly!="undefined"&&typeof vjo.dsf.assembly.VjClientAssembler!="undefined"&&!vjo.dsf.assembly.VjClientAssembler.bBodyLoaded){vjo.dsf.assembly.VjClientAssembler.load(_12);_12.status=-1;return;}}}
if(_12.request&&_12.request.javaClass){delete _12.request.b;}
var svc=vjo.dsf.Service,requestUrl=cfg.url;if(_12.svcConfig.method=="GET"){requestUrl=requestUrl+"?"+_12.rawRequest;}else{if(!_12.rawRequest){var _15=svc.generateReqParams(_12);_12.rawRequest=_15;}}
_12.svcConfig.url=requestUrl;},appendPort80ForSafari:function(_16,_17){try{if(navigator.userAgent.toLowerCase().indexOf("safari")>=0){var _18="(([^:]*)://([^:/?]*)(:([0-9]+))?)?([^?#]*)([?]([^#]*))?(#(.*))?",ajaxUrl=_17,safariIssuePort="80";var _19=_16.match(_18);if(_19&&_19.length>=5&&_19[5]&&_19[5]==safariIssuePort){var _1a=ajaxUrl.match(_18);if(_1a&&_1a[2]&&_1a[2].length>0){if(_1a[5]&&_1a[5].length>0){}else{var _1b="";if(_1a[2]){_1b+=_1a[2]+"://";}
if(_1a[3]){_1b+=_1a[3]+":"+safariIssuePort;}
if(_1a[6]){_1b+=_1a[6];}
if(_1a[8]){_1b+="?"+_1a[8];}
if(_1a[10]){_1b+="#"+_1a[10];}
_17=_1b;}}}}}
catch(e){}
return _17;}}).endType();
// fr_BE/e653i/SYS-D9_vjo_e653i10551504_opta_fr_BE
// b=10551504