!function(n){n.idleTimer=function(t,i){var r;"object"==typeof t?(r=t,t=null):"number"==typeof t&&(r={timeout:t},t=null);i=i||document;r=n.extend({idle:!1,timeout:3e4,events:"mousemove keydown wheel DOMMouseScroll mousewheel mousedown touchstart touchmove MSPointerDown MSPointerMove"},r);var u=n(i),f=u.data("idleTimerObj")||{},e=function(t){var r=n.data(i,"idleTimerObj")||{},u;r.idle=!r.idle;r.olddate=+new Date;u=n.Event((r.idle?"idle":"active")+".idleTimer");n(i).trigger(u,[i,n.extend({},r),t])},o=function(t){var r=n.data(i,"idleTimerObj")||{},u;if(("storage"!==t.type||t.originalEvent.key===r.timerSyncId)&&null==r.remaining){if("mousemove"===t.type){if(t.pageX===r.pageX&&t.pageY===r.pageY)return;if("undefined"==typeof t.pageX&&"undefined"==typeof t.pageY)return;if(u=+new Date-r.olddate,200>u)return}clearTimeout(r.tId);r.idle&&e(t);r.lastActive=+new Date;r.pageX=t.pageX;r.pageY=t.pageY;"storage"!==t.type&&r.timerSyncId&&"undefined"!=typeof localStorage&&localStorage.setItem(r.timerSyncId,r.lastActive);r.tId=setTimeout(e,r.timeout)}},s=function(){var t=n.data(i,"idleTimerObj")||{};t.idle=t.idleBackup;t.olddate=+new Date;t.lastActive=t.olddate;t.remaining=null;clearTimeout(t.tId);t.idle||(t.tId=setTimeout(e,t.timeout))},h=function(){var t=n.data(i,"idleTimerObj")||{};null==t.remaining&&(t.remaining=t.timeout-(+new Date-t.olddate),clearTimeout(t.tId))},c=function(){var t=n.data(i,"idleTimerObj")||{};null!=t.remaining&&(t.idle||(t.tId=setTimeout(e,t.remaining)),t.remaining=null)},l=function(){var t=n.data(i,"idleTimerObj")||{};clearTimeout(t.tId);u.removeData("idleTimerObj");u.off("._idleTimer")},a=function(){var t=n.data(i,"idleTimerObj")||{},r;return t.idle?0:null!=t.remaining?t.remaining:(r=t.timeout-(+new Date-t.lastActive),0>r&&(r=0),r)};if(null===t&&"undefined"!=typeof f.idle)return s(),u;if(null!==t){if(null!==t&&"undefined"==typeof f.idle)return!1;if("destroy"===t)return l(),u;if("pause"===t)return h(),u;if("resume"===t)return c(),u;if("reset"===t)return s(),u;if("getRemainingTime"===t)return a();if("getElapsedTime"===t)return+new Date-f.olddate;if("getLastActiveTime"===t)return f.lastActive;if("isIdle"===t)return f.idle}return u.on(n.trim((r.events+" ").split(" ").join("._idleTimer ")),function(n){o(n)}),r.timerSyncId&&n(window).bind("storage",o),f=n.extend({},{olddate:+new Date,lastActive:+new Date,idle:r.idle,idleBackup:r.idle,timeout:r.timeout,remaining:null,timerSyncId:r.timerSyncId,tId:null,pageX:null,pageY:null}),f.idle||(f.tId=setTimeout(e,f.timeout)),n.data(i,"idleTimerObj",f),u};n.fn.idleTimer=function(t){return this[0]?n.idleTimer(t,this[0]):this}}(jQuery)