// IDLE HANDLING ///////////////////////////////////////////////////// window.idleTime = 0; // in minutes setInterval('window.idleTime += 1', 60*1000); var idleReset = function () { // update immediately when the user comes back if(isIdle()) { window.idleTime = 0; $.each(window._onResumeFunctions, function(ind, f) { f(); }); } window.idleTime = 0; }; $('body').mousemove(idleReset).keypress(idleReset); window.isIdle = function() { return window.idleTime >= MAX_IDLE_TIME; } window._onResumeFunctions = []; // add your function here if you want to be notified when the user // resumes from being idle window.addResumeFunction = function(f) { window._onResumeFunctions.push(f); }