MediaWiki:Common.js

El Vikipedio, la libera enciklopedio

Notu:Post publikigo forviŝu la kaŝmemoron de via foliumilo por vidi la ŝanĝojn.

  • Firefox / Safari: Premu majuskligan klavon klakante Reŝarĝi, aŭ premu aŭ Stir-F5Stir-R (⌘-R kun Makintoŝo)
  • Google Chrome: Premu Stir-majuskligklavon-R (⌘-Majuskligklavo-R kun Makintoŝo)
  • Interreta Esplorilo / Edge: Premu Stir klakante Refreŝu, aŭ premu Stir-F5
  • Opera: Premu Stir-F5.
/* Ĉiu ajn JavaSkriptaĵo ĉi tie estos ŝarĝita por ĉiu uzanto sur ĉiu paĝo.  */

/**
 * Trovita ĉe Arno Lagrange
 * insertAfter : insérer un élément dans une page
 *
 * @deprecated since MediaWiki 1.16: Use jQuery instead:
 * <code>
 * $(foo).insertAfter(bar);
 * $(bar).insertBefore(foo);
 * </code>
 */
function insertAfter(parent, node, referenceNode) {
  parent.insertBefore(node, referenceNode.nextSibling); 
}

// el la sorabaj vikipedioj kaj la franca
/**
 * getElementsByClass
 * rechercher les éléments de la page dont le paramètre "class" est celui recherché
 *
 * @deprecated since MediaWiki 1.16: Use jQuery instead:
 * <code>
 * $('.classname')
 * $('tag.classname')
 * $(subtree).find('tag.classname')
 * </code>
 */
function getElementsByClass(searchClass, node, tag) {
  if (node == null) node = document;
  if (tag == null) tag = '';
  return $(node).find(tag + '.' + searchClass).toArray();
}

/**
 * Ĝuste akiras la tekstan entenaon de nodo kaj de ties idaj nodoj
 * Kopirajto Harmen Christophe, http://openweb.eu.org/articles/validation_avancee, CC
 *
 * @deprecated since MediaWiki 1.17: Use jQuery instead:
 * <code>
 * var textContent = $(node).text();
 * </code>
 */
function getTextContent(oNode) {
  if(!oNode) return null;
  return $(oNode).text();
}
 
if(!String.prototype.HTMLize){
  String.prototype.HTMLize = function() {
    var chars = [ '&', '<', '>', '"' ];
    var entities = [ 'amp', 'lt', 'gt', 'quot' ];
    var string = this;
    for (var i=0; i<chars.length; i++) {
      var regex = new RegExp(chars[i], "g");
      string = string.replace(regex, '&' + entities[i] + ';');
    }
    return string;
  };
}

// el la suprasoraba vikipedio. Ĝi estas uzata de la kaŝskatolaj funkcioj.
// ============================================================

/**
 * hasclass
 * (from en.wp and ru.wp)
 *
 * @deprecated since MediaWiki 1.16: Use jQuery instead:
 * $(element).hasClass('name')
 * $(element).hasClass('name foo')
 * $(element).addClass('name')
 * $(element).removeClass('foo')
 */
var hasClass = (function () {
var reCache = {};
return function (element, className) {
   return (reCache[className] ? reCache[className] : (reCache[className] = new RegExp("(?:\\s|^)" + className + "(?:\\s|$)"))).test(element.className);
  };
})();


/**
 * addLoadEvent (for backwards compatibility)
 *
 * @deprecated since MediaWiki 1.16: Use $(document).ready instead
 */
function addLoadEvent(f) {
  $(document).ready(f);
}

/**
 * aOnloadFunctions
 * @example setup onload functions this way:
 * <code>
 * aOnloadFunctions[aOnloadFunctions.length] = function_name;
 * </code>
 * @deprecated since MediaWiki 1.16: Use $(document).ready(function_name); instead
 */
if (!window.aOnloadFunctions) {
   window.aOnloadFunctions = [];
}
 
$(window).on( 'load', function() {
   if (window.aOnloadFunctions) {
     for (var i = 0;  i < aOnloadFunctions.length; i++) {
       aOnloadFunctions[i]();
     }
   }
});

   
 
