/*
 * jQuery Activity
 * December 20, 2009
 * Corey Hart @ http://www.codenothing.com
 */
(function(b,c){function a(){return(new Date).getTime()}b.activity={defaults:{lastActive:a(),inactive:1000*60*30,interval:1000*60*5,inactiveFn:function(){},intervalFn:function(){}},timer:c,now:a,init:function(e){var d=this;d.defaults=b.extend(d.defaults,e||{});d.defaults.lastActive=a();d.bind();return d.timer=setInterval(function(){d.check()},d.defaults.interval)},update:function(d){return(this.defaults.lastActive=d===c?a():d)},isActive:function(){return(this.timer!==c)},getActivity:function(){var d=this,e=a();return{diff:e-d.defaults.lastActive,time:e,lastActive:d.defaults.lastActive}},reActivate:function(e){var d=this;if(d.timer){d.timer=clearInterval(d.timer)}return d.init(e||{})},check:function(){var d=this,f=a(),e=f-d.defaults.lastActive;if(e>d.defaults.inactive){d.defaults.inactiveFn.call(d,{diff:e,time:f,lastActive:d.defaults.lastActive});return d.timer=clearInterval(d.timer)}else{if(e>d.defaults.interval){d.defaults.intervalFn.call(d,{diff:e,time:f,lastActive:d.defaults.lastActive})}}return d.bind()},bind:function(){var d=this;b(window).unbind(".activity").one("mousemove.activity keyup.activity",function(e){d.defaults.lastActive=e.timeStamp});return d}}})(jQuery);