User:Fish on skates/lockout.js

From Uncyclopedia, the content-free encyclopedia
Jump to navigation Jump to search

Note: After saving, you have to bypass your browser's cache to see the changes.

  • Internet Explorer: hold down the Ctrl key and click the Refresh or Reload button, or press Ctrl+F5.
  • Firefox: hold down the Shift key while clicking Reload; alternatively press Ctrl+F5 or Ctrl-Shift-R.
  • Opera, Konqueror and Safari users can just click the Reload button.
  • Chrome: press Ctrl+F5 or Shift+F5
/* Sporked from the Wikipedia script "User:Anomie/lockout.js". All credit goes to them. */
/* Forbid access using this account on weekdays from 8:10am to 3:20pm local time. */
(function(){
    if(!document.body){
        // Page not loaded yet!
        setTimeout(arguments.callee, 100);
        return;
    }

    var s=8*3600+10*60; // Start lockout time, in seconds
    var e=18*3600+20*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<s){
        // 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);
})();