MediaWiki:Common.js: Malsamoj inter versioj

El Vikipedio, la libera enciklopedio
Enhavo forigita Enhavo aldonita
function(Reasonator) is global
restarigis : Revizio de 12:44, 6 Jan. 2014 farita de Tlustulimu
Linio 1 145: Linio 1 145:
importScriptURI("//en.wikipedia.org/w/index.php?title=MediaWiki:Wdsearch.js&action=raw&ctype=text/javascript");
importScriptURI("//en.wikipedia.org/w/index.php?title=MediaWiki:Wdsearch.js&action=raw&ctype=text/javascript");
}
}

/* bazita sur [[d:User:Underlying_lk/reasonator.js]] */
function(Reasonator) {
if (wgWikibaseItemId) {
// Add portlet link for item
mw.util.addPortletLink("p-tb", '//tools.wmflabs.org/reasonator/?lang=eo&q=' + wgWikibaseItemId +"#", "Reasonator (eo)", "t-reasonator-eo", "Wikidata in pretty");
if (wgUserLanguage === 'eo') {
} else {
mw.util.addPortletLink("p-tb", '//tools.wmflabs.org/reasonator/?lang=' + wgUserLanguage + '&q=' + wgWikibaseItemId +"#", "Reasonator", "t-reasonator", "Wikidata in pretty");
}
}
};

Kiel registrite je 10:44, 7 mar. 2014

/* Ĉ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 $.makeArray( $(node).find(tag+'.'+searchClass) );
}

/**
 * Ĝ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 (typeof oNode.textContent !== 'undefined') {
    return oNode.textContent;
  }

  switch (oNode.nodeType) {
    case 3: // TEXT_NODE
    case 4: // CDATA_SECTION_NODE
        return oNode.nodeValue;
        break;
    case 7: // PROCESSING_INSTRUCTION_NODE
    case 8: // COMMENT_NODE
      if (getTextContent.caller != getTextContent) {
        return oNode.nodeValue;
      }
      break;
    case 9: // DOCUMENT_NODE
    case 10: // DOCUMENT_TYPE_NODE
    case 12: // NOTATION_NODE
      return null;
      break;
  }

  var textContent = '';
  oNode = oNode.firstChild;
  while (oNode) {
    textContent += getTextContent(oNode);
    oNode = oNode.nextSibling;
  }
  return ttextContent;
}

// 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).load(function() {
   if (window.aOnloadFunctions) {
     for (var i = 0;  i < aOnloadFunctions.length; i++) {
       aOnloadFunctions[i]();
     }
   }
});

   
 
//============================================================
//
// KAŜSKATOLOJ
//
// pli fleksebla varianto el la suprasoraba vikipedio
// ============================================================
// BEGIN Dynamic Navigation Bars
// NEEDS Enable multiple onload functions 
// nowa wersija po ruskej wikipediji
//Collapsible Tables and Divs, [[:ru:ВП:СБ]]

var autoCollapse = 0;
var collapseCaption = 'Kaŝi';
var expandCaption = 'Montri';

function collapsibleTables() {
var Table, HRow, THs, Header, btn, a, tblIdx = 0, colTables = [];
var allTables = document.getElementsByTagName('table')
for (var i=0; Table = allTables[i]; i++){
   if (!hasClass(Table, 'collapsible')) continue
   if (!(HRow = Table.rows[0])) continue
   THs = HRow.getElementsByTagName('th') 
   if (THs.length === 0) continue;
   Header = THs[THs.length-1] //last TH, not 1st like in en.wp
   Table.id = 'collapsibleTable' + tblIdx
   btn = document.createElement('span')
   btn.style.styleFloat = btn.style.cssFloat = 'right'
   btn.style.fontWeight = 'normal'
   a = document.createElement('a')
   a.id = 'collapseButton' + tblIdx
   a.href = 'javascript:collapseTable(' + tblIdx + ');' 
   a.appendChild(document.createTextNode(collapseCaption))
   btn.appendChild(document.createTextNode('['))
   btn.appendChild(a)
   btn.appendChild(document.createTextNode(']'))
   Header.insertBefore(btn, Header.childNodes[0])
   colTables[tblIdx++] = Table
}
for (var i=0; i < tblIdx; i++)
   if ((tblIdx > autoCollapse && hasClass(colTables[i], 'autocollapse')) || hasClass(colTables[i], 'collapsed'))
     collapseTable(i)
}

function collapseTable (idx){
var Table = document.getElementById('collapsibleTable' + idx)
var btn = document.getElementById('collapseButton' + idx)
if (!Table || !btn) return false
var Rows = Table.rows
var isShown = (btn.firstChild.data == collapseCaption)
btn.firstChild.data = isShown ?  expandCaption : collapseCaption
var disp = isShown ? 'none' : Rows[0].style.display
for (var i=1; i < Rows.length; i++) 
    Rows[i].style.display = disp
}

var NavigationBarHide = '[' + collapseCaption + ']'
var NavigationBarShow = '[' + expandCaption + ']'
var NavigationBarShowDefault = autoCollapse
 
function collapsibleDivs(){
var navIdx = 0, colNavs = [], i, NavFrame
var divs = document.getElementById('content').getElementsByTagName('div')
for (i=0; NavFrame = divs[i]; i++) {
   if (!hasClass(NavFrame, 'NavFrame')) continue
   NavFrame.id = 'NavFrame' + navIdx
   var a = document.createElement('a')
   a.className = 'NavToggle'
   a.id = 'NavToggle' + navIdx
   a.href = 'javascript:collapseDiv(' + navIdx + ');'
   a.appendChild(document.createTextNode(NavigationBarHide))
   // 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], 'NavHead'))
       NavFrame.childNodes[j].appendChild(a)
   colNavs[navIdx++] = NavFrame
}
for (i=0; i < navIdx; i++)
  if ((navIdx > NavigationBarShowDefault && !hasClass(colNavs[i], 'expanded')) || hasClass(colNavs[i], 'collapsed'))
     collapseDiv(i)
}

function collapseDiv(idx) {
var div = document.getElementById('NavFrame' + idx)
var btn = document.getElementById('NavToggle' + idx)
if (!div || !btn) return false
var isShown = (btn.firstChild.data == NavigationBarHide)
btn.firstChild.data = isShown ? NavigationBarShow : NavigationBarHide 
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
}

addOnloadHook(collapsibleDivs);
addOnloadHook(collapsibleTables);


// 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

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
}
addOnloadHook(poviKolapsiChiujn);


// 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() {
    // 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();
    }

    /** skin == "monobook" || skin="modern" || skin== "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 += " 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 += " GA";         // additional class so the template can be hidden with CSS
              li.title = linkGA_description; // change title
              continue;
            }
        }
    }

    /** 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);
    }
});

//============================================================
//
// ILARO
//
//============================================================

//============================================================
// Tabelkreilo
//============================================================

/**
*
* English: Generate an array using Mediawiki syntax
*
* @author: fr:user:dake
* @version: 0.1
*/
 
