User:RacoonyRE/StatusChanger.js

//////////STATUS CHANGER // Creator: Misza13 // Credits: Voyagerfan5761 for some minor improvements //    Modified by Xenocidic to simply use /Status as a one word indicator, //    Modified by Kraftlos to include Sleep status //    Modified by APerson for compatibility with //    Modified by RacoonyRE for more options // compatible with for display $(function { //Check if the config is defined  if (typeof(statusChangerConfig) == 'undefined') {    statusChangerConfig = {}  }  if (typeof(statusChangerConfig.statusList) == 'undefined') {  	  //Set status-text in the following line:      statusChangerConfig.statusList = [ 'online', 'offline', 'sleeping', 'huggle', 'vandal', 'working'];      //Set short link-text in the following line in same order:      statusChangerConfig.statusListShort = [ 'On', 'Off', 'Sleep', 'Hug', 'Van', 'work'];  }  if (typeof(statusChangerConfig.statusPage) == 'undefined') {      statusChangerConfig.statusPage = 'User:' + mw.config.get('wgUserName') + '/Status';  }  //Add the links  for (var i=0; i<statusChangerConfig.statusList.length; i++) {    var stat = statusChangerConfig.statusList[i];    var message = (stat === "sleeping") ?  link = "asleep" : link = stat;    mw.util.addPortletLink( "p-personal", //target tab - personal links mw.config.get('wgServer') + mw.config.get('wgScript') + "?title=" + statusChangerConfig.statusPage + "&action=edit&newstatus=" + stat, //link URL statusChangerConfig.statusListShort[i], //link text "pt-status-" + stat, //id of new button "I'm " + message + "!", //hover text "", //???     document.getElementById("pt-logout")); //add before logout button  }  if (location.href.indexOf("&action=edit&newstatus=") == -1) return; //Are we here to auto-edit the status?  //Get new status  statusRegExp = /&action=edit&newstatus=(.*)/;  var status = statusRegExp.exec(location.href)[1];  var statusText = status + "\r\n \r\n\r\n ";  //Modify the form  document.getElementById('wpTextbox1').value = statusText;  if (status == "sleep")  { status = "sleeping"; }  document.getElementById('wpSummary').value = mw.config.get('wgUserName') + " is now " + status +".";  document.getElementById('wpMinoredit').checked = true;  //Submit it!  document.getElementById('editform').submit; });