MediaWiki:Common.js

/* Any JavaScript here will be loaded for all users on every page load. */ importScriptPage('DupImageList/code.js', 'dev');

//test $('ul.tools li:first-child').after('Ask a question about Ben 10');

/* Auto updating recent changes opt-in * See w:c:dev:AjaxRC for info & attribution */ AjaxRCRefreshText = 'Auto-refresh'; AjaxRCRefreshHoverText = 'Automatically refresh the page'; ajaxPages = ["Special:RecentChanges","Special:WikiActivity"]; importScriptPage('AjaxRC/code.js', 'dev');

/** Summary filler * From RuneScape Wiki */ importScriptPage('MediaWiki:Common.js/standardeditsummaries.js', 'runescape');

importScriptPage('FastDelete/code.js', 'dev'); var fdButtons = []; fdButtons[fdButtons.length] = { 'summary': 'spam', 'label': 'spam'}; fdButtons[fdButtons.length] = { 'summary': 'vandalism', 'label': 'vandalism'} fdButtons[fdButtons.length] = { 'summary': 'Fan art', 'label': 'Fan art'}

/** Collapsible tables ********************************************************* * * Description: Allows tables to be collapsed, showing only the header. See *                        http://www.mediawiki.org/wiki/Manual:Collapsible_tables. * Maintainers: en:User:R. Koot */ var autoCollapse = 2; var collapseCaption = 'hide'; var expandCaption = 'show'; function collapseTable( tableIndex ) { var Button = document.getElementById( 'collapseButton' + tableIndex ); var Table = document.getElementById( 'collapsibleTable' + tableIndex ); if ( !Table || !Button ) { return false; }       var Rows = Table.rows; if ( Button.firstChild.data == collapseCaption ) { for ( var i = 1; i < Rows.length; i++ ) { Rows[i].style.display = 'none'; }               Button.firstChild.data = expandCaption; } else { for ( var i = 1; i < Rows.length; i++ ) { Rows[i].style.display = Rows[0].style.display; }               Button.firstChild.data = collapseCaption; } } function createCollapseButtons { var tableIndex = 0; var NavigationBoxes = new Object; var Tables = document.getElementsByTagName( 'table' ); for ( var i = 0; i < Tables.length; i++ ) { if ( hasClass( Tables[i], 'collapsible' ) ) { /* only add button and increment count if there is a header row to work with */ var HeaderRow = Tables[i].getElementsByTagName( 'tr' )[0]; if ( !HeaderRow ) { continue; }                       var Header = HeaderRow.getElementsByTagName( 'th' )[0]; if ( !Header ) { continue; }                       NavigationBoxes[tableIndex] = Tables[i]; Tables[i].setAttribute( 'id', 'collapsibleTable' + tableIndex ); var Button = document.createElement( 'span' ); var ButtonLink = document.createElement( 'a' ); var ButtonText = document.createTextNode( collapseCaption ); Button.className = 'collapseButton'; // Styles are declared in MediaWiki:Common.css ButtonLink.style.color = Header.style.color; ButtonLink.setAttribute( 'id', 'collapseButton' + tableIndex ); ButtonLink.setAttribute( 'href', "javascript:collapseTable(" + tableIndex + ");" ); ButtonLink.appendChild( ButtonText ); Button.appendChild( document.createTextNode( '[' ) ); Button.appendChild( ButtonLink ); Button.appendChild( document.createTextNode( ']' ) ); Header.insertBefore( Button, Header.childNodes[0] ); tableIndex++; }       }        for ( var i = 0;  i < tableIndex; i++ ) { if ( hasClass( NavigationBoxes[i], 'collapsed' ) || ( tableIndex >= autoCollapse && hasClass( NavigationBoxes[i], 'autocollapse' ) ) ) { collapseTable( i ); } else if ( hasClass( NavigationBoxes[i], 'innercollapse' ) ) { var element = NavigationBoxes[i]; while ( element = element.parentNode ) { if ( hasClass( element, 'outercollapse' ) ) { collapseTable( i ); break; }                       }                }        } } addOnloadHook( createCollapseButtons ); /** 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 );       }; });

// Adds button to switch to Monobook importScriptPage('SkinSwitchButton/code.js', 'dev'); //END Monobook Switch

function PlasmaBot { if(document.getElementById('UserProfileMasthead').getElementsByTagName('h1')[0].innerHTML == 'PlasmaBot') {document.getElementById('UserProfileMasthead').getElementsByTagName('span')[0].innerHTML = 'Sysop Bot';} } addOnloadHook(PlasmaBot);

var countdownnum = 10; var countdown10 = setInterval(function {	countdownnum--;	document.all['countdown10'].innerHTML = countdownnum; }, 1000) setTimeout("clearInterval(countdown10)",10500)

// Custom edit buttons importScript('MediaWiki:Common.js/CEB.js'); // END of custom edit buttons

// Add "Edit Intro" Button/Tab importScriptPage('EditIntroButton/code.js', 'dev'); // END Add "Edit Intro" Button/Tab

// Adds PURGE button for both skins var PurgeButtonText = 'Purge'; importScriptPage('PurgeButton/code.js', 'dev'); // END Adds PURGE button for both skins

// Extra Rollback Buttons importScript('MediaWiki:Common.js/extraRollbacks.js'); // END Extra Rollback Buttons // AjaxRollback - works with Extra Rollback Buttons importScript('MediaWiki:Common.js/ajaxRollback.js'); // END AjaxRollback

/* Add a button to edit Message Wall Greeting * By: User:Eladske, modified by User:The 888th Avatar */ function EditGreeting { if (wgCanonicalNamespace == 'Message_Wall' && wgAction != 'history') { if (wgTitle == wgUserName) { $('.WikiaMainContent').prepend('  Edit greeting	 '); }	} } addOnloadHook(EditGreeting);

/* Mass delete (Special:Nuke) script */ if(wgPageName == 'Ben_10_Planet:MassDelete') importScript('MediaWiki:Common.js/massdelete.js');