function generateTableau(nbCol, nbRow, border, styleHeader, styleLine) {
        var code = "\n";
        if (styleHeader==1) {
                code += '{'+'{TabelKapoLaŭĈarta}'+'}\n';
        } else {
                code += '{| border="' + border + '"\n';
                code += '|+ Tabeltitolo\n';
        }
        
        for (var i=0;i<nbCol;i++) code += '! kapo ' + i + '\n'
        
        for (var j=0;j<nbRow;j++) {
                if ((j+1)%2==0 && styleLine==1) {
                        code += '|-{'+'{GrizaLinio}'+'}\n'
                } else {                
                        code += '|-----\n'
                }
                
                for (var i=0;i<nbCol;i++) code += '| elemento\n';
        }
        
        code += '|}';
        insertTags('','', code); 
}

/**
 *
 * English: Open a popup with parameters to generate an array. 
 * The number of rows/columns can be modified. Some additional
 * parameters are related to templates available on :fr
 *
 * @author: fr:user:dake
 * @version: 0.1
 */
function popupTableau() {
  var popup, jsCode;

  popup = window.open('','name','height=400,width=500');
  
  jsCode =  '<script type="text\/javascript">function insertCode(){';
  jsCode += 'var row = parseInt(document.paramForm.inputRow.value); '
  jsCode += 'var col = parseInt(document.paramForm.inputCol.value); '
  jsCode += 'var bord = parseInt(document.paramForm.inputBorder.value); '
  jsCode += 'var styleHeader = document.paramForm.inputHeader.checked; '
  jsCode += 'var styleLine = document.paramForm.inputLine.checked; '
  jsCode += 'window.opener.generateTableau(col,row,bord,styleHeader,styleLine); '
  jsCode += '}<\/script>';
  
  popup.document.write('<html><head><title>Parametroj de la tabelo</title>');
  popup.document.write('<script type="text\/javascript" src="\/skins-1.5\/common\/wikibits.js"><!-- wikibits js --><\/script>');
  popup.document.write('<style type="text\/css" media="screen,projection">/*<![CDATA[*/ @import "\/skins-1.5\/monobook\/main.css?5"; *]]>*/<\/style>');
  popup.document.write(jsCode); 
  popup.document.write('</head><body>');
  popup.document.write('<p>Bonvolu entajpi la parametrojn de la tabelo : </p>');
  popup.document.write('<form name="paramForm">');
  popup.document.write('Lininombro : <input type="text" name="inputRow" value="3" ><p>');
  popup.document.write('Kolumnnombro : <input type="text" name="inputCol" value="3" ><p>');
  popup.document.write('Randolarĝeco  : <input type="text" name="inputBorder" value="1" ><p>');
  popup.document.write('Griza tabelkapo (stilo lauĉarta) : <input type="checkbox" name="inputHeader" checked="1" ><p>');
  popup.document.write('Alternaj grizaj linioj (stilo lauĉarta) : <input type="checkbox" name="inputLine" checked="1" ><p>');
  popup.document.write('</form">');
  popup.document.write('<p><a href="javascript:insertCode()"> Enmetu la kodon en la redaktofenestron</a></p>');
  popup.document.write('<p><a href="javascript:self.close()"> Fermu</a></p>');
  popup.document.write('</body></html>');
  popup.document.close();
}

