MediaWiki:Common.js

/* Any JavaScript here will be loaded for all users on every page load. */ // ============================================================ // BEGIN Dynamic Navigation Bars (experimantal) // This script is from Wikipedia. For author attribution, please see http://en.wikipedia.org/w/index.php?title=MediaWiki:Common.js&action=history /* 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);   }; }); /** Collapsible tables ********************************************************* * *  Description: Allows tables to be collapsed, showing only the header. See *              NavFrame. * Maintainers: 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.getElementsByTagName( "tr" ); 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" ) ) { 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.style.styleFloat = "right"; Button.style.cssFloat = "right"; Button.style.fontWeight = "normal"; Button.style.textAlign = "right"; Button.style.width = "6em"; 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( "]" ) ); var Header = Tables[i].getElementsByTagName( "tr" )[0].getElementsByTagName( "th" )[0]; /* only add button and increment count if there is a header row to work with */ if (Header) { Header.insertBefore( Button, Header.childNodes[0] ); tableIndex++; }        }     }     for ( var i = 0;  i  '); }

function itemGetStats(node, data) { console.info("itemGetStats for node:"); console.log(node); var itemstats = []; for (var i in data.item_list) { var a = data.item_list[i]; itemstats.push(				' | DPS = ' + a.dps + '\n' +				' | Defense = ' + a.stat_mitigation + '\n' +				' | Toughness = ' + a.stat_resilience + '\n' +				' | Health = ' + a.stat_health_pool + '\n' +				' | Power = ' + a.stat_fatigue_pool + '\n' +				' | Precision = ' + a.stat_basic_attack + '\n' +				' | Might = ' + a.stat_finisher_attack + '\n' +				' | Restoration = ' + a.stat_heal + '\n' +				' | Vitalization = ' + a.stat_power_heal + '\n' +				' | Dominance = ' + a.stat_dominance + '\n'		); }	var beforestats = "", statsbody = "" + itemstats.join("\n") + ""; console.info("Replacing node:"); console.log(node); $(node).replaceWith( + beforestats + statsbody + ); }

$("span.itemdata").each(function {	var currNode = this;	console.info("currNode:");	console.info(currNode);	loadItemJSON($(currNode).attr("data-ids").replace(/[^\d\,]/g, ""), function(data) { itemGetStats(currNode, data); }); });