var OmniFaces=OmniFaces||{EVENT:"omnifaces.event",VIEW_STATE_PARAM:"javax.faces.ViewState",CLIENT_WINDOW_PARAM:"javax.faces.ClientWindow"};
OmniFaces.Util=function(d,g){function k(a,h,b,f,d){f=f.replace(/^\s+|\s+$/g,"").split(/\s+/);for(var c=0;c<f.length;c++){var g=f[c];if(a[h])a[h](g,d);else if(a[b])a[b]("on"+g,d)}}function e(a,h,b){var c=a[h];c&&(a[h]=function(){b();return c.apply(this,arguments)})}var b={addEventListener:function(a,b,c){k(a,"addEventListener","attachEvent",b,c)},removeEventListener:function(a,b,c){k(a,"removeEventListener","detachEvent",b,c)},addOnloadListener:function(a){if(d.jQuery)jQuery(a);else if("complete"===
g.readyState)setTimeout(a);else if(d.addEventListener||d.attachEvent)b.addEventListener(d,"load",a);else if("function"===typeof d.onload){var h=d.onload;d.onload=function(){h();a()}}else d.onload=a},addSubmitListener:function(a){b.addEventListener(g,"submit",a);d.mojarra&&e(mojarra,"jsfcljs",a);d.myfaces&&e(myfaces.oam,"submitForm",a);d.PrimeFaces&&e(PrimeFaces,"addSubmitParam",a)},resolveFunction:function(a){return"function"!==typeof a&&(a=d[a]||function(){}),a},getFacesForm:function(){for(var a=
0;a<g.forms.length;a++)if(g.forms[a][OmniFaces.VIEW_STATE_PARAM])return g.forms[a];d.jsf&&"Development"!=jsf.getProjectStage()||!d.console||!console.error||console.error("OmniFaces: Cannot find a JSF form in the document. Please add one.");return null},updateParameter:function(a,b,c){var f=new RegExp("(^|[?\x26#])"+b+"\x3d.*?([\x26#]|$)","i");c?(b=b+"\x3d"+encodeURIComponent(c),a=a?a.match(f)?a.replace(f,"$1"+b+"$2"):a+("\x26"+b):b):a=a.replace(f,"$2");"\x26"==a.charAt(0)&&(a=a.substring(1));return a},
loadScript:function(a,h,c,f,d,e){var l=b.resolveFunction(c),k=b.resolveFunction(f),n=b.resolveFunction(d),r=b.resolveFunction(e),m=g.createElement("script"),t=g.head||g.documentElement;m.async=!0;m.src=a;m.setAttribute("crossorigin",h||"anonymous");m.onerror=function(){n()};m.onload=m.onreadystatechange=function(a,b){if(b||!m.readyState||/loaded|complete/.test(m.readyState)){m.onload=m.onreadystatechange=null;if(b)m.onerror();else k();m=null;r()}};b.addOnloadListener(function(){l();t.insertBefore(m,
null)})}};return b}(window,document);
OmniFaces.Highlight=function(d,g){function k(){d.removeEventListener(this,"click input",k);var b=this.getAttribute("data-omnifaces-highlight-class");if(b){this.removeAttribute("data-omnifaces-highlight-class");b=new RegExp(" "+b,"g");this.className=this.className.replace(b,"");var a=this.getAttribute("data-omnifaces-highlight-label");a&&(this.removeAttribute("data-omnifaces-highlight-label"),a=e[this.id],a.className=a.className.replace(b,""))}}var e;return{apply:function(b,a,h){for(var c=g.getElementsByTagName("LABEL"),
f={},l=0;l<c.length;l++){var n=c[l],q=n.htmlFor;q&&(f[q]=n)}e=f;for(c=0;c<b.length;c++)if(l=b[c],f=g.getElementById(l),f||(l=g.getElementsByName(l))&&l.length&&(f=l[0]),f){f.className+=" "+a;f.setAttribute("data-omnifaces-highlight-class",a);if(l=e[f.id])l.className+=" "+a,f.setAttribute("data-omnifaces-highlight-label",!0);h&&(f.focus(),h=!1);d.addEventListener(f,"click input",k)}}}}(OmniFaces.Util,document);
OmniFaces.DeferredScript=function(d,g){function k(b){if(!(0>b||b>=e.length)){var a=e[b];d.loadScript(a.url,null,a.begin,a.success,a.error,function(){k(b+1)})}}var e=[];return{add:function(b,a,h,c){e.push({url:b,begin:a,success:h,error:c});1==e.length&&d.addOnloadListener(function(){k(0)})}}}(OmniFaces.Util,document);
OmniFaces.Unload=function(d,g,k,e){var b,a,h={init:function(c){if(k.XMLHttpRequest){if(null==b){var f=d.getFacesForm();if(!f)return;d.addEventListener(k,"onpagehide"in k?"pagehide":"onbeforeunload"in k&&!k.onbeforeunload?"beforeunload":"unload",function(){if(a)h.reenable();else try{var c=f.action,d=OmniFaces.EVENT+"\x3dunload\x26id\x3d"+b+"\x26"+OmniFaces.VIEW_STATE_PARAM+"\x3d"+encodeURIComponent(f[OmniFaces.VIEW_STATE_PARAM].value);if(g.sendBeacon)g.sendBeacon(c,new Blob([d],{type:"application/x-www-form-urlencoded"}));
else{var e=new XMLHttpRequest;e.open("POST",c,!1);e.setRequestHeader("X-Requested-With","XMLHttpRequest");e.setRequestHeader("Content-Type","application/x-www-form-urlencoded");e.send(d)}}catch(p){}});d.addSubmitListener(function(){h.disable()})}b=c;a=!1}},disable:function(){a=!0},reenable:function(){a=!1}};return h}(OmniFaces.Util,navigator,window,document);
OmniFaces.Push=function(d,g){function k(a,b,d,h,e,g,k){var c,f,l=this;l.open=function(){c&&1==c.readyState||(c=new WebSocket(a),c.onopen=function(a){null==f&&d(b);f=0},c.onmessage=function(a){var c=JSON.parse(a.data);h(c,b,a);if((a=k[c])&&a.length)for(c=0;c<a.length;c++)a[c]()},c.onclose=function(a){!c||1E3==a.code&&"Expired"==a.reason||1008==a.code||1005==a.code&&"Unknown channel"==a.reason||null==f||25<=f?g(a.code,b,a):(e(a.code,b,a),setTimeout(l.open,500*f++))})};l.close=function(){if(c){var a=
c;c=null;null==f;a.close()}}}function e(b){var c=a[b];if(c)return c;throw Error("Unknown channel: "+b);}var b=g.location.protocol.replace("http","ws")+"//",a={},h={init:function(c,f,e,n,q,p,u,r){p=d.resolveFunction(p);var l=f.split(/\?/)[0];if(g.WebSocket){if(!a[l]){var t=(c=c||"")&&0!=c.indexOf("/")?0==c.indexOf(":")?g.location.hostname:"":g.location.host;a[l]=new k(b+t+c+"/omnifaces.push/"+f,l,d.resolveFunction(e),d.resolveFunction(n),d.resolveFunction(q),p,u)}r&&h.open(l)}else p(-1,l)},open:function(a){e(a).open()},
close:function(a){e(a).close()}};return h}(OmniFaces.Util,window);
OmniFaces.InputFile=function(d,g){return{validate:function(k,e,b,a){if(!d.FileReader)return!0;g.getElementById(b).innerHTML="";for(b=0;b<e.files.length;b++){var h=e.files[b];if(h.size>a){a=h.name;var c;d.mojarra&&(c=e.form.enctype,e.form.enctype="application/x-www-form-urlencoded");e.type="text";e.type="file";a={fileName:a};a[OmniFaces.EVENT]="validationFailed";jsf.ajax.request(e.id,k,a);c&&(e.form.enctype=c);return!1}}return!0}}}(window,document);
OmniFaces.Form=function(d,g){d.addOnloadListener(function(){if(g.jsf){var d=jsf.getViewState;jsf.getViewState=function(e){var b=d(e);if("true"!=e.attributes["data-partialsubmit"])return b;var a=jsf.ajax.request.arguments,h=a?a[2].execute:null;if(!h||-1!=h.indexOf("@form")||-1!=h.indexOf("@all"))return b;var c=[];-1==h.indexOf("@none")&&(c=h.replace("@this",a[0].id).split(" ").map(encodeURIComponent),c.push(encodeURIComponent(e.id)));c.push(OmniFaces.VIEW_STATE_PARAM);c.push(OmniFaces.CLIENT_WINDOW_PARAM);
var f=[];b.replace(/([^=&]+)=([^&]*)/g,function(a,b,d){-1<c.indexOf(b)&&f.push(b+"\x3d"+d)});return f.join("\x26")}}})}(OmniFaces.Util,window);
OmniFaces.HashParam=function(d,g,k){function e(){if(!a){var h={execute:b,hash:g.location.hash.substring(1)};h[OmniFaces.EVENT]="setHashParamValues";jsf.ajax.request(d.getFacesForm(),null,h)}}var b,a;return{init:function(a){b=a;d.getFacesForm()&&(g.location.hash&&e(),d.addEventListener(g,"hashchange",e))},update:function(b,c){a=!0;var f=g.location,e=f.hash;e&&"#"==e.charAt(0)&&(e=e.substring(1));b=d.updateParameter(e,b,c);b!=e&&((e=g.history)&&e.pushState?(f=f.href.split(/#/,2)[0]+(b?"#":"")+b,e.pushState(null,
k.title,f)):f.hash=b);a=!1}}}(OmniFaces.Util,window,document);OmniFaces.ScriptParam=function(d,g,k){function e(b){if(!(b instanceof Object))return b;var a={},d;for(d in b)b[d]instanceof Function||b[d]instanceof Object||(a[d]=b[d]);return a}return{run:function(b,a){var g=d.getFacesForm();if(g){var c={},f;for(f in a)c[f]=JSON.stringify(e(a[f]));c.execute=b;c[OmniFaces.EVENT]="setScriptParamValues";jsf.ajax.request(g,null,c)}}}}(OmniFaces.Util,window,document);
OmniFaces.ServiceWorker=function(d,g){return{init:function(k,e){g.serviceWorker&&(g.serviceWorker.register(k,{scope:e}),g.serviceWorker.addEventListener("message",function(b){b.data&&b.data.type==OmniFaces.EVENT&&d.dispatchEvent(new CustomEvent(b.data.name,{detail:b.data.detail}))}))}}}(window,navigator);