summaryrefslogtreecommitdiff
path: root/public/vendor/idle.js
diff options
context:
space:
mode:
Diffstat (limited to 'public/vendor/idle.js')
-rwxr-xr-xpublic/vendor/idle.js160
1 files changed, 0 insertions, 160 deletions
diff --git a/public/vendor/idle.js b/public/vendor/idle.js
deleted file mode 100755
index 4c10461e..00000000
--- a/public/vendor/idle.js
+++ /dev/null
@@ -1,160 +0,0 @@
-(function() {
- var Idle;
-
- /** IE8/old browser support **/
- if (!document.addEventListener) {
- if (document.attachEvent) {
- document.addEventListener = function(event, callback, useCapture) {
- return document.attachEvent("on" + event, callback, useCapture);
- };
- } else {
- document.addEventListener = function() {
- return {};
- };
- }
- }
-
- if (!document.removeEventListener) {
- if (document.detachEvent) {
- document.removeEventListener = function(event, callback) {
- return document.detachEvent("on" + event, callback);
- };
- } else {
- document.removeEventListener = function() {
- return {};
- };
- }
- }
-
- "use strict";
-
- Idle = {};
-
- Idle = (function() {
- Idle.isAway = false;
-
- Idle.awayTimeout = 3000;
-
- Idle.awayTimestamp = 0;
-
- Idle.awayTimer = null;
-
- Idle.onAway = null;
-
- Idle.onAwayBack = null;
-
- Idle.onVisible = null;
-
- Idle.onHidden = null;
-
- function Idle(options) {
- var activeMethod, activity;
- if (options) {
- this.awayTimeout = parseInt(options.awayTimeout, 10);
- this.onAway = options.onAway;
- this.onAwayBack = options.onAwayBack;
- this.onVisible = options.onVisible;
- this.onHidden = options.onHidden;
- }
- activity = this;
- activeMethod = function() {
- return activity.onActive();
- };
- window.onclick = activeMethod;
- window.onmousemove = activeMethod;
- window.onmouseenter = activeMethod;
- window.onkeydown = activeMethod;
- window.onscroll = activeMethod;
- window.onmousewheel = activeMethod;
- }
-
- Idle.prototype.onActive = function() {
- this.awayTimestamp = new Date().getTime() + this.awayTimeout;
- if (this.isAway) {
- this.isAway = false;
- if (this.onAwayBack) {
- this.onAwayBack();
- }
- this.start();
- }
- return true;
- };
-
- Idle.prototype.start = function() {
- var activity;
- if (!this.listener) {
- this.listener = (function() {
- return activity.handleVisibilityChange();
- });
- document.addEventListener("visibilitychange", this.listener, false);
- document.addEventListener("webkitvisibilitychange", this.listener, false);
- document.addEventListener("msvisibilitychange", this.listener, false);
- }
- this.awayTimestamp = new Date().getTime() + this.awayTimeout;
- if (this.awayTimer !== null) {
- clearTimeout(this.awayTimer);
- }
- activity = this;
- this.awayTimer = setTimeout((function() {
- return activity.checkAway();
- }), this.awayTimeout + 100);
- return this;
- };
-
- Idle.prototype.stop = function() {
- if (this.awayTimer !== null) {
- clearTimeout(this.awayTimer);
- }
- if (this.listener !== null) {
- document.removeEventListener("visibilitychange", this.listener);
- document.removeEventListener("webkitvisibilitychange", this.listener);
- document.removeEventListener("msvisibilitychange", this.listener);
- this.listener = null;
- }
- return this;
- };
-
- Idle.prototype.setAwayTimeout = function(ms) {
- this.awayTimeout = parseInt(ms, 10);
- return this;
- };
-
- Idle.prototype.checkAway = function() {
- var activity, t;
- t = new Date().getTime();
- if (t < this.awayTimestamp) {
- this.isAway = false;
- activity = this;
- this.awayTimer = setTimeout((function() {
- return activity.checkAway();
- }), this.awayTimestamp - t + 100);
- return;
- }
- if (this.awayTimer !== null) {
- clearTimeout(this.awayTimer);
- }
- this.isAway = true;
- if (this.onAway) {
- return this.onAway();
- }
- };
-
- Idle.prototype.handleVisibilityChange = function() {
- if (document.hidden || document.msHidden || document.webkitHidden) {
- if (this.onHidden) {
- return this.onHidden();
- }
- } else {
- if (this.onVisible) {
- return this.onVisible();
- }
- }
- };
-
- return Idle;
-
- })();
-
- window.Idle = Idle;
-
-}).call(this);