MediaWiki:Monobook.js

From Ryzom Commons

Jump to: navigation, search
/* Any JavaScript here will be loaded for users using the MonoBook skin */
/* Das folgende JavaScript wird für Benutzer geladen, die den Monobook-Skin verwenden. Allgemeingültiges JavaScript bitte in [[MediaWiki:Common.js]] eintragen. */
/*<nowiki>*/
/* Any JavaScript here will be loaded for users using the MonoBook skin */
/** additional monobook scripts **/
hookEvent( 'load', displayTimer );

/**** function displayTimer.js
 * by Patrick Westerhoff [poke]
 */
function displayTimer ()
{
  if ( typeof( timerDisplay ) !== 'undefined' && timerDisplay === false )
    return;
  
  var date;
  var timerParent = document.getElementById( 'p-personal' ).getElementsByTagName( 'ul' )[0];
  var timerLink   = document.createElement( 'a' );
  var timerObj    = document.createElement( 'li' );
  timerLink.href               = '/wiki/' + wgPageName + '?action=purge';
  timerLink.title              = 'Purge the server cache and update the contents of this page.'
  timerObj.id                  = 'pt-timer';
  timerObj.style.textTransform = 'none';
  timerObj.style.fontWeight    = 'bold';
  timerObj.style.fontSize      = '110%';
  timerObj.appendChild( timerLink );
  timerParent.insertBefore( timerObj, timerParent.firstChild );

  var ariimg = document.createElement('img');
  var ari = document.createElement( 'li' );
  ariimg.src = "http://www.3025-game.de/special/Realmstatus_ryzom.php?shard=ari&rnd"+Math.random();
  ariimg.style.height = "13px";
  var aritext = document.createTextNode(" Arispotle");
  ari.appendChild(ariimg);
  ari.appendChild(aritext);
  timerParent.insertBefore( ari, timerParent.firstChild );

  var leaimg = document.createElement('img');
  var lea = document.createElement( 'li' );
  leaimg.src = "http://www.3025-game.de/special/Realmstatus_ryzom.php?shard=lea&rnd"+Math.random();
  leaimg.style.height = "13px";
  var leatext = document.createTextNode(" Leanon");
  lea.appendChild(leaimg);
  lea.appendChild(leatext);
  timerParent.insertBefore( lea, timerParent.firstChild );

  var aniimg = document.createElement('img');
  var ani = document.createElement( 'li' );
  aniimg.src = "http://www.3025-game.de/special/Realmstatus_ryzom.php?shard=ani&rnd"+Math.random();
  aniimg.style.height = "13px";
  var anitext = document.createTextNode(" Aniro");
  ani.appendChild(aniimg);
  ani.appendChild(anitext);
  timerParent.insertBefore( ani, timerParent.firstChild );

  
  function actualizeUTC ()
  {
    timerDate           = new Date();
    timerLink.innerHTML = ( timerDate.getUTCHours()   < 10 ? '0' : '' ) + timerDate.getUTCHours()   + ':'
                        + ( timerDate.getUTCMinutes() < 10 ? '0' : '' ) + timerDate.getUTCMinutes() + ':'
                        + ( timerDate.getUTCSeconds() < 10 ? '0' : '' ) + timerDate.getUTCSeconds() + ' (UTC)';
  }
  
  function actualizeCustom ()
  {
    timerDate           = new Date();
    timerDate.setMinutes( timerDate.getMinutes() + timerDate.getTimezoneOffset() + timerTimezone * 60 );
    timerLink.innerHTML = ( timerDate.getHours()   < 10 ? '0' : '' ) + timerDate.getHours()   + ':'
                        + ( timerDate.getMinutes() < 10 ? '0' : '' ) + timerDate.getMinutes() + ':'
                        + ( timerDate.getSeconds() < 10 ? '0' : '' ) + timerDate.getSeconds()
                        + ' (UTC' + ( timerTimezone < 0 ? '' : '+' ) + timerTimezone + ')';
  }
  
  // start
  if ( typeof( timerTimezone ) !== 'number' )
  {
    actualizeUTC();
    setInterval( actualizeUTC, 1000 );
  }
  else
  {
    actualizeCustom();
    setInterval( actualizeCustom, 1000 );
  }
}
/*</nowiki>*/