MediaWiki:Common.js

/* Any JavaScript here will be loaded for all users on every page load. */ if (mwCustomEditButtons) { mwCustomEditButtons[mwCustomEditButtons.length] = { "imageFile": "http://images.wikia.com/mugen/images/d/d6/Header_Level3.png", "speedTip": "Level 3 headline", "tagOpen": "=== '''", "tagClose": "''' ===", "sampleText": "Headline text"};

mwCustomEditButtons[mwCustomEditButtons.length] = { "imageFile": "http://images.wikia.com/mugen/images/d/d1/Header_Level4.png", "speedTip": "Level 4 headline", "tagOpen": "==== '''", "tagClose": "''' ====", "sampleText": "Headline text"};

mwCustomEditButtons[mwCustomEditButtons.length] = { "imageFile": "http://images4.wikia.nocookie.net/mugen/images/a/a2/Button.CharInfo.png", "speedTip": "Quick character info", "tagOpen": "", "sampleText": "|Origin=Original|Downloadlink=None|Creator=Unknown"}; mwCustomEditButtons[mwCustomEditButtons.length] = { "imageFile": "http://images2.wikia.nocookie.net/mugen/images/b/b8/Stats_button.PNG", "speedTip": "Character stats", "tagOpen": "=== Stats ===\n*Life: 1000\n*Power: 3000\n*Attack: 100\n*Defence: 100", "tagClose": "", "sampleText": ""};

mwCustomEditButtons[mwCustomEditButtons.length] = { "imageFile": "http://images.wikia.com/mugen/images/5/5f/Command_List.png", "speedTip": "Command template", "tagOpen": "", "sampleText": ""}; } var wgEnableImageLightboxExt = false;

/** * Function to easily embed SWF files * Place the following where you want to embed some file: * http://path/to/your/file * Flash files from untrusted sources can be dangerous. Use caution. (function{	var flashobjects, i, url, embed;		// Enumerate over the files that need to be embedded	flashobjects = document.getElementsByClassName( "flash-wrapper" ) || [];	for ( i = 0; i < flashobjects.length; i++ ) {			url = flashobjects[i].textContent;		if ( url.indexOf( "http" ) !== 0 ) {			// If it's not a valid http(s) URL, continue, and log the error			console.log( "Lightning: Skipped the" + ( i + 1 ) + "th Flash video - " + url + " is not a well-formed HTTP(S) URL" );			continue;		} else {			// Otherwise, embed			flashobjects[i].textContent = "";			embed = document.createElement( "embed" );			embed.src = url;			embed.type = "application/x-shockwave-flash";			flashobjects[i].appendChild( embed );		}	} });

window.SignatureCheckJS = { // Parts of the confirm prompt preamble: "Where do you think you're going?\n\n", epilogue: "\nClick Cancel to add a signature to your post, and try again.", noForumheader: "This will appear in the middle of the preamble and epilogue if the forumheader template is missing on a forum page\n", noSignature: "You post appears to have been left unsigned. Use four tildes or the signature button to sign your posts.\n", // Other stuff forumheader: '', // The name of the Forumheader template, can be set to an empty string or false to disable checkSignature: true // Enable the signature check function };

window.UserTagsJS = { modules: {}, tags: { dbcore: 'Database Core', pt: 'Boss', lp: 'Dictator', mk1: 'Hand of Saruman', dyl: 'Blue Kirby', jen: 'Borni Fan', gud: 'Blue Enzyme', icm: 'The Krazy Koopa', tas: 'Shimmering Brony', lty: 'Green Plumber', hdn: 'Pootis Man', ft: 'Slangerman', bot: 'Bot', } };

// Add custom groups to several users UserTagsJS.modules.custom = { 'DummyaccountPT': ['dbcore'], 'PlasmoidThunder': ['pt'], 'LegoPigeon': ['lp'], 'Metalkong1': ['mk1'], 'Dylanius9000Mugen': ['dyl'], 'Jenngra505': ['jen'], 'Gudine': ['gud'], '39Iceman': ['icm'], 'ToonAlexSora007': ['tas'], 'LuigiTheYoshi11': ['lty'], 'Hydron (Nool)': ['hdn'], 'FrenchTouch': ['ft'], 'Plasmo-Bot': ['bot'], 'Gudine Bot': ['bot'], };

UserTagsJS.modules.metafilter = { sysop: ['dbcore', 'bot'] };

/* Replaces with the name of the user browsing the page. Requires copying Template:USERNAME. */

$(function {   if (window.disableUsernameReplace || mw.config.get('wgUserName') === null) return;    $('span.insertusername').html(mw.config.get('wgUserName')); });

/* End of the replacement */

/* Custom message bubble */ var WikiaNotificationMessage = "With a new character article layout still in the process of being fully implemented, we insist that you do not use the old article layout, as your article will most likely be deleted if you do. For more information on the new layout, please go here and here."; var WikiaNotificationexpiry = 0;

/* Auto-refresh Recent Wiki Activity and other pages */ var ajaxRefresh = 30000; var AjaxRCRefreshText = 'Auto-update current page'; var AjaxRCRefreshHoverText = 'Click to automatically update the current page every 30 seconds'; var ajaxPages = ["Special:RecentChanges","Special:Watchlist","Special:Log","Special:Contributions","Special:WikiActivity","Special:NewFiles"];

importArticles({   type: "script",    articles: [        "MediaWiki:RevealAnonIP.js",        /* "MediaWiki:Snowstorm.js", */        "MediaWiki:SignatureCheck.js",        "MediaWiki:UserTags.js",        "MediaWiki:WikiaNotification.js",        "MediaWiki:AjaxRC.js",        "MediaWiki:LockBoard.js",        "MediaWiki:LockBoard2.js",    ] });