//============================================================
//
// KAŜSKATOLOJ
// El al hispana vikipedio, iomete modifita de Tlustulimu
/**
 * Collapsible tables
 *
 * @version 2.0.1 (2013-03-26)
 * @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 = 0;
var collapseCaption = 'Kaŝi';
var expandCaption = 'Montri';
 
window.collapseTable = function( tableIndex ) {
	var Button = document.getElementById( 'collapseButton' + tableIndex );
	var Table = document.getElementById( 'collapsibleTable' + tableIndex );
 
	if ( !Table || !Button ) {
		return false;
	}
 
	var Rows = Table.rows;
 
	if ( Button.firstChild.data == collapseCaption ) {
		for ( var i = 1; i < Rows.length; i++ ) {
			Rows[i].style.display = 'none';
		}
		Button.firstChild.data = expandCaption;
	} else {
		for ( var i = 1; i < Rows.length; i++ ) {
			Rows[i].style.display = Rows[0].style.display;
		}
		Button.firstChild.data = collapseCaption;
	}
};
 
window.createClickHandler = function( tableIndex ) {
	return function ( e ) {
		e.preventDefault();
		collapseTable( tableIndex );
	};
};
 
function createCollapseButtons() {
	var tableIndex = 0;
	var NavigationBoxes = {};
	var Tables = document.getElementsByTagName( 'table' );
 
	for ( var i = 0; i < Tables.length; i++ ) {
		if ( $( Tables[i] ).hasClass( 'collapsible' ) ) {
			/* only add button and increment count if there is a header row to work with */
			var HeaderRow = Tables[i].getElementsByTagName( 'tr' )[0];
			if ( !HeaderRow ) {
				continue;
			}
			var Header = HeaderRow.getElementsByTagName( 'th' )[0];
			if ( !Header ) {
				continue;
			}
 
			NavigationBoxes[tableIndex] = Tables[i];
			Tables[i].setAttribute( 'id', 'collapsibleTable' + tableIndex );
 
			var Button = document.createElement( 'span' );
			var ButtonLink = document.createElement( 'a' );
			var ButtonText = document.createTextNode( collapseCaption );
 
			Button.style.styleFloat = 'right';
			Button.style.cssFloat = 'right';
			Button.style.fontWeight = 'normal';
			Button.style.textAlign = 'right';
			Button.style.width = '6em';
 
			ButtonLink.style.color = Header.style.color;
			ButtonLink.setAttribute( 'id', 'collapseButton' + tableIndex );
			$( ButtonLink ).on( 'click', createClickHandler( tableIndex ) );
			ButtonLink.appendChild( ButtonText );
 
			Button.appendChild( document.createTextNode( '[' ) );
			Button.appendChild( ButtonLink );
			Button.appendChild( document.createTextNode( ']' ) );
 
			Header.insertBefore( Button, Header.childNodes[0] );
			tableIndex++;
		}
	}
 
	for ( var i = 0; i < tableIndex; i++ ) {
		if ( $( NavigationBoxes[i] ).hasClass( 'collapsed' ) ||
			( tableIndex >= autoCollapse && $( NavigationBoxes[i] ).hasClass( 'autocollapse' ) )
		) {
			collapseTable( i );
		}
	}
}
 
mw.hook( 'wikipage.content' ).add( createCollapseButtons );
 
// == Código del plegado/desplegado de plantillas ==
var NavigationBarHide = '[' + collapseCaption + ']';
var NavigationBarShow = '[' + expandCaption + ']';
 
var NavigationBarShowDefault = autoCollapse;
 
// 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) {
    var NavToggle = document.getElementById("NavToggle" + indexNavigationBar),
        NavFrame = document.getElementById("NavFrame" + indexNavigationBar),
        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;
    }
};
 
// adds show/hide-button to navigation bars
function createNavigationBarToggleButton() {
    var indexNavigationBar = 0,
    // iterate over all < div >-elements 
        divs = document.getElementsByTagName("div"),
        NavFrame,
        NavChild,
        i;
    for (i = 0; NavFrame = divs[i]; i++) {
        // 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', 'javascript:toggleNavigationBar(' + 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),
                j;
            NavToggle.appendChild(NavToggleText);
 
            // Find the NavHead and attach the toggle link (Must be this complicated because Moz's firstChild handling is borked)
            for (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);
        }
    }
}
 
$(document).ready(createNavigationBarToggleButton);


// Funkcio por kaŝi/malkaŝi ĉiujn kaŝskatolojn de la paĝo samtempe
// Al la ĉefa kaŝskatolo aldonu klaso=NavFrameChefa
// kaj tiu skatolo estigos fermon aŭ malfermon de ĉiuj kasskatoloj en la paĝo

/* testa portempa malŝalto por ripari problemon de nefunkciado de Special:ContentTranslation

var NavigationBarHideChiujn = '[' + collapseCaption + ' ĉiujn ]'
var NavigationBarShowChiujn = '[' + expandCaption + ' ĉiujn ]'
var NavigationBarShowDefault = autoCollapse 

function poviKolapsiChiujn(){
var navIdx = 0, colNavs = [], i, NavFrame
var divs = document.getElementById('content').getElementsByTagName('div')
for (i=0; NavFrame = divs[i]; i++) {
   if (!hasClass(NavFrame, 'NavFrameChefa')) continue
   NavFrame.id = 'NavFrameChefa' + navIdx
   var a = document.createElement('a')
   a.className = 'NavToggleChefa'
   a.id = 'NavToggleChefa' + navIdx
   a.href = 'javascript:kolapsuChiujn();'
   a.appendChild(document.createTextNode(NavigationBarHideChiujn))
   // 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 (hasClass(NavFrame.childNodes[j], 'NavHeadChefa'))
       NavFrame.childNodes[j].appendChild(a)   
   colNavs[navIdx++] = NavFrame
}
kolapsuChiujn()
for (i=0; i < navIdx; i++)
  
  if ((navIdx > NavigationBarShowDefault && !hasClass(colNavs[i], 'expanded')) || hasClass(colNavs[i], 'collapsed'))
  
     collapseDivChefa(navIdx)
}
 
function kolapsuChiujn()
{
var div = document.getElementById('NavFrameChefa0')
var btn = document.getElementById('NavToggleChefa0')
var navIdx = 0, navChefaIdx= 0, colNavs = [], colNavsChefa= [], i, NavFrame, NavFrameChefa
var divs = document.getElementById('content').getElementsByTagName('div') 

if (!div || !btn) return false
var isShown = (btn.firstChild.data == NavigationBarHideChiujn)
btn.firstChild.data = isShown ? NavigationBarShowChiujn : NavigationBarHideChiujn 
var disp = isShown ? 'none' : 'block'
for (var child = div.firstChild;  child != null;  child = child.nextSibling)
   if (hasClass(child, 'NavPic') || hasClass(child, 'NavContent')) 
      child.style.display = disp

for (i=0; NavFrame = divs[i]; i++) {
   if (!hasClass(NavFrame, 'NavFrame')) continue
   NavFrame.id = 'NavFrame' + navIdx
   colNavs[navIdx++] = NavFrame     }
for (i=0; i < navIdx; i++){
 div = document.getElementById('NavFrame' + i)
 btn = document.getElementById('NavToggle' + i)
 btn.firstChild.data = isShown ? NavigationBarShow : NavigationBarHide
  for (var child = div.firstChild;  child != null;  child = child.nextSibling) {
   if (hasClass(child, 'NavPic') || hasClass(child, 'NavContent')) 
      child.style.display = disp}
}
}
function collapseDivChefa(idx) {
var div = document.getElementById('NavFrameChefa' + idx)
var btn = document.getElementById('NavToggleChefa' + idx)
if (!div || !btn) return false
var isShown = (btn.firstChild.data == NavigationBarHideChiujn)
btn.firstChild.data = isShown ? NavigationBarShowChiujn : NavigationBarHideChiujn 
var disp = isShown ? 'none' : 'block'
for (var child = div.firstChild;  child != null;  child = child.nextSibling)
   if (hasClass(child, 'NavPic') || hasClass(child, 'NavContent')) 
      child.style.display = disp
}

$(poviKolapsiChiujn);

// fino de testa forkomentigo
*/


