User:X!/friendlyclock.js

// 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': mw.config.get('wgPageName') };		friendlyclock.clockNode = mw.util.addPortletLink( 'p-personal', mw.config.get('wgScript') + '?title=' + encodeURIComponent( mw.config.get('wgPageName') ) + '&action=purge', '--:--:-- 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 yy = now.getUTCFullYear; var mo = ( now.getUTCMonth + 1 >= 13 ) ? 1 : now.getUTCMonth + 1; var dd = now.getUTCDate; 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) + ', ' + ( mo < 10 ? '0' + mo : mo ) + '/' + ( dd < 10 ? '0' + dd : dd ) + '/' + yy + ' UTC'; friendlyclock.clockNode.firstChild.innerHTML = time; } }

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