User:Lupin/annoy.js

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=[];