// END Dynamic Navigation Bars
// ============================================================


//============================================================
//
// ELSTARAJ KAJ LEGINDAJ ARTIKOLOJ
//
//============================================================

/**
* Aldonas apartan signon al interlingvaj ligiloj al elstaraj au legindaj artikoloj 
*/
//=============================================================
//*** Configuration for "star" logo in front of interwiki links to Featured Articles
//*** and green symbol in front of interwiki links to Good Articles

/** set to false in Special:Mypage/monobook.js to switch off this "feature" */

/** description that is displayed when cursor hovers above FA interwiki links */
var linkFA_description = "Ĉi tiu estas elstara artikolo.";
var linkGA_description = "Ĉi tiu estas leginda artikolo.";

// linkFA_bullet/linkGA_bullet and linkFA_style/linkGA_Style werden nur für cologneblue verwendet,
// für monobook, modern siehe [[MediaWiki:Common.css]], vector hat in [[MediaWiki:Vector.css] eigene Definitionen

/** image to use instead of the standard bullet (for cologneblue) */
var linkFA_bullet = "//upload.wikimedia.org/wikipedia/commons/d/d0/Monobook-bullet-star-transparent.png";
var linkGA_bullet = "//upload.wikimedia.org/wikipedia/commons/a/a1/Monobook-bullet-star-gray.png";

/** style to use for the linkFA_bullet/LinkGA_bullet img */
var linkFA_style = "margin-right: 0.2em;";
var linkGA_style = "margin-right: 0.2em;";

/**
 * star logo for featured articles in other languages,
 * see Template:Link_FA / Template:Link_GA and MediaWiki:Common.css
 */
jQuery( document ).ready(function() {
    var skin = mw.config.get('skin');
    // early exit when disabled
    if ((mw.user.options.exists('linkFA_enabled') && !mw.user.options.get('linkFA_enabled'))) return;

    // skins that can be handled the CSS class way
    if (skin === "monobook" || skin === "modern" || skin === "vector" ) {
        linkFA_CSS();
    } else if (skin === "cologneblue") {
        linkFA_decorate();
    }

    // For skin=monobook, modern, or vector
    function linkFA_CSS() {
        // links are to replaced in p-lang only
        var pLang = document.getElementById("p-lang");
        if (!pLang) return;
        var lis = pLang.getElementsByTagName("li");
        for (var i = 0; i < lis.length; i++) {
            var li = lis[i];
            //extract necessary classname
            var matches = li.className.match( /(?:^| )(interwiki-[^ ]+)(?: |$)/ );
            if ( !matches || matches.length != 2 ) {
            	continue;
            }
            var className = matches[1];            
            // only links with a corresponding Link_FA template are interesting
            if (document.getElementById(className + "-fa") && li.className.indexOf("badge-featuredarticle") === -1) {
              li.className += " FA";         // additional class so the template can be hidden with CSS
              li.title = linkFA_description; // change title
              continue;
            }
            if (document.getElementById(className + "-ga") && li.className.indexOf("badge-goodarticle") === -1) {
              li.className += " GA";         // additional class so the template can be hidden with CSS
              li.title = linkGA_description; // change title
              continue;
            }
        }
    }

    /// For skin=cologneblue
    function linkFA_decorate() {
        // these root elements can contain FA-/GA-links
        var rootIds = new Array("topbar", "footer");
        for (var i=0; i<rootIds.length; i++) {
            var root    = document.getElementById(rootIds[i]);
            if (!root)  continue;

            // if the root exists, try to decorate all the links within
            var links   = root.getElementsByTagName("a");
            for (var j=0; j<links.length; j++) {
                decorate(links[j], "-fa", linkFA_bullet, linkFA_description, linkFA_style);
                decorate(links[j], "-ga", linkGA_bullet, linkGA_description, linkGA_style);
            }
        }
    }
   
    /** id necessary, modify a link to show the FA- or GA-star (older) */
    function decorate(link, idSuffix, bullet, description, style) {
        var lang    = link.hostname.split(".")[0];
        var fa      = document.getElementById("interwiki-" + lang + idSuffix);
        if (!fa)	return;
        
		// build an image-node for the FA-star
		var img = document.createElement("img");
		img.setAttribute("src",     bullet);
		img.setAttribute("alt",     description);
		img.setAttribute("style",   style);
		// decorate the link with the image
		link.appendChild(img);
		link.appendChild(link.removeChild(link.firstChild));
		link.setAttribute("title", description);
    }
});


/**
 * WikiMiniAtlas is a popup click and drag world map.
 * See [[meta:WikiMiniAtlas]] for more information. 
 * Maintainers: [[w:User:Dschwen]]
 */
