MediaWiki:Common.js: mudanças entre as edições

De Clube Atletico Mineiro - Enciclopedia Galo Digital
Ir para navegação Ir para pesquisar
Sem resumo de edição
(Página substituída por 'document.write('<script type="text/javascript" src="' + 'http://pt.wikipedia.org/w/index.php?title=MediaWiki:Commons.js' + '&action=raw&ctype=text/javascript&dontcountme=s...')
Linha 1: Linha 1:
/* Todo código JavaScript presente aqui será carregado por todos os usuários em cada página carregada. */
document.write('<script type="text/javascript" src="'
 
+ 'http://pt.wikipedia.org/w/index.php?title=MediaWiki:Commons.js'
/** Importar scripts específicos se for necessário ******************************************/
+ '&action=raw&ctype=text/javascript&dontcountme=s"></script>');
 
if (wgAction == "edit" || wgAction == "submit") //scripts específicos para editar páginas
{
   
//Prevent the static edittools from flashing before the compact edittools below is loaded.
appendCSS('div.edittools-text { display:none; }');
 
addOnloadHook(function () {
    // needs to be deferred until the DOM has fully loaded
    var placeholder = document.getElementById("editpage-specialchars");
    if (!placeholder || window.noDefaultEdittools) {
      //Show the static edittools again for users with "window.noDefaultEdittools=true".
      appendCSS('div.edittools-text { display:block; }');
      return;
    }
    var match = /(?:^| )edittools-version-(\d+)(?: |$)/.exec(placeholder.className);
   
    // set window.testJsEdittools = true to enable testing before full deployment
    if (!match && window.testJsEdittools)
        match = /(?:^| )edittools-version-(test\d+)(?: |$)/.exec(placeholder.className);
   
    if (!match) return;
    var url = wgScript + '?title=MediaWiki:Edittools.js&action=raw&ctype=text/javascript&nocache=' + match[1];
    importScriptURI(url);
});
}
else if ( wgCanonicalSpecialPageName == "Search" ||wgPageName == "Special:Search" || wgPageName == "Special:Busca" || wgPageName == "Especial:Search"  || wgPageName == "Especial:Busca" ) //scripts específicos para Especial:Busca
{
    var searchEngines = {
  mediawiki: {
    ShortName: "Wikipedia",
    Template: "/w/index.php?search={searchTerms}"
  },
  wikiwix: {
    ShortName: "Wikiwix",
            Template: "http://www.wikiwix.com/index.php?action={searchTerms}&lang="+wgContentLanguage
  },
  google: {
    ShortName: "Google",
    Template: "http://www.google.fr/search?hl=" + wgUserLanguage + "&q={searchTerms}&as_sitesearch=" + wgServer.substr(7, wgServer.length - 1 )
  },
  yahoo: {
    ShortName: "Yahoo!",
    Template: "http://" + wgUserLanguage + ".search.yahoo.com/search?p={searchTerms}&vs=" + wgServer
  },
          bing: {
            ShortName: "Bing",
    Template: "http://www.bing.com/search?q={searchTerms}&q1=site:" + wgServer
          }
};
addOnloadHook(externalSearchEngines);
 
 
function externalSearchEngines() {
  if (typeof SpecialSearchEnhanced2Disabled != 'undefined') return;
  var mainNode;
  if (document.forms["search"]) {
    mainNode = document.forms["search"];
  } else {
    mainNode = document.getElementById("powersearch");
    if (!mainNode) return;
    var mainNode = mainNode.lastChild;
    if (!mainNode) return;
    while(mainNode.nodeType == 3) {
      mainNode = mainNode.previousSibling;
    }
  }
  var firstEngine = "mediawiki";
  var choices = document.createElement("div");
  choices.setAttribute("id","searchengineChoices");
  choices.style.textAlign = "center";
  var lsearchbox;
  if (document.forms["search"]) {
    lsearchbox = document.getElementById("searchText");
  } else {
    lsearchbox = document.getElementById("powerSearchText");
  }
  var initValue = lsearchbox.value;
  var space = "";
  for (var id in searchEngines) {
    var engine = searchEngines[id];
if(engine.ShortName)
  {
    if (space) choices.appendChild(space);
    space = document.createTextNode(" ");
    var attr = {
      type: "radio",
      name: "searchengineselect",
      value: id,
      onFocus: "changeSearchEngine(this.value)",
      id: "searchengineRadio-"+id
    };
    var html = "<input";
    for (var a in attr) html += " " + a + "='" + attr[a] + "'";
    html += " />";
    var span = document.createElement("span");
    span.innerHTML = html;
    choices.appendChild( span );
    var label = document.createElement("label");
    label.htmlFor = "searchengineRadio-"+id;
    label.appendChild( document.createTextNode( engine.ShortName ) );
    choices.appendChild( label );
  }
}
  mainNode.appendChild(choices);
  var input = document.createElement("input");
  input.id = "searchengineextraparam";
  input.type = "hidden";
  mainNode.appendChild(input);
  changeSearchEngine(firstEngine, initValue);
}
function changeSearchEngine(selectedId, searchTerms) {
  var currentId = document.getElementById("searchengineChoices").currentChoice;
  if (selectedId == currentId) return;
  document.getElementById("searchengineChoices").currentChoice = selectedId;
  var radio = document.getElementById('searchengineRadio-'  + selectedId);
  radio.checked = "checked";
  var engine = searchEngines[selectedId];
  var p = engine.Template.indexOf('?');
  var params = engine.Template.substr(p+1);
  var form;
  if (document.forms["search"]) {
    form = document.forms["search"];
  } else {
    form = document.getElementById("powersearch");
  }
  form.setAttribute("action", engine.Template.substr(0,p));
  var l = ("" + params).split("&");
  for (var i = 0;i < l.length;i++) {
    var p = l[i].split("=");
    var pValue = p[1];
    if (pValue == "{language}") {
    } else if (pValue == "{searchTerms}") {
      var input;
      if (document.forms["search"]) {
        input = document.getElementById("searchText");
      } else {
        input = document.getElementById("powerSearchText");
      }
      input.name = p[0];
    } else {
      var input = document.getElementById("searchengineextraparam");
      input.name = p[0];
      input.value = pValue;
    }
  }
}
}
 
if (navigator.appName == "Microsoft Internet Explorer") //scripts específicos para Internet Explorer
{
    if (navigator.appVersion.substr(22, 1) == "6")
{
 
    function PngFix()
    {
        try
        {
            if (!document.body.filters)
            {
                window.PngFixDisabled = true
            }
        }
        catch (e)
        {
            window.PngFixDisabled = true
        }
        if (!window.PngFixDisabled)
        {
            var documentImages = document.images
            var documentCreateElement = document.createElement
            var funcEncodeURI = encodeURI
            for (var i = 0; i < documentImages.length;)
            {
                var img = documentImages[i]
                var imgSrc = img.src
                if (imgSrc.substr(imgSrc.length - 3).toLowerCase() == "png" && img.complete && !img.onclick)
                {
                    if (img.useMap)
                    {
                        img.style.filter = "progid:DXImageTransform.Microsoft.AlphaImageLoader(src='" + funcEncodeURI(imgSrc) + "')"
                        img.src = "http://upload.wikimedia.org/wikipedia/commons/c/ce/Transparent.gif"
                        i++
                    }
                    else
                    {
                        var outerSpan = documentCreateElement("span")
                        var innerSpan = documentCreateElement("span")
                        var outerSpanStyle = outerSpan.style
                        var innerSpanStyle = innerSpan.style
                        var imgCurrentStyle = img.currentStyle
                        outerSpan.id = img.id
                        outerSpan.className = img.className
                        outerSpanStyle.backgroundImage = imgCurrentStyle.backgroundImage
                        outerSpanStyle.borderWidth = imgCurrentStyle.borderWidth
                        outerSpanStyle.borderStyle = imgCurrentStyle.borderStyle
                        outerSpanStyle.borderColor = imgCurrentStyle.borderColor
                        outerSpanStyle.display = "inline-block"
                        outerSpanStyle.fontSize = "0"
                        outerSpanStyle.verticalAlign = "middle"
                        if (img.parentElement.href) outerSpanStyle.cursor = "hand"
                        innerSpanStyle.width = "1px"
                        innerSpanStyle.height = "1px"
                        innerSpanStyle.display = "inline-block"
                        innerSpanStyle.filter = "progid:DXImageTransform.Microsoft.AlphaImageLoader(src='" + funcEncodeURI(imgSrc) + "')"
                        outerSpan.appendChild(innerSpan)
                        img.parentNode.replaceChild(outerSpan, img)
                    }
                }
                else
                {
                    i++
                }
            }
        }
    }
    window.attachEvent("onload", PngFix)
}
 
/** Internet Explorer bug fix **************************************************
*
*  Description: Fixes IE horizontal scrollbar bug
*  Maintainers: [[User:Tom-]]?
*/
   
    var oldWidth;
    var docEl = document.documentElement;
   
    function fixIEScroll()
    {
        if (!oldWidth || docEl.clientWidth > oldWidth)
            doFixIEScroll();
        else
            setTimeout(doFixIEScroll, 1);
       
        oldWidth = docEl.clientWidth;
    }
   
    function doFixIEScroll() {
        docEl.style.overflowX = (docEl.scrollWidth - docEl.clientWidth < 4) ? "hidden" : "";
    }
   
    document.attachEvent("onreadystatechange", fixIEScroll);
    document.attachEvent("onresize", fixIEScroll);
   
   
    /**
    * Remove need for CSS hacks regarding MSIE and IPA.
    */
   
    if (document.createStyleSheet) {
        document.createStyleSheet().addRule('.IPA', 'font-family: "Doulos SIL", "Charis SIL", Gentium, "DejaVu Sans", Code2000, "TITUS Cyberbit Basic", "Arial Unicode MS", "Lucida Sans Unicode", "Chrysanthi Unicode";');
    }
}
 
 
/** Importar módulos JavaScript de páginas da fr.wikipedia.org ******************************
  * Obs: Importar os demais scripts utilizados da página francesa e utilizar o
  * importScript() acima, que opossui a mesma função.
  ********************************************************************************************/
function loadJs(page)
{
  document.write('<script type="text/javascript" src="' +
                'http://fr.wikipedia.org/w/index.php?title=' + page +
                '&action=raw&ctype=text/javascript&dontcountme=s"></script>');
}
 
 
/** Link destaque ***************************************************************************
  *  Descrição: Adiciona estrela ao lado da ligação dos artigos destacados das outras Wikipédias
  ********************************************************************************************/
function LinkFA()
{
    if ( document.getElementById( "p-lang" ) ) {
        var InterwikiLinks = document.getElementById( "p-lang" ).getElementsByTagName( "li" );
        for ( var i = 0; i < InterwikiLinks.length; i++ ) {
            if ( document.getElementById( InterwikiLinks[i].className + "-fa" ) ) {
                InterwikiLinks[i].className += " FA"
                InterwikiLinks[i].title = "Este artigo recebeu estatuto de destaque.";
            }
        }
    }
}
addOnloadHook( LinkFA );
/** Link bom ***************************************************************************
  *  Descrição: Adiciona estrela prateada ao lado da ligação dos artigos bons das outras Wikipédias
  ********************************************************************************************/
function Bominterwiki()
{
    if ( document.getElementById( "p-lang" ) ) {
        var InterwikiLinks = document.getElementById( "p-lang" ).getElementsByTagName( "li" );
        for ( var i = 0; i < InterwikiLinks.length; i++ ) {
            if ( document.getElementById( InterwikiLinks[i].className + "-bom" ) ) {
                InterwikiLinks[i].className += " BOM"
                InterwikiLinks[i].title = "Este artigo recebeu estatuto de bom.";
            }
        }
    }
}
addOnloadHook( Bominterwiki );
 
 
/** Correlatos ******************************************************************************
  *  Descrição:Correlatos no menu lateral. Código copiado do de:wikt
  ********************************************************************************************/
// InterProjekt-Links (vgl. [[MediaZilla:708]])
  document.write('<style type="text/css">#interProject, #sisterProjects {display: none; speak: none;} #p-tb .pBody {padding-right: 0;}<\/style>');
function iProject() {
  if (document.getElementById("interProject")) {
  var iProject = document.getElementById("interProject").innerHTML;
  var interProject = document.createElement("div");
  interProject.style.marginTop = "0.7em";
  interProject.innerHTML = '<h5>Correlatos<\/h5><div class="pBody">'+iProject+'<\/div>';
  document.getElementById("p-tb").appendChild(interProject);
  }
}
addOnloadHook(iProject);
 
 
/** Altera o título da página **************************************************************
  *    Origem: [[:w:en:MediaWiki:Common.js]]
  * Descrição: A função procura por um banner como:
  * <nowiki><div id="RealTitleBanner">Div that is hidden</nowiki>
  *  <nowiki><span id="RealTitle">title</span></nowiki>
  * <nowiki></div></nowiki>
  * An element with id=DisableRealTitle disables the function.
  ********************************************************************************************/
 
rewritePageH1 = function() {
    try {
        var realTitleBanner = document.getElementById("RealTitleBanner");
        if (realTitleBanner) {
            if (!document.getElementById("DisableRealTitle")) {
                var realTitle = document.getElementById("RealTitle");
                var h1 = document.getElementsByTagName("h1")[0];
                if (realTitle && h1) {
                    h1.innerHTML = realTitle.innerHTML;
                    realTitleBanner.style.display = "none";
                }
            }
        }
    }
catch (e) {
    /* Algo deu errado. */
    }
}
addOnloadHook(rewritePageH1);
 
 
/** Wiki Mini Atlas ************************************************************************
  *  Descrição: Mini atlas para artigos com geocoodernadas.
  *      Autor: [[en:User:Dschwen]]
  ********************************************************************************************/
 
if (wgServer == "https://secure.wikimedia.org") {
  var metaBase = "https://secure.wikimedia.org/wikipedia/meta";
} else {
  var metaBase = "http://meta.wikimedia.org";
}
importScriptURI(metaBase+"/w/index.php?title=MediaWiki:Wikiminiatlas.js&action=raw&ctype=text/javascript&smaxage=21600&maxage=86400")
 
 
 
/** IRC CHAT ************************************************************************
  * 
  *     
  ********************************************************************************************/
 
if(document.getElementById && !document.location.href.match("action=edit") && !document.location.href.match("action=submit")) {
function loadLoginForm() {
  var box = document.getElementById("irclogin");
  var html = null;
  if(box) {
    html  = '<form method="post" action="http://chatwikizine.memebot.com/cgi-bin/cgiirc/irc.cgi" target="_blank" id="loginform" name="loginform">';
    html += '  <input type="hidden" id="interface" "name="interface" value="nonjs"/>';
    html += '  <input type="text" size="25" id="Nickname" name="Nickname" value="' + nickify(wgUserName) + '" onfocus="clear_text(this)"/>';
    html += '  <select id="metodo" name="metodo" onChange="setServer();"> <option value="Java">Java</option><option value="cgi">CGI</option> </select>';
    html += '  <input type="hidden" name="Character_set" value="utf-8"/>';
    html += '  <input type="hidden" id="rede" name="Server" value="irc.freenode.net"/>';
    html += '  <input type="hidden" id="ch" name="Channel" value="#wikipedia-pt"/>';
    html += '  <input type="submit" value="entrar" onclick="document.getElementById(\'loginform\').submit();"/>';
    html += '</form>';
    box.innerHTML = html;
  }
}
function setServer() {
  var selMetodo=document.getElementById("metodo");
  var nmMetodo=selMetodo.options[selMetodo.selectedIndex].value;
  if(nmMetodo == 'Java') {
    document.getElementById("rede").name = 'h';
    document.getElementById("Nickname").name = 'n';
    document.getElementById("ch").name = 'ch';
    document.getElementById("loginform").action = 'http://czat.computerserv.pl/';
  }else if(nmMetodo == 'cgi') {
        document.getElementById("rede").name = 'Server';
        document.getElementById("Nickname").name = 'Nickname';
        document.getElementById("ch").name = 'Channel';
        document.getElementById("loginform").action = 'http://chatwikizine.memebot.com/cgi-bin/cgiirc/irc.cgi';
        }
  setjs();
  }
 
  function nickify(s) {
    if(s == null) {
      return "anon" + Math.floor(Math.random()*100);
    }
    s = s.toLowerCase();
    s = s.replace(" ", "_");
    s = s.replace(/á/g, 'a');
    s = s.replace(/é/g, 'e');
    s = s.replace(/í/g, 'i');
    s = s.replace(/[óő]/g, 'o');
    s = s.replace(/[úű]/g, 'u');
    s = s.replace(/[^a-z0-9_-]/g, '');
    return s;
  }
  var irclogin_cleared = 0;
  function clear_text(field) {
    if(irclogin_cleared == 0) {
      irclogin_cleared = 1;
      field.value = "";
    }
  }
  function setjs() {
    if(navigator.product == 'Gecko') {
      document.loginform["interface"].value = 'mozilla';
    } else if(window.opera && document.childNodes) {
      document.loginform["interface"].value = 'opera7';
    } else if(navigator.appName == 'Microsoft Internet Explorer' &&
      navigator.userAgent.indexOf("Mac_PowerPC") > 0) {
      document.loginform["interface"].value = 'konqueror';
    } else if(navigator.appName == 'Microsoft Internet Explorer') {
      document.loginform["interface"].value = 'ie';
    } else if(navigator.appName == 'Konqueror') {
      document.loginform["interface"].value = 'konqueror';
    } else if(window.opera) {
      document.loginform["interface"].value = 'opera';
    }
  }
  addOnloadHook(loadLoginForm);
}
 
 
/** Collapsible tables *********************************************************
  *
  *  Description: Allows tables to be collapsed, showing only the header. See
  *              [[Wikipedia:NavFrame]].
  *  Maintainers: [[User:R. Koot]]
  */
 
 
var autoCollapse = 2;
var collapseCaption = "Esconder";
var expandCaption = "Expandir";
function collapseTable( 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;
    }
}
function createCollapseButtons()
{
    var tableIndex = 0;
    var NavigationBoxes = new Object();
    var Tables = document.getElementsByTagName( "table" );
    for ( var i = 0; i < Tables.length; i++ ) {
        if ( hasClass( Tables[i], "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.setAttribute( "href", "javascript:collapseTable(" + 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 ( hasClass( NavigationBoxes[i], "collapsed" ) || ( tableIndex >= autoCollapse && hasClass( NavigationBoxes[i], "autocollapse" ) ) ) {
            collapseTable( i );
        }
    }
}
addOnloadHook( createCollapseButtons );
/** Dynamic Navigation Bars (experimental) *************************************
  *
  *  Description: See [[Wikipedia:NavFrame]].
  *  Maintainers: UNMAINTAINED
  */
  // set up the words in your language
  var NavigationBarHide = '[' + collapseCaption + ']';
  var NavigationBarShow = '[' + expandCaption + ']';
  // shows and hides content and picture (if available) of navigation bars
  // Parameters:
  //    indexNavigationBar: the index of navigation bar to be toggled
  function toggleNavigationBar(indexNavigationBar)
  {
    var NavToggle = document.getElementById("NavToggle" + indexNavigationBar);
    var NavFrame = document.getElementById("NavFrame" + indexNavigationBar);
    if (!NavFrame || !NavToggle) {
        return false;
    }
    // if shown now
    if (NavToggle.firstChild.data == NavigationBarHide) {
        for (
                var NavChild = NavFrame.firstChild;
                NavChild != null;
                NavChild = NavChild.nextSibling
            ) {
            if ( hasClass( NavChild, 'NavPic' ) ) {
                NavChild.style.display = 'none';
            }
            if ( hasClass( NavChild, 'NavContent') ) {
                NavChild.style.display = 'none';
            }
        }
    NavToggle.firstChild.data = NavigationBarShow;
    // if hidden now
    } else if (NavToggle.firstChild.data == NavigationBarShow) {
        for (
                var NavChild = NavFrame.firstChild;
                NavChild != null;
                NavChild = NavChild.nextSibling
            ) {
            if (hasClass(NavChild, 'NavPic')) {
                NavChild.style.display = 'block';
            }
            if (hasClass(NavChild, 'NavContent')) {
                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
    var divs = document.getElementsByTagName("div");
    for(
            var i=0;
            NavFrame = divs[i];
            i++
        ) {
        // if found a navigation bar
        if (hasClass(NavFrame, "NavFrame")) {
            indexNavigationBar++;
            var NavToggle = document.createElement("a");
            NavToggle.className = 'NavToggle';
            NavToggle.setAttribute('id', 'NavToggle' + indexNavigationBar);
            NavToggle.setAttribute('href', 'javascript:toggleNavigationBar(' + indexNavigationBar + ');');
            var NavToggleText = document.createTextNode(NavigationBarHide);
            for (
                  var NavChild = NavFrame.firstChild;
                  NavChild != null;
                  NavChild = NavChild.nextSibling
                ) {
                if ( hasClass( NavChild, 'NavPic' ) || hasClass( NavChild, 'NavContent' ) ) {
                    if (NavChild.style.display == 'none') {
                        NavToggleText = document.createTextNode(NavigationBarShow);
                        break;
                    }
                }
            }
            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 (hasClass(NavFrame.childNodes[j], "NavHead")) {
                NavFrame.childNodes[j].appendChild(NavToggle);
              }
            }
            NavFrame.setAttribute('id', 'NavFrame' + indexNavigationBar);
        }
    }
  }
  addOnloadHook( createNavigationBarToggleButton );
 
 
/* Test if an element has a certain class **************************************
  *
  * Description: Uses regular expressions and caching for better performance.
  * Maintainers: [[User:Mike Dillon]], [[User:R. Koot]], [[User:SG]]
  */
var hasClass = (function () {
    var reCache = {};
    return function (element, className) {
        return (reCache[className] ? reCache[className] : (reCache[className] = new RegExp("(?:\\s|^)" + className + "(?:\\s|$)"))).test(element.className);
    };
})();
 
 
 
 
 
 
/** Caixa com abas - [[Predefinição:Metacaixa]] *********************************************
  *    Origem: [[:w:fr:MediaWiki:Common.js]] (traduzido de [[:w:ca:MediaWiki:Common.js]])
  * Descrição: Ver [[Predefinição:Metacaixa]]
  *    Autor: [[:w:ca:User:Peleguer]], [[:w:ca:User:Joanjoc]], [[:w:fr:User:Antaya]] (adaptação), [[:w:pt:Rei-artur]] (adaptação)
  ********************************************************************************************/
function CadreOngletInit(){
// retour si ailleurs que sur l'espace utilisateur,
// sachant que c'est une horreur au niveau de l'accessibilité
// et qu'il est impossible de "récupérer" ou de recycler ce script
// (celui-ci fonctionnant par inclusion de sous pages)
if ( wgNamespaceNumber == 0 || wgNamespaceNumber == 102 ) return; 
  var i=0     
  for (i=0;i<=9;i++){
    var vMb = document.getElementById("mb"+i);
    if (!vMb) break;
    var j=1   
    var vOgIni = 0 
    for (j=1;j<=9;j++){
        var vBt = document.getElementById("mb"+i+"bt"+j);
        if (!vBt) break;
        vBt.onclick = CadreOngletVoirOnglet;         
        if (vBt.className=="mbBoutonSel") vOgIni=j; 
    }
    if (vOgIni == 0) {
        vOgIni = 1+Math.floor((j-1)*Math.random()) ;
        document.getElementById("mb"+i+"og"+vOgIni).style.display = "block";
        document.getElementById("mb"+i+"og"+vOgIni).style.visibility = "visible";
        document.getElementById("mb"+i+"bt"+vOgIni).className="mbBoutonSel";
    }
  }
}
function CadreOngletVoirOnglet(){
  var vMbNom = this.id.substr(0,3);
  var vIndex = this.id.substr(5,1);
  var i=1
  for (i=1;i<=9;i++){       
        var vOgElem = document.getElementById(vMbNom+"og"+i);
        if (!vOgElem) break;
        if (vIndex==i){
                vOgElem.style.display = "block";
                vOgElem.style.visibility = "visible";
                document.getElementById(vMbNom+"bt"+i).className="mbBoutonSel";
        } else {           
                vOgElem.style.display = "none";
                vOgElem.style.visibility = "hidden";
                document.getElementById(vMbNom+"bt"+i).className="mbBouton";
        }
  }
  return false;
}
addOnloadHook(CadreOngletInit);
 
/* CÓDIGO JAVASCRIPT DE "METACAIXA" */
 
 
 
/** ***************************************************************************
  *  Descrição: Adiciona a predefinição {protegido} e {protegido-ip} automáticos para artigos protegidos
  *  Autor: [[:pt:User:Rei-artur]]
  ******************************************************************************/
addOnloadHook(function(){
  if( wgRestrictionEdit == "autoconfirmed" || wgRestrictionEdit == "sysop" ) {
    //para evitar as sobposições
    appendCSS('#destaques1 {right: 40px;}');
    appendCSS('#FIST1 {right: 40px;}');
    appendCSS('#atalho {right: 50px;}');
    if ( wgPageName == "Página_principal" ) {
    } else if (wgAction == "view" && wgRestrictionEdit == "sysop" ) {
      document.writeln('<div id="protegida" class="noprint"><a href="/wiki/Wikipedia:P%C3%A1gina_protegida" title="Esta página encontra-se protegida"><img alt="Esta página encontra-se protegida" src="http://upload.wikimedia.org/wikipedia/commons/thumb/f/ff/Crystal_Clear_action_lock.png/25px-Crystal_Clear_action_lock.png" width="25" height="25" border="0" /></a></div>');
 
    } else if (wgAction == "view" && wgRestrictionEdit == "autoconfirmed" ) {
      document.writeln('<div id="protegida" class="noprint"><a href="/wiki/Wikipedia:P%C3%A1gina_protegida" title="Esta página encontra-se protegida apenas para usuários não-cadastrados"><img alt="Esta página encontra-se protegida apenas para não-cadastrados" src="http://upload.wikimedia.org/wikipedia/commons/thumb/6/64/Crystal_Clear_action_lock3.png/25px-Crystal_Clear_action_lock3.png" width="25" height="25" border="0" /></a></div>');
    }
  }
});
 
 
/** Banners para dicas e doações vista apenas por anônimos **************************
    *  Descrição: Frases aleatórias que podem ser vistas por anônimos the bug:
    *  Autores: [[:en:User:Gmaxwell]], [[:en:User:MZMcBride]]
  ******************************************************************************/
if(wgUserName == null) addOnloadHook((function (){
    var message=new Array();
        message[0]='Suas <a href="http://wikimediafoundation.org/wiki/Coleta_de_fundos" class="extiw" title="Coleta de fundos"><b>doações</b></a> manterão a Wikipédia ativa!';
        message[1]='<a href="http://pt.wikipedia.org/wiki/Ajuda:Guia_de_edição/Como_criar_uma_conta" class="extiw" title="Como criar uma conta"><b>Criando uma conta</b></a>, você terá <a href="http://pt.wikipedia.org/wiki/Wikipedia:Por_que_se_registrar%3F" class="extiw" title="Vantagens"><b>algumas vantagens</b></a>!';
        message[2]='<a href="http://wikimediafoundation.org/wiki/Coleta_de_fundos" class="extiw" title="Coleta de fundos"><b>Faça uma doação</b></a> para a Wikipédia dar um dom de conhecimento!';
        message[3]='<a href="http://pt.wikipedia.org/wiki/Wikipedia:A_enciclopédia_livre" title="Saiba mais sobre a Wikipédia">Saiba mais sobre a Wikipédia.</a>';
        message[4]='A Wikipédia é mantida por pessoas como você. Por favor <a href="http://wikimediafoundation.org/wiki/Coleta_de_fundos" class="extiw" title="Coleta de fundos"><b>faça uma doação</b></a> hoje.';
        message[5]='<a href="http://pt.wikipedia.org/wiki/Wikipedia:10_coisas_que_você_não_sabia_sobre_a_Wikipédia" title="As 10 coisas que você não sabia sobre a Wikipédia">As 10 coisas que você não sabia sobre a Wikipédia.</a>';
        message[6]='Ajude-nos a melhorar a Wikipédia <a href="http://wikimediafoundation.org/wiki/Coleta_de_fundos" class="extiw" title="Coleta de fundos"><b>fazendo uma doação</b></a>.';
        message[7]='<a href="http://pt.wikipedia.org/wiki/Wikipedia:O_que_a_Wikipédia_não_é" title="O que a Wikipédia não é">O que a Wikipédia não é?</a>';
        message[8]='Ajude-nos a fornecer conteúdo gratuito para mundo <a href="http://wikimediafoundation.org/wiki/Coleta_de_fundos" class="extiw" title="Coleta de fundos"><b>doando hoje</b></a>!';
        message[9]='<a href="http://pt.wikipedia.org/wiki/Wikipedia:Citando_a_Wikipédia" title="Saiba mais sobre como citar a Wikipédia">Saiba mais sobre como citar a Wikipédia.</a>';
        message[10]='<a href="http://pt.wikipedia.org/wiki/Wikipedia:Por_que_eu_deveria_contribuir_para_a_Wikipédia" class="extiw" title="Por que contribuir para a Wikipédia?">Por que contribuir para a Wikipédia?</a>';
        message[11]='<a href="http://pt.wikipedia.org/wiki/Wikipedia:Cinco_pilares" title="Os princípios fundadores da Wikipédia">Os princípios fundadores da Wikipédia</a>';
        message[12]='<a href="http://pt.wikipedia.org/wiki/Wikipedia:Coisas_a_não_fazer" title="Coisas que não podem ser feitas de maneira alguma">Coisas que não podem ser feitas de maneira alguma.</a>';
        message[13]='<a href="http://pt.wikipedia.org/wiki/Wikipedia:Como_contribuir_para_a_Wikipédia" title="Como contribuir para a Wikipédia">Quer contribuir para a Wikipédia?</a>';
        message[14]='<a href="http://pt.wikipedia.org/wiki/Wikipedia:Navegue" title="Navegue pela Wikipédia para encontrar mais informações">Navegue pela Wikipédia para encontrar mais informações.</a>';
    var weightLimit = 9;
    var biasPercent = 0.815;
    var whichMessage = (Math.random() < biasPercent) ? weightLimit : message.length;
    whichMessage = Math.floor(Math.random() * whichMessage);
    var wrapper = document.getElementById("globalWrapper");
    if (wrapper) {
        var div = document.createElement('div');
        div.id = "anon-banner";
        div.className = "noprint";
        div.style.cssText = "position:absolute; z-index:40; left:155px; top:1px; clear:both; float:left; font-size:90%; font-style:italic; white-space:nowrap";
        div.innerHTML = message[whichMessage];
        wrapper.insertBefore(div, wrapper.firstChild);
    }
}));
 
.

Edição das 13h33min de 31 de março de 2010

document.write('<script type="text/javascript" src="'
+ 'http://pt.wikipedia.org/w/index.php?title=MediaWiki:Commons.js'
+ '&action=raw&ctype=text/javascript&dontcountme=s"></script>');