(function(n,t){var i={init:function(i,r,u){var f=this,e;this.warning=e=n(i);this.resume=n(r);this.options=u;this.countdownOpen=!1;this.failedRequests=u.failedRequests;this._startTimer();n.data(e[0],"idletimout",this);n.idleTimer(u.idleAfter*1e3);n(document).bind("idle.idleTimer",function(){n.data(document,"idleTimer")!=="idle"||f.countdownOpen||(f._stopTimer(),f.countdownOpen=!0,f._idle())});this.resume.bind("click",function(n){n.preventDefault();t.clearInterval(f.countdown);f.countdownOpen=!1;f._startTimer();f._keepAlive(!1);u.onResume.call(f.warning)})},_idle:function(){var u=this,n=this.options,i=this.warning[0],r=n.warningLength;n.onIdle.call(i);n.onCountdown.call(i,r);this.countdown=t.setInterval(function(){--r==0?(window.clearInterval(u.countdown),n.onTimeout.call(i)):n.onCountdown.call(i,r)},1e3)},_startTimer:function(){var n=this;this.timer=t.setTimeout(function(){n._keepAlive()},this.options.pollingInterval*1e3)},_stopTimer:function(){this.failedRequests=this.options.failedRequests;t.clearTimeout(this.timer)},_keepAlive:function(t){var r=this,i=this.options;if(typeof t=="undefined"&&(t=!0),!this.failedRequests){this._stopTimer();i.onAbort.call(this.warning[0]);return}n.ajax({timeout:i.AJAXTimeout,url:i.keepAliveURL,error:function(){r.failedRequests--},success:function(t){n.trim(t)!==i.serverResponseEquals&&r.failedRequests--},complete:function(){t&&r._startTimer()}})}};n.idleTimeout=function(t,r,u){return i.init(t,r,n.extend(n.idleTimeout.options,u)),this};n.idleTimeout.options={warningLength:30,keepAliveURL:"",serverResponseEquals:"OK",idleAfter:600,pollingInterval:60,failedRequests:5,AJAXTimeout:250,onTimeout:n.noop,onIdle:n.noop,onCountdown:n.noop,onResume:n.noop,onAbort:n.noop}})(jQuery,window),function(n){n.idleTimer=function t(i){var r=!1,e=!0,u=3e4,f=function(){r=!r;t.olddate=+new Date;n(document).trigger(n.data(document,"idleTimer",r?"idle":"active")+".idleTimer")},o=function(){e=!1;clearTimeout(n.idleTimer.tId);n(document).unbind(".idleTimer")},s=function(){clearTimeout(n.idleTimer.tId);e&&(r&&f(),n.idleTimer.tId=setTimeout(f,u))};if(t.olddate=t.olddate||+new Date,typeof i=="number")u=i;else{if(i==="destroy")return o(),this;if(i==="getElapsedTime")return+new Date-t.olddate}n(document).bind(n.trim("mousemove keydown DOMMouseScroll mousewheel mousedown ".split(" ").join(".idleTimer ")),s);n.idleTimer.tId=setTimeout(f,u);n.data(document,"idleTimer","active")}}(jQuery)