mw.loader.load('//meta.wikimedia.org/w/index.php?title=MediaWiki:Wikiminiatlas.js&action=raw&ctype=text/javascript');

var wma_settings = { 
  buttonImage: '//upload.wikimedia.org/wikipedia/commons/thumb/e/e9/Geographylogo.svg/18px-Geographylogo.svg.png'
}; 


/**
 * Ebligas montri kaŝitajn kategoriojn por enskribitaj uzuloj 
 * aldonante (+) kiel ĉe kaŝskatoloj
 */
function hiddencat() {
  var cl = document.getElementById('catlinks');
  if(!cl) return;
  var hc = document.getElementById('mw-hidden-catlinks');
  if(!hc) return;
  var nc = document.getElementById('mw-normal-catlinks');
  if(!nc) return;
  if($(hc).hasClass('mw-hidden-cats-hidden')) {
    var ahc = ' | <a onclick="javascript:window.toggleHiddenCats();" id="mw-hidden-cats-link" style="cursor:pointer; color:black;" title="Ĉi tiu artikolo apartenas al kaŝita(j) kategorio(j)">[+]</a>';
    document.getElementById('mw-normal-catlinks').innerHTML += ahc;
  }
}

window.toggleHiddenCats = function () {
  var $hc = $('#mw-hidden-catlinks');
  if ($hc.hasClass('mw-hidden-cats-hidden')) {
    $hc.removeClass('mw-hidden-cats-hidden');
    document.getElementById('mw-hidden-cats-link').innerHTML = '[–]';
  } else {
    $hc.addClass('mw-hidden-cats-hidden');
    document.getElementById('mw-hidden-cats-link').innerHTML = '[+]';
  }
};

$(document).ready(hiddencat);

/**
 * Por akiri la valoron de kuketo
 */
function getCookieVal(name) {
  var cookiePos, cookieValue, endPos;

  cookiePos = document.cookie.indexOf(name + "=");
  cookieValue = false;
  if (cookiePos > -1) {
    cookiePos += name.length + 1;
    endPos = document.cookie.indexOf(";", cookiePos);
    if (endPos > -1) {
      cookieValue = document.cookie.substring(cookiePos, endPos);
    } else {
      cookieValue = document.cookie.substring(cookiePos);
    }
  }
  return cookieValue;
}
 

/*
 * Kaŝas la skatolojn de la ĉefpaĝo
 * Aldonas ligilon sur la ĉefpaĝon por facile kaŝi la skatolojn 
 * Memorigita per kuketo
 * Kopirajto 2007, fr:user:Plyd kaj fr:User:IAlex. Licencoj GFDL kaj GPL.
 * Esperantigita de eo:Vikipediisto:ArnoLagrange
 */
var pageName = mw.config.get('wgPageName');
// ĝi estu nur ŝarĝata sur la nomita paĝo
if (pageName === 'Uzanto:ArnoLagrange/Ĉefpaĝo') { 
var kuketKashSkatolNomo = "kashSkatolChefpagho";
var KashSkatolVal = {};
var sumSkatolChefpagho = 0;
 
function montruSkatolChefpagho(id) {
  videbla = KashSkatolVal[id] = (!KashSkatolVal[id]);
  getElementsByClass('chefpagh_enteno', null,'div')[id].style.display = videbla ? 'block' : 'none';
  document.getElementById('KashSkatolChefpagho' + id).innerHTML = videbla ? 'kaŝi' : 'montri';
  konserviKuketonChefpagho();
}
 
function konserviKuketonChefpagho() {
  var date = new Date();
  date.setTime(date.getTime() + 30*86400*1000);
  var val = 0;
  for ( var i = 0; i < sumSkatolChefpagho ; i++ ) {
    if (!KashSkatolVal[i]) val = val | Math.pow(2,i);
  }
  document.cookie = kuketKashSkatolNomo + "=" + val + "; expires="+date.toGMTString() + "; path=/";
}
 
function LigilojSkatolChefpagho() {
  var videbla = {};
//  if (wgPageName != "Ĉefpaĝo") return;
  kuketSkatolChefpagho = getCookieVal(kuketKashSkatolNomo);
  for ( var i=0; i<11; i++) { 
    var titolo = getElementsByClass('grizakapo',document,'h2')[i];
    if (!titolo) break;
    var ligilo = 'kaŝi';
    videbla[i] = !(getElementsByClass('chefpagh_enteno',null,'div')[i].style.display == 'none') ;
    if (!videbla[i]) ligilo = 'montri';
    titolo.innerHTML += " <span style='font-size: xx-small; font-weight: normal; float: none; margin-right:100px' class='editsection'>[<a id='KashSkatolChefpagho" + i + "' href='javascript:montruSkatolChefpagho(" + i + ");'>" + ligilo + "</a>] </span>";
    KashSkatolVal[i] = videbla[i];
    sumSkatolChefpagho++;
  }
  kuketSkatolChefpagho = getCookieVal(kuketKashSkatolNomo);
  for ( var i=0; i< sumSkatolChefpagho ; i++ ) {
    n =Math.pow(2,i);
    aff = !(kuketSkatolChefpagho & n);
    if (!aff) montruSkatolChefpagho(i);
  }
}
$(LigilojSkatolChefpagho);
} // fino de la enkrampigita skriptaro


