User:Arlen22/friendlyclock.js

From Wikibooks, open books for an open world
Jump to navigation Jump to search
Note: After saving, changes may not occur immediately. Click here to learn how to bypass your browser's cache.
  • Mozilla / Firefox / Safari: hold down Shift while clicking Reload, or press Ctrl-Shift-R (Cmd-Shift-R on Apple Mac);
  • Internet Explorer: hold Ctrl while clicking Refresh, or press Ctrl-F5;
  • Konqueror: simply click the Reload button, or press F5;
  • Opera users may need to completely clear their cache in Tools→Preferences.
// If FriendlyConfig aint exist.
if( typeof( FriendlyConfig ) == 'undefined' ) {
	FriendlyConfig = {};
}

/**
 FriendlyConfig.enableClock ( boolean )
 */
if( typeof( FriendlyConfig.enableClock ) == 'undefined' ) {
	FriendlyConfig.enableClock = true;
}

/**
 FriendlyConfig.clockStyle ( String )
 */
if( typeof( FriendlyConfig.clockStyle ) == 'undefined' ) {
	FriendlyConfig.clockStyle = 'dynamic';
}

friendlyclock = {
	showClock: function() {
		var query = {
			'action': 'purge',
			'title': wgPageName
		};
		friendlyclock.clockNode = mw.util.addPortletLink( 'p-personal', mw.config.get('wgServer') + mw.config.get('wgScriptPath') + '/index.php?' + QueryString.create( query ), '--:--:-- UTC', 'friendly-clock', 'Purge this page', '' );
		friendlyclock.clockNode.style.fontSize = 'normal';
		friendlyclock.clockNode.style.fontWeight = 'bold';
		friendlyclock.clockNode.style.textTransform = 'uppercase';
		
		friendlyclock.updateTime();
		if( FriendlyConfig.clockStyle != 'static' ) {
			friendlyclock.intervalId = window.setInterval(friendlyclock.updateTime, 1000);
		}
	},
	updateTime: function() {
		if( !friendlyclock.clockNode ) {
			return;
		}
		var now = new Date();
		var hh = now.getUTCHours();
		var mm = now.getUTCMinutes();
		var ss = now.getUTCSeconds();
		var time = ( hh < 10 ? '0' + hh : hh ) + ':' + ( mm < 10 ? '0' + mm : mm ) + ':' + ( ss < 10 ? '0' + ss : ss) + ' UTC';
		friendlyclock.clockNode.firstChild.innerHTML = time;
	}
}

$( function() {
		if( FriendlyConfig.enableClock ) {
			friendlyclock.showClock();
		}
	}
);