/*! Idle Timer - v1.1.0 - 2016-03-21
* https://github.com/thorst/jquery-idletimer
* Copyright (c) 2016 Paul Irish; Licensed MIT */
!function(e){e.idleTimer=function(t,i){var n;"object"==typeof t?(n=t,t=null):"number"==typeof t&&(n={timeout:t},t=null),i=i||document,n=e.extend({idle:!1,timeout:3e4,events:"mousemove keydown wheel DOMMouseScroll mousewheel mousedown touchstart touchmove MSPointerDown MSPointerMove"},n);var r=e(i),a=r.data("idleTimerObj")||{},l=function(t){var n=e.data(i,"idleTimerObj")||{};n.idle=!n.idle,n.olddate=+new Date;var r=e.Event((n.idle?"idle":"active")+".idleTimer");e(i).trigger(r,[i,e.extend({},n),t])},d=function(t){var n=e.data(i,"idleTimerObj")||{};if(("storage"!==t.type||t.originalEvent.key===n.timerSyncId)&&null==n.remaining){if("mousemove"===t.type){if(t.pageX===n.pageX&&t.pageY===n.pageY)return;if("undefined"==typeof t.pageX&&"undefined"==typeof t.pageY)return;if(+new Date-n.olddate<200)return}clearTimeout(n.tId),n.idle&&l(t),n.lastActive=+new Date,n.pageX=t.pageX,n.pageY=t.pageY,"storage"!==t.type&&n.timerSyncId&&"undefined"!=typeof localStorage&&localStorage.setItem(n.timerSyncId,n.lastActive),n.tId=setTimeout(l,n.timeout)}},u=function(){var t=e.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(l,t.timeout))};if(null===t&&"undefined"!=typeof a.idle)return u(),r;if(null===t);else{if(null!==t&&"undefined"==typeof a.idle)return!1;if("destroy"===t)return function(){var t=e.data(i,"idleTimerObj")||{};clearTimeout(t.tId),r.removeData("idleTimerObj"),r.off("._idleTimer")}(),r;if("pause"===t)return function(){var t=e.data(i,"idleTimerObj")||{};null==t.remaining&&(t.remaining=t.timeout-(+new Date-t.olddate),clearTimeout(t.tId))}(),r;if("resume"===t)return function(){var t=e.data(i,"idleTimerObj")||{};null!=t.remaining&&(t.idle||(t.tId=setTimeout(l,t.remaining)),t.remaining=null)}(),r;if("reset"===t)return u(),r;if("getRemainingTime"===t)return function(){var t=e.data(i,"idleTimerObj")||{};if(t.idle)return 0;if(null!=t.remaining)return t.remaining;var n=t.timeout-(+new Date-t.lastActive);return n<0&&(n=0),n}();if("getElapsedTime"===t)return+new Date-a.olddate;if("getLastActiveTime"===t)return a.lastActive;if("isIdle"===t)return a.idle}return r.on(e.trim((n.events+" ").split(" ").join("._idleTimer ")),function(e){d(e)}),n.timerSyncId&&e(window).bind("storage",d),(a=e.extend({},{olddate:+new Date,lastActive:+new Date,idle:n.idle,idleBackup:n.idle,timeout:n.timeout,remaining:null,timerSyncId:n.timerSyncId,tId:null,pageX:null,pageY:null})).idle||(a.tId=setTimeout(l,a.timeout)),e.data(i,"idleTimerObj",a),r},e.fn.idleTimer=function(t){return this[0]?e.idleTimer(t,this[0]):this}}(jQuery);