Usuario:Axxgreazz/Monobook-Suite/statuschanger.js

Nota: Después de guardar, debes refrescar la caché de tu navegador para ver los cambios. Internet Explorer: mantén presionada Ctrl mientras pulsas Actualizar. Firefox: mientras presionas Mayús pulsas el botón Actualizar, (o presiona Ctrl-Shift-R). Los usuarios de Google Chrome y Safari pueden simplemente pulsar el botón Recargar. Para más detalles e instrucciones acerca de otros exploradores, véase Ayuda:Cómo limpiar la caché.

//<pre><nowiki>
//Fuente: http://en.wiki.x.io/wiki/User:Topaz/Wikiscripts
//Personalizada por Axxgreazz, para el [[w:es:User:Axxgreazz/Monobook-Suite]]
//http://es.wiki.x.io/wiki/Usuario:Axxgreazz/Monobook-Suite
var topaz = window.topaz;

// opt out users from using this gadget. Has various known problems.
mw.loader.using('mediawiki.storage').then(function () {
  var optout = mw.storage.session.get( 'client-error-opt-out');
  if(!optout) {
	  mw.storage.session.set( 'client-error-opt-out', '1' );
  }
});

if (typeof topaz !== 'undefined' ) {
  topaz.statuschanger = new Object();
  topaz.statuschanger.statuscode = {'offline':'5','busy':'3','online':'1'};
  topaz.statuschanger.buttonlist = {};
$(function ()
{
  if ( typeof msActivarModulo === 'undefined') {
	return;
  }
  if (typeof ms_Activa_Statuschanger == 'undefined') { ms_Activa_Statuschanger = true;}
  if (!msActivarModulo(ms_Activa_Statuschanger)) return;

  if (typeof wpStatusBarra     == 'undefined') { wpStatusBarra     = true;}
  if (typeof wpTextoCompleto   == 'undefined') { wpTextoCompleto   = true;}
  if (typeof wpUbicaciónInicio == 'undefined') { wpUbicaciónInicio = true;}
  if (typeof wpVigilarEstado   == 'undefined') { wpVigilarEstado   = true;}

  topaz.statuschanger.usepersonalbar = wpStatusBarra;
  topaz.statuschanger.textocompleto  = wpTextoCompleto;
  topaz.statuschanger.ubicacion      = wpUbicaciónInicio; 
  topaz.statuschanger.watchstatus    = wpVigilarEstado;
 
  if (!topaz.statuschanger.usepersonalbar) 
  {
  	if (typeof msStringU !== 'undefined') {
  		topaz.wputil.addsidepanel("tz-statuschanger", msStringU('statuschanger'));
  	}
  }

  var buttonlist = [];
  for (status in topaz.statuschanger.statuscode) {
    buttonlist.push(status);
    var statustexto;
    if (topaz.statuschanger.textocompleto)
    {  statustexto = msStringU(status);}
    else
    {  statustexto = msStringU(status);
       statustexto = statustexto.substring(0,2);}
    
    if (topaz.statuschanger.ubicacion)
    {
       topaz.statuschanger.buttonlist[status] =
         topaz.wputil.addsidepanelbutton2(
            topaz.statuschanger.usepersonalbar ? "p-personal" : "tz-statuschanger",
            statustexto,
            'javascript:topaz.statuschanger.setstatus("' + status + '")'
         );
    }
    else
    {
       topaz.statuschanger.buttonlist[status] =
         topaz.wputil.addsidepanelbutton(
            topaz.statuschanger.usepersonalbar ? "p-personal" : "tz-statuschanger",
            statustexto,
            'javascript:topaz.statuschanger.setstatus("' + status + '")'
         );
    }
  }

  if (topaz.statuschanger.usepersonalbar) 
  { for(var i=0; i<buttonlist.length; i++) 
    { with (topaz.statuschanger.buttonlist[buttonlist[i]].style) 
      { if (topaz.statuschanger.ubicacion)
        { if (i == 0) {  marginRight="0px";}
          if (i == 2) {  borderLeft="1px solid #aaaaaa";}
        }
        else
        { if (i == 2) {  marginRight="0px";}
          if (i == 0) {  borderLeft="1px solid #aaaaaa";}
        }
        borderRight="1px solid #aaaaaa";
        marginLeft="0px";
        paddingLeft="2px";
        paddingRight="2px";
      }
    }
  }
  topaz.statuschanger.update();
});

topaz.statuschanger.setstatus = function(statusname) 
{
   topaz.wputil.setpagecontent(
        "User:" + mw.config.get('wgUserName') + "/" + msStringC('Status'),
        topaz.statuschanger.statuscode[statusname],
        msStringU('Changing status to') + ' ' + msStringU(statusname) 
        + msStringU(msSummaryLinkU),
        topaz.statuschanger.watchstatus);
   topaz.util.cookie.set("topaz.statuschanger.curstatus", statusname);
   topaz.statuschanger.update();
};

topaz.statuschanger.laststatus = null;

topaz.statuschanger.update = function() 
{
  var curstatus = topaz.util.cookie.get("topaz.statuschanger.curstatus");
  if (curstatus && curstatus != topaz.statuschanger.laststatus) 
  { for (status in topaz.statuschanger.buttonlist) 
    { with (topaz.statuschanger.buttonlist[status].style) 
      { if (status == curstatus) 
        { fontWeight = "bold";} 
        else { fontWeight = "normal";}
      }
    }
  }
  topaz.statuschanger.laststatus = curstatus;
};
}
//setInterval("topaz.statuschanger.update()", 5000);

//</nowiki></pre>