User:Shardsofmetal/monobook.js/Status switcher.js

From Wikipedia, the free encyclopedia
Note: After saving, you have to bypass your browser's cache to see the changes. Google Chrome, Firefox, Microsoft Edge and Safari: Hold down the ⇧ Shift key and click the Reload toolbar button. For details and instructions about other browsers, see Wikipedia:Bypass your cache.
// <pre> This is a slightly modified version of [[User:Misza13]]'s Status switcher
// found at [[User:Misza13/Status switcher]]

$(function (){
  var user = document.getElementById( 'pt-userpage' ).firstChild.firstChild.data;
  var subpage = "/Status";
  var linkprefix = "http://en.wikipedia.org/w/index.php?title=User:";
  var contribs = document.getElementById( 'pt-mycontris' );
  //Add the links
  addlilink(contribs, linkprefix+user+subpage+"&action=edit&newstatus=Online", "Online", "pt-status-in", "Online", "");
  addlilink(contribs, linkprefix+user+subpage+"&action=edit&newstatus=Busy", "Busy", "pt-status-busy", "Busy", "");
  addlilink(contribs, linkprefix+user+subpage+"&action=edit&newstatus=Offline", "Offline", "pt-status-out", "Offline", "");
  if (location.href.indexOf("&action=edit&newstatus=") == -1) return; //Are we here to auto-edit the status?
  //Get new status
  statusRegExp = /&action=edit&newstatus=(.*)/;
  status = statusRegExp.exec(location.href)[1];
  //Modify the form
  document.getElementById('wpTextbox1').value = status;
  document.getElementById('wpSummary').value = "Status: "+status;
  document.getElementById('wpMinoredit').checked = 'checked';
  //Submit it!
  document.getElementById('editform').submit();
});

// </pre>