Такое довольно легко реализовать средствами jQuery:
idleTimer = null;
idleState = false;
idleWait = 2000; // задаём время ожидания бездействия
(function ($) {
$(document).ready(function () {
$('*').bind('mousemove keydown scroll', function () {
clearTimeout(idleTimer);
if (idleState == true) {
// Что делаем, когда пользователь активировался
$("body").append("<p>С возвращением дружище!.</p>");
// Что делаем, когда пользователь активировался
}
idleState = false;
idleTimer = setTimeout(function () {
// Что делаем при бездействии юзера больше указанного времени
$("body").append("<p>Уже " + idleWait / 1000 + " сек. отдыхаешь! Хватит халявить!</p>");
// Что делаем при бездействии юзера больше указанного времени
idleState = true;
}, idleWait);
});
// Инициализация
$("body").trigger("mousemove");
});
})(jQuery)