if(wgPageName != 'User:PlasmoidThunder' && wgPageName != 'User_talk:PlasmoidThunder') { importScriptPage('MediaWiki:Snowstorm.js') };

/************* General functions *************/ /* Test if an element has a certain class ************************************** * * Description: Uses regular expressions and caching for better performance. * Maintainers: User:Mike Dillon, User:R. Koot, User:SG */ var hasClass = (function {    var reCache = {};    return function (element, className) {        return (reCache[className] ? reCache[className] : (reCache[className] = new RegExp("(?:\\s|^)" + className + "(?:\\s|$)"))).test(element.className);   }; }); function getElementsByClass (node, className, tagName) { if (node.getElementsByClassName && (tagName == undefined || tagName == null || tagName == '*')) return node.getElementsByClassName(className); var list = node.getElementsByTagName(tagName?tagName:'*'); var array = new Array; var i = 0; for (i in list) { if (hasClass(list[i], className)) array.push(list[i]); }	return array; } /* Creates the method getElementsByClass, if unsupported from the browser */ if(!document.getElementsByClass) document.getElementsByClass = function(className) { return getElementsByClass(document, className, '*'); }; function getElementsByName (name, root) { if (root == undefined) root = document; var e = root.getElementsByTagName('*'); var r = new Array; for (var i = 0; i < e.length; i++) { if (e[i].getAttribute('name') == name) r[r.length] = e[i]; } return r; }

//    /**         Toggles the display of elements on a page Author/contact: Austin Che http://openwetware.org/wiki/User:Austin_J._Che See http://openwetware.org/wiki/OpenWetWare:Toggle for examples and documentation */ // indexed array of toggler ids to array of associated toggle operations // each operation is a two element array, the first being the type, the second a class name or array of elements // operation types are strings like "_reset" or "" for the default toggle operation var togglers = new Array; var allClasses = new Object; // associative map of class names to page elements function toggler(id) {   var toBeToggled = togglers[id]; if (!toBeToggled) return; // if some element is in list more than once, it will be toggled multiple times for (var i = 0; i < toBeToggled.length; i++) {       // get array of elements to operate on        var toggles = toBeToggled[i][1]; if (typeof(toggles) == "string") {           if (toggles.charAt(0) == '-') {               // treat as an element ID, not as class toggles = document.getElementById(toggles.substring(1)); if (toggles) toggles = new Array(toggles); }           else toggles = allClasses[toggles]; }       if (!toggles || !toggles.length) continue; var op = toBeToggled[i][0]; // what the operation will be       switch (op) {           case "_reset": for (var j in toggles) toggles[j].style.display = toggles[j]._toggle_original_display; break; case "_show": for (var j in toggles) toggles[j].style.display = ''; break; case "_hide": for (var j in toggles) toggles[j].style.display = 'none'; break; case "": default: // Toggle for (var j in toggles) toggles[j].style.display = ((toggles[j].style.display == 'none') ? '' : 'none'); break; }   } } function createTogglerLink(toggler, id) {   var toggle = document.createElement("a"); toggle.className = 'toggler-link'; toggle.setAttribute('id', 'toggler' + id); toggle.setAttribute('href', 'javascript:toggler("' + id + '");'); var child = toggler.firstChild; toggler.removeChild(child); toggle.appendChild(child); toggler.insertBefore(toggle, toggler.firstChild); } function toggleInit {   var togglerElems = new Array; var toggleGroup = new Array; // initialize/clear any old information togglers = new Array; allClasses = new Object; allClasses.watch = undefined; allClasses.unwatch = undefined; // make list of all document classes var elems = document.getElementsByTagName("*"); var numelems = elems.length; for (var i = 0; i < elems.length; i++) {       var elem = elems[i]; if (!elem.className) continue; elem._toggle_original_display = elem.style.display; var togglerID = -1; var elemClasses = elem.className.split(' '); // get list of classes for (var j = 0; j < elemClasses.length; j++) {           var elemClass = elemClasses[j]; if (! allClasses[elemClass]) allClasses[elemClass] = new Array; allClasses[elemClass].push(elem); // all the special classes begin with _toggle if (elemClass.substring(0, 7) != "_toggle") continue; if (elemClass == "_togglegroup") toggleGroup = new Array; else if (elemClass == "_toggle") toggleGroup.push(elem); else if (elemClass.substring(0, 12) == "_toggle_init") {               // set initial value for display (ignore the original CSS set value) // understands _toggle_initshow and _toggle_inithide var disp = elemClass.substring(12); if (disp == "show") elem.style.display = ''; else if (disp == "hide") elem.style.display = 'none'; elem._toggle_original_display = disp; }           else if (elemClass.substring(0, 8) == "_toggler") {               if (togglerID == -1) {                   togglerID = togglers.length; togglers[togglerID] = new Array; togglerElems[togglerID] = elem; }               // all classes are of form _toggler_op-CLASS // figure out what class we're toggling // if none is specified, then we use the current toggle group var toBeToggled; var hyphen = elemClass.indexOf('-'); if (hyphen != -1) toBeToggled = elemClass.substring(hyphen+1); else {                   toBeToggled = toggleGroup; hyphen = elemClass.length; }               var op = elemClass.substring(8, hyphen); togglers[togglerID].push(new Array(op, toBeToggled)); }       }    }    // add javascript links to all toggler elements for (var i = 0; i < togglerElems.length; i++) createTogglerLink(togglerElems[i], i); } function owwsitesearch(f){ f.q.value='site:http://openwetware.org/wiki/'+ f.base.value+'++'+f.qfront.value } addOnloadHook(toggleInit); //