User:NolBot/monobook.js

//--

// Auto Status Changer Stuffs

function addstatuschanger { var subpage = "/Status"; var scheme = "/StatusTemplate"; var subpagelink = wgServer + "/w/index.php?title=User:" + encodeURIComponent("Nol888" + subpage); var contributions = document.getElementById( 'pt-mycontris' ); //Add the links-links not needed //addTopLink(subpagelink + "&action=edit&newstatus=in", "In", "pt-status-in", "I'm in!"); //addTopLink("javascript:busy", "Busy", "pt-status-busy", "I'm busy!"); //addTopLink(subpagelink + "&action=edit&newstatus=out", "Out", "pt-status-out", "I'm out!"); //Are we busy? if (location.href.indexOf("busyreason=") != -1) { var reasonRegExp = /&busyreason=(.*)/; var reasonE = reasonRegExp.exec(location.href)[1]; var reason = decodeURIComponent(reasonE); document.getElementById('wpTextbox1').value = ""; document.getElementById('wpSummary').value = status+"!"; document.getElementById('wpMinoredit').checked = 'checked'; //Submit it! document.getElementById('editform').submit; return; } if (location.href.indexOf("&action=edit&newstatus=") == -1) return; //Are we here to auto-edit the status? //Get new status and modify the form var statusRegExp = /&action=edit&newstatus=(.*)/; var status = statusRegExp.exec(location.href)[1]; document.getElementById('wpTextbox1').value = ""; document.getElementById('wpSummary').value = status+"!"; document.getElementById('wpMinoredit').checked = 'checked'; //Submit it! document.getElementById('editform').submit; }

function busy { var subpagelink = wgServer + "/w/index.php?title=User:" + "Nol888" + "/Status"; var reason=window.prompt("Reason for busy:") window.location = subpagelink + "&action=edit&busyreason=" + encodeURIComponent(reason); }

//--

// Onload Hooks

$(addstatuschanger);

//--

//Navigation Shortcuts

//

/********************************************************************** *                                                                    *  *             Changes to this file affect other users. * *           Please discuss on the talk page before editing. * *                                                                    *  **********************************************************************/

var shortcutsVersion     = "1.1.0"; var shortcutsReleaseDate = "2007-02-03";

/*********************************************************** * INTERFACE ***********************************************************/

/** * Starts a new section of links. Function for external use. */ function shortcutsStartSection (name) {  shortcutsLinks[shortcutsLinks.length] = { 'name': name, 'links': new Array  }; }

/** * Adds new link into the current section of links. Function for external use. */ function shortcutsAddLink (name, article) {  var links = shortcutsLinks[shortcutsLinks.length - 1]['links'];

links[links.length] = { 'name': name, 'article': article }; }

/*********************************************************** * IMPLEMENTATION ***********************************************************/

/** * Link maker. * Creates and returns an li element with the desired link. */ function shortcutsMakeLink (name, url) {  var ntxt = document.createTextNode (name); var na  = document.createElement ('a'); var nli = document.createElement ('li');

na.setAttribute ('href', url); nli.setAttribute ('class', 'n-shortcut');

na.appendChild (ntxt); nli.appendChild (na);

return nli; }

/** * Portlet maker. * Creates and returns a portlet populated by list of links. */ function shortcutsMakePortlet (name, links) {  var nportlet = document.createElement ('div'); var nh5 = document.createElement ('h5'); var ntit = document.createTextNode (name); var nbody = document.createElement ('div'); var nul = document.createElement ('ul');

nportlet.setAttribute ('id', 'p-'+name); nportlet.setAttribute ('class', 'portlet'); nbody.setAttribute ('class', 'pBody'); nul.setAttribute ('id', 'p-'+name);

for (var i = 0; i < links.length; i++) nul.appendChild (      shortcutsMakeLink (links[i]['name'], links[i]['article'])     );

nh5.appendChild (ntit); nportlet.appendChild (nh5); nbody.appendChild (nul); nportlet.appendChild (nbody);

return nportlet; }

/** * Main function. * Enumerates all non-empty sections, and adds new portlets beneath the old ones. */ function shortcutsMain {  var sidecol = document.getElementById ('column-one');

for (var i = 0; i < shortcutsLinks.length; i++) if (shortcutsLinks[i]['links'].length > 0) sidecol.appendChild (        shortcutsMakePortlet (shortcutsLinks[i]['name'], shortcutsLinks[i]['links'])       ); }

/** * Initializes the onload events. */ function shortcutsInitialize {  shortcutsInit ; shortcutsMain ; }

/*********************************************************** * INITIALIZATION ***********************************************************/

var shortcutsLinks = new Array ; shortcutsStartSection (wgUserName ? wgUserName : 'shortcuts');

addOnloadHook (shortcutsInitialize);

//

function shortcutsInit { var subpagelink = wgServer + "/w/index.php?title=User:" + encodeURIComponent("Nol888" + "/Status");

shortcutsStartSection ('personal links');

shortcutsAddLink ( 'Status: Online',               subpagelink + '&action=edit&newstatus=in' ); shortcutsAddLink ( 'Status: Busy',                 'javascript:busy' ); shortcutsAddLink ( 'Status: Offline',              subpagelink + '&action=edit&newstatus=out' ); }