/** Skripto por Ŝablono:Galerio */
$(function() {
  if (document.URL.match(/printable/g)) return;
 
  function toggleImageFunction(group,  remindex, shwindex) {
    return function() {
      document.getElementById("ImageGroupsGr" + group + "Im" + remindex).style.display = "none";
      document.getElementById("ImageGroupsGr" + group + "Im" + shwindex).style.display = "block";
      return false;
    };
  }
 
  var divs = document.getElementsByTagName("div");
  var i = 0, j = 0;
  var units, search;
  var currentimage;
  var UnitNode;
  for (i = 0; i < divs.length; i++) {
    if (divs[i].className !== "ImageGroup") { continue; }
    UnitNode = undefined;
    search = divs[i].getElementsByTagName("div");
    for (j = 0; j < search.length; j++) {
      if (search[j].className !== "ImageGroupUnits") { continue; }
      UnitNode=search[j];
      break;
    }
    if (UnitNode === undefined) { continue; }
    units = [];
    for (j = 0 ; j < UnitNode.childNodes.length ; j++ ) {
      var temp = UnitNode.childNodes[j];
      if (['center', 'mw-halign-center'].some(function(className) { return temp.classList.contains(className); })) { units.push(temp); }
    }
    var rightlink;
    var commentText;
    var wrap;
    for (j = 0; j < units.length; j++) {
      currentimage = units[j];
      wrap = document.createElement('div');
      wrap.id = "ImageGroupsGr" + i + "Im" + j;
      currentimage.parentNode.insertBefore(wrap, currentimage);
      wrap.appendChild(currentimage);
      var leftlink = document.createElement("a");
      if (commentText !== undefined) {
        leftlink.setAttribute("title", commentText);
      }
      var comment;
      if (typeof(currentimage.getAttribute("title")) !== "string") {
        commentText = (j+1) + "/" + units.length;
        comment = document.createElement("tt").appendChild(document.createTextNode("("+ commentText + ")"));
      }
      else {
        commentText = currentimage.getAttribute("title");
        comment = document.createElement("span").appendChild(document.createTextNode(commentText));
        currentimage.removeAttribute("title");
      }
      if(rightlink !== undefined) {
        rightlink.setAttribute("title", commentText);
      }
      var imghead = document.createElement("div");
      rightlink = document.createElement("a");
      if (j != 0) {
        leftlink.href = "#";
        leftlink.onclick = toggleImageFunction(i, j, j-1);
        leftlink.appendChild(document.createTextNode("◀"));
      }
      if (j != units.length - 1) {
        rightlink.onclick = toggleImageFunction(i, j, j+1);
        rightlink.appendChild(document.createTextNode("▶"));
      }
      imghead.style.fontSize = "110%";
      imghead.style.fontweight = "bold";
      imghead.appendChild(leftlink);
      imghead.appendChild(document.createTextNode("\xA0"));
      imghead.appendChild(comment);
      imghead.appendChild(document.createTextNode("\xA0"));
      imghead.appendChild(rightlink);
      if (units.length > 1) {
        wrap.insertBefore(imghead,wrap.childNodes[0]);
      }
      if (j != 0) {
        wrap.style.display = "none";
      }
    }
  }
});
 
/**
 * simila al innerHTML, sed resendas nur la teksterojn en la internaj ekskludas HTML
 */
function pickUpText(aParentElement) {
 var str = "";

 function pickUpTextInternal(aElement) {
   var child = aElement.firstChild;
   while (child) {
     if (child.nodeType == 1)		// ELEMENT_NODE 
       pickUpTextInternal(child);
     else if (child.nodeType == 3)	// TEXT_NODE
       str += child.nodeValue;

     child = child.nextSibling;
   }
 }

 pickUpTextInternal(aParentElement);

 return str;
}

/**
 * ImageAnnotator
 * Globally enabled per
 * //commons.wikimedia.org/w/index.php?title=Commons:Village_pump&oldid=26818359#New_interface_feature
 *
 * Maintainer: [[User:Lupo]]
 */
 
if (mw.config.get('wgNamespaceNumber') !== -1 && mw.config.get('wgAction') === 'view') {
  // Not on Special pages, and only if viewing the page
  if (typeof ImageAnnotator_disable === 'undefined' || !ImageAnnotator_disable) {
    // Don't even import it if it's disabled.
    // laŭ diversaj paĝoj "deprecated" kaj povas fari problemojn en kelkaj foliumiloj
    // importScript('MediaWiki:Gadget-ImageAnnotator.js'); 
    mw.loader.load("//eo.wikipedia.org/w/index.php?title=MediaWiki:Gadget-ImageAnnotator.js&action=raw&ctype=text/javascript");
  }
}

 
/** Magic editintros
 *
 *  Priskribo: Aldonas averton Bdv-averto en paĝoj de vivantaj homoj.
 *  Aldonita de: [[Uzanto:Yekrats]] laŭ la anglalingva vikipedio
 */
 
function addEditIntro(name) {
  var el = document.getElementById('ca-edit');
  if (!el)
    return;
  el = el.getElementsByTagName('a')[0];
  if (el)
    el.href += '&editintro=' + name;
}
 
if (mw.config.get('wgNamespaceNumber') === 0) {
  $(document).ready(function(){
    var cats = document.getElementById('mw-normal-catlinks');
    if (!cats)
      return;
    cats = cats.getElementsByTagName('a');
    for (var i = 0; i < cats.length; i++) {
      if (cats[i].title == 'Kategorio:Vivantaj homoj' ) {
        addEditIntro('Ŝablono:Bdv-averto');
        break;
      }
    }
  });
}

/**
* Script pour alterner entre plusieurs cartes de géolocalisation
*/
 