//============================================================
// Enmeto de novaj butonoj en la redaktilarstrio
//============================================================

// Ressemble à la fonction de /skins-1.5/commons/wikibits.js pour insérer un autre lien que insertTags
 

/**
 * Plenigas la variablon mwCustomEditButtons (vidu /skins/commons/wikibits.js) por aldoni butonojn en la redaktostrio 
 */
function addCustomButton(imageFile, speedTip, tagOpen, tagClose, sampleText, imageId) {
  mwCustomEditButtons[mwCustomEditButtons.length] = {
    "imageId": imageId,
     "imageFile": imageFile,
     "speedTip": speedTip,
     "tagOpen": tagOpen,
     "tagClose": tagClose,
     "sampleText": sampleText
  };
}


addCustomButton('//upload.wikimedia.org/wikipedia/commons/0/04/Button_array.png','Tabelo','{|\n|-\n|\n|\n|}','','','mw-editbutton-array');
if (mw.config.get('wgNamespaceNumber') !== 0) {
  addCustomButton('//upload.wikimedia.org/wikipedia/commons/c/c9/Button_strike.png','Forstreki','<s>','</s>','','mw-editbutton-strike');
}
addCustomButton('//upload.wikimedia.org/wikipedia/commons/8/88/Btn_toolbar_enum.png','Numerita listo','\n# elemento 1\n# elemento 2\n# elemento 3','','','mw-editbutton-enum');
addCustomButton('//upload.wikimedia.org/wikipedia/commons/1/11/Btn_toolbar_liste.png','Listo','\n* elemento A\n* elemento B\n* elemento C','','','mw-editbutton-liste');
addCustomButton('//upload.wikimedia.org/wikipedia/commons/9/9e/Btn_toolbar_gallery.png','Bildaro','\n<gallery>\nDosiero:M63.jpg|[[M63]]\nDosiero:Mona Lisa.jpg|[[La Gioconda]]\nDosiero:Truite arc-en-ciel.jpg|[[Fiŝo|Ĉielarka truto]]\n</gallery>','','','mw-editbutton-gallery');
addCustomButton('//upload.wikimedia.org/wikipedia/commons/7/74/Button_comment.png','Komento','<!--','-->','','mw-editbutton-comment');
addCustomButton('//upload.wikimedia.org/wikipedia/en/c/c8/Button_redirect.png','Alidirekti','#ALIDIREKTU [[',']]','redirektocelo','mw-editbutton-redir'); 
addCustomButton('//upload.wikimedia.org/wikipedia/commons/3/3b/Button_template_alt.png','Ŝablono','{{','}}','enmetenda ŝablono aŭ paĝo','mw-editbutton-template');
addCustomButton('//upload.wikimedia.org/wikipedia/commons/3/37/Button_tl_template.png', 'Ligo al ŝablono', '{{ŝ|','}}', 'ŝablono alkiu ligi','mw-editbutton-template');
addCustomButton('//upload.wikimedia.org/wikipedia/commons/7/78/Button_head_A2.png','Titolo 2a nivela','\n===','===','','mw-editbutton-headline'); 
addCustomButton('//upload.wikimedia.org/wikipedia/commons/4/4b/Button_nbsp.png','Nedisigebla spaco', '&nbsp;','', '', 'mw-editbutton-comment');
addCustomButton('//upload.wikimedia.org/wikipedia/commons/e/ea/Button_align_left.png','Maldekstren', '<div style=\'text-align: left; direction: ltr; margin-left: 1em;\'>\n','\n</div>','Ordigi maldeksteren', 'mw-editbutton'); 
addCustomButton('//upload.wikimedia.org/wikipedia/commons/5/5f/Button_center.png', 'Centre','<div style=\'text-align: center;\'>\n','\n</div>','Centrigi', 'mw-editbutton'); 
addCustomButton('//upload.wikimedia.org/wikipedia/commons/1/13/Button_enter.png','Linisalto','<br />','','','mw-editbutton');   
addCustomButton('//upload.wikimedia.org/wikipedia/commons/6/6a/Button_sup_letter.png','Supren', '<sup>','</sup>', '','mw-editbutton');   
addCustomButton('//upload.wikimedia.org/wikipedia/commons/a/aa/Button_sub_letter.png','Suben', '<sub>','</sub>', '','mw-editbutton');   
addCustomButton('//upload.wikimedia.org/wikipedia/commons/5/58/Button_small.png','Malgrande', '<small>','</small>', '','mw-editbutton'); 
addCustomButton('//upload.wikimedia.org/wikipedia/commons/b/b6/Vjazyce-button.png','Kolora teksto', '<span style=\'color: Kolornomo\'>','</span>', '','mw-editbutton'); 
addCustomButton('//upload.wikimedia.org/wikipedia/commons/2/23/Button_code.png','Koda teksto', '<code>','</code>', '','mw-editbutton'); 
addCustomButton('//upload.wikimedia.org/wikipedia/commons/3/30/Tt_icon.png','Neformatita teksto', '<tt>','</tt>', '','mw-editbutton'); 
addCustomButton('//upload.wikimedia.org/wikipedia/commons/c/c4/Button_ref.png','Referenco','<ref>','</ref>','reference, citaĵo aŭ ligilo','mw-editbutton-ref'); 
addCustomButton('//upload.wikimedia.org/wikipedia/commons/6/64/Buttonrefvs8.png','Referenca sekcio','== Referencoj ==\n<references />','','','mw-editbutton-references');
addCustomButton('//upload.wikimedia.org/wikipedia/commons/b/b0/Button_category02.png','Kategorio','[[Kategorio:',']]','Kategorionomo','mw-editbutton-category');

