User:Lupin/listsince.js

function addListSinceLink() {

var found=findNamespaceForm();

if (!found) return;

window.sinceLinkThen=+(new Date());

var sp=document.createElement('span');

sp.innerHTML='Changes since last load';

found.parentNode.insertBefore(sp,found.nextSibling);

}

function findNamespaceForm() {

var forms=document.getElementsByTagName('form');

for (var i=0; i

if (forms[i].innerHTML.indexOf('Namespace:')> -1) { return forms[i]; }

}

return null;

}

function listSinceUrl( ) {

var then=window.sinceLinkThen;

var days = ( +(new Date()) - then )/(1000 * 3600 * 24);

var url=document.location.href.split('#')[0];

if ( /[?&]days=/.test(url) ) return url.replace(/([?&]days=)[^?&]*/, '$1'+days);

if (url.indexOf('?')==-1) url += '?'; else url += '&';

return url + 'days=' + days;

}

window.loadSincePage=function() {

var lk=document.getElementById('listSince');

lk.href=listSinceUrl();

}

if (/[=\/]Special(%3[Aa]|:)Watchlist/.test(document.location.href)) {

addOnloadHook(addListSinceLink);

}