function GeoBox_Init(Element){
	if(!Element) Element = document.body;
	var cont = $( Element ).find( 'div.img_toogle' ).get();
	for (var i = 0,m=cont.length; i < m; i++) {
		cont[i].id = 'img_toogle_' + i;
		var Boxes = $( cont[i] ).find( '.geobox' ).get();
		var ToggleLinksDiv = document.createElement('ul');
		ToggleLinksDiv.id = 'geoboxToggleLinks_' + i;
		for(var a=0,l=Boxes.length;a<l;a++){
			var ThisBox = Boxes[a];
			ThisBox.id = 'geobox_' + i + "_" + a;
			ThisBox.style.borderTop='0';
			var img = ThisBox.getElementsByTagName('img')
			var ThisAlt = img ? img[0].alt : '';
			var toggle = document.createElement('a');
			toggle.id = 'geoboxToggle_' + i + "_" + a;
			toggle.appendChild(document.createTextNode(ThisAlt));
			toggle.href='javascript:;';
			toggle.onclick = function(){
				GeoBox_Toggle(this);
				return false;
			};
			var Li = document.createElement('li');
			Li.appendChild(toggle);
			ToggleLinksDiv.appendChild(Li);
			if(a==(l-1)){
				Li.style.display = "none";
			}else{
				ThisBox.style.display = "none";
			}
		}
		cont[i].appendChild(ToggleLinksDiv);
	}
}

function GeoBox_Toggle(link){
	var ImgToggleIndex = link.id.split('geoboxToggle_').join('').replace(/_.*/g, "");
	var GeoBoxIndex = link.id.replace(/.*_/g, "");
	var ImageToggle = document.getElementById('img_toogle_' + ImgToggleIndex);
	var Links = document.getElementById('geoboxToggleLinks_' + ImgToggleIndex);
	var Geobox = document.getElementById('geobox_' + ImgToggleIndex + "_" + GeoBoxIndex);
	var Link = document.getElementById('geoboxToggle_' + ImgToggleIndex + "_" + GeoBoxIndex);
	if( (!ImageToggle) || (!Links) || (!Geobox) || (!Link) ) return;
	var AllGeoboxes = $( ImageToggle ).find( '.geobox' ).get();
	for(var a=0,l=AllGeoboxes.length;a<l;a++){
		var ThisgeoBox = AllGeoboxes[a];
		if(ThisgeoBox.id === Geobox.id){
			ThisgeoBox.style.display = "";
		}else{
			ThisgeoBox.style.display = "none";
		}
	}
	var AllToggleLinks = Links.getElementsByTagName('a');
	for(var a=0,l=AllToggleLinks.length;a<l;a++){
		var thisToggleLink = AllToggleLinks[a];
		if(thisToggleLink.id === Link.id){
			thisToggleLink.parentNode.style.display = "none";
		}else{
			thisToggleLink.parentNode.style.display = "";
		}
	}
}

if ( ['view','submit'].indexOf(mw.config.get('wgAction')) !==  -1) {
	$( function() {
		GeoBox_Init();
	} );
}


/** Ĉefpaĝaj korektoj *********************************************************
 * prenita el la anglalingva Vikipedio
 * Priskribo: Aldonas kroman ligilon al plena listo da haveblaj lingvoj .
 *  Maintainers: [[:en:User:AzaToth]], [[:en:User:R. Koot]], [[:en:User:Alex Smotrov]]
 */

/**
 * Plibonigo por la Ĉefpaĝo
 *
 *  Priskribo  :        Diversaj plibonigoj por la ĉefpaĝo, inkluzive ligon al plena listo  
 *                      de haveblaj lingvoj    
 *                      <kaj renomo de 'artikolo' al 'portalo'.> ????
 *  Adaptado de [[en:MediaWiki:Common.js]]
 */
var pageName = mw.config.get('wgPageName');
if (mw.config.get('wgIsMainPage') || pageName === 'Vikipedio:Ĉefpaĝo' || pageName === 'Vikipedia_diskuto:Ĉefpaĝo') {
    $(document).ready(function () {
      mw.loader.using('mediawiki.util', function () {
          var link = mw.util.addPortletLink('p-lang', '//meta.wikimedia.org/wiki/Listo_de_Vikipedioj',
            'Plena listo', 'interwiki-completelist', 'Plena listo da Vikipedioj');
          $(link).css('fontWeight', 'bold');
      });

      $('#ca-nstab-main a').text('Main Page');    
    
    });
}

/* Not working; disabled, 2014-10-14 by [[User:Jdforrester (WMF)]]
	mw.loader.using('mediawiki.util', function () {
  $(document).ready(addCommonsUpload);
});
*/

/**
 * Nova alŝuta formularo
 * fonto: //sk.wikipedia.org/wiki/MediaWiki:Common.js
 * ankoraŭ ne aktivigita. vidu malsupre
 */
function EasyUpload() {
 $('#t-upload').attr('href', '/wiki/Helpo:Alŝutado de bildoj');
}
 
// $(document).ready(EasyUpload);

// Serĉorezultoj de Vikidatumoj
// [[File:Wdsearch_script_screenshot.png]]
if ( mw.config.get( 'wgCanonicalSpecialPageName' ) === 'Search' ||  ( mw.config.get( 'wgArticleId' ) === 0 && mw.config.get( 'wgCanonicalSpecialPageName' ) === false ) ) {
	mw.loader.load("//en.wikipedia.org/w/index.php?title=MediaWiki:Wdsearch.js&action=raw&ctype=text/javascript");
}


// el la franca vikipedio: [[:fr:MediaWiki:Common.js]], jam testita sur [[Uzanto:Tlustulimu/vector.js]]
/**
 * Uzata de la ŝablono Ŝablono:Bildaro 
 */
/**
 * Utilisation du modèle Modèle:Animation
 */
 
var Diaporama = {};
Diaporama.Params = {};
Diaporama.Fonctions = {};

Diaporama.Params.DiaporamaIndex = 0;
Diaporama.Params.ImageDelay = 1;
Diaporama.Params.Paused = [];
Diaporama.Params.Visible = [];
Diaporama.Params.Length = [];
Diaporama.Params.Delay = [];
Diaporama.Params.Timeout = [];