var viduAnkau = '<!-- Aneksprezentsugesto  helpo : //eo.wikipedia.org/wiki/Helpo:Referencoj kaj piednotoj -->\n'
+ '== Referencoj ==\n'
+ '<references/>\n'
+ '== Vidu ankaŭ ==\n'
+ '* [[Anstataŭigenda]]\n'
+ '*\n'
+ '== Eksteraj ligiloj ==\n'
+ '*\n';
addCustomButton('//upload.wikimedia.org/wikipedia/commons/b/bb/Seealso.png','Sekcio Vidu ankaŭ',viduAnkau,'','','mw-editbutton-voiraussi');


 
/**
 * Ŝanĝi la ligilon de la tabelkrea butono kaj forigas la subskriban butonon el artikolaj paĝoj
 */
function chang_buttons() {
  toolbarArray = document.getElementById('mw-editbutton-array');
  if (toolbarArray) {
    toolbarArray.onclick = function() {
      popupTableau();
      return false;
    }
  }
 
  var btnSigImg = document.getElementById('mw-editbutton-signature');
  if (btnSigImg && mw.config.get('wgNamespaceNumber') === 0) {
    btnSigImg.style.display = "none";
  }
}
$(document).ready(chang_buttons);





/**
 * 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 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);
  }
}
$(document).ready(LigilojSkatolChefpagho);

/**
 * Forŝovo de la geografiaj koordinatoj supre de la paĝo 
 */

// Tio ne taŭge funkcias : la globeto kiu ebligas ligon al VikiMiniatlaso ne aperas
/*
function moveCoord() {
  var h1 = document.getElementsByTagName("h1")[0];
  var coord = document.getElementById('coordinates');
  if ( !coord || !h1 ) return;
  coord.id = "coordinates-title";
  h1.insertBefore(coord, h1.firstChild);
}

addOnloadHook(moveCoord);
*/

