MediaWiki:Common.js

/* Any JavaScript here will be loaded for all users on every page load. */

/** * Official Google Translate Script * Google's Official 'Plugin' that translates pages from default wiki language to user's default language */

$('head').append(' ');

function googleTranslateElementInit { new google.translate.TranslateElement({pageLanguage: 'en', layout: google.translate.TranslateElement.InlineLayout.SIMPLE, multilanguagePage: true}, 'google_translate_element'); }

$('.WikiHeader').append(' '); $('.WikiHeader').append(' ');

/** * Talk Button Script * Adds a custom talk button allowing users to access the talk page of an article. */ $(function{ if($('a').is('.talk')){  }  else  {    var tpbutton = document.createElement("a");    tpbutton.setAttribute("accesskey", "t");    tpbutton.setAttribute("href", wgServer + "/wiki/Talk:" + wgPageName);    tpbutton.setAttribute("class", "wikia-button secondary talk");    tpbutton.setAttribute("rel", "nofollow");    tpbutton.setAttribute("data-id", "comment");    tpbutton.innerHTML = "Talk";    $(tpbutton).insertAfter(".comments");  } });

/** * Switch Infobox -- Allows multiple infoboxes to be seamlessly switched. * Required template: http://runescape.wikia.com/wiki/Template:Switch_infobox * Required stylesheet: http://runescape.wikia.com/wiki/User:Matthew2602/SwitchInfobox.css */ // Fixes a weird bug with the MW parser that adds lots of empty paragraphs $( '.switch-infobox > p, .switch-infobox-triggers > p' ).each( function {   if ( $( this ).children( 'br' ).length ) {        $( this ).remove;    } else {        $( this ).replaceWith( this.innerHTML );    } } ); // Appends the switch triggers to every item $( '.switch-infobox' ).each( function {       // The switch triggers        var triggers = $( this ).children( '.switch-infobox-triggers' );        $( this ).children( '.item' ).find( 'caption' ).append( triggers ); } ); // Does the actual switching $( '.switch-infobox' ).find( '.switch-infobox-triggers' ).children( '.trigger' ).click( function {   // The parent .switch-infobox of the clicked trigger    var parentSwitchInfobox = $( this ).parents( '.switch-infobox' );    // Hides items showing    parentSwitchInfobox.children( '.item.showing' ).removeClass( 'showing' );    // Show the relevant item    parentSwitchInfobox.children( '.item[data-id="' + this.getAttribute( 'data-id' ) + '"]' ).addClass( 'showing' ); } ); // Finishes loading and makes switch infoboxes functional $( '.switch-infobox.loading' ).removeClass( 'loading' );

//Debug console.log('Initialised switch infoboxes', $( '.switch-infobox' ).length);

/** * Character Template Stat Switching * By Starport592 * * Meant to enable the Character template to switch between Glass, Drizzle, and Normal modes. */

$(document).ready(function{ var Drizzle = 0,    Artifact = 0;  $(".DrizzleOff").click(function {   Drizzle = 1; $(".DrizzleOff").css("display","none"); $(".DrizzleOn").css("display","inline-block"); $(".DrizzleRegen").css("display","inline-block"); $(".HealthRegen").css("display","none"); if (Drizzle == Artifact) {       $(".DrizzleHPBar").css("display","none"); $(".RainstormMonsoonHPBar").css("display","none"); $(".GlassDrizzleHPBar").css("display","inline-block"); $(".GlassRainstormMonsoonHPBar").css("display","none"); }   else {       $(".DrizzleHPBar").css("display","inline-block"); $(".RainstormMonsoonHPBar").css("display","none"); $(".GlassDrizzleHPBar").css("display","none"); $(".GlassRainstormMonsoonHPBar").css("display","none"); } });  $(".DrizzleOn").click(function {   Drizzle = 0; $(".DrizzleOff").css("display","inline-block"); $(".DrizzleOn").css("display","none"); $(".DrizzleRegen").css("display","none"); $(".HealthRegen").css("display","inline-block"); if (Artifact == 1) {       $(".DrizzleHPBar").css("display","none"); $(".RainstormMonsoonHPBar").css("display","none"); $(".GlassDrizzleHPBar").css("display","none"); $(".GlassRainstormMonsoonHPBar").css("display","inline-block"); }   else {       $(".DrizzleHPBar").css("display","none"); $(".RainstormMonsoonHPBar").css("display","inline-block"); $(".GlassDrizzleHPBar").css("display","none"); $(".GlassRainstormMonsoonHPBar").css("display","none"); } });  $(".ArtifactOff").click(function{ Artifact = 1; $(".ArtifactOff").css("display","none"); $(".ArtifactOn").css("display","inline-block"); $(".GlassDamage").css("display","inline-block"); $(".BaseDamage").css("display","none"); if (Artifact == Drizzle) {       $(".DrizzleHPBar").css("display","none"); $(".RainstormMonsoonHPBar").css("display","none"); $(".GlassDrizzleHPBar").css("display","inline-block"); $(".GlassRainstormMonsoonHPBar").css("display","none"); }   else {       $(".DrizzleHPBar").css("display","none"); $(".RainstormMonsoonHPBar").css("display","none"); $(".GlassDrizzleHPBar").css("display","none"); $(".GlassRainstormMonsoonHPBar").css("display","inline-block"); } });  $(".ArtifactOn").click(function{ Artifact = 0; $(".ArtifactOff").css("display","inline-block"); $(".ArtifactOn").css("display","none"); $(".GlassDamage").css("display","none"); $(".BaseDamage").css("display","inline-block"); if (Drizzle == 1) {       $(".DrizzleHPBar").css("display","inline-block"); $(".RainstormMonsoonHPBar").css("display","none"); $(".GlassDrizzleHPBar").css("display","none"); $(".GlassRainstormMonsoonHPBar").css("display","none"); }   else {       $(".DrizzleHPBar").css("display","none"); $(".RainstormMonsoonHPBar").css("display","inline-block"); $(".GlassDrizzleHPBar").css("display","none"); $(".GlassRainstormMonsoonHPBar").css("display","none"); } }); });

/** * Tooltip * Imports javascript that allows for custom tooltips. */

var tooltips_config = { offsetX: 5, offsetY: 10, waitForImages: true, events: ['CustomEvent'], }

var tooltips_list = [ {       classname: 'custom-tooltip-text', text: "Parameter: <#parameter#> This is just text and HTML - wikitext won't be parsed", }, {       classname: 'custom-tooltip-parse', parse: '{|style="white-space:nowrap;"\n!Parameter:\n|<#parameter#>\n|-\n!Lc:\n|{'+'{lc:<#parameter#>}}\n|-\n!Uc:\n|{'+'{uc:<#parameter#>}}\n|-\n!PAGENAME:\n|{'+'{PAGENAME}}\n|}', }, {       classname: 'basic-tooltip', delay: 500, onHide: function { $(this).html('') }, }, {       classname: 'difficulty-tooltip', parse: '{|style="white-space:nowrap;"\n|{'+'{:Difficulty|transcludesection={'+'{ucfirst:<#difficulty#>}}Tooltip}}\n|}', }, ]

/* Import */

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