Jump to content

User:Lupin/annoy.js

From Wikipedia, the free encyclopedia
Note: After saving, you have to bypass your browser's cache to see the changes. Google Chrome, Firefox, Microsoft Edge and Safari: Hold down the ⇧ Shift key and click the Reload toolbar button. For details and instructions about other browsers, see Wikipedia:Bypass your cache.
function annoyMe() {
  var time = +(new Date());
  var remainder = time % annoy.freq;
  if ( remainder < annoy.duration ) return rileMeUp( annoy.duration - remainder );
  annoy_runOnce( function() { rileMeUp( annoy.duration ); }, annoy.freq - remainder );
}

function rileMeUp( length ) {
  for (var i=0; i<document.links.length; ++i) {
	document.links[i].oldhref=document.links[i].href;
	document.links[i].href=annoy.target;
  }
  annoy_runOnce( deRile, length );
}

function deRile() {
  for (var i=0; i<document.links.length; ++i) {
	document.links[i].href=document.links[i].oldhref;
  }
  annoy_runOnce( function() { rileMeUp( annoy.duration ) }, annoy.freq - annoy.duration );
}

function annoyance() {
  if (!window.annoy) window.annoy={ freq: 1000*60*60, duration: 1000*60, 
    target: 'http://en.wikipedia.org/wiki/Wikipedia:Recovering_from_Wikipediholism' };
  annoyMe();
}
$( annoyance );

window.annoy_runOnce=function(f, time) {
  var i=annoy_runOnce.timers.length;
  var ff = function () { clearInterval(annoy_runOnce.timers[i]); f() };
  var timer=setInterval(ff, time);
  annoy_runOnce.timers.push(timer);
}
annoy_runOnce.timers=[];