(function () {
var timerId = null;
var originTitle = document.title;
var message = "New text!!!";
var date = new Date;
date.setMinutes(0);
date.setHours(date.getHours() + 1);
// date - это ближайшее время, когда 00 минут (ну ты понел)
setTimeout(timer, date - new Date);
function timer() {
setTimeout(timer, 3600000); // 3600000 == 60 * 60 * 1000 - 1 час
startNotify();
setTimeout(stopNotify, 30000);
}
function startNotify() {
timerId = setInterval(notify, 800);
}
function stopNotify() {
clearInterval(timerId);
}
function notify() {
document.title = document.title == originTitle ? message : originTitle;
}
} ());
Код не проверял - лениво было. А запускать проверку каждую секунду - это говнологика.