1var Base64={_keyStr:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",encode:function(input){var output="";var chr1,chr2,chr3,enc1,enc2,enc3,enc4;var i=0;input=Base64._utf8_encode(input);while(i<input.length){chr1=input.charCodeAt(i++);chr2=input.charCodeAt(i++);chr3=input.charCodeAt(i++);enc1=chr1>>2;enc2=((chr1&3)<<4)|(chr2>>4);enc3=((chr2&15)<<2)|(chr3>>6);enc4=chr3&63;if(isNaN(chr2)){enc3=enc4=64;}else if(isNaN(chr3)){enc4=64;} 2output=output+ 3this._keyStr.charAt(enc1)+this._keyStr.charAt(enc2)+ 4this._keyStr.charAt(enc3)+this._keyStr.charAt(enc4);} 5return output;},decode:function(input){var output="";var chr1,chr2,chr3;var enc1,enc2,enc3,enc4;var i=0;input=input.replace(/[^A-Za-z0-9\+\/\=]/g,"");while(i<input.length){enc1=this._keyStr.indexOf(input.charAt(i++));enc2=this._keyStr.indexOf(input.charAt(i++));enc3=this._keyStr.indexOf(input.charAt(i++));enc4=this._keyStr.indexOf(input.charAt(i++));chr1=(enc1<<2)|(enc2>>4);chr2=((enc2&15)<<4)|(enc3>>2);chr3=((enc3&3)<<6)|enc4;output=output+String.fromCharCode(chr1);if(enc3!=64){output=output+String.fromCharCode(chr2);} 6if(enc4!=64){output=output+String.fromCharCode(chr3);}} 7output=Base64._utf8_decode(output);return output;},_utf8_encode:function(string){string=string.replace(/\r\n/g,"\n");var utftext="";for(var n=0;n<string.length;n++){var c=string.charCodeAt(n);if(c<128){utftext+=String.fromCharCode(c);} 8else if((c>127)&&(c<2048)){utftext+=String.fromCharCode((c>>6)|192);utftext+=String.fromCharCode((c&63)|128);} 9else{utftext+=String.fromCharCode((c>>12)|224);utftext+=String.fromCharCode(((c>>6)&63)|128);
9utftext+=String.fromCharCode((c&63)|128);}} 10return utftext;},_utf8_decode:function(utftext){var string="";var i=0;var c=c1=c2=0;while(i<utftext.length){c=utftext.charCodeAt(i);if(c<128){string+=String.fromCharCode(c);i++;} 11else if((c>191)&&(c<224)){c2=utftext.charCodeAt(i+1);string+=String.fromCharCode(((c&31)<<6)|(c2&63));i+=2;} 12else{c2=utftext.charCodeAt(i+1);c3=utftext.charCodeAt(i+2);string+=String.fromCharCode(((c&15)<<12)|((c2&63)<<6)|(c3&63));i+=3;}} 13return string;}};var CryptoJS=CryptoJS||function(h,s){var f={},t=f.lib={},g=function(){},j=t.Base={extend:function(a){g.prototype=this;var c=new g;a&&c.mixIn(a);c.hasOwnProperty("init")||(c.init=function(){c.$super.init.apply(this,arguments)});c.init.prototype=c;c.$super=this;return c},create:function(){var a=this.extend();a.init.apply(a,arguments);return a},init:function(){},mixIn:function(a){for(var c in a)a.hasOwnProperty(c)&&(this[c]=a[c]);a.hasOwnProperty("toString")&&(this.toString=a.toString)},clone:function(){return this.init.prototype.extend(this)}},q=t.WordArray=j.extend({init:function(a,c){a=this.words=a||[];this.sigBytes=c!=s?c:4*a.length},toString:function(a){return(a||u).stringify(this)},concat:function(a){var c=this.words,d=a.words,b=this.sigBytes;a=a.sigBytes;this.clamp();if(b%4)for(var e=0;e<a;e++)c[b+e>>>2]|=(d[e>>>2]>>>24-8*(e%4)&255)<<24-8*((b+e)%4);else if(65535<d.length)for(e=0;e<a;e+=4)c[b+e>>>2]=d[e>>>2];else c.push.apply(c,d);this.sigBytes+=a;return this},clamp:function(){var a=this.words,c=this.sigBytes;a[c>>>2]&=4294967295<<32-8*(c%4);a.length=h.ceil(c/4)},clone:function(){var a=j.clone.call(this);a.words=this.words.slice(0);return a},random:function(a){for(var c=[],d=0;d<a;d+=4)c.push(4294967296*h.random()|0);return new q.init(c,a)}}),v=f.enc={},u=v.Hex={stringify:function(a){var c=a.words;a=a.sigBytes;for(var d=[],b=0;b<a;b++){var e=c[b>>>2]>>>24-8*(b%4)&255;d.push((e>>>4).toString(16));d.push((e&15).toString(16))}return d.join("")},parse:function(a){for(var c=a.length,d=[],b=0;b<c;b+=2)d[b>>>3]|=parseInt(a.substr(b,2),16)<<24-4*(b%8);return new q.init(d,c/2)}},k=v.Latin1={stringify:function(a){var c=a.words;a=a.sigBytes;for(var d=[],b=0;b<a;b++)d.push(String.fromCharCode(c[b>>>2]>>>24-8*(b%4)&255));return d.join("")},parse:function(a){for(var c=a.length,d=[],b=0;b<c;b++)d[b>>>2]|=(a.charCodeAt(b)&255)<<24-8*(b%4);return new q.init(d,c)}},l=v.Utf8={stringify:function(a){try{return decodeURIComponent(escape(k.stringify(a)))}catch(c){throw Error("Malformed UTF-8 data");}},parse:function(a){return k.parse(unescape(encodeURIComponent(a)))}},x=t.BufferedBlockAlgorithm=j.extend({reset:function(){this._data=new q.init;this._nDataBytes=0},_append:function(a){"string"==typeof a&&(a=l.parse(a));this._data.concat(a);this._nDataBytes+=a.sigBytes},_process:function(a){var c=this._data,d=c.words,b=c.sigBytes,e=this.blockSize,f=b/(4*e),f=a?h.ceil(f):h.max((f|0)-this._minBufferSize,0);a=f*e;b=h.min(4*a,b);if(a){for(var m=0;m<a;m+=e)this._doProcessBlock(d,m);m=d.splice(0,a);c.sigBytes-=b}return new q.init(m,b)},clone:function(){var a=j.clone.call(this);a._data=this._data.clone();return a},_minBufferSize:0});t.Hasher=x.extend({cfg:j.extend(),init:function(a){this.cfg=this.cfg.extend(a);this.reset()},reset:function(){x.reset.call(this);this._doReset()},update:function(a){this._append(a);this._process();return this},finalize:function(a){a&&this._append(a);return this._doFinalize()},blockSize:16,_createHelper:function(a){return function(c,d){return(new a.init(d)).finalize(c)}},_createHmacHelper:function(a){return function(c,d){return(new w.HMAC.init(a,d)).finalize(c)}}});var w=f.algo={};return f}(Math);(function(h){for(var s=CryptoJS,f=s.lib,t=f.WordArray,g=f.Hasher,f=s.algo,j=[],q=[],v=function(a){return 4294967296*(a-(a|0))|0},u=2,k=0;64>k;){var l;a:{l=u;for(var x=h.sqrt(l),w=2;w<=x;w++)if(!(l%w)){l=!1;break a}l=!0}l&&(8>k&&(j[k]=v(h.pow(u,0.5))),q[k]=v(h.pow(u,1/3)),k++);u++}var a=[],f=f.SHA256=g.extend({_doReset:function(){this._hash=new t.init(j.slice(0))},_doProcessBlock:function(c,d){for(var b=this._hash.words,e=b[0],f=b[1],m=b[2],h=b[3],p=b[4],j=b[5],k=b[6],l=b[7],n=0;64>n;n++){if(16>n)a[n]=c[d+n]|0;else{var r=a[n-15],g=a[n-2];a[n]=((r<<25|r>>>7)^(r<<14|r>>>18)^r>>>3)+a[n-7]+((g<<15|g>>>17)^(g<<13|g>>>19)^g>>>10)+a[n-16]}r=l+((p<<26|p>>>6)^(p<<21|p>>>11)^(p<<7|p>>>25))+(p&j^~p&k)+q[n]+a[n];g=((e<<30|e>>>2)^(e<<19|e>>>13)^(e<<10|e>>>22))+(e&f^e&m^f&m);l=k;k=j;j=p;p=h+r|0;h=m;m=f;f=e;e=r+g|0}b[0]=b[0]+e|0;b[1]=b[1]+f|0;b[2]=b[2]+m|0;b[3]=b[3]+h|0;b[4]=b[4]+p|0;b[5]=b[5]+j|0;b[6]=b[6]+k|0;b[7]=b[7]+l|0},_doFinalize:function(){var a=this._data,d=a.words,b=8*this._nDataBytes,e=8*a.sigBytes;d[e>>>5]|=128<<24-e%32;d[(e+64>>>9<<4)+14]=h.floor(b/4294967296);d[(e+64>>>9<<4)+15]=b;a.sigBytes=4*d.length;this._process();return this._hash},clone:function(){var a=g.clone.call(this);a._hash=this._hash.clone();return a}});s.SHA256=g._createHelper(f);s.HmacSHA256=g._createHmacHelper(f)})(Math);var sha256=sha256||function(str){return CryptoJS.SHA256(str).toString();};(function($){var defaultParams={"ajax":"true"};$.ajaxPrefilter(function(options,originalOptions,jqXHR){if(options.data instanceof FormData){for(var n in defaultParams){options.data.append(n,defaultParams[n]);}}else{var params=options.data||"";if(params!=""){params+="&";} 14params+=$.param(defaultParams);options.data=params;} 15if($.cookie("debugmode")){jqXHR.always(function(data,textStatus,jqXHR){console.groupCollapsed('Ajax data');console.dir(data);console.groupEnd();});} 16jqXHR.then(function(data,textStatus,jqXHR){var cancelExecution=false;try{var json=$.parseJSON(data);if($.isPlainObject(json)){if(json.logoff){if(json.message) 17alert(json.message);cancelExecution=true;window.location=json.url?json.url:window.location;}}}catch(err){} 18if(cancelExecution){$.error("User isn't logged in.");}});});})(jQuery);class JsRequest{static debugMode=false;static handleErrors=true;static showLoader=true;constructor(url,data){if(typeof url==='object'){this._data=url;this._url=null;}else{this._data=data;this._url=url;} 19if(typeof this._data!=='object'){this._data={};} 20if(this._data instanceof FormData){this._data.append("ajax","true");}else{this._data.ajax=true;} 21this._responseData=null;this._formData=null;this._abortController=null;this._loader=null;this._idle=true;this._allowSimultaneousRequests=false;this._events={'start':[],'error':[],'success':[],'finally':[]};} 22setUrl(url){this._url=url;return this;} 23setLoader(enable){this._loader=enable;return this;} 24setTypeDefault(){this._type=null;return this;} 25setTypeJSON(){this._type="json";return this;} 26setAllowSimultaneousRequests(allow){this._allowSimultaneousRequests=!!allow;return this;} 27setData(key,value,replaceFormData=true){if(key instanceof FormData){for(let[k,v]of key.entr
27ies()){this.setData(k,v);} 28return this;}else if(typeof key==='object'){for(let k in key){this.setData(k,key[k]);} 29return this;} 30if(this._data instanceof FormData){if(replaceFormData){this._data.delete(key);} 31this._data.append(key,value);}else{this._data[key]=value;} 32return this;} 33removeData(key){if(this._data instanceof FormData){this._data.delete(key);}else{delete this._data[key];} 34return this;} 35on(event,callback){if(this._events[event]){this._events[event].push(callback);} 36return this;} 37off(event,callback){if(this._events[event]){this._events[event]=this._events[event].filter(cb=>cb!==callback);} 38return this;} 39_triggerEvent(event){if(this._events[event]){this._events[event].forEach(callback=>callback(this));}} 40post(handler){this._method="POST";return this._fetch(handler);} 41get(handler){this._method="GET";return this._fetch(handler);} 42form(formElement,handler,submitImmediately){this._method="POST";if(!(formElement instanceof HTMLElement)){formElement=document.querySelector(formElement);} 43formElement.addEventListener("submit",(event)=>{event.preventDefault();if(!formElement.checkValidity()){formElement.reportValidity();return;} 44this._formData=new FormData(formElement);this._fetch(handler);});if(submitImmediately){JsRequest.dispatchSubmit(formElement);} 45return this;} 46static dispatchSubmit(formElement){if(!(formElement instanceof HTMLElement)){formElement=document.querySelector(formElement);} 47formElement.dispatchEvent(new Event("submit",{cancelable:true}));} 48put(handler){this._method="PUT";return this._fetch(handler);} 49delete(handler){this._method="DELETE";return this._fetch(handler);} 50abort(){if(this._abortController){this._abortController.abort();this._abortController=null;} 51return this;} 52isSuccess(){if(!this._responseData){return null;} 53if(typeof this._responseData==='object'){return this._responseData.status==="success";} 54return true;} 55isFailed(){if(!this._responseData){return null;} 56if(typeof this._responseData==='object'){return this._responseData.status==="failed";} 57return true;} 58getResponseData(){return this._responseData;} 59async _fetch(handler){this._responseData=null;if(!this._allowSimultaneousRequests&&!this._idle){console.warn("JsRequest: Prevented simultaneous request");return false;} 60this._idle=false;const options=this._setupRequest();this._triggerEvent('start');let loader;const showLoader=this._loader===undefined||this._loader===null?JsRequest.showLoader:!!this._loader;if(showLoader&&Loader){loader=new Loader().start();} 61try{const response=await fetch(options.url,options);await this._parseResponse(response);const successData=this._handleResponse();if(loader){loader.stop();} 62if(handler){handler(successData);} 63this._triggerEvent('success');}catch(error){if(JsRequest.debugMode){console.groupCollapsed('JsRequest Caught response');console.log(this._responseBackup);console.groupEnd();} 64if(loader){loader.stop();} 65try{this._triggerEvent('error');}catch(e){} 66if(JsRequest.handleErrors===undefined||JsRequest.handleErrors===true){this._handleError(error);throw error;}}finally{this._idle=true;this._triggerEvent('finally');} 67return this._responseData;} 68_setupRequest(){let options={method:this._method,url:(this._url?this._url:window.location.href)};const originalData=this._data;let bodyData=null;if(this._formData){this._data=this._formData;this.setData(originalData);} 69if(this._data instanceof FormData){bodyData=this._data;}else if(this._type==="json"){options.headers={'Content-Type':'application/json'};bodyData=JSON.stringify(this._data);}else{options.headers={'Content-Type':'application/x-www-form-urlencoded'};bodyData=new URLSearchParams(this._data).toString();} 70if(this._method==='GET'&&bodyData){const separator=options.url.includes('?')?'&':'?';options.url+=separator+bodyData;}else{options.body=bodyData;} 71if(this._formData){this._data=originalData;} 72if(!this._abortController){this._abortController=new AbortController();} 73options.signal=this._abortController.signal;return options;} 74async _parseResponse(response){if(!response.ok){throw new JsRequestError(`Error ${response.status} while loading the page.`,false);} 75const contentType=response.headers.get("content-type");if(JsRequest.debugMode){this._responseBackup=await response.clone().text();} 76if(contentType&&contentType.includes("application/json")){this._responseData=await response.json();}else{this._responseData=await response.text();}} 77_handleResponse(){if(typeof this._responseData==='object'){if(!this._responseData.isJSR){throw new JsRequestError("Not a JSR object: "+JSON.stringify(this._responseData));} 78if(this._responseData.status!=="success"){throw new JsRequestError(this._responseData.status_info,this._responseData.status!=="failed",true);} 79if(this._responseData.status_info&&typeof Notification!=='undefined'){new Notification(this._responseData.status_info,"success");} 80return this._responseData.data;}else{return this._responseData;}} 81_handleError(error){let userMessage="Er is een fout opgetreden bij het laden van de pagina.";let notifyDevs=true;if(error instanceof JsRequestError){notifyDevs=error.getNotifyDeveloper();if(error.displayMessage()){userMessage=error.message;}} 82if(typeof Notification!=='undefined'){new Notification(userMessage,"danger");}else{alert(userMessage);}
83if(notifyDevs){if(error.name!=="AbortError"&&(error.name!=="TypeError"&&error.message!=="Failed to fetch")){this._reportError(error);}}else{console.warn(error);}} 84_reportError(error){let msg=error.message;msg+="\nUrl: "+window.location.href;msg+="\nRequested Data: "+(this._data instanceof FormData?JsRequest._formDataToJSON(this._data):JSON.stringify(this._data));if(this._responseData){msg+="\nResponse Data: "+JSON.stringify(this._responseData);} 85msg+="\nstack: "+(error?error.stack:(new Error()).stack);const data={action:"sendError",type:error.name,message:msg};fetch("/jsErrorHandler.php",{method:"POST",cache:"no-cache",headers:{'Content-Type':'application/x-www-form-urlencoded'},body:new URLSearchParams(data).toString()});} 86static _formDataToJSON(formData){let obj={};for(let key of formData.keys()){obj[key]=formData.get(key);} 87return JSON.stringify(obj);}} 88class JsRequestError extends Error{constructor(message,notifyDeveloper=true,displayMessage=false){super(message);this.name=this.constructor.name;this._notifyDeveloper=notifyDeveloper;this._displayMessage=displayMessage;} 89getNotifyDeveloper(){return this._notifyDeveloper;} 90displayMessage(){return this._displayMessage;}} 91(function($,undefined){var hcsVersion=2.0,constructorExists=typeof $.hcs==='function';if(constructorExists&&$.hcs.version>=hcsVersion){return;} 92var hcs=$.hcs=$.fn.hcs=function(){return this;};hcs.fn=hcs.prototype;hcs.version=hcs.fn.version=hcsVersion;hcs.extend=hcs.fn.extend=function(){var o=(typeof arguments[0]==='boolean'||typeof arguments[0]==='number')?arguments[0]:false,l=arguments.length,isNum=typeof o==='number',jq=this==$.hcs?$:$.fn;for(var i=0;i<l;++i){if(typeof arguments[i]==="object"){for(var j in arguments[i]){if(!this[j]||o===true||this[j].version==undefined||(isNum&&o>this[j].version)){this[j]=arguments[i][j];if(!jq[j]){jq[j]=this[j];} 93if(isNum){this[j].version=o;}}}}}};if(constructorExists){$.hcs.extend(constructorExists,hcs);} 94hcs.plugins={};hcs.plugin=hcs.fn.plugin=function(name,methods){var namespace="hcs_"+name,namereg=new RegExp(namespace,"i"),puid=1;var namespaced=function(name,uid){if(typeof name==="string"||name===undefined){if(namereg.test(name)) 95return name;var full_namespace="."+namespace+(uid?"_"+uid:"");return(name||"").split(" ").join(full_namespace+" ")+full_namespace;} 96for(var n in name){name[namespaced(n,uid)]=name[n];delete name[n];} 97return name;};var eventsProxy=function(method,args){var element=args[0],event=args[1],args=Array.prototype.slice.call(args,0);if(typeof element==="string"||element===undefined){event=element;element=this.element;}else{if(!(element instanceof $)) 98element=$(element);args.shift();} 99args[0]=namespaced(event,this.puid);element[method].apply(element,args);};var constructor=function(options,element){if(!this._hcsplugin){return new constructor(options,element);} 100this.element=this.$elem=element;this.puid=puid++;if(this.options&&typeof options==="object"){this.options=$.extend({},this.options,options);} 101if(this._create) 102this._create();return this;};constructor.prototype=$.extend(true,{_hcsplugin:true,_init:$.noop,_create:$.noop,destroy:function(){this._unbind();$.removeData(this.element.get(0),namespace);this._destroy();},_destroy:$.noop,_data:function(key,value){return $.data(this.element,namespaced(key,this.puid),value);},_removeData:function(name){return $.removeData(this.element,namespaced(name,this.puid));},_bind:function(){eventsProxy.call(this,"bind",arguments);return this;},_unbind:function(){eventsProxy.call(this,"unbind",arguments);return this;},_on:function(){eventsProxy.call(this,"on",arguments);return this;},_off:function(){eventsProxy.call(this,"off",arguments);return this;}},methods);$.expr[":"][namespace]=function(elem){return!!$.data(elem,namespace);};if(!$.expr[":"][name]) 103$.expr[":"][name]=$.expr[":"][namespace];hcs.plugins[name]=$.fn[name]=function(options){var isMethod=typeof options==="string";var returnValue=this;var args=Array.prototype.slice.call(arguments,1);if(isMethod){this.each(function(){var methodValue,instance=$.data(this,namespace);if(!instance){return $.error("cannot call methods on "+name+" prior to initialization; "+"attempted to call method '"+options+"'");} 104if(!$.isFunction(instance[options])||options.charAt(0)==="_"){return $.error("no such method '"+options+"' for "+name+" widget instance");} 105methodValue=instance[options].apply(instance,args);if(methodValue!==instance&&methodValue!==undefined){returnValue=methodValue&&methodValue.jquery?returnValue.pushStack(methodValue.get()):methodValue;return false;}});}else{options=$.extend.apply(null,[{},hcs.plugins[name].options].concat([options],args));this.each(function(){var instance=$.data(this,namespace);if(!instance){instance=constructor(options,$(this));$.data(this,namespace,instance);} 106instance._init();});options=null;} 107return returnValue;};};$.extend(hcs,{option:function(plugin,options,value){var obj={};if(typeof options==="string"){obj[options]=value;}else if(arguments.length>2){obj=$.extend.apply(null,Array.prototype.slice.call(arguments,1
107));}else{obj=options;} 108hcs.plugins[plugin].options=hcs.plugins[plugin].options||{};$.extend(hcs.plugins[plugin].options,obj);},rename:function(plugin,name){if(hcs.plugins[plugin]) 109$.fn[name]=hcs.plugins[name]=hcs.plugins[plugin];if(hcs[plugin]) 110$[name]=hcs[name]=hcs[plugin];},cloneFn:function(fn){return function(){fn.apply(this,arguments);};}});$.fn.hcsplugin=function(name){var plugin=hcs.plugins[name];if(!$.isFunction(plugin)) 111return $.error("Plugin "+name+" doesn't exist.");return plugin.apply(this,Array.prototype.slice.call(arguments,1));};hcs.extend({cookie:function(key,value,options){if(value!==undefined&&!$.isFunction(value)){options=$.extend({},options);if(typeof options.expires==='number'){var days=options.expires,t=options.expires=new Date();t.setTime(+t+days*864e+5);} 112return(document.cookie=[key,'=',String(value),options.expires?'; expires='+options.expires.toUTCString():'',options.path?'; path='+options.path:'',options.domain?'; domain='+options.domain:'',options.secure?'; secure':''].join(''));} 113var result=key?undefined:{};var cookies=document.cookie?document.cookie.split('; '):[];for(var i=0,l=cookies.length;i<l;i++){var parts=cookies[i].split('='),name=parts.shift(),cookie=parts.join('=');if(cookie.indexOf('"')===0){cookie=cookie.slice(1,-1).replace(/\\"/g,'"').replace(/\\\\/g,'\\');} 114if(key&&key===name){result=cookie;break;} 115if(!key){result[name]=cookie;}} 116return result;},removeCookie:function(key,options){if($.cookie(key)===undefined){return false;} 117$.cookie(key,'',$.extend({},options,{expires:-1}));return!$.cookie(key);}});})(jQuery);(function($){$.hcs.extend({validateEmail:function(email){var re=/^(([^<>()[\]\\.,;:\s@\"]+(\.[^<>()[\]\\.,;:\s@\"]+)*)|(".+\"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/;return re.test(email);}});})(jQuery);class Loader{static _saved={};constructor(content,title,style){this._id=null;this._busyCount=0;this._startTime=null;this._stopTime=null;this._dialog=null;this._dialogVisible=true;this._dialogJumpQueue=true;this._content=content;this._title=title;this._style=style;this._footer=null;this._delayedShow=100;this._delayedTimer=null;this._timeoutTimer=null;this._timeoutDuration=false;this._progressElem=null;this._events={'start':[],'stop':[],'countIncrease':[],'countDecrease':[],'timeout':[]};} 118content(content){this._content=content;if(this._dialog){this._dialog.content(this._content);} 119return this;} 120title(title){this._title=title;if(this._dialog){this._dialog.title(this._title);} 121return this;} 122style(style){if(this._progressElem){this._progressElem.bar.classList.remove("gradient-lr--"+(this._style||"success"));this._progressElem.bar.classList.add("gradient-lr--"+style);} 123this._style=style;if(this._dialog){this._dialog.style(this._style);} 124return this;} 125setProgress(amount){if(this._progressElem){this._progressElem.progress.innerText=amount+'% ';this._progressElem.bar.style.width=amount+"%";} 126return this;} 127setTimeout(duration,callback){this._timeoutDuration=duration;if(this.isLoading()){this._stopTimeoutTimer();this._startTimeoutTimer();} 128if(callback){this.on("timeout",callback);} 129return this;} 130showDialog(enable,jumpQueue=true){this._dialogVisible=!!enable;this._dialogJumpQueue=!!jumpQueue;if(this._busyCount){if(this._dialogVisible){this._showDialog();}else{this._hideDialog();}} 131return this;} 132start(){this._busyCount++;this._triggerEvent("countIncrease");if(this._busyCount>1){return this;} 133if(this._dialogVisible){if(this._delayedShow){this._delayedTimer=setTimeout(()=>{this._showDialog();},this._delayedShow);}else{this._showDialog();}} 134this.setProgress(0);this._startTime=Date.now();this._stopTime=null;this._startTimeoutTimer();this._triggerEvent("start");return this;} 135stop(){if(!this._busyCount){return this;} 136this._busyCount--;this._triggerEvent("countDecrease");if(this._busyCount){return this;} 137if(this._delayedTimer){clearTimeout(this._delayedTimer);this._delayedTimer=null;} 138this._stopTimeoutTimer();if(this._dialogVisible&&this._dialog){this._hideDialog();} 139this._stopTime=Date.now();this._triggerEvent("stop");return this;} 140stopAll(){if(!this._busyCount){return this;} 141this._busyCount=1;this.stop();return this;} 142isLoading(){return!!this._busyCount;} 143time(){let endTime=this._busyCount?Date.now():this._stopTime;return endTime-this._startTime;} 144done(callback){return this.on("stop",callback);} 145on(event,callback){if(this._events[event]){this._events[event].push(callback);} 146return this;} 147off(event,callback){if(this._events[event]){this._events[event]=this._events[event].filter(cb=>cb!==callback);} 148return this;} 149save(id){this.clear();this._id=id;Loader._saved[this._id]=this;return this;} 150static load(id){return Loader._saved[id];} 151clear(){delete Loader._saved[this._id];return this;} 152_showDialog(){if(!this._dialog){if(typeof Dialog==="function"){this._dialog=Dialog.loader(this._content,this._title,this._style);if(this._footer){this._dialog.footer().append(this._footer);}}else{throw new Error("Class Dialog is not found, unable to show loader.");}} 153if(this._dialogJumpQueue){this._dialog.showInFront();}else{this._dialog.show();}} 154_hideDialog(){if(this._dialog){this._dialog.hide();}} 155_triggerEvent(event){if(this._events[event]){this._events[event].forEach(callback=>callback(this));}} 156_startTimeoutTimer(){if(this._timeoutDuration){this._timeoutTimer=setTimeout(()=>{this._triggerEvent("timeout");this._timeoutTimer=null;},this._timeoutDuration);}} 157_stopTimeoutTimer(){if(this._timeoutTimer){clearTimeout(this._timeoutTimer);this._timeoutTimer=null;}} 158static progressLoader(content,title,style){var l=new Loader(content,title,style);const progressElem={barcontainer:document.createElement("div"),bar:document.createElement("div"),label:document.createElement("span"),progress:document.createElement("span"),content:document.createElement("div")};progressElem.content.setAttribute("style","padding: 5px;");progressElem.barcontainer.setAttribute("style","height: 24px;width: 360px; max-width: 100%;border-radius: 10px; background-color: gray; position: relative; margin: 0 auto;");progressElem.content.append(progressElem.barcontainer);const labelcontainer=document.createElement("div");labelcontainer.setAttribute("style","color: #fff;position: absolute;width: 100%;height: 100%;display: flex;align-items: center;justify-content: center;flex-wrap: nowrap;");progressElem.barcontainer.append(labelcontainer);progressElem.progress.innerText='0%';progressElem.progress.setAttribute("style","padding: 0 5px;");labelcontainer.append(progressElem.progress);const loader=document.createElement('span');loader.innerHTML='<svg class="svg-inline--fa fa-loader fa-spin fa-lg" aria-hidden="true" focusable="false" data-prefix="fas" data-icon="loader" role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512" data-fa-i2svg="">
158<path fill="currentColor" d="M288 32c0-17.7-14.3-32-32-32s-32 14.3-32 32V96c0 17.7 14.3 32 32 32s32-14.3 32-32V32zm0 384c0-17.7-14.3-32-32-32s-32 14.3-32 32v64c0 17.7 14.3 32 32 32s32-14.3 32-32V416zM0 256c0 17.7 14.3 32 32 32H96c17.7 0 32-14.3 32-32s-14.3-32-32-32H32c-17.7 0-32 14.3-32 32zm416-32c-17.7 0-32 14.3-32 32s14.3 32 32 32h64c17.7 0 32-14.3 32-32s-14.3-32-32-32H416zM75 75c-12.5 12.5-12.5 32.8 0 45.3l45.3 45.3c12.5 12.5 32.8 12.5 45.3 0s12.5-32.8 0-45.3L120.2 75C107.7 62.5 87.5 62.5 75 75zM391.8 346.5c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3L391.8 437c12.5 12.5 32.8 12.5 45.3 0s12.5-32.8 0-45.3l-45.3-45.3zM75 437c12.5 12.5 32.8 12.5 45.3 0l45.3-45.3c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0L75 391.8c-12.5 12.5-12.5 32.8 0 45.3zM346.5 120.2c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0L437 120.2c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0l-45.3 45.3z"></path></svg>';labelcontainer.append(loader);progressElem.bar.setAttribute("style","width: 0%;height: 100%;border-radius: 10px;background-size: 360px 100%;transition: width 200ms; display: flex; align-items: center;justify-content: center; flex-wrap: nowrap;");progressElem.bar.classList.add("gradient-lr--"+(style||"success"));progressElem.barcontainer.append(progressElem.bar);l._progressElem=progressElem;l._footer=l._progressElem.content;return l;}} 159class Dialog{static _dialogs=[];
159static _overlay;static _current;static _guid=0;static _saved={};static _lang={ok:"Ok",cancel:"Annuleren",yes:"Ja",no:"Nee",loader:'<svg class="svg-inline--fa fa-circle-notch fa-spin fa-lg" aria-hidden="true" focusable="false" data-prefix="fas" data-icon="circle-notch" role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512" data-fa-i2svg=""><path fill="currentColor" d="M222.7 32.1c5 16.9-4.6 34.8-21.5 39.8C121.8 95.6 64 169.1 64 256c0 106 86 192 192 192s192-86 192-192c0-86.9-57.8-160.4-137.1-184.1c-16.9-5-26.6-22.9-21.5-39.8s22.9-26.6 39.8-21.5C434.9 42.1 512 140 512 256c0 141.4-114.6 256-256 256S0 397.4 0 256C0 140 77.1 42.1 182.9 10.6c16.9-5 34.8 4.6 39.8 21.5z"></path></svg> Bezig met laden, een moment geduld aub... ',loaderTitle:"Bezig met laden",loaderStyle:"primary"};static _dismissIcon='<svg class="svg-inline--fa fa-times" style="vertical-align: top;" aria-hidden="true" focusable="false" data-prefix="fas" data-icon="times" role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 384 512" data-fa-i2svg=""><path fill="currentColor" d="M342.6 150.6c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0L192 210.7 86.6 105.4c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3L146.7 256 41.4 361.4c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0L192 301.3 297.4 406.6c12.5 12.5 32.8 12.5 45.3 0s12.5-32.8 0-45.3L237.3 256 342.6 150.6z"></path></svg>';static _onShowOverlay;static _onHideOverlay;constructor(content,title,style){this._content=content;this._contentElem=null;this._scrollerElem=null;this._title=title;this._titleElem=null;this._headerElem=null;this._footerElem=null;this._style=style;this._width=null;this._isTemporarilyHidden=false;this._destroyAfterHide=false;this._buttons=[];this._dialog=null;this._uid=Dialog._guid++;this._dialogId="hcsdialog-"+this._uid;this._id=null;this._fullscreen=false;this._dismissShowIcon=true;this._dismissClickAnywhere=false;this._dismissOverlay=true;this._dismissEscape=null;this._autoFocus="input, select, button, textarea";this._fullyVisible=false;this._headerToggleElem=null;this._headerToggleState=false;this._headerToggleCallback=null;this._events={'show':[],'showOnce':[],'hide':[],'hideOnce':[]};} 160fullscreen(enable){if(typeof enable==='boolean'){this._fullscreen=!!enable;this._adjustDialog();return this;} 161return this._fullscreen;} 162showDismissIcon(enable){if(typeof enable==='boolean'){this._dismissShowIcon=!!enable;this._adjustDialog();return this;} 163return this._dismissShowIcon;} 164dismissOverlay(enable){if(typeof enable==='boolean'){this._dismissOverlay=!!enable;return this;} 165return this._dismissOverlay;} 166dismissEscape(enable){if(typeof enable==='boolean'){this._dismissEscape=!!enable;this._adjustDialog();return this;} 167return this._dismissEscape;} 168dismissClickAnywhere(enable){if(typeof enable==='boolean'){this._dismissClickAnywhere=!!enable;this._adjustDialog();return this;} 169return this._dismissClickAnywhere;} 170dismissable(enable){this.dismissOverlay(enable);this.dismissEscape(enable);this.showDismissIcon(enable);return this;} 171destroyAfterHide(enable){if(typeof enable==='boolean'){this._destroyAfterHide=!!enable;return this;} 172return this._destroyAfterHide;} 173autoFocus(selector){if(selector===undefined){return this._autoFocus;} 174this._autoFocus=selector;return this;} 175content(content){if(!content){this._createContent();return this._contentElem;} 176this._content=content;if(this._contentElem){Dialog._setElementContent(this._contentElem,this._content);} 177return this;} 178title(title){if(title===undefined){this._createTitle();return this._titleElem;} 179this._title=title;if(this._titleElem){Dialog._setElementContent(this._titleElem,this._title);} 180return this;} 181header(){this._createHeader();return this._headerElem;} 182footer(){this._createFooter();return this._footerElem;} 183setHeaderToggle(initialState,onToggle){this._headerToggleState=!!initialState;this._headerToggleCallback=onToggle;if(this._headerElem){this._buildHeaderToggle();} 184return this;} 185setHeaderToggleState(state){this._headerToggleState=!!state;if(this._headerToggleElem){if(!this._headerToggleCallback){this._headerToggleElem.innerHTML="";this._headerToggleElem.classList.add("dialog__headertoggle--disabled");return this;} 186this._headerToggleElem.classList.remove("dialog__headertoggle--disabled");this._headerToggleElem.innerHTML=this._headerToggleState?'<svg class="svg-inline--fa fa-toggle-on success" data-prefix="fas" data-icon="toggle-on" role="img" viewBox="0 0 576 512" aria-hidden="true" data-fa-i2svg="">
186<path fill="currentColor" d="M192 64C86 64 0 150 0 256S86 448 192 448l192 0c106 0 192-86 192-192S490 64 384 64L192 64zm192 96a96 96 0 1 1 0 192 96 96 0 1 1 0-192z"></path></svg>':'<svg class="svg-inline--fa fa-toggle-off danger" data-prefix="fas" data-icon="toggle-off" role="img" viewBox="0 0 576 512" aria-hidden="true" data-fa-i2svg=""><path fill="currentColor" d="M384 128c70.7 0 128 57.3 128 128S454.7 384 384 384l-192 0c-70.7 0-128-57.3-128-128s57.3-128 128-128l192 0zM576 256c0-106-86-192-192-192L192 64C86 64 0 150 0 256S86 448 192 448l192 0c106 0 192-86 192-192zM192 336a80 80 0 1 0 0-160 80 80 0 1 0 0 160z"></path></svg>';} 187return this;} 188style(style){if(!style){return this._style;} 189if(this._dialog){this._dialog.classList.remove("dialog--"+this._style);this._dialog.classList.add("dialog--"+style);} 190this._style=style;return this;} 191width(width){if(width===undefined){return this._dialog?this._dialog.offsetWidth:this._width;} 192this._width=width;this._adjustDialog();return this;} 193show(callback){if(callback){this.on("showOnce",callback);} 194Dialog._dialogs.push(this);if(Dialog._dialogs.length>1){return this;} 195Dialog._showNextInQueue();return this;} 196showInFront(callback){if(!Dialog._dialogs.length){return this.show(callback);} 197if(callback){this.on("showOnce",callback);} 198Dialog._dialogs.unshift(this);Dialog._current._isTemporarilyHidden=true;Dialog._overlay.removeChild(Dialog._current._dialog);Dialog._current=null;Dialog._showNextInQueue();return this;} 199static _showNextInQueue(){if(!Dialog._overlay){Dialog._createOverlay();} 200if(Dialog._current){Dialog._current.hide();return;} 201Dialog._current=Dialog._dialogs.length>0?Dialog._dialogs[0]:null;if(Dialog._current){if(!Dialog._lastActiveElement){Dialog._lastActiveElement=document.activeElement;} 202if(!Dialog._current._dialog){Dialog._current._createDialog();} 203if(!Dialog._overlay.classList.contains("dialog-overlay--visible")){Dialog._overlay.classList.add("dialog-overlay--visible");if(typeof Dialog._onShowOverlay==='function'){Dialog._onShowOverlay();}} 204Dialog._current._dialog.classList.add("dialog--visible");Dialog._overlay.appendChild(Dialog._current._dialog);Dialog._current._dialog.setAttribute('aria-hidden','false');Dialog._current._dialog.focus();if(Dialog._current._autoFocus){Dialog._setAutoFocus();} 205if(Dialog._current._isTemporarilyHidden){Dialog._current._isTemporarilyHidden=false;return;} 206Dialog._current._triggerEvent("show");Dialog._current._triggerEvent("showOnce");Dialog._current._events.showOnce=[];}else{if(Dialog._overlay.classList.contains("dialog-overlay--visible")){Dialog._overlay.classList.remove("dialog-overlay--visible");if(typeof Dialog._onHideOverlay==='function'){Dialog._onHideOverlay();}} 207if(Dialog._lastActiveElement){Dialog._lastActiveElement.focus();Dialog._lastActiveElement=null;}} 208return this;} 209static _setAutoFocus(){const elems=Dialog._current._scrollerElem.querySelectorAll(Dialog._current._autoFocus);for(let i=0;i<elems.length;i++){let inp=elems[i];if(inp.offsetParent!==null&&!(inp.disabled)){inp.focus();try{inp.selectionEnd=inp.selectionStart=inp.value.length;}catch(err){} 210break;}}} 211hide(){Dialog._dialogs=Dialog._dialogs.filter((e)=>e!==this);if(Dialog._current===this){Dialog._current=null;this._dialog.classList.remove("dialog--visible");this._dialog.setAttribute('aria-hidden','true');this._fullyVisible=false;} 212this._triggerEvent("hide");this._triggerEvent("hideOnce");this._events.hideOnce=[];if(!Dialog._current){Dialog._showNextInQueue();} 213return this;} 214destroy(){if(Dialog._current===this){this.hide();} 215this.clear();return this;} 216once(callback){this._destroyAfterHide=true;return this.show(callback);} 217isVisible(){return Dialog._current===this;} 218addButton(content,style,onClick){let button=document.createElement('button');Dialog._setElementContent(button,content);button.classList.add("btn");button.classList.add("btn--"+style);button.addEventListener('click',(e)=>{let hideDialog=true;if(onClick){hideDialog=onClick(this,e)===false?false:true;} 219if(hideDialog){this.hide();}});this._buttons.push(button);if(this._footerElem){this._footerElem.append(button);} 220return this;} 221getButton(text){if(text===undefined){return this._buttons[this._buttons.length-1];} 222return this._buttons.find(button=>button.innerText===text);} 223setButtonTooltip(title,text){const button=this.getButton(text);if(button){Tooltip.setContent(button,title);} 224return this;} 225removeButton(text){const b=this.getButton(text);if(b){this._buttons=this._buttons.filter(btn=>btn!==b);if(this._footerElem){this._footerElem.removeChild(b);}} 226return this;} 227save(id){this.clear();this._id=id;Dialog._saved[this._id]=this;return this;} 228static load(id){return Dialog._saved[id];} 229clear(){delete Dialog._saved[this._id];return this;} 230on(event,callback){if(this._events[event]){this._events[event].push(callback);} 231return this;} 232off(event,callback){if(this._events[event]){this._events[event]=this._events[event].filter(cb=>cb!==callback);} 233return this;} 234_triggerEvent(event){if(this._events[event]){this._events[event].forEach(callback=>callback(this));}} 235static _createOverlay(){if(Dialog._overlay){return;} 236Dialog._overlay=document.createElement("div");Dialog._overlay.classList.add("dialog-overlay");Dialog._overlay.addEventListener("mousedown",(event)=>{if(Dialog._current){if(Dialog._current._dismissClickAnywhere){Dialog._current.hide();} 237if(Dialog._current._dismissOverlay){if(!event.target.closest(".dialog")){Dialog._current.hide();}}}});document.body.append(Dialog._overlay);} 238_createDialog(){if(this._dialog){return;} 239this._dialog=document.createElement("div");this._dialog.classList.add("dialog");if(this._style){this._dialog.classList.add("dialog--"+this._style);} 240this._dialog.setAttribute('role','dialog');this._dialog.setAttribute('id',this._dialogId);this._dialog.setAttribute('aria-labelledby',this._dialogId+'-title');this._dialog.setAttribute('aria-modal','true');this._createHeader();this._dialog.append(this._headerElem);this._createScroller();this._dialog.append(this._scrollerElem);this._adjustDialog();this._dialog.addEventListener('keydown',(e)=>{if(e.key==='Tab'){const focusableEls=Array.from(this._dialog.querySelectorAll('button, [href], input, select, textarea, [tabindex]:not
240([tabindex="-1"])'));let firstFocusableEl,lastFocusableEl;for(let i=0;i<focusableEls.length;i++){if(getComputedStyle(focusableEls[i]).display!=='none'){firstFocusableEl=focusableEls[i];break;}} 241for(let i=focusableEls.length-1;i>=0;i--){if(getComputedStyle(focusableEls[i]).display!=='none'){lastFocusableEl=focusableEls[i];break;}} 242if(e.shiftKey){if(document.activeElement===firstFocusableEl){lastFocusableEl.focus();e.preventDefault();}}else{if(document.activeElement===lastFocusableEl){firstFocusableEl.focus();e.preventDefault();}}} 243if(e.key==='Escape'){if((this._dismissEscape===null&&this._dismissOverlay)||this._dismissEscape){this.hide();}}});this._dialog.addEventListener('animationend',(event)=>{if(event.animationName==='dialogHideDialog'){Dialog._overlay.removeChild(this._dialog);if(this._destroyAfterHide){this.destroy();}} 244if(event.animationName==='dialogShowDialog'){this._fullyVisible=true;}});} 245_createTitle(){if(this._titleElem){return;} 246this._titleElem=document.createElement("div");this._titleElem.classList.add("dialog__headertitle");Dialog._setElementContent(this._titleElem,this._title);this._titleElem.setAttribute('id',this._dialogId+'-title');} 247_createHeader(){if(this._headerElem){return this;} 248this._headerElem=document.createElement("div");this._headerElem.classList.add("dialog__header");this._buildHeaderToggle();this._headerElem.append(this._headerToggleElem);this._createTitle();this._headerElem.append(this._titleElem);const dismiss=document.createElement("a");dismiss.href="#";dismiss.classList.add("dialog__headerdismiss");dismiss.innerHTML=Dialog._dismissIcon;dismiss.addEventListener("click",(e)=>{e.preventDefault();this.hide();});this._headerElem.append(dismiss);return this;} 249_buildHeaderToggle(){if(!this._headerToggleElem){this._headerToggleElem=document.createElement("a");this._headerToggleElem.href="#";this._headerToggleElem.classList.add("dialog__headertoggle");this._headerToggleElem.style.textDecoration="none";this._headerToggleElem.addEventListener("click",(e)=>{e.preventDefault();const newState=!this._headerToggleState;this.setHeaderToggleState(newState);if(this._headerToggleCallback){this._headerToggleCallback(newState,e);}});} 250this.setHeaderToggleState(this._headerToggleState);} 251_createContent(){if(this._contentElem){return this;} 252this._contentElem=document.createElement("div");this._contentElem.classList.add("dialog__content");Dialog._setElementContent(this._contentElem,this._content);return this;} 253_createFooter(){if(this._footerElem){return;} 254this._footerElem=document.createElement("div");this._footerElem.classList.add("dialog__footer");for(var b in this._buttons){this._footerElem.append(this._buttons[b]);}} 255_createScroller(){if(this._scrollerElem){return;} 256this._scrollerElem=document.createElement("div");this._scrollerElem.classList.add("dialog__scroller");this._createContent();this._scrollerElem.append(this._contentElem);this._createFooter();this._scrollerElem.append(this._footerElem);} 257static _setElementContent(element,content){element.innerHTML="";if(content instanceof HTMLElement){element.append(content);}else if(content!==undefined){element.innerHTML=content;} 258return this;} 259_adjustDialog(){if(!this._dialog){return;} 260if(this._fullscreen){this._dialog.classList.add("dialog--fullscreen");}else{this._dialog.classList.remove("dialog--fullscreen");} 261if(this._dismissShowIcon){this._headerElem.classList.remove("dialog__header--nodismiss");}else{this._headerElem.classList.add("dialog__header--nodismiss");} 262if(this._width){let intWidth=parseInt(this._width);this._dialog.style.width=!isNaN(intWidth)&&intWidth.toString()===this._width.toString()?intWidth+"px":this._width;}else{this._dialog.style.width="";}} 263static onShowOverlay(callback){if(callback===undefined){return Dialog._onShowOverlay;} 264Dialog._onShowOverlay=callback;} 265static onHideOverlay(callback){if(callback===undefined){return Dialog._onHideOverlay;} 266Dialog._onHideOverlay=callback;} 267static current(){return Dialog._current;} 268static hideAll(){Dialog._dialogs=[];if(Dialog._current){Dialog._current.hide();}} 269static setLang(lang){Dialog._lang=Object.assign({},Dialog._lang,lang);} 270static confirm(content,title,style,fn_yes,fn_no){const d=new Dialog(content,title,style);d.dismissable(false);
270d.addButton(Dialog._lang.yes,"success",fn_yes);d.addButton(Dialog._lang.no,"danger",fn_no);d.once();return d;} 271static alert(content,title,style,fn_ok){const d=new Dialog(content,title,style);d.dismissable(false);d.addButton(Dialog._lang.ok,"primary",fn_ok);d.once();return d;} 272static loader(content,title,style){if(content===undefined){content=Dialog._lang.loader;} 273if(title===undefined){title=Dialog._lang.loaderTitle;} 274if(style===undefined){style=Dialog._lang.loaderStyle;} 275const d=new Dialog(content,title,style);d.dismissable(false);return d;} 276static prompt(content,title,style,inputValue){const input=document.createElement("input");input.type="text";input.classList.add("input","input--w100");input.value=inputValue===undefined?"":inputValue;if(style!==undefined){input.classList.add("input--"+style);} 277const container=document.createElement("div");Dialog._setElementContent(container,content);container.append(document.createElement("br"));container.append(input);const d=new Dialog(container,title,style);d.dismissable(false);input.addEventListener('keydown',(e)=>{if(e.key==='Enter'){e.preventDefault();d.getButton(Dialog._lang.ok).click();}});return new Promise((resolve,reject)=>{d.addButton(Dialog._lang.ok,"success",()=>resolve(input.value));d.addButton(Dialog._lang.cancel,"warning",()=>reject({dialog:d}));d.once();input.focus();});}} 278class Notification{static _containerTop;static _containerBottom;static _containerDefault;static _lang={loader:'<svg class="svg-inline--fa fa-circle-notch fa-spin fa-lg" aria-hidden="true" focusable="false" data-prefix="fas" data-icon="circle-notch" role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512" data-fa-i2svg=""><path fill="currentColor" d="M222.7 32.1c5 16.9-4.6 34.8-21.5 39.8C121.8 95.6 64 169.1 64 256c0 106 86 192 192 192s192-86 192-192c0-86.9-57.8-160.4-137.1-184.1c-16.9-5-26.6-22.9-21.5-39.8s22.9-26.6 39.8-21.5C434.9 42.1 512 140 512 256c0 141.4-114.6 256-256 256S0 397.4 0 256C0 140 77.1 42.1 182.9 10.6c16.9-5 34.8 4.6 39.8 21.5z"></path></svg> Bezig met laden, een moment geduld aub... ',loaderStyle:"info"};constructor(content,style){this._content=content;this._style=style;this._duration=null;this._dismissable=true;this._type=null;this._showAnimationFrame=null;this._autoHide=null;this._notification=null;this._progress=null;this._clickText=null;this._clickAction=null;this._autoShow=setTimeout(()=>{this.show();},1);this._events={'show':[],'hide':[],'click':[]};} 279showNextPageLoad(){let st=sessionStorage.getItem('notifications');if(!st){st=[];}else{st=JSON.parse(st);} 280st.push({_content:this._content,_style:this._style,_duration:this._duration});sessionStorage.setItem('notifications',JSON.stringify(st));return this;} 281setDuration(duration){this._duration=duration;if(this._autoHide){clearTimeout(this._autoHide);if(duration){this._progress.style.width='100%';this._progress.style.transition=`width 0ms linear`;this._showAnimationFrame=window.requestAnimationFrame(()=>{this._showAnimationFrame=null;const duration=this._getDuration();if(duration){this._progress.style.transition=`width ${duration}ms linear`;this._progress.style.width='0%';this._autoHide=setTimeout(()=>{this.hide();},duration);}});}} 282return this;} 283setPersistent(){this._duration=false;return this;} 284setDismissable(dismissable){this._dismissable=!!dismissable;return this;} 285setTop(){this._type="top";if(this._notification){this._getContainer().append(this._notification);} 286return this;} 287setBottom(){this._type="bottom";if(this._notification){this._getContainer().append(this._notification);} 288return this;} 289setDefault(){this._type=null;if(this._notification){this._getContainer().append(this._notification);} 290return this;} 291setAction(callback,text){if(this._clickText){this._clickText.remove();this._clickText=null;} 292if(this._clickAction){this.off("click",this._clickAction);} 293this._clickAction=callback;this.on("click",this._clickAction);if(text){this._clickText=document.createElement("div");this._clickText.classList.add("notification__action");this._clickText.append(text);} 294if(this._notification&&this._clickText){this._notification.append(this._clickText);} 295return this;} 296show(){if(this._notification){return this;} 297if(this._autoShow){clearTimeout(this._autoShow);this._autoShow=null;} 298this._notification=this._buildNotification();this._getContainer().append(this._notification);if(this._getDuration()){this._progress.style.width='100%';} 299this._showAnimationFrame=window.requestAnimationFrame(()=>{this._showAnimationFrame=window.requestAnimationFrame(()=>{this._showAnimationFrame=null;this._notification.classList.add("notification--visible");const duration=this._getDuration();if(duration){this._progress.style.transition=`width ${duration}ms linear`;this._progress.style.width='0%';this._autoHide=setTimeout(()=>{this.hide();},duration);}});});this._triggerEvent("show");return this;}
300hide(){if(this._showAnimationFrame){window.cancelAnimationFrame(this._showAnimationFrame);this._showAnimationFrame=null;} 301if(this._autoShow){clearTimeout(this._autoShow);this._autoShow=null;} 302if(this._autoHide){clearTimeout(this._autoHide);this._autoHide=null;} 303if(!this._notification){return this;} 304this._notification.classList.remove("notification--dismissable");const computedStyle=getComputedStyle(this._notification);this._notification.style.height=computedStyle.height;void this._notification.offsetHeight;this._notification.style.height='0';this._notification.style.opacity='0';this._notification.style.margin='0';this._notification.style.padding='0';this._notification.style.transform='scaleY(0.8)';this._progress.style.transition='';this._progress.style.width='';if(this._notification.classList.contains("notification--visible")){this._notification.addEventListener("transitionend",(event)=>{event.target.remove();});this._notification=null;}else{this._notification.remove();this._notification=null;} 305this._triggerEvent("hide");return this;} 306on(event,callback){if(this._events[event]){this._events[event].push(callback);} 307return this;} 308off(event,callback){if(this._events[event]){this._events[event]=this._events[event].filter(cb=>cb!==callback);} 309return this;} 310_buildNotification(){const notification=document.createElement("div");notification.classList.add("notification");if(this._style){notification.classList.add("notification--"+this._style);} 311if(this._dismissable){notification.classList.add("notification--dismissable");} 312notification.addEventListener("click",()=>{if(this._dismissable){this.hide();} 313this._triggerEvent("click");});if(this._content instanceof HTMLElement){notification.append(this._content);}else if(this._content!==undefined){notification.innerHTML=this._content;} 314if(this._clickText){notification.append(this._clickText);} 315const progress=this._createProgressBar();this._progress=progress;notification.append(progress);return notification;} 316_getDuration(){return this._duration===null?(5000+(this._notification.innerText.length*25)):this._duration;} 317_createProgressBar(){const progress=document.createElement("div");progress.classList.add("notification__progress");return progress;} 318_getContainer(){if(this._type==="top"){if(!Notification._containerTop){Notification._containerTop=Notification._buildContainer("top");} 319return Notification._containerTop;} 320if(this._type==="bottom"){if(!Notification._containerBottom){Notification._containerBottom=Notification._buildContainer("bottom");} 321return Notification._containerBottom;} 322if(!Notification._containerDefault){Notification._containerDefault=Notification._buildContainer("default");} 323return Notification._containerDefault;} 324_triggerEvent(event){if(this._events[event]){this._events[event].forEach(callback=>callback(this));}} 325static _buildContainer(type){const container=document.createElement("div");container.classList.add("notification-container");container.classList.add("notification-container--"+type);container.setAttribute("aria-live","polite");document.body.append(container);return container;} 326static loader(content,style){if(content===undefined){content=Notification._lang.loader;} 327if(style===undefined){style=Notification._lang.loaderStyle;} 328const not=new Notification(content,style);not.setDismissable(false);not.setPersistent();return not;} 329static checkPageLoadNotification(){let notifications=sessionStorage.getItem('notifications');if(notifications){notifications=JSON.parse(notifications);notifications.forEach((n)=>{const not=new Notification(n._content,n._style);not.setDuration(n._duration);not.show();});} 330sessionStorage.setItem('notifications',"");}} 331(function($){var defaults={scope:".ph",position:"bottom"};$.hcs.extend({"placeholder":function(options){options=$.extend({},defaults,options);$(document).on("focus",options.scope,function(){var $this=$(this);var content=$this.attr("placeholder");if(!content){return;} 332var $container=$("<div class='placeholder' style='position: absolute;'><div>"+content+"</div></div>");var addClass=$this.data("ph-class");if(addClass){$container.addClass("placeholder--"+addClass);} 333$container.insertAfter($this);$container.css({"min-width":$this.outerWidth(),"max-width":"100%","text-align":$this.css("text-align"),"color":$this.css("color")});var offset=$this.offset();if(options.position=="bottom"){$container.addClass("placeholder--bottom");offset.top+=$this.outerHeight();}else{$container.addClass("placeholder--top");offset.top-=$container.outerHeight();} 334$container.offset(offset);$this.data("placeholder",$container);$this.on("blur.placeholder, keydown.placeholder, change.placeholder",function(){$container.remove();$this.off(".placeholder");});$container.on("mouseenter",function(){var offset=$this.offset();if($container.hasClass("placeholder--bottom")){$container.removeClass("placeholder--bottom").addClass("placeholder--top");offset.top-=$container.outerHeight();}else{$container.removeClass("placeholder--top").addClass("placeholder--bottom");offset.top+=$this.outerHeight();} 335$container.offset(offset);});});}});})(jQuery);class Tooltip{constructor(){} 336static _visibleTooltipTargets=[];static _allToolTipTargets=new WeakMap();static _tooltipContents=new WeakMap();static _initialized=false;static _currentMousePos={x:0,y:0};static _init(){if(Tooltip._initialized){return;} 337Tooltip.mutationObserver=new MutationObserver((mutationsList,observer)=>{for(let mutation of mutationsList){if(mutation.type==='childList'){if(mutation.removedNodes.length){mutation.removedNodes.forEac
337h((node)=>{Tooltip._visibleTooltipTargets.forEach((tooltipTarget)=>{if(node.contains(tooltipTarget)){Tooltip._hideTooltipOnTarget({target:tooltipTarget});}});});}}}});Tooltip._initialized=true;} 338static _getTooltipContent(target){if(Tooltip._tooltipContents.has(target)){return Tooltip._parseTooltipContent(Tooltip._tooltipContents.get(target),target);} 339const title=target.getAttribute('title');if(title){return Tooltip._parseTooltipContent(title,target);} 340return null;} 341static _parseTooltipContent(content,target){if(typeof content==="string"){if(content.startsWith('.')||content.startsWith('#')){const selectedElement=document.querySelector(content);if(selectedElement){content=selectedElement;}}else if(typeof window[content]==="function"){content=window[content];}} 342if(typeof content==="function"){content=content(target);} 343if(typeof content==="string"){content=content.replace(/(\\n|\n)/g,"<br>");}else if(!(content instanceof HTMLElement)){content=null;} 344return content;} 345static _createTooltip(target){if(target.closest('.tox')){return;} 346const tooltip=document.createElement('div');tooltip.className='tooltip';const content=Tooltip._getTooltipContent(target);if(content===null){return;}else if(content instanceof HTMLElement){tooltip.append(content);}else{tooltip.innerHTML=content;} 347target.removeAttribute('title');const style=target.getAttribute("data-tooltipstyle");if(style){tooltip.classList.add("tooltip--"+style);} 348const mode=target.getAttribute("data-tooltipmode");if(mode==="sticky"){tooltip.classList.add("tooltip--sticky");} 349target.tooltip=tooltip;return tooltip;} 350static _getTooltipForElement(target){if(Tooltip._allToolTipTargets.has(target)){return Tooltip._allToolTipTargets.get(target);} 351let tooltip=Tooltip._createTooltip(target);Tooltip._allToolTipTargets.set(target,tooltip);return tooltip;} 352static _showTooltipOnTarget=(event)=>{let target=event.target;while(!Tooltip._allToolTipTargets.has(target)&&!Tooltip._tooltipContents.has(target)&&target.parentNode&&!target.getAttribute('title')){target=target.parentNode;} 353if(!target.parentNode){return;} 354const tooltip=Tooltip._getTooltipForElement(target);if(!tooltip){return;} 355if(Tooltip._visibleTooltipTargets.includes(target)){return;} 356tooltip.removeEventListener('animationend',Tooltip._removeTooltip);tooltip.classList.add("tooltip--visible");document.body.appendChild(tooltip);target.addEventListener("mousemove",Tooltip._moveTooltipOnTarget);target.addEventListener("mouseleave",Tooltip._hideTooltipOnTarget);Tooltip._visibleTooltipTargets.push(target);if(Tooltip._visibleTooltipTargets.length===1){window.addEventListener('scroll',Tooltip._hideTooltipsOnScroll);Tooltip.mutationObserver.observe(document.body,{childList:true,subtree:true});} 357Tooltip._moveTooltipOnTarget(event);} 358static _moveTooltipOnTarget=(event)=>{let target=event.target;while(!Tooltip._allToolTipTargets.has(target)&&target.parentNode){target=target.parentNode;} 359const tooltip=Tooltip._getTooltipForElement(target);if(!tooltip){return;} 360Tooltip._currentMousePos={x:event.clientX,y:event.clientY};if(tooltip.classList.contains("tooltip--sticky")){if(event.clientY<(window.innerHeight / 2)){tooltip.style.left=`0`;tooltip.style.bottom=`0`;tooltip.style.top="auto";}else{tooltip.style.left=`0`;tooltip.style.top=`0`;tooltip.style.bottom="auto";}}else{const tooltipBox=tooltip.getBoundingClientRect();let top=Math.max(event.clientY+10,0);let left=Math.max(event.clientX+10,0);if(window.innerWidth-event.clientX<tooltipBox.width){left=Math.max(event.clientX-tooltipBox.width-10,0);} 361if(window.innerHeight-event.clientY<tooltipBox.height){top=Math.max(event.clientY-tooltipBox.height-10,0);} 362tooltip.style.left=`${left}px`;tooltip.style.top=`${top}px`;}} 363static _hideTooltipsOnScroll=(event)=>{Tooltip._visibleTooltipTargets.forEach((tooltipTarget)=>{Tooltip._hideTooltipOnTarget({target:tooltipTarget});});} 364static _hideTooltipOnTarget=(event)=>{const target=event.target;const tooltip=Tooltip._getTooltipForElement(target);if(!tooltip){return;} 365tooltip.classList.remove("tooltip--visible");tooltip.addEventListener('animationend',Tooltip._removeTooltip);target.removeEventListener("mouseleave",Tooltip._hideTooltipOnTarget);target.removeEventListener("mousemove",Tooltip._moveTooltipOnTarget);Tooltip._visibleTooltipTargets=Tooltip._visibleTooltipTargets.filter(t=>t!==target);if(Tooltip._visibleTooltipTargets.length===0){Tooltip.mutationObserver.disconnect();window.removeEventListener('scroll',Tooltip._hideTooltipsOnScroll);}} 366static _removeTooltip=(event)=>{event.target.remove();} 367static attachTo(element){if(!Tooltip._initialized){Tooltip._init();} 368element.addEventListener("mouseover",Tooltip._showTooltipOnTarget);} 369static detachFrom(element){element.removeEventListener("mouseover",Tooltip._showTooltipOnTarget);} 370static setContent(element,content){if(!(element instanceof HTMLElement)){throw new Error("The first parameter must be an HTML element.");} 371if(!(content instanceof HTMLElement)&&typeof content!=='string'&&typeof content!=='function'){throw new Error("The second parameter must be an HTML element or a string.");} 372if(!Tooltip._allToolTipTargets.has(element)){Tooltip._tooltipContents.set(element,content);return;} 373content=Tooltip._parseTooltipContent(content,element);const tooltip=Tooltip._getTooltipForElement(element);if(!tooltip){return;} 374tooltip.innerHTML='';if(content===null){return;}else if(content instanceof HTMLElement){tooltip.append(content);}else{tooltip.innerHTML=content;} 375var mousePos=Tooltip._currentMousePos;if(!mousePos){return;} 376var event=new MouseEvent('mousemove',{'view':window,'bubbles':true,'cancelable':true,'clientX':mousePos.x,'clientY':mousePos.y});element.dispatchEvent(event);}} 377(function($){var contructor=function(){return contructor.log.apply(contructor,arguments);} 378var loopEvents=[];var loopRunning={};var events={keyup:function(e){if(e.keyCode==27) 379return $.debug.loopStop(0);if(e.shiftKey!==true||e.keyCode<48||e.keyCode>57) 380return;var i=e.keyCode-48;$.debug.loopToggle(i);}};$.extend(contructor,{log:function(){if(!console) 381return;if(!console.groupCollapsed){for(var n in arguments){console.log(arguments[n]);}}
381 382var e=new Error();console.groupCollapsed(e.stack.split("\n")[3]);for(var n in arguments){console.groupCollapsed($.isFunction(arguments[n])?"function":arguments[n]) 383if(console.trace){console.groupCollapsed("trace");console.trace();console.groupEnd();} 384if(console.dir){console.groupCollapsed("dir");console.dir(arguments[n]);console.groupEnd();}else{console.groupCollapsed("log");console.dir(arguments[n]);console.groupEnd();} 385console.groupEnd();} 386console.groupEnd();},loop:function(delay,amount,method){if(!$.isFunction(method)){method=amount;amount=delay;delay=null;} 387if(!$.isFunction(method)){method=amount;amount=1000000000;} 388if(!loopEvents.length){loopEvents.push([]);$(window).on("keyup",events.keyup);} 389loopEvents.push({amount:amount,method:method,delay:delay==undefined?5:delay,timeout:null,startTime:null,counter:0,running:false});var id=loopEvents.length-1;console.log("Loop test "+id+" added.");if(!loopEvents[id].delay){console.log("LOOP WITHOUT DELAY: this cannot be interrupted, add a delay (default 5) to avoid unresponsive result.");} 390console.log("Shift+"+id+" = start/stop | shift+0 = start/stop all tests | esc = stop all tests");},loopStart:function(id){if(!id){for(var i=1;i<loopEvents.length;++i){$.debug.loopStart(i);} 391return;} 392if(loopEvents[id].running){console.log("Loop "+id+" is already running!");return;} 393if(Object.keys(loopRunning).length==0){console.group("Loop test");} 394console.log("Started looping: "+id);loopEvents[id].startTime=!performance.now?performance.now():Date.now();loopEvents[id].counter=0;if(!loopEvents[id].delay){loopEvents[id].running=true;for(;loopEvents[id].counter<loopEvents[id].amount;++loopEvents[id].counter){loopEvents[id].method();if(!loopEvents[id].running) 395return;} 396$.debug.loopStop(id);}else{loopRunning[id]=function(){if(!loopEvents[id].running) 397return;loopEvents[id].method();++loopEvents[id].counter;if(loopEvents[id].counter>=loopEvents[id].amount){$.debug.loopStop(id);}else{if(!loopEvents[id].delay){loopRunning[id]();}else{loopEvents[id].timeout=setTimeout(loopRunning[id],loopEvents[id].delay);}}};loopEvents[id].running=true;loopRunning[id]();}},loopStop:function(id){if(!id){for(var n in loopRunning){$.debug.loopStop(n);} 398return;} 399if(!loopEvents[id].running){console.log("Loop "+id+" has already stopped!");return;} 400if(loopEvents[id].timeout){clearTimeout(loopEvents[id].timeout);} 401loopEvents[id].running=false;delete loopRunning[id];var elapsed=(!performance.now?performance.now():Date.now())-loopEvents[id].startTime;var target=loopEvents[id].counter*loopEvents[id].delay;var execution=elapsed-target;var average=elapsed / loopEvents[id].counter;loopEvents[0].push("Test "+id+" iterations: "+loopEvents[id].counter+" - time: "+Math.floor(elapsed)+"ms - execution time: "+Math.floor(execution)+" - execution average: "+Math.floor(average));console.log("Stopped looping: "+id);if(Object.keys(loopRunning).length>0) 402return;console.groupEnd();console.group("Loop tests Results");for(var i=0;i<loopEvents[0].length;i++){console.log(loopEvents[0][i]);} 403loopEvents[0]=[];console.groupEnd();},loopToggle:function(id){if(!id){for(var i=1;i<loopEvents.length;i++){$.debug.loopToggle(i);} 404return;} 405if(!loopEvents[id].running){$.debug.loopStart(id);}else{$.debug.loopStop(id);}}});$.hcs.extend({debug:contructor});})(jQuery);class ImagePreloader{constructor(images){this.images=images;this.preloadedImages=new Array(images.length);} 406async preloadImage(index){return new Promise((resolve,reject)=>{const picture=document.createElement('picture');if(this.images[index].mobile){let source=document.createElement('source');source.media='(max-width: 600px)';source.srcset=this.images[index].mobile;picture.appendChild(source);source=document.createElement('source');source.media='(min-width: 601px)';source.srcset=this.images[index].src;picture.appendChild(source);} 407picture.classList.add("slider__img");const img=new Image();img.onload=()=>resolve(picture);img.onerror=reject;img.alt="Slider image "+(index+1);picture.appendChild(img);img.src=this.images[index].src;this.preloadedImages[index]=picture;});} 408setLoadedImage(index,picture){this.preloadedImages[index]=picture;} 409async preloadImages(){const promises=this.images.map((_,index)=>this.preloadImage(index));await Promise.all(promises);} 410getImage(index){return this.preloadedImages[index];}} 411class Slider{constructor(element,options){const defaultOptions={slides:[],start:false,delay:10,autoplay:true,onBeforeShow:()=>{},onAfterShow:()=>{},initialDelay:10};this.options=Object.assign({},defaultOptions,options);this.imagePreloader=new ImagePreloader(options.slides);if(element.classList.contains("slider")){this.container=element;this.imagePreloader.setLoadedImage(this.options.start,element.children[0]);this.isPreLoaded=true;}else{this.container=document.createElement("div");this.container.classList.add("slider");element.append(this.container);this.isPreLoaded=false;} 412this.autoplayEnabled=!!this.options.autoplay&&this.options.slides.length>1;this.autoplayTimer=null;if(this.options.start!==false){this.currentSlideIndex=this.options.start;}else{this.currentSlideIndex=Math.floor(Math.random()*this.options.slides.length);} 413this.loadSlide(this.currentSlideIndex);} 414startAutoplay(){this.autoplayEnabled=true;if(!this.autoplayTimer){this.autoplayTimer=setTimeout(()=>{this.nextSlide();},this.options.delay*1000);}} 415stopAutoplay(){this.autoplayEnabled=false;if(!this.autoplayTimer){clearTimeout(this.autoplayTimer);this.autoplayTimer=null;}} 416nextSlide(){this.currentSlideIndex=(this.currentSlideIndex+1)%this.options.slides.length;this.loadSlide(this.currentSlideIndex);} 417prevSlide(){this.currentSlideIndex=(this.currentSlideIndex-1+this.options.slides.length)%this.options.slides.length;this.loadSlide(this.currentSlideIndex);} 418loadSlide(index){if(!(this.imagePreloader.getImage(index))){this.imagePreloader.preloadImage(index).then(()=>{this._showSlide(index);});}else{this._showSlide(index);}} 419_attachEventListeners(index){const img=this.imagePreloader.getImage(index);if(!img||img.sliderBuildComplete){return;} 420img.sliderBuildComplete=true;if(this.options.slides[index].link){img.classList.add("slider__img--clickable");img.addEventListener("click",()=>{window.location=this.options.slides[index].link;});}} 421_showSlide(index){if(this.options.onBeforeShow(index,this.options.slides[index])===false){return;} 422this._attachEventListeners(index);const img=this.imagePreloader.getImage(index);const handleAnimationEnd=(event)=>{img.removeEventListener("animationend",handleAnimationEnd);this.options.onAfterShow(index,this.options.slides[index]);};img.addEventListener("animationend",handleAnimationEnd);if(this.autoplayEnabled){this.autoplayTimer=setTimeout(()=>{this.autoplayTimer=null;this.nextSlide();},this.options.delay*1000);} 423const preloaded=this.container.getElementsByClassName("slider__img--preload");if(preloaded.length){if(preloaded[0]===img){return;} 424preloaded[0].classList.remove("slider__img--preload");} 425this.container.append(img);const prevImg=this.container.getElementsByClassName("slider__img--visible");if(prevImg.length){prevImg[0].classList.remove("slider__img--visible");} 426if(this.container.children.length===1){img.classList.add("slider__img--preload");}else{img.classList.add("slider__img--visible");}}} 427(function(){window.jQuery=window.$=window.jQuery||function(selector){this._selector=selector;};let $=window.jQuery;const jQueryLoaders=[];$.loader=$.loader||function(content){console.warn("Deprecated use of $.loader()");const l=new Loader(content);jQueryLoaders.push(l);return l;};$.loader.load=Loader.load;$.loader.stop=(all)=>
427{jQueryLoaders.forEach((l)=>all?l.stopAll():l.stop());};if(!$.dialog){const _dialogSetDeprecatedMethods=function(d){d._parseDeprecatedOptions=function(options){for(var n in options){if(n==="onAfterShow"){d.on("show",options[n].bind(this));} 428if(n==="onAfterHide"){d.on("hide",options[n].bind(this));}}};d.contentOrig=d.content;d.content=function(content){if(content===undefined){return jQuery(d.contentOrig());} 429return d.contentOrig(content);};d.addButtonOrig=d.addButton;d.addButton=function(value,style,fn,title){if(typeof fn==="string"){title=fn;fn=null;} 430const btn=d.addButtonOrig(value,style,fn?fn.bind(d):fn);if(title){d.setButtonTooltip(title);} 431return btn;};d.set=function(setting,value){d._parseDeprecatedOptions({[setting]:value});return d;};};let _dialog=function(content,title,style,options){console.warn("Deprecated use of $.dialog()");if($.isPlainObject(content)){return this;} 432if($.isPlainObject(style)){options=style;style=undefined;} 433if($.isPlainObject(title)){options=title;title=undefined;} 434options=options||{};options['title']=title||options['title'];options['style']=style||options['style'];if(content instanceof jQuery){content.show();content=content.get(0);} 435const d=new Dialog(content,options['title'],options['style']);_dialogSetDeprecatedMethods(d);d._parseDeprecatedOptions(options);return d;};_dialog.alert=(content,title,style,fn_ok)=>{console.warn("Deprecated use of $.dialog.alert()");if($.isFunction(style)){fn_ok=style;style=undefined;} 436if($.isFunction(title)){fn_ok=title;style=undefined;title=undefined;} 437if(content instanceof jQuery){content.show();content=content.get(0);} 438const d=Dialog.alert(content,title,style,fn_ok);_dialogSetDeprecatedMethods(d);return d;};;_dialog.confirm=(content,title,style,fn_yes,fn_no)=>{console.warn("Deprecated use of $.dialog.confirm()");if($.isFunction(style)){fn_no=fn_yes;fn_yes=style;style=undefined;} 439if($.isFunction(title)){fn_no=style;fn_yes=title;style=undefined;title=undefined;} 440if(content instanceof jQuery){content.show();content=content.get(0);} 441const d=Dialog.confirm(content,title,style,fn_yes,fn_no);_dialogSetDeprecatedMethods(d);return d;};_dialog.okcancel=_dialog.confirm;_dialog.hideAll=Dialog.hideAll;_dialog.prompt=(content,title,style,fn_ok,fn_cancel,inputValue)=>{console.warn("Deprecated use of $.dialog.prompt()");if($.isFunction(style)){inputValue=fn_cancel;fn_cancel=fn_ok;fn_ok=style;style=undefined;} 442if($.isFunction(title)){inputValue=fn_cancel;fn_cancel=style;fn_ok=title;style=undefined;title=undefined;} 443if(fn_cancel&&!$.isFunction(fn_cancel)){inputValue=fn_cancel;fn_cancel=null;} 444if(content instanceof jQuery){content.show();content=content.get(0);} 445const input=document.createElement("input");input.type="text";input.classList.add("input");input.value=inputValue===undefined?"":inputValue;const container=document.createElement("div");Dialog._setElementContent(container,content);container.append(document.createElement("br"));container.append(input);const d=new Dialog(container,title,style);d.dismissable(false);d.addButton(Dialog._lang.ok,"success",()=>fn_ok(jQuery(input)));d.addButton(Dialog._lang.cancel,"warning",()=>fn_cancel?fn_cancel({dialog:d}):"");_dialogSetDeprecatedMethods(d);return d;};_dialog.load=Dialog.load;_dialog.hide=()=>{if(Dialog.current()){Dialog.current().hide();};};_dialog.current=()=>{console.warn("Deprecated use of $.dialog.current()");return Dialog.current();};_dialog.lang=Dialog.setLang;$.dialog=_dialog;} 446if(!$.notification){$.notification=function(content,style,showNextPageLoad){console.warn("Deprecated use of $.notification()");let n=new Notification(content,style);if(showNextPageLoad){n.showNextPageLoad();}};} 447if(!$.translationEditor){$.translationEditor=(linktype,linkid,property,lang,opts)=>{console.warn("Deprecated use of $.translationEditor()");if($.isPlainObject(linktype)){return this;} 448let editor;if(!isNaN(linktype)){editor=TranslationEditor.getById(linktype,linkid);}else if(!linkid||isNaN(linkid)){editor=TranslationEditor.getByLabel(linktype,linkid,property,lang);}else{editor=TranslationEditor.getByLinkType(linktype,linkid,property,lang);} 449if(opts){if(opts.onSave){editor.on("save",opts.onSave);} 450if(opts.onClose){editor.on("hide",opts.onClose);}} 451return editor;};} 452if(!$.addTinyDefaults){$.addTinyDefaults=(obj)=>{hcsTinyMCE.addDefaults(obj);};$.getTinyDefaults=(obj)=>{hcsTinyMCE.getDefaults();};$.onTinyReady=(fn)=>{console.warn("Deprecated use of $.onTinyReady()");hcsTinyMCE.onReady(fn);};} 453if(!$.fn.autocompletion){$.fn.autocompletion=function(obj){console.warn("Deprecated use of $().autocompletion()");if(this.data("autocompletioncache")){if(obj==="getSelectedKey"){const selected=this.data("autocompletioncache").getSelected();if(selected){return selected.id;} 454const data=this.data("autocompletioncache").getFilteredData();if(data&&data.length===1){return data[0].id;} 455return null;} 456if(obj==="search"){return this.data("autocompletioncache").search();} 457return this.data("autocompletioncache");} 458const ac=new Autocompletion(this.get(0));ac.setParam("query");if(obj.source){ac.setSource(obj.source);} 459if(obj.onOptionSelected){ac.on("select",()=>{obj.onOptionSelected(ac.getSelected().id,ac.getSelected().label);});} 460if(obj.onHideResults){ac.on("hideResults",()=>{obj.onHideResults.call(this);});} 461ac._parseDataOld=ac._parseData;ac._parseData=function(){if(typeof ac._data==="string"){ac._data=JSON.parse(ac._data);} 462const newData=[];
462for(var n in ac._data){if(Array.isArray(ac._data[n])){newData.push({id:n,label:ac._data[n][1],labelHTML:ac._data[n][0]});}else{newData.push({id:n,label:ac._data[n],labelHTML:ac._data[n]});}} 463ac._data=newData;return ac._parseDataOld();};this.data("autocompletioncache",ac);};}})();(function($){$.hcs.fn.plugin("carousel",{children:null,$wrapper:null,$navLeft:null,$navRight:null,$scrollbar:null,$scrollthumb:null,$navbar:null,autoscroll:null,autoscrollTimeout:null,_resizePending:false,_touchDelay:null,_uid:0,_static:{uid:0},options:{autoscroll:true,scrolldelay:3000,navigation:true,fitChild:true,fitChildMinMargin:10,stepSize:null,navLeft:'<svg class="svg-inline--fa fa-angle-left fa-xs" aria-hidden="true" focusable="false" data-prefix="fas" data-icon="angle-left" role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 320 512" data-fa-i2svg=""><path fill="currentColor" d="M41.4 233.4c-12.5 12.5-12.5 32.8 0 45.3l160 160c12.5 12.5 32.8 12.5 45.3 0s12.5-32.8 0-45.3L109.3 256 246.6 118.6c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0l-160 160z"></path></svg>',navRight:'<svg class="svg-inline--fa fa-angle-right fa-xs" aria-hidden="true" focusable="false" data-prefix="fas" data-icon="angle-right" role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 320 512" data-fa-i2svg=""><path fill="currentColor" d="M278.6 233.4c12.5 12.5 12.5 32.8 0 45.3l-160 160c-12.5 12.5-32.8 12.5-45.3 0s-12.5-32.8 0-45.3L210.7 256 73.4 118.6c-12.5-12.5-12.5-32.8 0-45.3s32.8-12.5 45.3 0l160 160z"></path></svg>',scrollThreshold:50},_create:function(){var plugin=this;this.children=this.$elem.children();this._uid=this._static.uid;this._static.uid++;this.$elem.addClass("carousel");var elem=this.$elem.get(0);var children=elem.children;var childrenSize=children.length;Array.from(children).forEach((child,index)=>{if(!child.hasAttribute('role')){child.setAttribute('role',"group");} 464if(!child.hasAttribute('aria-label')){child.setAttribute('aria-label','item '+(index+1)+' / '+childrenSize);}});this.$wrapper=$("<div class='carousel-wrapper' role='group' aria-label='Carousel' id='carousel_"+this._uid+"'></div>");this.$wrapper.insertBefore(this.$elem);this.$wrapper.append(this.$elem);this.$navbar=$("<div class='carousel__navbar'></div>").appendTo(this.$wrapper);this.$navLeft=$("<div role='button' class='carousel__navleft' aria-controls='carousel_"+this._uid+"' aria-label='previous'>"+this.options.navLeft+"</div>").appendTo(this.$navbar);this.$scrollbar=$("<div class='carousel__scrollbar'></div>").appendTo(this.$navbar);this.$scrollThumb=$("<div class='carousel__thumb'></div>").appendTo(this.$scrollbar);this.$navRight=$("<div role='button' class='carousel__navright' aria-controls='carousel_"+this._uid+"' aria-label='next'>"+this.options.navRight+"</div>").appendTo(this.$navbar);this.$navLeft.click(function(){plugin.scrollLeft(true);});this.$navRight.click(function(){plugin.scrollRight(true);});if(this.options.navigation){} 465var plugin=this;if(this.options.autoscroll){this.$elem.mouseenter(function(){if(plugin.autoscroll){clearInterval(plugin.autoscroll);plugin.autoscroll=null;}});this.$elem.mouseleave(function(){if(plugin.autoscroll){return;} 466plugin.autoscroll=setInterval(function(){plugin.scrollRight(true);},plugin.options.scrolldelay);}).trigger("mouseleave");} 467this._on('scroll',function(){plugin._updateScrollbarPosition();});this._updateScrollThumb();this._on('touchstart',function(){plugin.$navbar.addClass("carousel__navbar--showmobile");if(plugin._touchDelay){clearTimeout(plugin._touchDelay);plugin._touchDelay=null;}});this._on('touchend',function(){plugin._touchDelay=setTimeout(function(){plugin.$navbar.removeClass("carousel__navbar--showmobile");},2000);});this.$scrollThumb.on('mousedown',function(e){var startX=e.pageX;var startScrollLeft=plugin.$elem.scrollLeft();$('body').css({'-moz-user-select':'none','-webkit-user-select':'none','-ms-user-select':'none','user-select':'none'});plugin._on(document,'mousemove',function(e){var x=e.pageX;var diff=x-startX;var thumbWidth=plugin.$scrollThumb.width();var scrollbarWidth=plugin.$scrollbar.width();var scrollableWidth=plugin.$elem[0].scrollWidth-plugin.$elem.width();var thumbPositionPercentage=diff /(scrollbarWidth-thumbWidth);var scrollLeft=startScrollLeft+thumbPositionPercentage*scrollableWidth;plugin.$elem.scrollLeft(scrollLeft);});plugin._on(document,'mouseup',function(){$('body').css({'-moz-user-select':'','-webkit-user-select':'','-ms-user-select':'','user-select':''});plugin._off(document,'mousemove');plugin._off(document,'mouseup');});});this._resize();this._on(window,"resize",function(){plugin._resize();});},_resize:function(){if(this.options.fitChild){if(this._resizePending){return;} 468this._resizePending=true;requestAnimationFrame(()=>{this._resizePending=false;this._updateScrollThumb();var elem=this.$elem[0];this.$elem.find('.carousel__spacer').remove();var carouselScrollWidth=elem.scrollWidth-elem.clientWidth;if(carouselScrollWidth<=0){this.$elem.css("justify-content","space-between");this.$navbar.addClass("carousel__navbar--fullwidth");return;}else{this.$elem.css("justify-content","initial");this.$navbar.removeClass("carousel__navbar--fullwidth");} 469var children=elem.children;var lastChild=children[0];var elemPadding=children[0].offsetLeft;var childMargin=0;for(var i=0;i<children.length;i++){var child=children[i];var childPos=child.offsetLeft-elemPadding;if(childPos>elem.clientWidth){var visibleChildren=i-1;var totalMargin=elem.clientWidth-lastChild.offsetLeft;if(totalMargin<=0){return;} 470childMargin=totalMargin /(visibleChildren===1?1:visibleChildren-1);break;}else if(i===(children.length-1)){var visibleChildren=i;var totalMargin=elem.clientWidth-child.offsetLeft-elemPadding;if(totalMargin<=0){return;} 471childMargin=totalMargin /(visibleChildren-1);break;} 472lastChild=child;} 473for(var i=children.length-1;i>0;i--){var spacer=document.createElement("div");spacer.style.width=childMargin+"px";spacer.classList.add("carousel__spacer");this.$elem[0].insertBefore(spacer,children[i]);}});}},_init:function(){},_destroy:function(){},_updateScrollThumb:function(){var elem=this.$elem[0];var scrollThumbWidthPercentage=(elem.clientWidth / elem.scrollWidth)*100;this.$scrollThumb.width(scrollThumbWidthPercentage+'%');},_updateScrollbarPosition:function(){var elem=this.$elem[0];var carouselScrollLeft=elem.scrollLeft;var carouselScrollWidth=elem.scrollWidth-elem.clientWidth;var carouselScrollPos=carouselScrollLeft*100 / carouselScrollWidth;var scrollbarWidth=this.$scrollbar.width();var scrollThumbWidth=this.$scrollThumb.width();
473var scrollSpace=(scrollbarWidth-scrollThumbWidth)*100 / scrollbarWidth;var scrollPos=carouselScrollPos*scrollSpace / 100;this.$scrollThumb.css("left",scrollPos+'%');},scrollLeft:function(backToEnd){var elem=this.$elem[0];var carouselScrollLeft=elem.scrollLeft;var carouselScrollWidth=elem.scrollWidth-elem.clientWidth;var targetScrollLeft=0;if(carouselScrollLeft<=0&&backToEnd){targetScrollLeft=carouselScrollWidth;}else{var children=elem.children;var elemPadding=children[0].offsetLeft;for(var i=0;i<children.length;i++){var child=children[i];if(children[i].classList.contains("carousel__spacer")){continue;} 474var childPos=child.offsetLeft-elemPadding;if(childPos>=(carouselScrollLeft-this.options.scrollThreshold)){break;} 475targetScrollLeft=childPos;}} 476this.$elem.get(0).scrollTo({left:targetScrollLeft,behavior:'smooth'});},scrollRight:function(backToStart){var elem=this.$elem[0];var carouselScrollLeft=elem.scrollLeft;var carouselLastVisiblePos=carouselScrollLeft+elem.clientWidth;var carouselScrollWidth=elem.scrollWidth-elem.clientWidth;var targetScrollLeft=0;if(carouselScrollLeft>=carouselScrollWidth&&backToStart){targetScrollLeft=0;}else{var children=elem.children;var lastChild=true;for(var i=0;i<children.length;i++){if(children[i].classList.contains("carousel__spacer")){continue;} 477var child=children[i];var childPos=child.offsetLeft;if(childPos>=carouselLastVisiblePos){if(children[i+1]){targetScrollLeft=children[i+1].offsetLeft-elem.clientWidth;lastChild=false;}else{lastChild=true;} 478break;}} 479if(lastChild){targetScrollLeft=carouselScrollWidth;}} 480this.$elem.get(0).scrollTo({left:targetScrollLeft,behavior:'smooth'});}});})(jQuery);
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.