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);

})();