No edit summary |
No edit summary |
||
Line 32: | Line 32: | ||
$(document).ready( wikiLogoText() ); |
$(document).ready( wikiLogoText() ); |
||
+ | /* Convert the scheduled next game time into local timezone */ |
||
− | |||
− | |||
− | /* Converter the scheduled next game time into local timezone */ |
||
$(function () { |
$(function () { |
||
var point = document.getElementsByClassName("getLocalTimeZoneOfThis"); |
var point = document.getElementsByClassName("getLocalTimeZoneOfThis"); |
||
Line 121: | Line 119: | ||
); |
); |
||
+ | function tocafter() { |
||
+ | if( document.getElementById("infoboxPlayer") ){ |
||
+ | if( document.getElementById("twitchStream") ){ |
||
+ | if($(window).width() < 1400) { |
||
+ | $("#tocdiv").insertAfter("#sbsAndStream"); |
||
+ | var streamWidth = $("#bodyContent").width() - ($("#infoboxPlayer").width() + (16*2) + 10) |
||
+ | var streamHeight = (streamWidth * 9)/16 |
||
+ | var stream = document.getElementById("twitchStream") |
||
+ | stream.setAttribute("width", streamWidth) |
||
+ | stream.setAttribute("height", streamHeight) |
||
+ | } |
||
+ | else { |
||
+ | $("#tocdiv").insertBefore("#sbsAndStream"); |
||
+ | |||
+ | var streamWidth = $("#bodyContent").width() - ($("#infoboxPlayer").width() + (16*2) + $("#tocdiv").width() + 30 + (($(window).width() * 0.25) - 350)) |
||
+ | if (streamWidth > 1280){ |
||
+ | streamWidth = 1280 |
||
+ | } |
||
+ | var streamHeight = (streamWidth * 9)/16 |
||
+ | var stream = document.getElementById("twitchStream") |
||
+ | stream.setAttribute("width", streamWidth) |
||
+ | stream.setAttribute("height", streamHeight) |
||
+ | } |
||
+ | } |
||
+ | } |
||
+ | } |
||
+ | |||
+ | $(document).ready( tocafter() ); |
||
+ | window.addEventListener("resize", tocafter, false); |
||
+ | |||
+ | |||
+ | // __NOWYSIWYG__ |
||
/** |
/** |
||
* Countdown |
* Countdown |
||
Line 126: | Line 156: | ||
* @version 2.1 |
* @version 2.1 |
||
* |
* |
||
− | * @author Pecoes < |
+ | * @author Pecoes <https://c.wikia.com/wiki/User:Pecoes> |
− | * @author Asaba < |
+ | * @author Asaba <https://dev.wikia.com/wiki/User:Asaba> |
* |
* |
||
* Version 1 authors: |
* Version 1 authors: |
||
− | * - Splarka < |
+ | * - Splarka <https://c.wikia.com/wiki/User:Splarka> |
− | * - Eladkse < |
+ | * - Eladkse <https://c.wikia.com/wiki/User:Eladkse> |
* |
* |
||
* documentation and examples at: |
* documentation and examples at: |
||
− | * < |
+ | * <https://dev.wikia.com/wiki/Countdown> |
*/ |
*/ |
||
Line 141: | Line 171: | ||
;(function (module, mw, $, undefined) { |
;(function (module, mw, $, undefined) { |
||
+ | |||
− | |||
'use strict'; |
'use strict'; |
||
Line 315: | Line 345: | ||
}(window.countdownTimer = window.countdownTimer || {}, mediaWiki, jQuery)); |
}(window.countdownTimer = window.countdownTimer || {}, mediaWiki, jQuery)); |
||
− | |||
var toggleMapListSetup = function() { |
var toggleMapListSetup = function() { |
||
Line 361: | Line 390: | ||
}); |
}); |
||
}; |
}; |
||
− | |||
− | |||
− | /** |
||
− | 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 = 0; j < toggles.length; j++) |
||
− | toggles[j].style.display = toggles[j]._toggle_original_display; |
||
− | break; |
||
− | case "_show": |
||
− | for (var j = 0; j < toggles.length; j++) |
||
− | toggles[j].style.display = ''; |
||
− | break; |
||
− | case "_hide": |
||
− | for (var j = 0; j < toggles.length; j++) |
||
− | toggles[j].style.display = 'none'; |
||
− | break; |
||
− | case "_slidehide": |
||
− | for (var j = 0; j < toggles.length; j++){ |
||
− | if (toggles[j].style.display != 'none'){ |
||
− | $(toggles[j]).animate({width: 'toggle'}); |
||
− | } |
||
− | } |
||
− | break; |
||
− | case "_slideshow": |
||
− | for (var j = 0; j < toggles.length; j++){ |
||
− | if (toggles[j].style.display == 'none'){ |
||
− | $(toggles[j]).animate({width: 'toggle'}); |
||
− | } |
||
− | } |
||
− | break; |
||
− | case "_expand": |
||
− | for (var j = 0; j < toggles.length; j++){ |
||
− | var bracketCr2 = $(toggles[j]).find('*.oldr2'); |
||
− | var bracketCr3 = $(toggles[j]).find('*.oldr3'); |
||
− | var bracketCr4 = $(toggles[j]).find('*.oldr4'); |
||
− | var bracketCr5 = $(toggles[j]).find('*.oldr5'); |
||
− | var bracketCr6 = $(toggles[j]).find('*.oldr6'); |
||
− | function distinguishCell(cell, oRound){ |
||
− | var strNClass = "test"; |
||
− | if($(cell).is('*[class*="bracket-cell"]')){ |
||
− | strNClass = "bracket-cell-r" + oRound.toString(); |
||
− | } |
||
− | else if($(cell).is('*[class*="bracket-line-left-top"]')){ |
||
− | strNClass = "bracket-line-left-top-r" + oRound.toString(); |
||
− | } |
||
− | else if($(cell).is('*[class*="bracket-line-left-mid"]')){ |
||
− | strNClass = "bracket-line-left-mid-r" + oRound.toString(); |
||
− | } |
||
− | else if($(cell).is('*[class*="bracket-line-left-bot"]')){ |
||
− | strNClass = "bracket-line-left-bot-r" + oRound.toString(); |
||
− | } |
||
− | else if($(cell).is('*[class*="bracket-line-right-top"]')){ |
||
− | strNClass = "bracket-line-right-top-r" + oRound.toString(); |
||
− | } |
||
− | else if($(cell).is('*[class*="bracket-line-right-bot"]')){ |
||
− | strNClass = "bracket-line-right-bot-r" + oRound.toString(); |
||
− | } |
||
− | cell.className = strNClass; |
||
− | } |
||
− | for (var k = 0; k < bracketCr2.length; k++){ |
||
− | distinguishCell(bracketCr2[k],2); |
||
− | } |
||
− | for (var k = 0; k < bracketCr3.length; k++){ |
||
− | distinguishCell(bracketCr3[k],3); |
||
− | } |
||
− | for (var k = 0; k < bracketCr4.length; k++){ |
||
− | distinguishCell(bracketCr4[k],4); |
||
− | } |
||
− | for (var k = 0; k < bracketCr5.length; k++){ |
||
− | distinguishCell(bracketCr5[k],5); |
||
− | } |
||
− | for (var k = 0; k < bracketCr6.length; k++){ |
||
− | distinguishCell(bracketCr6[k],6); |
||
− | } |
||
− | } |
||
− | break; |
||
− | case "_shrink": |
||
− | setTimeout(function(){togglerShrink(toggler)},200); |
||
− | function togglerShrink(toggler) { |
||
− | var smallest = 7; |
||
− | var smallestL = 7; |
||
− | for (var j = 0; j < toggles.length; j++){ |
||
− | var bracketCr2 = $(toggles[j]).find('*.bracket-cell-r2'); |
||
− | var bracketCr3 = $(toggles[j]).find('*.bracket-cell-r3'); |
||
− | var bracketCr4 = $(toggles[j]).find('*.bracket-cell-r4'); |
||
− | var bracketCr5 = $(toggles[j]).find('*.bracket-cell-r5'); |
||
− | var bracketCr6 = $(toggles[j]).find('*.bracket-cell-r6'); |
||
− | if(bracketCr2.length > 0 && smallest > 2){ |
||
− | smallest = 2; |
||
− | } |
||
− | else if(bracketCr3.length > 0 && smallest > 3){ |
||
− | smallest = 3; |
||
− | } |
||
− | else if(bracketCr4.length > 0 && smallest > 4){ |
||
− | smallest = 4; |
||
− | } |
||
− | else if(bracketCr5.length > 0 && smallest > 5){ |
||
− | smallest = 5; |
||
− | } |
||
− | else if(bracketCr6.length > 0 && smallest > 6){ |
||
− | smallest = 6; |
||
− | } |
||
− | |||
− | var bllt2 = $(toggles[j]).find('*.bracket-line-left-top-r2'); |
||
− | var bllt3 = $(toggles[j]).find('*.bracket-line-left-top-r3'); |
||
− | var bllt4 = $(toggles[j]).find('*.bracket-line-left-top-r4'); |
||
− | var bllt5 = $(toggles[j]).find('*.bracket-line-left-top-r5'); |
||
− | var bllt6 = $(toggles[j]).find('*.bracket-line-left-top-r6'); |
||
− | |||
− | if(bllt2.length > 0 && smallestL > 2){ |
||
− | smallestL = 2; |
||
− | } |
||
− | else if(bllt3.length > 0 && smallestL > 3){ |
||
− | smallestL = 3; |
||
− | } |
||
− | else if(bllt4.length > 0 && smallestL > 4){ |
||
− | smallestL = 4; |
||
− | } |
||
− | else if(bllt5.length > 0 && smallestL > 5){ |
||
− | smallestL = 5; |
||
− | } |
||
− | else if(bllt6.length > 0 && smallestL > 6){ |
||
− | smallestL = 6; |
||
− | } |
||
− | } |
||
− | for (var j = 0; j < toggles.length; j++){ |
||
− | var bracketCr2 = $(toggles[j]).find('*.bracket-cell-r2'); |
||
− | var bracketCr3 = $(toggles[j]).find('*.bracket-cell-r3'); |
||
− | var bracketCr4 = $(toggles[j]).find('*.bracket-cell-r4'); |
||
− | var bracketCr5 = $(toggles[j]).find('*.bracket-cell-r5'); |
||
− | var bracketCr6 = $(toggles[j]).find('*.bracket-cell-r6'); |
||
− | |||
− | var bllt2 = $(toggles[j]).find('*.bracket-line-left-top-r2'); |
||
− | var bllm2 = $(toggles[j]).find('*.bracket-line-left-mid-r2'); |
||
− | var bllb2 = $(toggles[j]).find('*.bracket-line-left-bot-r2'); |
||
− | var blrt2 = $(toggles[j]).find('*.bracket-line-right-top-r2'); |
||
− | var blrb2 = $(toggles[j]).find('*.bracket-line-right-bot-r2'); |
||
− | |||
− | var bllt3 = $(toggles[j]).find('*.bracket-line-left-top-r3'); |
||
− | var bllm3 = $(toggles[j]).find('*.bracket-line-left-mid-r3'); |
||
− | var bllb3 = $(toggles[j]).find('*.bracket-line-left-bot-r3'); |
||
− | var blrt3 = $(toggles[j]).find('*.bracket-line-right-top-r3'); |
||
− | var blrb3 = $(toggles[j]).find('*.bracket-line-right-bot-r3'); |
||
− | |||
− | var bllt4 = $(toggles[j]).find('*.bracket-line-left-top-r4'); |
||
− | var bllm4 = $(toggles[j]).find('*.bracket-line-left-mid-r4'); |
||
− | var bllb4 = $(toggles[j]).find('*.bracket-line-left-bot-r4'); |
||
− | var blrt4 = $(toggles[j]).find('*.bracket-line-right-top-r4'); |
||
− | var blrb4 = $(toggles[j]).find('*.bracket-line-right-bot-r4'); |
||
− | |||
− | var bllt5 = $(toggles[j]).find('*.bracket-line-left-top-r5'); |
||
− | var bllm5 = $(toggles[j]).find('*.bracket-line-left-mid-r5'); |
||
− | var bllb5 = $(toggles[j]).find('*.bracket-line-left-bot-r5'); |
||
− | var blrt5 = $(toggles[j]).find('*.bracket-line-right-top-r5'); |
||
− | var blrb5 = $(toggles[j]).find('*.bracket-line-right-bot-r5'); |
||
− | |||
− | for (var k = 0; k < bracketCr2.length; k++){ |
||
− | var n = 3-smallest; |
||
− | var nClass = " bracket-cell-r" + n.toString(); |
||
− | bracketCr2[k].className += nClass; |
||
− | $(bracketCr2[k]).removeClass("bracket-cell-r2"); |
||
− | if($(bracketCr2[k]).is('*[class*="old"]')){ |
||
− | } |
||
− | else{ |
||
− | bracketCr2[k].className += " oldr2"; |
||
− | } |
||
− | } |
||
− | for (var k = 0; k < bracketCr3.length; k++){ |
||
− | var n = 4-smallest; |
||
− | var nClass = " bracket-cell-r" + n.toString(); |
||
− | bracketCr3[k].className += nClass; |
||
− | $(bracketCr3[k]).removeClass("bracket-cell-r3"); |
||
− | if($(bracketCr3[k]).is('*[class*="old"]')){ |
||
− | } |
||
− | else{ |
||
− | bracketCr3[k].className += " oldr3"; |
||
− | } |
||
− | } |
||
− | for (var k = 0; k < bracketCr4.length; k++){ |
||
− | var n = 5-smallest; |
||
− | var nClass = " bracket-cell-r" + n.toString(); |
||
− | bracketCr4[k].className += nClass; |
||
− | $(bracketCr4[k]).removeClass("bracket-cell-r4"); |
||
− | if($(bracketCr4[k]).is('*[class*="old"]')){ |
||
− | } |
||
− | else{ |
||
− | bracketCr4[k].className += " oldr4"; |
||
− | } |
||
− | } |
||
− | for (var k = 0; k < bracketCr5.length; k++){ |
||
− | var n = 6-smallest; |
||
− | var nClass = " bracket-cell-r" + n.toString(); |
||
− | bracketCr5[k].className += nClass; |
||
− | $(bracketCr5[k]).removeClass("bracket-cell-r5"); |
||
− | if($(bracketCr5[k]).is('*[class*="old"]')){ |
||
− | } |
||
− | else{ |
||
− | bracketCr5[k].className += " oldr5"; |
||
− | } |
||
− | } |
||
− | for (var k = 0; k < bracketCr6.length; k++){ |
||
− | var n = 7-smallest; |
||
− | var nClass = " bracket-cell-r" + n.toString(); |
||
− | bracketCr6[k].className += nClass; |
||
− | $(bracketCr6[k]).removeClass("bracket-cell-r6"); |
||
− | if($(bracketCr6[k]).is('*[class*="old"]')){ |
||
− | } |
||
− | else{ |
||
− | bracketCr6[k].className += " oldr6"; |
||
− | } |
||
− | } |
||
− | for (var k = 0; k < bllt2.length; k++){ |
||
− | var n = 3 - smallestL; |
||
− | var m1 = 2 * k; |
||
− | var m2 = 2 * k + 1; |
||
− | var nSt = " bracket-line-left-top-r" + n.toString(); |
||
− | var nSm = " bracket-line-left-mid-r" + n.toString(); |
||
− | var nSb = " bracket-line-left-bot-r" + n.toString(); |
||
− | var nStr = " bracket-line-right-top-r" + n.toString(); |
||
− | var nSbr = " bracket-line-right-bot-r" + n.toString(); |
||
− | bllt2[k].className += nSt; |
||
− | bllm2[m1].className += nSm; |
||
− | bllm2[m2].className += nSm; |
||
− | bllb2[k].className += nSb; |
||
− | blrt2[k].className += nStr; |
||
− | blrb2[k].className += nSbr; |
||
− | $(bllt2[k]).removeClass("bracket-line-left-top-r2"); |
||
− | $(bllm2[m1]).removeClass("bracket-line-left-mid-r2"); |
||
− | $(bllm2[m2]).removeClass("bracket-line-left-mid-r2"); |
||
− | $(bllb2[k]).removeClass("bracket-line-left-bot-r2"); |
||
− | $(blrt2[k]).removeClass("bracket-line-right-top-r2"); |
||
− | $(blrb2[k]).removeClass("bracket-line-right-bot-r2"); |
||
− | if($(bllt2[k]).is('*[class*="old"]')){ |
||
− | } |
||
− | else{ |
||
− | bllt2[k].className += " oldr2"; |
||
− | bllb2[k].className += " oldr2"; |
||
− | bllm2[m1].className += " oldr2"; |
||
− | bllm2[m2].className += " oldr2"; |
||
− | blrt2[k].className += " oldr2"; |
||
− | blrb2[k].className += " oldr2"; |
||
− | } |
||
− | } |
||
− | for (var k = 0; k < bllt3.length; k++){ |
||
− | var n = 4 - smallestL; |
||
− | var m1 = 2 * k; |
||
− | var m2 = 2 * k + 1; |
||
− | var nSt = " bracket-line-left-top-r" + n.toString(); |
||
− | var nSm = " bracket-line-left-mid-r" + n.toString(); |
||
− | var nSb = " bracket-line-left-bot-r" + n.toString(); |
||
− | var nStr = " bracket-line-right-top-r" + n.toString(); |
||
− | var nSbr = " bracket-line-right-bot-r" + n.toString(); |
||
− | bllt3[k].className += nSt; |
||
− | bllm3[m1].className += nSm; |
||
− | bllm3[m2].className += nSm; |
||
− | bllb3[k].className += nSb; |
||
− | blrt3[k].className += nStr; |
||
− | blrb3[k].className += nSbr; |
||
− | $(bllt3[k]).removeClass("bracket-line-left-top-r3"); |
||
− | $(bllm3[m1]).removeClass("bracket-line-left-mid-r3"); |
||
− | $(bllm3[m2]).removeClass("bracket-line-left-mid-r3"); |
||
− | $(bllb3[k]).removeClass("bracket-line-left-bot-r3"); |
||
− | $(blrt3[k]).removeClass("bracket-line-right-top-r3"); |
||
− | $(blrb3[k]).removeClass("bracket-line-right-bot-r3"); |
||
− | if($(bllt3[k]).is('*[class*="old"]')){ |
||
− | } |
||
− | else{ |
||
− | bllt3[k].className += " oldr3"; |
||
− | bllb3[k].className += " oldr3"; |
||
− | bllm3[m1].className += " oldr3"; |
||
− | bllm3[m2].className += " oldr3"; |
||
− | blrt3[k].className += " oldr3"; |
||
− | blrb3[k].className += " oldr3"; |
||
− | } |
||
− | } |
||
− | for (var k = 0; k < bllt4.length; k++){ |
||
− | var n = 5 - smallestL; |
||
− | var m1 = 2 * k; |
||
− | var m2 = 2 * k + 1; |
||
− | var nSt = " bracket-line-left-top-r" + n.toString(); |
||
− | var nSm = " bracket-line-left-mid-r" + n.toString(); |
||
− | var nSb = " bracket-line-left-bot-r" + n.toString(); |
||
− | var nStr = " bracket-line-right-top-r" + n.toString(); |
||
− | var nSbr = " bracket-line-right-bot-r" + n.toString(); |
||
− | bllt4[k].className += nSt; |
||
− | bllm4[m1].className += nSm; |
||
− | bllm4[m2].className += nSm; |
||
− | bllb4[k].className += nSb; |
||
− | blrt4[k].className += nStr; |
||
− | blrb4[k].className += nSbr; |
||
− | $(bllt4[k]).removeClass("bracket-line-left-top-r4"); |
||
− | $(bllm4[m1]).removeClass("bracket-line-left-mid-r4"); |
||
− | $(bllm4[m2]).removeClass("bracket-line-left-mid-r4"); |
||
− | $(bllb4[k]).removeClass("bracket-line-left-bot-r4"); |
||
− | $(blrt4[k]).removeClass("bracket-line-right-top-r4"); |
||
− | $(blrb4[k]).removeClass("bracket-line-right-bot-r4"); |
||
− | if($(bllt4[k]).is('*[class*="old"]')){ |
||
− | } |
||
− | else{ |
||
− | bllt4[k].className += " oldr4"; |
||
− | bllb4[k].className += " oldr4"; |
||
− | bllm4[m1].className += " oldr4"; |
||
− | bllm4[m2].className += " oldr4"; |
||
− | blrt4[k].className += " oldr4"; |
||
− | blrb4[k].className += " oldr4"; |
||
− | } |
||
− | } |
||
− | for (var k = 0; k < bllt5.length; k++){ |
||
− | var n = 6 - smallestL; |
||
− | var m1 = 2 * k; |
||
− | var m2 = 2 * k + 1; |
||
− | var nSt = " bracket-line-left-top-r" + n.toString(); |
||
− | var nSm = " bracket-line-left-mid-r" + n.toString(); |
||
− | var nSb = " bracket-line-left-bot-r" + n.toString(); |
||
− | var nStr = " bracket-line-right-top-r" + n.toString(); |
||
− | var nSbr = " bracket-line-right-bot-r" + n.toString(); |
||
− | bllt5[k].className += nSt; |
||
− | bllm5[m1].className += nSm; |
||
− | bllm5[m2].className += nSm; |
||
− | bllb5[k].className += nSb; |
||
− | blrt5[k].className += nStr; |
||
− | blrb5[k].className += nSbr; |
||
− | $(bllt5[k]).removeClass("bracket-line-left-top-r5"); |
||
− | $(bllm5[m1]).removeClass("bracket-line-left-mid-r5"); |
||
− | $(bllm5[m2]).removeClass("bracket-line-left-mid-r5"); |
||
− | $(bllb5[k]).removeClass("bracket-line-left-bot-r5"); |
||
− | $(blrt5[k]).removeClass("bracket-line-right-top-r5"); |
||
− | $(blrb5[k]).removeClass("bracket-line-right-bot-r5"); |
||
− | if($(bllt5[k]).is('*[class*="old"]')){ |
||
− | } |
||
− | else{ |
||
− | bllt5[k].className += " oldr5"; |
||
− | bllb5[k].className += " oldr5"; |
||
− | bllm5[m1].className += " oldr5"; |
||
− | bllm5[m2].className += " oldr5"; |
||
− | blrt5[k].className += " oldr5"; |
||
− | blrb5[k].className += " oldr5"; |
||
− | } |
||
− | } |
||
− | } |
||
− | } |
||
− | break; |
||
− | case "": |
||
− | default: |
||
− | // Toggle |
||
− | for (var j = 0; j < toggles.length; j++) |
||
− | 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(); |
||
− | |||
− | // 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 |
||
− | } |
||
− | |||
− | |||
− | $(toggleInit); |
||
function includePage( name ) |
function includePage( name ) |
||
Line 862: | Line 399: | ||
} |
} |
||
/* End of includePage */ |
/* End of includePage */ |
||
− | |||
− | /* ======================================================================== |
||
− | * Bootstrap: dropdown.js v3.1.1 |
||
− | * http://getbootstrap.com/javascript/#dropdowns |
||
− | * ======================================================================== |
||
− | * Copyright 2011-2014 Twitter, Inc. |
||
− | * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) |
||
− | * ======================================================================== */ |
||
− | |||
− | |||
− | +function ($) { |
||
− | 'use strict'; |
||
− | |||
− | // DROPDOWN CLASS DEFINITION |
||
− | // ========================= |
||
− | |||
− | var backdrop = '.dropdown-backdrop' |
||
− | var toggle = '[data-toggle=dropdown]' |
||
− | var Dropdown = function (element) { |
||
− | $(element).on('click.bs.dropdown', this.toggle) |
||
− | } |
||
− | |||
− | Dropdown.prototype.toggle = function (e) { |
||
− | var $this = $(this) |
||
− | |||
− | if ($this.is('.disabled, :disabled')) return |
||
− | |||
− | var $parent = getParent($this) |
||
− | var isActive = $parent.hasClass('open') |
||
− | |||
− | clearMenus() |
||
− | |||
− | if (!isActive) { |
||
− | if ('ontouchstart' in document.documentElement && !$parent.closest('.navbar-nav').length) { |
||
− | // if mobile we use a backdrop because click events don't delegate |
||
− | $('<div class="dropdown-backdrop"/>').insertAfter($(this)).on('click', clearMenus) |
||
− | } |
||
− | |||
− | var relatedTarget = { relatedTarget: this } |
||
− | $parent.trigger(e = $.Event('show.bs.dropdown', relatedTarget)) |
||
− | |||
− | if (e.isDefaultPrevented()) return |
||
− | |||
− | $parent |
||
− | .toggleClass('open') |
||
− | .trigger('shown.bs.dropdown', relatedTarget) |
||
− | |||
− | $this.focus() |
||
− | } |
||
− | |||
− | return false |
||
− | } |
||
− | |||
− | Dropdown.prototype.keydown = function (e) { |
||
− | if (!/(38|40|27)/.test(e.keyCode)) return |
||
− | |||
− | var $this = $(this) |
||
− | |||
− | e.preventDefault() |
||
− | e.stopPropagation() |
||
− | |||
− | if ($this.is('.disabled, :disabled')) return |
||
− | |||
− | var $parent = getParent($this) |
||
− | var isActive = $parent.hasClass('open') |
||
− | |||
− | if (!isActive || (isActive && e.keyCode == 27)) { |
||
− | if (e.which == 27) $parent.find(toggle).focus() |
||
− | return $this.click() |
||
− | } |
||
− | |||
− | var desc = ' li:not(.divider):visible a' |
||
− | var $items = $parent.find('[role=menu]' + desc + ', [role=listbox]' + desc) |
||
− | |||
− | if (!$items.length) return |
||
− | |||
− | var index = $items.index($items.filter(':focus')) |
||
− | |||
− | if (e.keyCode == 38 && index > 0) index-- // up |
||
− | if (e.keyCode == 40 && index < $items.length - 1) index++ // down |
||
− | if (!~index) index = 0 |
||
− | |||
− | $items.eq(index).focus() |
||
− | } |
||
− | |||
− | function clearMenus(e) { |
||
− | $(backdrop).remove() |
||
− | $(toggle).each(function () { |
||
− | var $parent = getParent($(this)) |
||
− | var relatedTarget = { relatedTarget: this } |
||
− | if (!$parent.hasClass('open')) return |
||
− | $parent.trigger(e = $.Event('hide.bs.dropdown', relatedTarget)) |
||
− | if (e.isDefaultPrevented()) return |
||
− | $parent.removeClass('open').trigger('hidden.bs.dropdown', relatedTarget) |
||
− | }) |
||
− | } |
||
− | |||
− | function getParent($this) { |
||
− | var selector = $this.attr('data-target') |
||
− | |||
− | if (!selector) { |
||
− | selector = $this.attr('href') |
||
− | selector = selector && /#[A-Za-z]/.test(selector) && selector.replace(/.*(?=#[^\s]*$)/, '') //strip for ie7 |
||
− | } |
||
− | |||
− | var $parent = selector && $(selector) |
||
− | |||
− | return $parent && $parent.length ? $parent : $this.parent() |
||
− | } |
||
− | |||
− | |||
− | // DROPDOWN PLUGIN DEFINITION |
||
− | // ========================== |
||
− | |||
− | var old = $.fn.dropdown |
||
− | |||
− | $.fn.dropdown = function (option) { |
||
− | return this.each(function () { |
||
− | var $this = $(this) |
||
− | var data = $this.data('bs.dropdown') |
||
− | |||
− | if (!data) $this.data('bs.dropdown', (data = new Dropdown(this))) |
||
− | if (typeof option == 'string') data[option].call($this) |
||
− | }) |
||
− | } |
||
− | |||
− | $.fn.dropdown.Constructor = Dropdown |
||
− | |||
− | |||
− | // DROPDOWN NO CONFLICT |
||
− | // ==================== |
||
− | |||
− | $.fn.dropdown.noConflict = function () { |
||
− | $.fn.dropdown = old |
||
− | return this |
||
− | } |
||
− | |||
− | |||
− | // APPLY TO STANDARD DROPDOWN ELEMENTS |
||
− | // =================================== |
||
− | |||
− | $(document) |
||
− | .on('click.bs.dropdown.data-api', clearMenus) |
||
− | .on('click.bs.dropdown.data-api', '.dropdown form', function (e) { e.stopPropagation() }) |
||
− | .on('click.bs.dropdown.data-api', toggle, Dropdown.prototype.toggle) |
||
− | .on('keydown.bs.dropdown.data-api', toggle + ', [role=menu], [role=listbox]', Dropdown.prototype.keydown) |
||
− | |||
− | }(jQuery); |
||
− | |||
− | jQuery(function($) { |
||
− | $('.dropdown').hover(function() { |
||
− | $(this).find('.dropdown-menu').first().stop(true, true).delay(100).slideDown(); |
||
− | |||
− | }, function() { |
||
− | if ($(this).find('.dropdown-menu').parents('.open').length) { |
||
− | |||
− | } else { |
||
− | $(this).find('.dropdown-menu').first().stop(true, true).delay(100).slideUp(); |
||
− | } |
||
− | }); |
||
− | |||
− | $('.dropdown > a').click(function(){ |
||
− | location.href = this.href; |
||
− | }); |
||
− | |||
− | }); |
||
Line 1,075: | Line 446: | ||
}); |
}); |
||
$('.match-row').each( function() { |
$('.match-row').each( function() { |
||
− | if ($(this).find('.bracket-game-details').length > 0) { |
+ | if ($(this).find('.bracket-game-details').length > 0 && $(this).find('.legend-table').length == 0) { |
$(this).find('td:eq(2)').prepend('<div style="position:relative"><div class="match-row-icon"></div></div>'); |
$(this).find('td:eq(2)').prepend('<div style="position:relative"><div class="match-row-icon"></div></div>'); |
||
} |
} |
||
Line 1,159: | Line 530: | ||
/* End Bracket Highlighting */ |
/* End Bracket Highlighting */ |
||
− | /* PentakillTV Embed Stuff */ |
||
− | $(function () { |
||
− | $('.embedframe').find('a:not(.toggler-link)').each(function() { |
||
− | |||
− | $(this).attr("target","_blank"); |
||
− | |||
− | }); |
||
− | |||
− | }); |
||
/* Sideways text for blockbox needs the height of the parent div altered */ |
/* Sideways text for blockbox needs the height of the parent div altered */ |
||
Line 1,177: | Line 539: | ||
}); |
}); |
||
+ | /* User page warning */ |
||
− | |||
+ | ( function() { |
||
− | |||
+ | mw.loader.using( 'mediawiki.util' ).then( function() { |
||
− | /* Including extra .js pages */ |
||
+ | if (mw.config.get("wgCanonicalNamespace") == "User") { |
||
− | |||
+ | $("#firstHeading").after('<div style="color:red;">This is a user page. It is not maintained actively by wiki staff and may contain inaccuracies.</div>'); |
||
− | |||
− | $(function () { |
||
− | var allowedKeys = { |
||
− | 37: 'left', |
||
− | 38: 'up', |
||
− | 39: 'right', |
||
− | 40: 'down', |
||
− | 65: 'a', |
||
− | 66: 'b' |
||
− | }; |
||
− | |||
− | var secret = ['up', 'up', 'down', 'down', 'left', 'right', 'left', 'right', 'b', 'a']; |
||
− | |||
− | // a variable to remember the 'position' the user has reached so far. |
||
− | var secretCodePosition = 0; |
||
− | |||
− | // add keydown event listener |
||
− | document.addEventListener('keydown', function(e) { |
||
− | // get the value of the key code from the key map |
||
− | var key = allowedKeys[e.keyCode]; |
||
− | var requiredKey = secret[secretCodePosition]; |
||
− | |||
− | // compare the key with the required key |
||
− | if (key == requiredKey) { |
||
− | |||
− | // move to the next key in the konami code sequence |
||
− | secretCodePosition++; |
||
− | |||
− | // if the last key is reached, activate cheats |
||
− | if (secretCodePosition == secret.length) |
||
− | activateCheats(); |
||
− | } else |
||
− | secretCodePosition = 0; |
||
− | }); |
||
− | |||
− | function activateCheats() { |
||
− | document.body.style.backgroundImage = "url('/w/images/Zileanbg.png')"; |
||
− | var audio = new Audio('/w/images/Chronokeeper.joke.ogx'); |
||
− | audio.play(); |
||
− | |||
− | } |
||
− | }); |
||
− | |||
− | |||
− | /** |
||
− | * Collapsible tables |
||
− | * |
||
− | * Allows tables to be collapsed, showing only the header. See [[Help:Collapsing]]. |
||
− | * |
||
− | * @version 2.0.3 (2014-03-14) |
||
− | * @source https://www.mediawiki.org/wiki/MediaWiki:Gadget-collapsibleTables.js |
||
− | * @author [[User:R. Koot]] |
||
− | * @author [[User:Krinkle]] |
||
− | * @deprecated Since MediaWiki 1.20: Use class="mw-collapsible" instead which |
||
− | * is supported in MediaWiki core. |
||
− | */ |
||
− | |||
− | var autoCollapse = 2; |
||
− | var collapseCaption = 'hide'; |
||
− | var expandCaption = 'show'; |
||
− | var tableIndex = 0; |
||
− | |||
− | function collapseTable( tableIndex ) { |
||
− | var Button = document.getElementById( 'collapseButton' + tableIndex ); |
||
− | var Table = document.getElementById( 'collapsibleTable' + tableIndex ); |
||
− | |||
− | if ( !Table || !Button ) { |
||
− | return false; |
||
− | } |
||
− | |||
− | var Rows = Table.rows; |
||
− | var i; |
||
− | var $row0 = $(Rows[0]); |
||
− | |||
− | if ( Button.firstChild.data === collapseCaption ) { |
||
− | for ( i = 1; i < Rows.length; i++ ) { |
||
− | Rows[i].style.display = 'none'; |
||
− | } |
||
− | Button.firstChild.data = expandCaption; |
||
− | } else { |
||
− | for ( i = 1; i < Rows.length; i++ ) { |
||
− | Rows[i].style.display = $row0.css( 'display' ); |
||
− | } |
||
− | Button.firstChild.data = collapseCaption; |
||
− | } |
||
− | } |
||
− | |||
− | function createClickHandler( tableIndex ) { |
||
− | return function ( e ) { |
||
− | e.preventDefault(); |
||
− | collapseTable( tableIndex ); |
||
− | }; |
||
− | } |
||
− | |||
− | function createCollapseButtons( $content ) { |
||
− | var NavigationBoxes = {}; |
||
− | var $Tables = $content.find( 'table' ); |
||
− | var i; |
||
− | |||
− | $Tables.each( function( i, table ) { |
||
− | if ( $(table).hasClass( 'collapsible' ) ) { |
||
− | |||
− | /* only add button and increment count if there is a header row to work with */ |
||
− | var HeaderRow = table.getElementsByTagName( 'tr' )[0]; |
||
− | if ( !HeaderRow ) { |
||
− | return; |
||
− | } |
||
− | var Header = table.getElementsByTagName( 'th' )[0]; |
||
− | if ( !Header ) { |
||
− | return; |
||
− | } |
||
− | |||
− | NavigationBoxes[ tableIndex ] = table; |
||
− | table.setAttribute( 'id', 'collapsibleTable' + tableIndex ); |
||
− | |||
− | var Button = document.createElement( 'span' ); |
||
− | var ButtonLink = document.createElement( 'a' ); |
||
− | var ButtonText = document.createTextNode( collapseCaption ); |
||
− | // Styles are declared in [[MediaWiki:Common.css]] |
||
− | Button.className = 'collapseButton'; |
||
− | |||
− | ButtonLink.style.color = Header.style.color; |
||
− | ButtonLink.setAttribute( 'id', 'collapseButton' + tableIndex ); |
||
− | ButtonLink.setAttribute( 'href', '#' ); |
||
− | $( ButtonLink ).on( 'click', createClickHandler( tableIndex ) ); |
||
− | ButtonLink.appendChild( ButtonText ); |
||
− | |||
− | Button.appendChild( document.createTextNode( '[' ) ); |
||
− | Button.appendChild( ButtonLink ); |
||
− | Button.appendChild( document.createTextNode( ']' ) ); |
||
− | |||
− | Header.insertBefore( Button, Header.firstChild ); |
||
− | tableIndex++; |
||
− | } |
||
− | } ); |
||
− | |||
− | for ( i = 0; i < tableIndex; i++ ) { |
||
− | if ( $( NavigationBoxes[i] ).hasClass( 'collapsed' ) || |
||
− | ( tableIndex >= autoCollapse && $( NavigationBoxes[i] ).hasClass( 'autocollapse' ) ) |
||
− | ) { |
||
− | collapseTable( i ); |
||
− | } |
||
− | else if ( $( NavigationBoxes[i] ).hasClass ( 'innercollapse' ) ) { |
||
− | var element = NavigationBoxes[i]; |
||
− | while ((element = element.parentNode)) { |
||
− | if ( $( element ).hasClass( 'outercollapse' ) ) { |
||
− | collapseTable ( i ); |
||
− | break; |
||
− | } |
||
− | } |
||
− | } |
||
− | } |
||
− | } |
||
− | |||
− | mw.hook( 'wikipage.content' ).add( createCollapseButtons ); |
||
− | |||
− | /** |
||
− | * Add support to mw-collapsible for autocollapse, innercollapse and outercollapse |
||
− | * |
||
− | * Maintainers: TheDJ |
||
− | */ |
||
− | function mwCollapsibleSetup( $collapsibleContent ) { |
||
− | var $element, |
||
− | $toggle, |
||
− | autoCollapseThreshold = 2; |
||
− | $.each( $collapsibleContent, function (index, element) { |
||
− | $element = $( element ); |
||
− | if ( $collapsibleContent.length > autoCollapseThreshold && $element.hasClass( 'autocollapse' ) ) { |
||
− | $element.data( 'mw-collapsible' ).collapse(); |
||
− | } else if ( $element.hasClass( 'innercollapse' ) ) { |
||
− | if ( $element.parents( '.outercollapse' ).length > 0 ) { |
||
− | $element.data( 'mw-collapsible' ).collapse(); |
||
− | } |
||
} |
} |
||
+ | }); |
||
− | $toggle = $element.find( '.mw-collapsible-toggle' ); |
||
+ | }() |
||
− | if ( $toggle.length ) { |
||
− | // Make the toggle inherit text color |
||
− | if( $toggle.parent()[0].style.color ) { |
||
− | $toggle.find( 'a' ).css( 'color', 'inherit' ); |
||
− | } |
||
− | } |
||
− | } ); |
||
− | } |
||
+ | ); |
||
− | mw.hook( 'wikipage.collapsibleContent' ).add( mwCollapsibleSetup ); |
||
+ | /* Remove edit & ve button if there's edit with form */ |
||
− | /** |
||
+ | var formEdit = document.getElementById("ca-formedit"); |
||
− | * Dynamic Navigation Bars (experimental) |
||
+ | var usergroups = mw.config.get('wgUserGroups'); |
||
− | * |
||
+ | if (formEdit && !(usergroups.includes("editor"))) { |
||
− | * Description: See [[Wikipedia:NavFrame]]. |
||
+ | var ve = document.getElementById("ca-ve-edit"); |
||
− | * Maintainers: UNMAINTAINED |
||
+ | var edit = document.getElementById("ca-edit"); |
||
− | */ |
||
+ | if (ve) { |
||
− | |||
+ | ve.style.display = "none"; |
||
− | /* set up the words in your language */ |
||
+ | } |
||
− | var NavigationBarHide = '[' + collapseCaption + ']'; |
||
+ | if (edit) { |
||
− | var NavigationBarShow = '[' + expandCaption + ']'; |
||
+ | edit.style.display = "none"; |
||
− | var indexNavigationBar = 0; |
||
+ | } |
||
− | |||
− | /** |
||
− | * Shows and hides content and picture (if available) of navigation bars |
||
− | * Parameters: |
||
− | * indexNavigationBar: the index of navigation bar to be toggled |
||
− | **/ |
||
− | window.toggleNavigationBar = function ( indexNavigationBar, event ) { |
||
− | var NavToggle = document.getElementById( 'NavToggle' + indexNavigationBar ); |
||
− | var NavFrame = document.getElementById( 'NavFrame' + indexNavigationBar ); |
||
− | var NavChild; |
||
− | |||
− | if ( !NavFrame || !NavToggle ) { |
||
− | return false; |
||
− | } |
||
− | |||
− | /* if shown now */ |
||
− | if ( NavToggle.firstChild.data === NavigationBarHide ) { |
||
− | for ( NavChild = NavFrame.firstChild; NavChild != null; NavChild = NavChild.nextSibling ) { |
||
− | if ( $( NavChild ).hasClass( 'NavContent' ) || $( NavChild ).hasClass( 'NavPic' ) ) { |
||
− | NavChild.style.display = 'none'; |
||
− | } |
||
− | } |
||
− | NavToggle.firstChild.data = NavigationBarShow; |
||
− | |||
− | /* if hidden now */ |
||
− | } else if ( NavToggle.firstChild.data === NavigationBarShow ) { |
||
− | for ( NavChild = NavFrame.firstChild; NavChild != null; NavChild = NavChild.nextSibling ) { |
||
− | if ( $( NavChild ).hasClass( 'NavContent' ) || $( NavChild ).hasClass( 'NavPic' ) ) { |
||
− | NavChild.style.display = 'block'; |
||
− | } |
||
− | } |
||
− | NavToggle.firstChild.data = NavigationBarHide; |
||
− | } |
||
− | |||
− | event.preventDefault(); |
||
− | }; |
||
− | |||
− | /* adds show/hide-button to navigation bars */ |
||
− | function createNavigationBarToggleButton( $content ) { |
||
− | var NavChild; |
||
− | /* iterate over all < div >-elements */ |
||
− | var $divs = $content.find( 'div' ); |
||
− | $divs.each( function ( i, NavFrame ) { |
||
− | /* if found a navigation bar */ |
||
− | if ( $( NavFrame ).hasClass( 'NavFrame' ) ) { |
||
− | |||
− | indexNavigationBar++; |
||
− | var NavToggle = document.createElement( 'a' ); |
||
− | NavToggle.className = 'NavToggle'; |
||
− | NavToggle.setAttribute( 'id', 'NavToggle' + indexNavigationBar ); |
||
− | NavToggle.setAttribute( 'href', '#' ); |
||
− | $( NavToggle ).on( 'click', $.proxy( window.toggleNavigationBar, window, indexNavigationBar ) ); |
||
− | |||
− | var isCollapsed = $( NavFrame ).hasClass( 'collapsed' ); |
||
− | /** |
||
− | * Check if any children are already hidden. This loop is here for backwards compatibility: |
||
− | * the old way of making NavFrames start out collapsed was to manually add style="display:none" |
||
− | * to all the NavPic/NavContent elements. Since this was bad for accessibility (no way to make |
||
− | * the content visible without JavaScript support), the new recommended way is to add the class |
||
− | * "collapsed" to the NavFrame itself, just like with collapsible tables. |
||
− | */ |
||
− | for ( NavChild = NavFrame.firstChild; NavChild != null && !isCollapsed; NavChild = NavChild.nextSibling ) { |
||
− | if ( $( NavChild ).hasClass( 'NavPic' ) || $( NavChild ).hasClass( 'NavContent' ) ) { |
||
− | if ( NavChild.style.display === 'none' ) { |
||
− | isCollapsed = true; |
||
− | } |
||
− | } |
||
− | } |
||
− | if ( isCollapsed ) { |
||
− | for ( NavChild = NavFrame.firstChild; NavChild != null; NavChild = NavChild.nextSibling ) { |
||
− | if ( $( NavChild ).hasClass( 'NavPic' ) || $( NavChild ).hasClass( 'NavContent' ) ) { |
||
− | NavChild.style.display = 'none'; |
||
− | } |
||
− | } |
||
− | } |
||
− | var NavToggleText = document.createTextNode( isCollapsed ? NavigationBarShow : NavigationBarHide ); |
||
− | NavToggle.appendChild( NavToggleText ); |
||
− | |||
− | /* Find the NavHead and attach the toggle link (Must be this complicated because Moz's firstChild handling is borked) */ |
||
− | for( var j = 0; j < NavFrame.childNodes.length; j++ ) { |
||
− | if ( $( NavFrame.childNodes[j] ).hasClass( 'NavHead' ) ) { |
||
− | NavToggle.style.color = NavFrame.childNodes[j].style.color; |
||
− | NavFrame.childNodes[j].appendChild( NavToggle ); |
||
− | } |
||
− | } |
||
− | NavFrame.setAttribute( 'id', 'NavFrame' + indexNavigationBar ); |
||
− | } |
||
− | } ); |
||
} |
} |
||
− | |||
− | mw.hook( 'wikipage.content' ).add( createNavigationBarToggleButton ); |
||
/* functions for gadgets */ |
/* functions for gadgets */ |
||
Line 1,481: | Line 575: | ||
/* end functions for gadgets */ |
/* end functions for gadgets */ |
||
+ | |||
− | $(function() { |
||
+ | /* expiration of matches starting in schedule navboxes (and anything else) */ |
||
− | var title = mw.config.get('wgTitle'); |
||
+ | |||
− | $('[data-to-target-title="' + title + '"]').each(function () { |
||
+ | $.when(mw.loader.using('mediawiki.util'), $.ready).then( function () { |
||
− | $(this).removeClass('to_hasTooltip'); |
||
+ | var $expirationList = $('.upcoming-matches'); |
||
− | $(this).attr('data-to-id',''); |
||
+ | if (!$expirationList.length) { |
||
+ | return; |
||
} |
} |
||
+ | $expirationList.each( function() { |
||
− | ); |
||
+ | var nowTime = Date.now(); |
||
− | }); |
||
+ | var expTime = parseInt($(this).attr('data-expiration')) * 1000; |
||
+ | if (nowTime >= expTime) { |
||
+ | $(this).css('display', 'none'); |
||
+ | } |
||
+ | }) |
||
+ | } ); |
||
+ | |||
+ | /* end expiration of matches starting in schedule navboxes (and anything else) */ |
Revision as of 20:15, 3 March 2019
/* Any JavaScript here will be loaded for all users on every page load. */
/* Changes the width of margin on right/left on the frontpage when the window is smaller than 1500px */
$(function () {
var windowWidth = window.innerWidth;
if (windowWidth < 1500){
var point = document.getElementsByClassName("FrontpageOuterDiv");
var i;
for (i = 0; i < point.length; i++){
point[i].style.maxWidth="100%";
}
}
});
$(document).ready(function () {
if ($("#noTitle").length > 0){
$("#firstHeading").detach()
}
});
/* Adding the Wiki Logo Text next to the actual Logo */
function wikiLogoText () {
if ($("#mw-head").length > 0){
var logoText = document.createElement("a");
logoText.href = "/Halo_Esports_Wiki"
logoText.title = "Visit the main page - Halo Esports Wiki"
logoText.className = "mw-wiki-logo-text"
document.getElementById("mw-head").appendChild(logoText);
}
}
$(document).ready( wikiLogoText() );
/* Convert the scheduled next game time into local timezone */
$(function () {
var point = document.getElementsByClassName("getLocalTimeZoneOfThis");
var i;
for (i = 0; i < point.length; i++){
var date = new Date(point[i].innerHTML);
var month = ["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"];
var timeMonth = month[date.getMonth()];
var weekday = ["Sun","Mon","Tue","Wed","Thu","Fri","Sat"];
var timeWeekday = weekday[date.getDay()];
var minutes = date.getMinutes();
var timeMinutes = "00";
if (minutes < 10) timeMinutes = "0" + minutes.toString();
else timeMinutes = minutes.toString();
var hours = date.getHours();
var timeHours = "00";
if (hours < 10) timeHours = "0" + hours.toString();
else timeHours = hours.toString();
point[i].textContent = timeWeekday+" "+timeMonth+" "+date.getDate()+" "+timeHours+":"+timeMinutes;
}
});
$(function () {
var point = document.getElementsByClassName("TimeInLocal");
var i;
for (i = 0; i < point.length; i++){
var original = point[i].innerHTML;
var splitStr = original.split(',');
var date = new Date(Date.UTC(splitStr[0],splitStr[1]-1,splitStr[2],splitStr[3],splitStr[4],0,0));
var minutes = date.getMinutes();
var timeMinutes = "00";
if (minutes < 10) timeMinutes = "0" + minutes.toString();
else timeMinutes = minutes.toString();
var hours = date.getHours();
var timeHours = "00";
if (hours < 10) timeHours = "0" + hours.toString();
else timeHours = hours.toString();
point[i].textContent =timeHours+":"+timeMinutes;
}
});
$(function() {
var point = document.getElementsByClassName("DateInLocal");
var i;
for (i = 0; i < point.length; i++) {
var original = point[i].innerHTML;
var splitStr = original.split(',');
var date = new Date(Date.UTC(splitStr[0],splitStr[1]-1,splitStr[2],splitStr[3],splitStr[4],0,0));
var year = date.getFullYear();
var month = date.getMonth();
month = month + 1;
var timeMonth = "00";
if (month < 10) timeMonth = "0" + month.toString();
else timeMonth = month.toString();
var weekday = ["Sun","Mon","Tue","Wed","Thu","Fri","Sat"];
var timeWeekday = weekday[date.getDay()];
var day = date.getDate();
var timeDay = "00";
if (day < 10) timeDay = "0" + day.toString();
else timeDay = day.toString();
point[i].textContent = timeWeekday + " " + year + "-" + timeMonth + "-" + timeDay;
}
}
);
$(function() {
var point = document.getElementsByClassName("DateInLocalSB");
var i;
for (i = 0; i < point.length; i++) {
var original = point[i].innerHTML;
var splitStr = original.split(',');
var date = new Date(Date.UTC(splitStr[0],splitStr[1]-1,splitStr[2],splitStr[3],splitStr[4],0,0));
var year = date.getFullYear();
var month = date.getMonth();
month = month + 1;
var timeMonth = "00";
if (month < 10) timeMonth = "0" + month.toString();
else timeMonth = month.toString();
var day = date.getDate();
var timeDay = "00";
if (day < 10) timeDay = "0" + day.toString();
else timeDay = day.toString();
point[i].textContent = year + "-" + timeMonth + "-" + timeDay;
}
}
);
function tocafter() {
if( document.getElementById("infoboxPlayer") ){
if( document.getElementById("twitchStream") ){
if($(window).width() < 1400) {
$("#tocdiv").insertAfter("#sbsAndStream");
var streamWidth = $("#bodyContent").width() - ($("#infoboxPlayer").width() + (16*2) + 10)
var streamHeight = (streamWidth * 9)/16
var stream = document.getElementById("twitchStream")
stream.setAttribute("width", streamWidth)
stream.setAttribute("height", streamHeight)
}
else {
$("#tocdiv").insertBefore("#sbsAndStream");
var streamWidth = $("#bodyContent").width() - ($("#infoboxPlayer").width() + (16*2) + $("#tocdiv").width() + 30 + (($(window).width() * 0.25) - 350))
if (streamWidth > 1280){
streamWidth = 1280
}
var streamHeight = (streamWidth * 9)/16
var stream = document.getElementById("twitchStream")
stream.setAttribute("width", streamWidth)
stream.setAttribute("height", streamHeight)
}
}
}
}
$(document).ready( tocafter() );
window.addEventListener("resize", tocafter, false);
// __NOWYSIWYG__
/**
* Countdown
*
* @version 2.1
*
* @author Pecoes <https://c.wikia.com/wiki/User:Pecoes>
* @author Asaba <https://dev.wikia.com/wiki/User:Asaba>
*
* Version 1 authors:
* - Splarka <https://c.wikia.com/wiki/User:Splarka>
* - Eladkse <https://c.wikia.com/wiki/User:Eladkse>
*
* documentation and examples at:
* <https://dev.wikia.com/wiki/Countdown>
*/
/*jshint jquery:true, browser:true, devel:true, camelcase:true, curly:false, undef:true, bitwise:true, eqeqeq:true, forin:true, immed:true, latedef:true, newcap:true, noarg:true, unused:true, regexp:true, strict:true, trailing:false */
/*global mediaWiki:true*/
;(function (module, mw, $, undefined) {
'use strict';
var translations = $.extend(true, {
// English (English)
en: {
and: 'and',
second: 'second',
seconds: 'seconds',
minute: 'minute',
minutes: 'minutes',
hour: 'hour',
hours: 'hours',
day: 'day',
days: 'days'
},
}, module.translations || {}),
i18n = translations[
mw.config.get('wgContentLanguage')
] || translations.en;
var countdowns = [];
var NO_LEADING_ZEROS = 1,
SHORT_FORMAT = 1,
NO_ZEROS = 4;
function output (i, diff) {
/*jshint bitwise:false*/
var delta, result, parts = [];
delta = diff % 60;
//result = ' ' + i18n[delta === 1 ? 'second' : 'seconds'];
//if (countdowns[i].opts & SHORT_FORMAT) result = result.charAt(1);
//parts.unshift(delta + result);
diff = Math.floor(diff / 60);
delta = diff % 60;
result = ' ' + i18n[delta === 1 ? 'minute' : 'minutes'];
if (countdowns[i].opts & SHORT_FORMAT) result = result.charAt(1);
parts.unshift(delta + result);
diff = Math.floor(diff / 60);
delta = diff % 24;
result = ' ' + i18n[delta === 1 ? 'hour' : 'hours' ];
if (countdowns[i].opts & SHORT_FORMAT) result = result.charAt(1);
parts.unshift(delta + result);
diff = Math.floor(diff / 24);
result = ' ' + i18n[diff === 1 ? 'day' : 'days' ];
if (countdowns[i].opts & SHORT_FORMAT) result = result.charAt(1);
parts.unshift(diff + result);
result = parts.pop();
if (countdowns[i].opts & NO_LEADING_ZEROS) {
while (parts.length && parts[0][0] === '0') {
parts.shift();
}
}
if (countdowns[i].opts & NO_ZEROS) {
parts = parts.filter(function(part) {
return part[0] !== '0';
});
}
if (parts.length) {
if (countdowns[i].opts & SHORT_FORMAT) {
result = parts.join(' ') + ' ' + result;
} else {
result = parts.join(', ') + ' ' + i18n.and + ' ' + result;
}
}
countdowns[i].node.text(result);
}
function end(i) {
var c = countdowns[i].node.parent();
switch (c.attr('data-end')) {
case 'remove':
c.remove();
return true;
case 'stop':
output(i, 0);
return true;
case 'toggle':
var toggle = c.attr('data-toggle');
if (toggle && toggle == 'next') {
c.next().css('display', 'inline');
c.css('display', 'none');
return true;
}
if (toggle && $(toggle).length) {
$(toggle).css('display', 'inline');
c.css('display', 'none');
return true;
}
break;
case 'callback':
var callback = c.attr('data-callback');
if (callback && $.isFunction(module[callback])) {
output(i, 0);
module[callback].call(c);
return true;
}
break;
}
countdowns[i].countup = true;
output(i, 0);
return false;
}
function update () {
var now = Date.now();
var countdownsToRemove = [];
$.each(countdowns.slice(0), function (i, countdown) {
var diff = Math.floor((countdown.date - now) / 1000);
if (diff <= 0 && !countdown.countup) {
if (end(i)) countdownsToRemove.push(i);
} else {
output(i, Math.abs(diff));
}
});
var x;
while((x = countdownsToRemove.pop()) !== undefined) {
countdowns.splice(x, 1);
}
if (countdowns.length) {
window.setTimeout(function () {
update();
}, 1000);
}
}
function getOptions (node) {
/*jshint bitwise:false*/
var text = node.parent().attr('data-options'),
opts = 0;
if (text) {
if (/no-leading-zeros/.test(text)) {
opts |= NO_LEADING_ZEROS;
}
if (/short-format/.test(text)) {
opts |= SHORT_FORMAT;
}
if (/no-zeros/.test(text)) {
opts |= NO_ZEROS;
}
}
return opts;
}
function toggleInit() {
var countdown = $('.countdown:not(.handled)');
if (!countdown.length) return;
$('.nocountdown').css('display', 'none');
countdown
.css('display', 'inline')
.find('.countdowndate')
.each(function () {
var $this = $(this),
date = (new Date($this.text())).valueOf();
if (isNaN(date)) {
$this.text('BAD DATE');
return;
}
countdowns.push({
node: $this,
opts: getOptions($this),
date: date,
});
});
countdown.addClass('handled');
if (countdowns.length) {
update();
}
}
mw.hook('wikipage.content').add(toggleInit);
}(window.countdownTimer = window.countdownTimer || {}, mediaWiki, jQuery));
var toggleMapListSetup = function() {
var btn = $('a[id^="collapseButton"]');
btn.each(function() {
var table = $(this).closest('table');
var m = $('.maprow', table);
if (m.length) {
m.hide(); // Collapse maps by default
var span = $('<span>', {
class: 'mapsCollapseButton',
css: {
'font-weight': 'normal',
'float': 'right',
'margin-right': '7px',
'cursor': 'pointer'
}
});
table.data('maps-collapsed', true);
var toggleMaps = function() {
table.find('.maprow').toggle();
table.data('maps-collapsed', !table.data('maps-collapsed'));
$(this).text(function(i, txt) {
return txt.replace(/\+|−/, function(a) {
return a === '+' ? '−' : '+';
});
});
}
var a = $('<a>+maps</a>').click(toggleMaps);
span.append('[', a, ']');
$(this).parent().after(span);
if (table.hasClass('uncollapsed-maps')) {
a.trigger('click');
}
}
});
};
function includePage( name )
{
document.write('<script type="text/javascript" src="' + wgScript + '?title='
+ name
+ '&action=raw&ctype=text/javascript"><\/script>'
);
}
/* End of includePage */
/* Dynamic Tabs - Adapted from Liquipedia - http://wiki.teamliquid.net/dota2/MediaWiki:Common.js */
/* Tabs by FO-nTTaX */
$(document).ready (function() {
$('div.tabs-dynamic ul.tabs li').click(
function () {
var i = $(this).index() + 1;
$(this).parent().children('li').removeClass('active');
$(this).addClass('active');
$(this).parent().parent().children('div.tabs-content').children('div').removeClass('active');
$(this).parent().parent().children('div.tabs-content').children('div.content' + i).addClass('active');
}
);
$('div.tabs-dynamic').each(function(index) {
var h = $(this).children('ul.tabs').children('li.active').index() + 1;
$(this).children('div.tabs-content').children('div.content' + h).addClass('active');
});
var hash = location.hash.slice(1);
if (hash.substring(0, 4) == 'tab-') {
var hasharr = hash.split('-scrollto-');
var tabno = hasharr[0].replace('tab-', '');
$('div.tabs-dynamic ul.tabs li').removeClass('active');
$('div.tabs-dynamic ul.tabs li.tab' + tabno).addClass('active');
$('div.tabs-dynamic div.tabs-content div').removeClass('active');
$('div.tabs-dynamic div.tabs-content div.content' + tabno).addClass('active');
if (hasharr.length == 2) {
var scrollto = '#' + hasharr[1];
setTimeout(function(){$(window).scrollTop($(scrollto).offset().top)}, 500);
}
}
});
/* Dynamic Tabs - END */
/* Bracket Highlighting - Adapted from Liquipedia - http://wiki.teamliquid.net/dota2/MediaWiki:Common.js */
var highlighted;
$.fn.justtext = function() {
return $(this).clone().children().remove('div').end().text().trim();
};
var bracketGame;
$(document).ready(function() {
$('.bracket-game').each( function() {
if ($(this).find('.bracket-game-details').length > 0) {
var margin = $(this).find(':first-child').height() - 6;
$(this).prepend('<div class="icon" style="margin-top:' + margin + 'px;"></div>');
}
});
$('.match-row').each( function() {
if ($(this).find('.bracket-game-details').length > 0 && $(this).find('.legend-table').length == 0) {
$(this).find('td:eq(2)').prepend('<div style="position:relative"><div class="match-row-icon"></div></div>');
}
});
$('.match-row').hover(function () {
$(this).addClass('bracket-hover');
if ($(this).closest('.match-row').find('.bracket-game-details').length) {
$(this).css('cursor', 'pointer');
}
},
function () {
$(this).removeClass('bracket-hover');
});
$('.bracket-team-top, .bracket-team-top-oldschool, .bracket-team-bottom, .bracket-team-bottom-oldschool, .bracket-game .icon').hover(function () {
var t = $(this),
text = t.justtext();
if ((text) && (text.toUpperCase() != 'BYE')) {
highlighted = $('.bracket').find('.bracket-team-top, .bracket-team-bottom, .bracket-team-top-oldschool, .bracket-team-bottom-oldschool').filter(function () {
return $(this).justtext() == text;
});
highlighted.css('background', '#cecece');
}
if (t.closest('.bracket-game').children('.bracket-game-details').length) {
t.css('cursor', 'pointer');
}
},
function() {
if (highlighted != null)
highlighted.css('background', '');
});
$('html').click(function () {
if (bracketGame != null) {
bracketGame.find('.bracket-game-details').toggle();
bracketGame = null;
}
});
$('.bracket-team-top, .bracket-team-bottom, .bracket-team-top-oldschool, .bracket-team-bottom-oldschool, .bracket-game .icon').click(
function (event) {
var bracket = $(this).closest('.bracket'),
detailsHeight, detailsWidth, spaceOnTheRight;
if (bracketGame != null) {
bracketGame.children('.bracket-game-details').toggle();
if (bracketGame[0] === $(this).closest('.bracket-game')[0]) {
bracketGame = null;
return;
}
}
bracketGame = $(this).closest('.bracket-game');
detailsHeight= bracketGame.children('.bracket-game-details').height();
detailsWidth = bracketGame.children('.bracket-game-details').width();
bracketGame.children('.bracket-game-details').css('margin-top', -detailsHeight / 2);
spaceOnTheRight = Math.max($(window).width(), bracket.offset().left + bracket.outerWidth()) - (bracketGame.offset().left + bracketGame.outerWidth());
if (spaceOnTheRight < detailsWidth && bracketGame.offset().left > detailsWidth) {
bracketGame.children('.bracket-game-details').css('margin-left', -detailsWidth - 1);
} else {
bracketGame.children('.bracket-game-details').css('margin-left', bracketGame.width());
}
bracketGame.children('.bracket-game-details').toggle();
event.stopPropagation();
});
$('.match-row').click(function (event) {
if (bracketGame != null) {
bracketGame.find('.bracket-game-details').toggle();
if (bracketGame[0] === $(this)[0]) {
bracketGame = null;
return;
}
}
bracketGame = $(this);
var height = bracketGame.find('.bracket-game-details').height();
bracketGame.find('.bracket-game-details').css('margin-top', 3);
bracketGame.find('.bracket-game-details').toggle();
event.stopPropagation();
});
$('.bracket-game-details').click(function (event) {
event.stopPropagation();
});
});
/* End Bracket Highlighting */
/* Sideways text for blockbox needs the height of the parent div altered */
$(document).ready(function() {
$('.vert-text').each(function(){
var parentHeight = $(this).parent().height();
$(this).height(parentHeight);
});
});
/* User page warning */
( function() {
mw.loader.using( 'mediawiki.util' ).then( function() {
if (mw.config.get("wgCanonicalNamespace") == "User") {
$("#firstHeading").after('<div style="color:red;">This is a user page. It is not maintained actively by wiki staff and may contain inaccuracies.</div>');
}
});
}()
);
/* Remove edit & ve button if there's edit with form */
var formEdit = document.getElementById("ca-formedit");
var usergroups = mw.config.get('wgUserGroups');
if (formEdit && !(usergroups.includes("editor"))) {
var ve = document.getElementById("ca-ve-edit");
var edit = document.getElementById("ca-edit");
if (ve) {
ve.style.display = "none";
}
if (edit) {
edit.style.display = "none";
}
}
/* functions for gadgets */
window.displayColor = function(colorclass) {
$("#p-cactions").addClass(colorclass);
return;
}
window.clearDisplayColor = function() {
$("#p-cactions").removeClass("gadget-action-fail gadget-action-incomplete gadget-action-success");
}
/* end functions for gadgets */
/* expiration of matches starting in schedule navboxes (and anything else) */
$.when(mw.loader.using('mediawiki.util'), $.ready).then( function () {
var $expirationList = $('.upcoming-matches');
if (!$expirationList.length) {
return;
}
$expirationList.each( function() {
var nowTime = Date.now();
var expTime = parseInt($(this).attr('data-expiration')) * 1000;
if (nowTime >= expTime) {
$(this).css('display', 'none');
}
})
} );
/* end expiration of matches starting in schedule navboxes (and anything else) */