User:Ricochet Jones/vector.js

function ModifySidebar(action, section, name, link) { try { switch (section) { case "languages": var target = "p-lang"; break; case "toolbox": var target = "p-tb"; break; case "navigation": var target = "p-navigation"; break; default: var target = "p-" + section; break; }       if (action == "add") { var node = document.getElementById(target) .getElementsByTagName('div')[0] .getElementsByTagName('ul')[0]; var aNode = document.createElement('a'); var liNode = document.createElement('li'); aNode.appendChild(document.createTextNode(name)); aNode.setAttribute('href', link); liNode.appendChild(aNode); liNode.className='plainlinks'; node.appendChild(liNode); }       if (action == "remove") { var list = document.getElementById(target) .getElementsByTagName('div')[0] .getElementsByTagName('ul')[0]; var listelements = list.getElementsByTagName('li'); for (var i = 0; i < listelements.length; i++) { if (listelements[i].getElementsByTagName('a')[0].innerHTML == name ||                   listelements[i].getElementsByTagName('a')[0].href == link) { list.removeChild(listelements[i]); }           }        }    } catch(e) { // lets just ignore what's happened return; } } function CustomizeModificationsOfSidebar { ModifySidebar("add", "toolbox", "Patrol Tools", "http://en.wikipedia.org/wiki/Wikipedia:Recent_changes_patrol"); ModifySidebar("add", "toolbox", "Messages", "http://en.wikipedia.org/wiki/Wikipedia:Template_messages"); ModifySidebar("remove", "interaction", "About Wikipedia", "http://en.wikipedia.org/wiki/Wikipedia:About"); ModifySidebar("add", "toolbox", "Twinkle Preferences", "http://en.wikipedia.org/wiki/Wikipedia:Twinkle/Preferences");

} addOnloadHook(CustomizeModificationsOfSidebar);

/* Watchlist notifier (User:Ais523/watchlistnotifier.js); displays a message every time a watched page changes. */

var wmwpajax; // From WP:US mainpage (wpajax renamed to wmwpajax) wmwpajax={ download:function(bundle) { // mandatory: bundle.url // optional: bundle.onSuccess (xmlhttprequest, bundle) // optional: bundle.onFailure (xmlhttprequest, bundle) // optional: bundle.otherStuff OK too, passed to onSuccess and onFailure var x = window.XMLHttpRequest ? new XMLHttpRequest : window.ActiveXObject ? new ActiveXObject("Microsoft.XMLHTTP") : false; if (x) { x.onreadystatechange=function { x.readyState==4 && wmwpajax.downloadComplete(x,bundle); };                       x.open("GET",bundle.url,true); x.send(null); }               return x;        },

downloadComplete:function(x,bundle) { x.status==200 && ( bundle.onSuccess && bundle.onSuccess(x,bundle) || true ) || ( bundle.onFailure && bundle.onFailure(x,bundle) || false ); //alert(x.statusText+': '+bundle.url) } };

// Example: // function dlComplete(xmlreq, data) { //     alert(data.message + xmlreq.responseText); // } // wmwpajax.download({url:'http://en.wikipedia.org/w/index.php?title=Thresher&action=raw', //                   onSuccess: dlComplete, message: "Here's what we got:\n\n" });

// End of WP:US quote

function wmWatchEditFound(xmlreq, data) { var watchrev, watchsum, watchrevold, watchpage, junk; if(xmlreq.responseText.indexOf('revid=')==-1) {   document.getElementById('contentSub').innerHTML+= " (watchlistnotifier can't determine whether a "+     "watched page has changed) "; return; } watchrev=xmlreq.responseText.split('revid="')[1].split('"')[0]; try {   watchrevold=document.cookie.split('ais523wmwatchrev=')[1].split('.')[0]; } catch(junk) {watchrevold=0;} if(wgPageName == "Special:Watchlist") {   document.cookie="ais523wmwatchrev="+watchrev+".; path=/"; var aas=document.getElementById('bodyContent').getElementsByTagName('a'); var i=aas.length; while(i--) {     if(aas[i].href.indexOf('diff=')!=-1&&watchrevold) if(+(aas[i].href.split('diff=')[1].split('&')[0])>watchrevold) aas[i].parentNode.style.fontWeight='bold'; } }  else {   watchsum=xmlreq.responseText.split('comment="')[1].split('"')[0]; watchpage=xmlreq.responseText.split('title="')[1].split('"')[0]; watchuser=xmlreq.responseText.split('user="')[1].split('"')[0]; watchsum=watchsum.split('<').join('<').split('>').join('>'); watchpage=watchpage.split('<').join('<').split('>').join('>'); watchuser=watchuser.split('<').join('<').split('>').join('>'); if(watchrev!=watchrevold) document.getElementById('contentSub').innerHTML+= " \""+watchpage+'" changed by '+ watchuser+': "'+watchsum+       '". (watchlist) '; } }

addOnloadHook(function { /* Find the top item in the watchlist, and its edit summary. We only need one item, so     set the limit to 1 to ease the load on the server. */    wmwpajax.download({url:'http://www.uesp.net/w/api.php?action=query&list=watchlist&wllimit=1&'+ 'wldir=older&format=xml&wlprop=comment|ids|title|user', onSuccess: wmWatchEditFound}); });

//