User:Connel MacKenzie/clock.js

From Wiktionary, the free dictionary
Jump to navigation Jump to search

Note – after saving, it will take 5-10 minutes before the changes take effect. You may also have to bypass your browser’s cache to see the changes.

  • Mozilla / Firefox / Safari: hold Shift while clicking Reload, or press either Ctrl-F5 or Ctrl-R (Command-R on a Macintosh);
  • Konqueror and Chrome: click Reload or press F5;
  • Opera: clear the cache in Tools → Preferences;
  • Internet Explorer: hold Ctrl while clicking Refresh, or press Ctrl-F5.

/* User preferences clock */

insertBeforeNum = 7;
insertBeforeArr = new Array("", "pt-userpage", "pt-mytalk", "pt-preferences", "pt-watchlist", "pt-mycontris", "pt-logout", "");
insertBefore = insertBeforeArr[insertBeforeNum];

function makeTime()
{
  var doTime  = ( wiktGetPrefCookie( 'WiktionaryPreferencesTime' ) );
  var lastElem = document.getElementById( 'pt-logout' ) ;
  if ( !lastElem ) lastElem = document.getElementById( 'pt-login' ) ;
  if ( !doTime ) return;
  var li = document.createElement( 'li' );
  li.id = 'pt-time';
  var mySpan = document.createElement( 'span' );
  mySpan.appendChild( document.createTextNode( 'date and time' ) );
  li.appendChild( mySpan );
  if ( insertBefore ) {
    var before = document.getElementById( insertBefore );
    before.appendChild( li, before );
  } else { // append to end (right) of list
    lastElem.parentNode.appendChild( li );
  }
  getTime();
}

function getTime()
{
    var doTime  = ( wiktGetPrefCookie( 'WiktionaryPreferencesTime' ) );
    var timeGMT = new Date();
    var time    = timeGMT.toLocaleString();
    if ( getCookie( 'WiktionaryPreferencesTimeUTC' ) == 'true' ) {
        time = timeGMT.toUTCString();
    }
    datePlace   = document.getElementById('pt-time').childNodes[0].childNodes[0];
    datePlace.replaceData(0, datePlace.length, time);
    if ( wiktGetPrefCookie( 'WiktionaryPreferencesTickClock' ) == "true" ) {
        doTime  = window.setTimeout("getTime()", 1000);
    }
}

addOnloadHook( makeTime );