User:Anomie/lockout.js
/* Forbid access using this account on weekdays from 7:20am to 7:40am local time. */
(function(){
if(!document.body){
// Page not loaded yet!
setTimeout(arguments.callee, 100);
return;
}
var s=7*3600+20*60; // Start lockout time, in seconds
var e=7*3600+40*60; // End lockout time, in seconds
var dt=new Date();
var t=dt.getHours()*3600+dt.getMinutes()*60+dt.getSeconds();
var wd=dt.getDay()%7;
if(wd==0 || wd==6){
// Not a weekday, clear lockout and wait until later
setTimeout(arguments.callee, Math.min(600000,86400-t)*1000);
document.body.style.display='';
return;
}
if(t
// Not time yet, clear lockout and try again later
setTimeout(arguments.callee, Math.min(600000,s-t)*1000);
document.body.style.display='';
return;
}
if(t>=e){
// Time past, clear lockout and wait until later
setTimeout(arguments.callee, Math.min(600000,86400-t)*1000);
document.body.style.display='';
return;
}
// Lock out! And repeat the check every second so I can't just firebug my
// way past it.
document.body.style.display='none';
setTimeout(arguments.callee, 1000);
})();