var OmniFaces=OmniFaces||{};
OmniFaces.Util=function(b,e){function d(a,g,b,f,d){f=f.replace(/^\s+|\s+$/g,"").split(/\s+/);for(var c=0;c<f.length;c++){var e=f[c];if(a[g])a[g](e,d);else if(a[b])a[b]("on"+e,d)}}function c(a,b,d){var f=a[b];f&&(a[b]=function(){d();return f.apply(this,arguments)})}var h={addEventListener:function(a,b,c){d(a,"addEventListener","attachEvent",b,c)},removeEventListener:function(a,b,c){d(a,"removeEventListener","detachEvent",b,c)},addOnloadListener:function(a){if("complete"===e.readyState)setTimeout(a);
else if(b.addEventListener||b.attachEvent)h.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){h.addEventListener(e,"submit",a);b.mojarra&&c(mojarra,"jsfcljs",a);b.myfaces&&c(myfaces.oam,"submitForm",a);b.PrimeFaces&&c(PrimeFaces,"addSubmitParam",a)},resolveFunction:function(a){return"function"!==typeof a&&(a=b[a]||function(){}),a}};return h}(window,document);
OmniFaces.Unload=function(b,e,d,c){function h(){for(var a=0;a<c.forms.length;a++)if(c.forms[a]["javax.faces.ViewState"])return c.forms[a];return null}var a,g,k={init:function(c){if(d.XMLHttpRequest){if(null==a){var l=h();if(!l){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,d.onbeforeunload?"unload":
"beforeunload",function(){if(g)k.reenable();else try{var b=l.action,c="omnifaces.event\x3dunload\x26id\x3d"+a+"\x26javax.faces.ViewState\x3d"+encodeURIComponent(l["javax.faces.ViewState"].value);if(e.sendBeacon)e.sendBeacon(b,new Blob([c],{type:"application/x-www-form-urlencoded"}));else{var d=new XMLHttpRequest;d.open("POST",b,!1);d.setRequestHeader("X-Requested-With","XMLHttpRequest");d.setRequestHeader("Content-Type","application/x-www-form-urlencoded");d.send(c)}}catch(f){}});b.addSubmitListener(function(){k.disable()})}a=
c;g=!1}},disable:function(){g=!0},reenable:function(){g=!1}};return k}(OmniFaces.Util,navigator,window,document);