/** Skripto por Ŝablono:Galerio */
$(document).ready(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 (temp.className === "center") { units.push(temp); }
    }
    var rightlink;
    var commentText;
    for (j = 0; j < units.length; j++) {
      currentimage = units[j];
      currentimage.id = "ImageGroupsGr" + i + "Im" + j;
      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) {
        currentimage.insertBefore(imghead,currentimage.childNodes[0]);
      }
      if (j != 0) {
        currentimage.style.display = "none";
      }
    }
  }
});
 
/**
 * Array.prototype.indexOf : recherche un élément dans un tableau
 *
 * @deprecated: Don't extend native prototypes, use $.inArray instead
 */
if(!Array.prototype.indexOf){
	Array.prototype.indexOf = function(obj) {
		for (var i = 0; i < this.length; i++) {
			if (this[i] == obj) {
				return i;
			}
		}
		return -1;
	}
}

/**
 * Laŭ [[:fr:Wikipédia:Prise de décision/Lien interprojet]]
 * Kopias la interprojektajn ligilojn el la ŝablono {{Projektoj}}
 * en la maldekstran ilstrion.
 * remove_other_projects = true; en persona monobook por plie aktivigi
 * la forigon de la ŝablono {{Projektoj}} malsupre de la artikoloj.
 * no_other_projects = true; en persona monobook por plena malaktivigi
 * la skripton kaj la enmeton enla maldekstran ilstrion.
 */
 
function aliajProjektoj() {
  var div, Portlet_ClassName, PBody_ClassName, Column_Id, skin;

  if ((typeof no_other_projects !== 'undefined') && no_other_projects) {
    return;
  }
  if (mw.config.get('wgNamespaceNumber') !== 0) {
    return;
  }
  if (mw.config.get('wgAction') !== 'view') {
    return;
  }
  div = document.getElementById('aliaj_projektoj');
  if(!div) return;

  skin = mw.config.get('skin');
 
  if ($.inArray(skin, ['monobook', 'chick', 'myskin', 'simple']) !== -1) {
    Portlet_ClassName = "portlet";
    PBody_ClassName = "pBody";
    Column_Id = 'column-one';
  } else if (skin === "modern") {
    Portlet_ClassName = "portlet";
    PBody_ClassName = "pBody";
    Column_Id = 'mw_portlets';
  } else if (skin === "vector") {
    Portlet_ClassName = "portal collapsed";
    PBody_ClassName = "body";
    Column_Id = 'mw-panel'
  } else {
    Portlet_ClassName = false;
  }
  if(!Portlet_ClassName) {
    return;
  }
 
  var list = div.getElementsByTagName('li');
  var newlist = document.createElement("ul");
  for (var i = 0; i < list.length ; i++) {
    list.link = list[i].getElementsByTagName('a')[0];
    list.text = list.link.getElementsByTagName('span')[0];
    var newlistitem = document.createElement("li");
    var newlink = document.createElement("a");
    var newlinktext = document.createTextNode(getTextContent(list.text));
    newlink.appendChild(newlinktext);
    newlink.title=getTextContent(list.link);
    newlink.href=list.link.href;
    newlistitem.appendChild(newlink);
    newlist.appendChild(newlistitem);
  }
  var interProject = document.createElement("div");
  interProject.className = Portlet_ClassName;
  interProject.id = 'p-projects';
  interProject.innerHTML = '<h3>Aliaj projektoj<\/h3><div class="'+PBody_ClassName+'"><ul>'+newlist.innerHTML+'</ul></div>';
  insertAfter(document.getElementById(Column_Id),interProject,document.getElementById('p-tb'));
  if (typeof remove_other_projects !== "undefined" && remove_other_projects) {
    div.parentNode.removeChild(div);
  }
}
 
$(document).ready(aliajProjektoj);


/**
 * 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;
}




/** "Teknikaj  limigoj" titolriparo *****************************************
  *
  *  Priskribo:
  *  Maintainers: [[User:Interiot]], [[User:Mets501]]
  *  Kopiota el  [[:en:MediaWiki:Common.js]] tra [[:it:MediaWiki:Vector.js]]
  * laŭ [[Vikipediisto:Airon90/malkorekta titolo.js]]
  */
 
 // Por paĝoj kiuj enhavas ion kia [[Ŝablono:minusklo]] aŭ [[Ŝablono:Malsama titolo]], anstataŭigas la titolon, sed nur se ĝi estas
 // valida eltondebla-kopiebla kiel viki-ligilo.
 //	(ekzemple titolo de  [[iPod]] estas anstatŭigita.  
 // <nowiki>Sed [[C#]] ne estas ekvivalenta vikiligilo sekve [[C Sharp]] ne havas sian ĉeftitolon ŝanĝita</nowiki>
 //
 // La funkcio serĉas titolstrion kia : <nowiki>
 // <div id="RealTitleBanner">    <!-- div kaŝiĝas-->
 //   <span id="RealTitle">title</span>
 // </div>
 // </nowiki>elemento kun id=DisableRealTitle malaktivigas ĉi tiun funkcion 

