User:TidesOfLife/global.js

importScriptURI('http://monchbox.wikia.com/index.php?title=MediaWiki:APIQuery.js&action=raw&ctype=text/javascript'); importScriptURI('http://monchbox.wikia.com/index.php?title=MediaWiki:B3.js&action=raw&ctype=text/javascript');

/* Rollback with Ajax - stolen from Grunny (see above) */ function SetAjaxRollback { $('.mw-rollback-link').click(function(e) {		e.preventDefault;		var $rblink = $(this);		var href = this.getElementsByTagName('a')[0].href;		this.innerHTML = ' ';		$.ajax({ url: href, success: function { $rblink.text(function (i, val) {return val + ' [success]';}); loadPageData; },			error: function { $rblink.text(function (i, val) {return val + ' [failed]';}); loadPageData; }		});	}); } if(readCookie('globalJS') == 'true') {addOnloadHook(SetAjaxRollback);}

/* Quickblock links */ function AddQuickblockLinks { var Buttons = [{ text: 'v-w', title: 'Week-long block for vandalism', summary: 'Vandalism', length: '1 week' }, {		text: 'pb-w', title: 'Week-long block for page blanking', summary: 'Removing content from pages', length: '1 week' }, {		text: 'h-w', title: 'Week-long block for harassment', summary: 'Intimidating behavior/Harassment', length: '1 week' }];	var admin = false; for(var i in wgUserGroups) { if(wgUserGroups[i] == 'sysop' || wgUserGroups[i] == 'bureaucrat' || wgUserGroups[i] == 'helper' || wgUserGroups[i] == 'staff') {admin = true; break;} }	if(!admin) {return;} window.qbapi = new APIQuery; var list = document.getElementsByTagName('span'); for(var i in list) { if(list[i].className == 'mw-usertoollinks') { var link = list[i].getElementsByTagName('a')[list[i].getElementsByTagName('a').length - 1]; for(j in Buttons) { var customlink = document.createElement('a'); customlink.innerHTML = Buttons[j].text; customlink.className = 'mw-quickblock'; customlink.title = Buttons[j].title; customlink.href = 'javascript:this.innerHTML = \'\'; qbapi.newQuery(\'POST\', {action: \'block\', user: ' + link.parentNode.previousSibling.previousSibling.innerHTML + ', reason: ' + Buttons[j].summary + ', expiry: ' + Buttons[j].length + ', nocreate: 1, autoblock: 1, noemail: 1}, function(result) {this.hash.link.innerHTML = \'success\'; if(preloadAJAXRL) {preloadAJAXRL;}}); qbapi[0].hash.link = this; qbapi.send(0, true);'; link.parentNode.insertBefore(customlink, link.nextSibling); customlink.outerHTML = ' | ' + customlink.outerHTML; }		}	} } if(readCookie('globalJS') == 'true') {addOnloadHook(AddQuickblockLinks);}

/* add clock to buttons - function is called by RedefineButtons */ //Modified from work by Patrick Westerhoff [poke]: //http://bulbapedia.bulbagarden.net/wiki/MediaWiki:Monobook.js //Further modified by Monchoman45 to play nicely with the rest of my interface function displayTimer { if(typeof(timerDisplay) !== 'undefined' && timerDisplay === false) {return;} var date; if(skin == 'oasis') {var timerParent = document.getElementById('WikiHeader').getElementsByTagName('div')[0];} else {var timerParent = document.getElementById('p-personal').getElementsByTagName('ul')[0];} var timerLink = document.createElement('a'); var timerObj = document.createElement('li'); var timerDiv = document.createElement('div'); timerLink.href = '/index.php?title=' + wgPageName + '&action=purge'; timerLink.title = 'Purge'; timerLink.style.margin = '0'; timerLink.style.padding = '0 5px 0 5px'; timerObj.id = 'displayTimer'; timerObj.style.textTransform = 'none'; timerObj.style.fontWeight = 'bold'; timerObj.style.fontSize = '100%'; timerDiv.id = 'middlerow'; timerDiv.style.float = 'right'; timerDiv.style.margin = '0 0 2px 0'; timerObj.appendChild(timerLink); timerDiv.appendChild(timerObj); timerParent.insertBefore(timerDiv, timerParent.lastChild); var month = ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec']; function actualizeUTC { timerDate = new Date; timerLink.innerHTML = (timerDate.getUTCDate < 10 ? '0' : ) + timerDate.getUTCDate + ' ' + (timerDate.getUTCMonth < 10 ?  : ) + month[timerDate.getUTCMonth] + ' ' + (timerDate.getUTCFullYear < 10 ? '0' : ) + timerDate.getUTCFullYear + ' ' + (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.getDate < 10 ? '0' : ) + timerDate.getDate + ' ' + (timerDate.getMonth < 10 ?  : ) + month[timerDate.getMonth] + ' ' + (timerDate.getFullYear < 10 ? '0' : ) + timerDate.getFullYear + ' ' + ( 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); } } if(readCookie('globalJS') == 'true' && skin != 'oasis') {addOnloadHook(displayTimer);}