/*! Idle Timer - v1.1.0 - 2016-03-21
* https://github.com/thorst/jquery-idletimer
* Copyright (c) 2016 Paul Irish; Licensed MIT */
(function(a){a.idleTimer=function(j,c){var b;if(typeof j==="object"){b=j;j=null}else{if(typeof j==="number"){b={timeout:j};j=null}}c=c||document;b=a.extend({idle:false,timeout:30000,events:"mousemove keydown wheel DOMMouseScroll mousewheel mousedown touchstart touchmove MSPointerDown MSPointerMove"},b);var e=a(c),f=e.data("idleTimerObj")||{},g=function(p){var o=a.data(c,"idleTimerObj")||{};o.idle=!o.idle;o.olddate=+new Date();var n=a.Event((o.idle?"idle":"active")+".idleTimer");a(c).trigger(n,[c,a.extend({},o),p])},i=function(p){var o=a.data(c,"idleTimerObj")||{};if(p.type==="storage"&&p.originalEvent.key!==o.timerSyncId){return}if(o.remaining!=null){return}if(p.type==="mousemove"){if(p.pageX===o.pageX&&p.pageY===o.pageY){return}if(typeof p.pageX==="undefined"&&typeof p.pageY==="undefined"){return}var n=(+new Date())-o.olddate;if(n<200){return}}clearTimeout(o.tId);if(o.idle){g(p)}o.lastActive=+new Date();o.pageX=p.pageX;o.pageY=p.pageY;if(p.type!=="storage"&&o.timerSyncId){if(typeof(localStorage)!=="undefined"){localStorage.setItem(o.timerSyncId,o.lastActive)}}o.tId=setTimeout(g,o.timeout)},h=function(){var n=a.data(c,"idleTimerObj")||{};n.idle=n.idleBackup;n.olddate=+new Date();n.lastActive=n.olddate;n.remaining=null;clearTimeout(n.tId);if(!n.idle){n.tId=setTimeout(g,n.timeout)}},m=function(){var n=a.data(c,"idleTimerObj")||{};if(n.remaining!=null){return}n.remaining=n.timeout-((+new Date())-n.olddate);clearTimeout(n.tId)},d=function(){var n=a.data(c,"idleTimerObj")||{};if(n.remaining==null){return}if(!n.idle){n.tId=setTimeout(g,n.remaining)}n.remaining=null},k=function(){var n=a.data(c,"idleTimerObj")||{};clearTimeout(n.tId);e.removeData("idleTimerObj");e.off("._idleTimer")},l=function(){var o=a.data(c,"idleTimerObj")||{};if(o.idle){return 0}if(o.remaining!=null){return o.remaining}var n=o.timeout-((+new Date())-o.lastActive);if(n<0){n=0}return n};if(j===null&&typeof f.idle!=="undefined"){h();return e}else{if(j===null){}else{if(j!==null&&typeof f.idle==="undefined"){return false}else{if(j==="destroy"){k();return e}else{if(j==="pause"){m();return e}else{if(j==="resume"){d();return e}else{if(j==="reset"){h();return e}else{if(j==="getRemainingTime"){return l()}else{if(j==="getElapsedTime"){return(+new Date())-f.olddate}else{if(j==="getLastActiveTime"){return f.lastActive}else{if(j==="isIdle"){return f.idle}}}}}}}}}}}e.on(a.trim((b.events+" ").split(" ").join("._idleTimer ")),function(n){i(n)});if(b.timerSyncId){a(window).bind("storage",i)}f=a.extend({},{olddate:+new Date(),lastActive:+new Date(),idle:b.idle,idleBackup:b.idle,timeout:b.timeout,remaining:null,timerSyncId:b.timerSyncId,tId:null,pageX:null,pageY:null});if(!f.idle){f.tId=setTimeout(g,f.timeout)}a.data(c,"idleTimerObj",f);return e};a.fn.idleTimer=function(b){if(this[0]){return a.idleTimer(b,this[0])}return this}})(jQuery);
PrimeFaces.widget.IdleMonitor=PrimeFaces.widget.BaseWidget.extend({init:function(a){this._super(a);var c=this;$(document).on("idle.idleTimer",function(){if(c.cfg.onidle){c.cfg.onidle.call(c)}if(c.cfg.behaviors){var d=c.cfg.behaviors.idle;if(d){d.call(c)}}}).on("active.idleTimer",function(){if(c.cfg.onactive){c.cfg.onactive.call(this)}if(c.cfg.behaviors){var d=c.cfg.behaviors.active;if(d){d.call(c)}}});$.idleTimer(this.cfg.timeout);if(a.multiWindowSupport){var b=c.cfg.contextPath+"_idleMonitor_lastActive";localStorage.setItem(b,$(document).data("idleTimerObj").lastActive);c.timer=setInterval(function(){var e=$(document).data("idleTimerObj");var d=parseInt(localStorage.getItem(b));var f=e.lastActive;if(d>f){$.idleTimer("pause");e.idle=false;e.olddate=d;e.lastActive=d;e.remaining=c.cfg.timeout;$.idleTimer("resume")}else{if(f>d){localStorage.setItem(b,f)}}},2000)}},destroy:function(){this._super();if(this.cfg.multiWindowSupport){clearInterval(this.timer)}},pause:function(){$.idleTimer("pause")},resume:function(){$.idleTimer("resume")},reset:function(){$.idleTimer("reset")}});
