User:Indecision/monobook.js

/**** Guild Wars Wiki Tools * (c) 2007 by Patrick Westerhoff [poke] */ var head = document.getElementsByTagName( 'head' )[0]; head.appendChild( document.createElement( 'script' ) ); head.lastChild.src = '/index.php?title=User:Poke/GuildWarsWikiTools.js&action=raw&ctype=text/javascript'; head.lastChild.type = 'text/javascript';

// Lupin's popups,

document.write(' '); function siteArticlePath{ return 'wiki'; } function siteBotInterfacePath{ return ''; } // disabling features that depend on query.php until that is installed popupUseQueryInterface=false;

// Makes the Watchlist actually usable. Groups each day's updated entries by their respective namespaces.

addOnloadHook(function { if (location.href.indexOf('Special:Watchlist') == -1) return;   //days = document.getElementById('bodyContent').getElementsByTagName('ul');  days = document.evaluate( "//ul[@class='special']", document, null, XPathResult.UNORDERED_NODE_SNAPSHOT_TYPE, null); for (d = 0; d < days.snapshotLength; d++) {     day = days.snapshotItem(d);    newday = document.createElement('ul');     while ((diffs = day.getElementsByTagName('li')).length > 0) {       //Try to extract the namespace      As = diffs[0].getElementsByTagName('a');      if (As[0].innerHTML == 'diff')        pagename = As[2].innerHTML;      else        pagename = As[1].innerHTML;      if (pagename.indexOf(':') == -1)        namespace = 'Main';      else        namespace = pagename.split(':')[0];       hdrs = newday.getElementsByTagName('h5');       hdr = null;      for (j=0; j<hdrs.length; j++)         if (hdrs[j].innerHTML==namespace) {          hdr = hdrs[j]; break;        }      if (hdr==null) {         hdr = document.createElement('h5');        hdr.innerHTML = namespace;        newday.appendChild(hdr);        namespacesub = document.createElement('ul');        newday.appendChild(namespacesub); }     hdr.nextSibling.appendChild(diffs[0]); }   newday.appendChild(document.createElement('hr')); day.parentNode.replaceChild(newday,day); } });