CSS and Javascript changes must comply with the wiki design rules.
Note: After saving, you may have to bypass your browser's cache to see the changes.
- Firefox / Safari: Hold Shift while clicking Reload, or press either Ctrl-F5 or Ctrl-R (⌘-R on a Mac)
- Google Chrome: Press Ctrl-Shift-R (⌘-Shift-R on a Mac)
- Internet Explorer: Hold Ctrl while clicking Refresh, or press Ctrl-F5
- Opera: Clear the cache in Tools → Preferences
/* 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%";
}
}
});
/* Adding the Wiki Logo Text next to the actual Logo */
function wikiLogoText () {
var logoText = document.createElement("a");
logoText.href = "/League_of_Legends_Esports_Wiki"
logoText.title = "Visit the main page - League of Legends Esports Wiki"
logoText.className = "mw-wiki-logo-text"
document.getElementById("mw-head-base").appendChild(logoText)
}
$(document).ready( wikiLogoText() );
/* Converter 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);
/**
* Countdown
*
* @version 2.1
*
* @author Pecoes <http://c.gamepedia.com/User:Pecoes>
* @author Asaba <http://dev.gamepedia.com/User:Asaba>
*
* Version 1 authors:
* - Splarka <http://c.gamepedia.com/User:Splarka>
* - Eladkse <http://c.gamepedia.com/User:Eladkse>
*
* documentation and examples at:
* <http://dev.gamepedia.com/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) {
var countdowns = [];
var NO_LEADING_ZEROS = 1;
function output (i, diff) {
/*jshint bitwise:false*/
var delta, result, parts = [];
diff = Math.floor(diff / 60);
delta = diff % 60;
if (delta<10)
{
parts.unshift('0'+delta+'m');
}
else
{
parts.unshift(delta+'m');
}
diff = Math.floor(diff / 60);
delta = diff % 24;
if (delta<10)
{
parts.unshift('0'+delta+'h ');
}
else
{
parts.unshift(delta+'h ');
}
diff = Math.floor(diff / 24);
parts.unshift(diff+'d ');
result = parts.pop();
if (countdowns[i].opts & NO_LEADING_ZEROS) {
while (parts.length && parts[0][0] === '0' && (parts[0][1] === '0' || parts[0][1] ==='d')) {
parts.shift();
}
}
if (parts.length) {
result = parts.join('') + 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).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;
}
}
return opts;
}
$(function () {
var countdown = $('.countdown');
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;
}
if (date < Date.now()) {
$this.text(' ');
return;
}
countdowns.push({
node: $this,
opts: getOptions($this),
date: date,
});
});
if (countdowns.length) {
update();
}
});
}(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');
}
}
});
};
/**
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 )
{
document.write('<script type="text/javascript" src="' + wgScript + '?title='
+ name
+ '&action=raw&ctype=text/javascript"><\/script>'
);
}
/* 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;
});
});
/* 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('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 */
/* 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 */
$(document).ready(function() {
$('.vert-text').each(function(){
var parentHeight = $(this).parent().height();
$(this).height(parentHeight);
});
});
/* Including extra .js pages */
$(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 );
/**
* Dynamic Navigation Bars (experimental)
*
* Description: See [[Wikipedia:NavFrame]].
* Maintainers: UNMAINTAINED
*/
/* set up the words in your language */
var NavigationBarHide = '[' + collapseCaption + ']';
var NavigationBarShow = '[' + expandCaption + ']';
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 );