var OmniFaces=OmniFaces||{EVENT:"omnifaces.event",VIEW_STATE_PARAM:"javax.faces.ViewState",CLIENT_WINDOW_PARAM:"javax.faces.ClientWindow"};
OmniFaces.Util=function(b,f){function d(a,c,l,e,b){e=e.replace(/^\s+|\s+$/g,"").split(/\s+/);for(var f=0;f<e.length;f++){var g=e[f];if(a[c])a[c](g,b);else if(a[l])a[l]("on"+g,b)}}function h(a,c,b){var e=a[c];e&&(a[c]=function(){b();return e.apply(this,arguments)})}var g={addEventListener:function(a,c,b){d(a,"addEventListener","attachEvent",c,b)},removeEventListener:function(a,c,b){d(a,"removeEventListener","detachEvent",c,b)},addOnloadListener:function(a){if("complete"===f.readyState)setTimeout(a);
else if(b.addEventListener||b.attachEvent)g.addEventListener(b,"load",a);else if("function"===typeof b.onload){var c=b.onload;b.onload=function(){c();a()}}else b.onload=a},addSubmitListener:function(a){g.addEventListener(f,"submit",a);b.mojarra&&h(mojarra,"jsfcljs",a);b.myfaces&&h(myfaces.oam,"submitForm",a);b.PrimeFaces&&h(PrimeFaces,"addSubmitParam",a)},resolveFunction:function(a){return"function"!==typeof a&&(a=b[a]||function(){}),a},getFacesForm:function(){for(var a=0;a<f.forms.length;a++)if(f.forms[a]["javax.faces.ViewState"])return f.forms[a];
return null},updateParameter:function(a,c,b){var e=new RegExp("(^|[?\x26#])"+c+"\x3d.*?([\x26#]|$)","i");b?(c=c+"\x3d"+encodeURIComponent(b),a=a?a.match(e)?a.replace(e,"$1"+c+"$2"):a+("\x26"+c):c):a=a.replace(e,"$2");"\x26"==a.charAt(0)&&(a=a.substring(1));return a},loadScript:function(a,b,d,e,h){b=g.resolveFunction(b);var c=g.resolveFunction(d),m=g.resolveFunction(e),l=g.resolveFunction(h),k=f.createElement("script");d=f.head||f.documentElement;k.async=!0;k.src=a;k.setAttribute("crossorigin","anonymous");
k.onerror=function(){m()};k.onload=k.onreadystatechange=function(a,b){if(b||!k.readyState||/loaded|complete/.test(k.readyState)){k.onload=k.onreadystatechange=null;if(b)k.onerror();else c();k=null;l()}};b();d.insertBefore(k,null)}};return g}(window,document);
OmniFaces.Unload=function(b,f,d,h){var g,a,c={init:function(h){if(d.XMLHttpRequest){if(null==g){var e=b.getFacesForm();if(!e){d.jsf&&"Development"!=jsf.getProjectStage()||!d.console||!console.error||console.error("OmniFaces @ViewScoped: cannot find a JSF form in the document. Unload will not work. Either add a JSF form, or use @RequestScoped instead.");return}b.addEventListener(d,"onpagehide"in d?"pagehide":"onbeforeunload"in d&&!d.onbeforeunload?"beforeunload":"unload",function(){if(a)c.reenable();
else try{var b=e.action,d=OmniFaces.EVENT+"\x3dunload\x26id\x3d"+g+"\x26"+OmniFaces.VIEW_STATE_PARAM+"\x3d"+encodeURIComponent(e[OmniFaces.VIEW_STATE_PARAM].value);if(f.sendBeacon)f.sendBeacon(b,new Blob([d],{type:"application/x-www-form-urlencoded"}));else{var h=new XMLHttpRequest;h.open("POST",b,!1);h.setRequestHeader("X-Requested-With","XMLHttpRequest");h.setRequestHeader("Content-Type","application/x-www-form-urlencoded");h.send(d)}}catch(n){}});b.addSubmitListener(function(){c.disable()})}g=
h;a=!1}},disable:function(){a=!0},reenable:function(){a=!1}};return c}(OmniFaces.Util,navigator,window,document);