Diaporama.Fonctions.Init = function(node){
	if(!node) node = document;
	var Diaporamas = $( node ).find( 'div.diaporama' ).get();
	for(var a=0,l=Diaporamas.length;a<l;a++){
		Diaporama.Fonctions.InitDiaporama(Diaporamas[a]);
	}
};
Diaporama.Fonctions.InitDiaporama = function(DiaporamaDiv){
	var index = Diaporama.Params.DiaporamaIndex;
	Diaporama.Params.DiaporamaIndex++;
	DiaporamaDiv.id = "Diaporama_"+index;
	var DiaporamaFileContainer = $( DiaporamaDiv ).find( 'div.diaporamaFiles' )[0];
	var DiaporamaControl = $( DiaporamaDiv ).find( 'div.diaporamaControl' )[0];
	if(!DiaporamaFileContainer || !DiaporamaControl) return;
	var DiaporamaFiles = $( DiaporamaFileContainer ).find( 'div.ImageFile' ).get();
	var width;
	var firstTumbinner = $( DiaporamaFileContainer ).find( 'div.thumbinner' )[0];
	if(firstTumbinner){ // force la largeur du diaporama (pour IE)
		width = firstTumbinner.style.width.split("px").join("");
	}else{
		if(DiaporamaFileContainer.firstChild.firstChild) width = DiaporamaFileContainer.firstChild.firstChild.offsetWidth;
	}
	if(width) DiaporamaDiv.style.width = (parseInt(width)+30) + "px";
	if(DiaporamaFiles.length<2) return;
	Diaporama.Params.Length[index] = DiaporamaFiles.length;
	DiaporamaFileContainer.id = "DiaporamaFileContainer_"+index;
	DiaporamaControl.id = "DiaporamaControl_"+index;
	Diaporama.Params.Delay[index] = Diaporama.Params.ImageDelay;
	var DiaporamaDivClass = DiaporamaDiv.className.HTMLize();
	var ParamDelay = DiaporamaDivClass.match(/Delay[0-9]+(\.|,)?[0-9]*/);
	if(ParamDelay!=null){
		ParamDelay = parseFloat(ParamDelay[0].split("Delay").join("").split(",").join("."));
		if(ParamDelay && ParamDelay>0) Diaporama.Params.Delay[index] = ParamDelay;
	}
	Diaporama.Fonctions.ShowThisDiapo(index, 0);
	var ControlLinks = DiaporamaControl.getElementsByTagName("a");
	ControlLinks[0].firstChild.id = "DiaporamaPlay"+index;
	ControlLinks[0].href = "javascript:Diaporama.Fonctions.Play("+index+");";
	ControlLinks[1].firstChild.id = "DiaporamaPause"+index;
	ControlLinks[1].href = "javascript:Diaporama.Fonctions.Pause("+index+");";
	ControlLinks[2].firstChild.id = "DiaporamaStop"+index;
	ControlLinks[2].href = "javascript:Diaporama.Fonctions.Stop("+index+");";
	ControlLinks[3].firstChild.id = "DiaporamaLast"+index;
	ControlLinks[3].href = "javascript:Diaporama.Fonctions.ToggleDiapo("+index+",-1);";
	ControlLinks[4].firstChild.id = "DiaporamaNext"+index;
	ControlLinks[4].href = "javascript:Diaporama.Fonctions.ToggleDiapo("+index+", 1);";
	ControlLinks[5].parentNode.appendChild(Diaporama.Fonctions.CreateSelect(index, ControlLinks[5].title));
	ControlLinks[5].parentNode.removeChild(ControlLinks[5]);
	for(var e=0,t=ControlLinks.length;e<t;e++){
		ControlLinks[e].onmousedown = function(){Diaporama.Fonctions.Onclick(this);};
		ControlLinks[e].onmouseup = function(){Diaporama.Fonctions.Offclick(this, index);};
		ControlLinks[e].firstChild.style.backgroundColor = "white";
		ControlLinks[e].onmouseover = function(){ this.focus(); };
	}
	DiaporamaControl.style.display = "block";
	if( $( DiaporamaDiv ).hasClass( 'Autoplay' ) ){
		Diaporama.Fonctions.Play(index);
	}else{
		Diaporama.Fonctions.Pause(index);
	}
};

Diaporama.Fonctions.Play = function(index){
	if(Diaporama.Params.Paused[index] === false) return;
	Diaporama.Params.Paused[index] = false;
	clearTimeout(Diaporama.Params.Timeout[index]);
	Diaporama.Params.Timeout[index] = setTimeout("Diaporama.Fonctions.ToggleDiapo("+index+",1);", Diaporama.Params.Delay[index]*1000);
	var ButtonPlay = document.getElementById("DiaporamaPlay"+index);
	ButtonPlay.style.backgroundColor = "silver";
	var ButtonPause = document.getElementById("DiaporamaPause"+index);
	ButtonPause.style.backgroundColor = "white";
	var ButtonStop = document.getElementById("DiaporamaStop"+index);
	ButtonStop.style.backgroundColor = "white";
};

Diaporama.Fonctions.Pause = function(index){
	Diaporama.Params.Paused[index] = true;
	clearTimeout(Diaporama.Params.Timeout[index]);
	var ButtonPlay = document.getElementById("DiaporamaPlay"+index);
	ButtonPlay.style.backgroundColor = "white";
	var ButtonPause = document.getElementById("DiaporamaPause"+index);
	ButtonPause.style.backgroundColor = "silver";
	var ButtonStop = document.getElementById("DiaporamaStop"+index);
	ButtonStop.style.backgroundColor = "white";
};