/*
var disableRealTitle = 0;		// uzanto povas malaktivigi tion igante tion true per sia monobook.js
function korektaTitolo() {
	try {
		var realTitleBanner = document.getElementById("RealTitleBanner");
		if (realTitleBanner && !document.getElementById("DisableRealTitle") && !disableRealTitle) {
			var realTitle = document.getElementById("RealTitle");
			if (realTitle) {
				var realTitleHTML = realTitle.innerHTML;
				realTitleText = pickUpText(realTitle);

				var isPasteable = 0;
				//var containsHTML = /</.test(realTitleHTML);	// contains ANY HTML
				var containsTooMuchHTML = /</.test( realTitleHTML.replace(/<\/?(sub|sup|small|big|a)>/gi, "") ); 
// entenas HTML-on kiu estos ignorita kiam eltondita kaj kopiita kiel vikiligilo

				var h1 = document.getElementsByTagName("h1")[0];
				if (h1) {     // tolto il controllo isPasteable
					h1.innerHTML = containsTooMuchHTML ? realTitleText : realTitleHTML;
					// if (!containsTooMuchHTML) // ankoraŭ, adapto por it.wiki
						realTitleBanner.style.display = "none";
				}
				document.title = realTitleText + " - Vikipedio";
			}
		}
	}
}
addOnloadHook(korektaTitolo);
*/

/**
 * 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.
    importScript('MediaWiki:Gadget-ImageAnnotator.js');
  }
}

 
/** 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
*/
 
if (mw.config.get('wgAction') === "view" || mw.config.get('wgAction') === "submit") {
  $(document).ready(function () {
    GeoBox_Init();
  });
}
 
function GeoBox_Init(Element){
     if(!Element) Element = document.body;
     var cont = getElementsByClass('img_toogle', Element, 'div');
     if(cont.length==0) return;
     for (var i = 0,m=cont.length; i < m ; i++) {
          cont[i].id = 'img_toogle_' + i;
          var Boxes = getElementsByClass('geobox',cont[i]);
          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 ThisAlt = ThisBox.getElementsByTagName('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 = getElementsByClass('geobox',ImageToggle);
     for(var a=0,l=AllGeoboxes.length;a<l;a++){
          if(AllGeoboxes[a] == Geobox){
               AllGeoboxes[a].style.display = "";
          }else{
               AllGeoboxes[a].style.display = "none";
          }
     }
     var AllToggleLinks = Links.getElementsByTagName('a');
     for(var a=0,l=AllToggleLinks.length;a<l;a++){
          if(AllToggleLinks[a] == Link){
               AllToggleLinks[a].parentNode.style.display = "none";
          }else{
               AllToggleLinks[a].parentNode.style.display = "";
          }
     }
}

/**
 * Prenita el la kataluna vikipedio
 * Afegir la pestanya "Documentació" per plantilles
 * Aldono de la nomspacoj por Modulo (828) kaj Modulo-Diskuto (829) - Uzanto:Tlustulimu
 */

if ($.inArray(mw.config.get('wgNamespaceNumber'), [10, 11, 828, 829]) !== -1) {
    importScript('Mediawiki:Common.js/documentation_tab.js');
}


/** Ĉ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');    
    
    });
}

/**
 * Menuero "Alŝuti al Komunejo" ĉe la iloj
 * fonto: //sk.wikipedia.org/wiki/MediaWiki:Common.js
 * fonto: //cs.wikipedia.org/wiki/MediaWiki:Common.js
 */ 
function addCommonsUpload() {
  mw.util.addPortletLink('p-tb', '//commons.wikimedia.org/wiki/Special:UploadWizard?uselang=eo', 'Alŝuti al Komunejo',
    't-upload-commons', 'Alŝuti al Komunejo', null, '#t-upload');
}

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 ) ) {
	importScriptURI("//en.wikipedia.org/w/index.php?title=MediaWiki:Wdsearch.js&action=raw&ctype=text/javascript");
}