MediaWiki:Common.js

// EDIT INTRO BUTTON importScriptPage('EditIntroButton/code.js', 'dev'); // END INTRO BUTTON // AUTO-REFRESH RECENT CHANGES AND WIKI-ACTIVITY AjaxRCRefreshText = 'Auto-refresh'; AjaxRCRefreshHoverText = 'Automatically refresh the page'; ajaxPages = ["Special:RecentChanges", "Special:WikiActivity"]; importScriptPage('AjaxRC/code.js', 'dev'); // END AUTO-REFRESH // REFRESH DROP-DOWN MENU OPTION importScriptPage('PurgeButton/code.js', 'dev'); // END REFRESH BUTTON

/* Username replace feature * Inserts viewing user's name into * Put text inside the spans to be viewed by logged out users * Originally by Splarka, then by Spang, * This (jQuery) version by wikia:User:Joeyaa, written to be backwards compatible */ if (wgUserName != 'null') { $('.insertusername').html(wgUserName); }

function onloadhookcustom { var replace = document.getElementById("JRChatReplace"); if (null != replace) { replace.innerHTML=' '; if (window.attachEvent) window.attachEvent("onbeforeunload",confirmexitjrchat); else window.onbeforeunload = confirmexitjrchat; }	//alert(document.getElementById("JRChatReplace").innerHTML); } if (window.addEventListener) window.addEventListener("load",onloadhookcustom,false); else if (window.attachEvent) window.attachEvent("onload",onloadhookcustom);

importArticles({ type: 'script', articles: [    'u:dev:Standard_Edit_Summary/code.js' ]});

// Create the "dev" namespace if it doesn't exist already: window.dev = window.dev || {}; // Create the sub-namespace for this addon and set some options: window.dev.editSummaries = { css: '#stdSummaries { ... }',    select: 'MediaWiki:StandardEditSummary' }; // The options need to be set before the import! Otherwise they may not work. importArticles({ type: 'script', articles: [    'u:dev:Standard_Edit_Summary/code.js' ]});

window.dev = window.dev || {}; window.dev.editSummaries = { select: 'Template:Stdsummaries‎' };

importArticles({	type:'script',	articles: [		// ...		'w:c:dev:MediaWiki:UserTags/code.js',		// ...	] });

window.UserTagsJS = { modules: {}, tags: { assistant: 'Assistant' },	oasisPlaceBefore: '' }; importArticle({type:'script', article:'w:c:dev:MediaWiki:UserTags/code.js'});

UserTagsJS.modules.inactive = 90; UserTagsJS.modules.newuser = true; UserTagsJS.modules.autoconfirmed = true; UserTagsJS.modules.mwGroups = ['bureaucrat', 'sysop', 'assistant', 'rollback', 'chatmoderator', 'moderator', 'bannedfromchat'];

// ************************************************** // Experimental javascript countdown timer (Splarka) // Version 0.0.3 // ************************************************** // // Usage example: // //  Only January 01 2007 00:00:00 PST until New years. // //  Javascript disabled.

function updatetimer(i) { var now = new Date; var then = timers[i].eventdate; var diff = count = Math.floor((then.getTime - now.getTime) / 1000);

// catch bad date strings if (isNaN(diff)) { timers[i].firstChild.nodeValue = '** ' + timers[i].eventdate + ' **'; return; }

// determine plus/minus if (diff < 0) { diff = -diff; var tpm = 'T plus '; } else { var tpm = ''; }

// calcuate the diff var left = (diff % 60) + ' seconds'; diff = Math.floor(diff / 60); if (diff > 0) left = (diff % 60) + ' minutes ' + left; diff = Math.floor(diff / 60); if (diff > 0) left = (diff % 24) + ' hours ' + left; diff = Math.floor(diff / 24); if (diff > 0) left = diff + ' days ' + left var diffing = count = Math.floor((then.getTime - now.getTime) / 1000); if (diffing < 0) { timers[i].firstChild.nodeValue = 'Timer has expired'; } else { timers[i].firstChild.nodeValue = tpm + left; }

// a setInterval is more efficient, but calling setTimeout // makes errors break the script rather than infinitely recurse timeouts[i] = setTimeout('updatetimer(' + i + ')', 1000); }

function checktimers { //hide 'nocountdown' and show 'countdown' var nocountdowns = getElementsByClassName(document, 'span', 'nocountdown'); for (var i in nocountdowns) nocountdowns[i].style.display = 'none' var countdowns = getElementsByClassName(document, 'span', 'countdown'); for (var i in countdowns) countdowns[i].style.display = 'inline'

//set up global objects timers and timeouts. timers = getElementsByClassName(document, 'span', 'countdowndate'); //global timeouts = new Array; // generic holder for the timeouts, global if (timers.length == 0) return; for (var i in timers) { timers[i].eventdate = new Date(timers[i].firstChild.nodeValue); updatetimer(i); //start it up   } } addOnloadHook(checktimers);

// ************************************************** // - end -  Experimental javascript countdown timer // **************************************************

// ************************************************* // Pagetitle rewrite // // Rewrites the page's title, used by Template:Title // ************************************************* $(function {   var newTitle = $("#title-meta").html;    if (!newTitle) return;    var edits = $("#user_masthead_since").text;    $(".firstHeading,#WikiaUserPagesHeader h1,#WikiaPageHeader h1").html(newTitle);    $("#user_masthead_head h2").html(newTitle + "" + edits + " "); });