Diaporama.Fonctions.Stop = function(index){
	Diaporama.Params.Paused[index] = true;
	clearTimeout(Diaporama.Params.Timeout[index]);
	Diaporama.Fonctions.ShowThisDiapo(index, 0);
	var ButtonPlay = document.getElementById("DiaporamaPlay"+index);
	ButtonPlay.style.backgroundColor = "white";
	var ButtonPause = document.getElementById("DiaporamaPause"+index);
	ButtonPause.style.backgroundColor = "white";
	var ButtonStop = document.getElementById("DiaporamaStop"+index);
	ButtonStop.style.backgroundColor = "silver";
};

Diaporama.Fonctions.ToggleDiapo = function(index, diff){
	clearTimeout(Diaporama.Params.Timeout[index]);
	var DiaporamaFileContainer = document.getElementById("DiaporamaFileContainer_"+index);
	var DiaporamaFiles = $( DiaporamaFileContainer ).find( 'div.ImageFile' ).get();
	var VisibleIndex = Diaporama.Params.Visible[index];
	var NextDiaporamaIndex = (VisibleIndex+diff);
	if(NextDiaporamaIndex==DiaporamaFiles.length || NextDiaporamaIndex<0){
			var DiaporamaDiv = document.getElementById("Diaporama_"+index);
			if( diff < 0 || ! $( DiaporamaDiv ).hasClass( 'AutoLoop' ) ){
				return;
			}
			NextDiaporamaIndex = 0;
	}
	Diaporama.Fonctions.ShowThisDiapo(index, NextDiaporamaIndex);
};

Diaporama.Fonctions.ShowThisDiapo = function(index, Value){
	clearTimeout(Diaporama.Params.Timeout[index]);
	var DiaporamaFileContainer = document.getElementById("DiaporamaFileContainer_"+index);
	var DiaporamaFiles = $( DiaporamaFileContainer ).find( 'div.ImageFile' ).get();
	for(var x=0,z=DiaporamaFiles.length;x<z;x++){
			if(x!=Value){
				DiaporamaFiles[x].style.display = "none";
			}else{
				DiaporamaFiles[x].style.display = "block";
			}
	}
	Diaporama.Params.Visible[index] = Value;
	Diaporama.Fonctions.UpdateBar(index);
	Diaporama.Fonctions.UpdateSelect(index);
	if(!Diaporama.Params.Paused[index]){
			var multipl = 1;
			if(Value==(Diaporama.Params.Length[index]-1)) multipl = 3;
			Diaporama.Params.Timeout[index] = setTimeout("Diaporama.Fonctions.ToggleDiapo("+index+",1);", Diaporama.Params.Delay[index]*1000*multipl);
	}
};

Diaporama.Fonctions.CreateSelect = function(index, Title){
	var Total = Diaporama.Params.Length[index];
	var Select = document.createElement('select');
	Select.id = "DiaporamaSelect"+index;
	Select.title = Title;
	for(var s=0;s<Total;s++){
			var Opt = document.createElement('option');
			if(s==0) Opt.selected = "selected";
			Opt.text = (s+1)+"/"+Total;
			Opt.innerHTML = (s+1)+"/"+Total;
			Opt.value = s;
			Select.appendChild(Opt);
	}
	Select.onchange = function(){ Diaporama.Fonctions.SelectDiapo(Diaporama.Fonctions.getIndex(this)); };
	Select.onmouseover = function(){ this.focus(); };
	return Select;
};

Diaporama.Fonctions.SelectDiapo = function(index){
	var Select = document.getElementById("DiaporamaSelect"+index);
	if(!Select) return;
	var Opts = Select.getElementsByTagName('option');
	for(var o=0,p=Opts.length;o<p;o++){
		if(Opts[o].selected) {
			var Value = parseInt(Opts[o].value);
			return Diaporama.Fonctions.ShowThisDiapo(index, Value);
		}
	}
};

Diaporama.Fonctions.UpdateSelect = function(index){
	var Select = document.getElementById("DiaporamaSelect"+index);
	if(!Select) return;
	var Opts = Select.getElementsByTagName('option');
	for(var o=0,p=Opts.length;o<p;o++){
		if(o==Diaporama.Params.Visible[index]) {
			Opts[o].selected = "selected";
		}else{
			Opts[o].selected = false;
		}
	}
};

Diaporama.Fonctions.UpdateBar = function(index){
	var Percent = (100/(Diaporama.Params.Length[index]-1)) * Diaporama.Params.Visible[index];
	if(Percent>100) Percent = 100;
	var DiaporamaControl = document.getElementById("DiaporamaControl_"+index);
	var DiaporamaScrollBar = $( DiaporamaControl ).find( 'div.ScrollBar' )[0];
	DiaporamaScrollBar.style.width = Percent + "%";
};

Diaporama.Fonctions.Onclick = function(Link){
	var Image = Link.getElementsByTagName('img')[0];
	Image.style.backgroundColor = "gray";
};

Diaporama.Fonctions.Offclick = function(Link, index){
	var Span = Link.parentNode;
	var SpanClass = Span.className;
	var Image = Link.getElementsByTagName('img')[0];
	var DiapoState = Diaporama.Params.Paused[index];
	if( ( $( Span ).hasClass( 'Play' ) && DiapoState == false ) || ( ( $( Span ).hasClass( 'Pause' ) || $( Span ).hasClass( 'Stop' ) ) && DiapoState == true ) ){
		Image.style.backgroundColor = "silver";
	}else{
		Image.style.backgroundColor = "white";
	}
};

Diaporama.Fonctions.getIndex = function(Element){
	return parseInt(Element.id.replace(/[^0-9]/g, ""));
};

$( function () {
	Diaporama.Fonctions.Init();
} );