MediaWiki:Common.js e Wikiquote:Página de testes: diferenças entre as páginas
mSem resumo de edição |
m Mais correções: addLoadEvent está obsoleta; MediaWiki:UploadForm.js só é necessário na Special:Upload; links https no servidor seguro; atualização da TransformeEmPaginaDeDiscussao a partir do Wikilivros e rewritePageH1 da Wikipédia |
||
Linha 1: | Linha 1: | ||
/* Código Javascript colocado aqui será carregado para todos os utilizadores em cada carregamento de página */ |
/* Código Javascript colocado aqui será carregado para todos os utilizadores em cada carregamento de página */ |
||
// <source lang="javascript"> |
|||
if (wgAction |
if ($.inArray( mw.config.get( 'wgAction' ), [ "edit" , "submit" ]) > -1) |
||
{ |
{ |
||
var load_edittools = true; |
var load_edittools = true; |
||
importScript("MediaWiki:Edittools.js") |
importScript("MediaWiki:Edittools.js"); |
||
importScript("MediaWiki:Extrabo.js") |
importScript("MediaWiki:Extrabo.js"); |
||
importScript("MediaWiki:Forcepreview.js") |
importScript("MediaWiki:Forcepreview.js"); |
||
} |
} |
||
else if ( |
else if ( mw.config.get( 'wgCanonicalSpecialPageName' ) == 'Search' ) |
||
{ |
{ |
||
importScript("MediaWiki:Search.js") |
importScript("MediaWiki:Search.js"); |
||
} |
} |
||
if (navigator.appName == "Microsoft Internet Explorer") |
|||
{ |
{ |
||
importScript("MediaWiki:IEFixes.js") |
importScript("MediaWiki:IEFixes.js"); |
||
} |
} |
||
if ( mw.config.get( 'wgAction' ) === 'view' |
|||
else if( wgRestrictionEdit == "autoconfirmed" || wgRestrictionEdit == "sysop" ) |
|||
&& !mw.config.get( 'wgCanonicalSpecialPageName' ) |
|||
{ |
|||
&& !$.isEmpty( mw.config.get( 'wgRestrictionEdit' ) ) |
|||
⚫ | |||
&& $.inArray( mw.config.get( 'wgRestrictionEdit' )[0], ['autoconfirmed', 'sysop'] ) > -1 |
|||
&& mw.config.get( 'wgPageName' ) !== 'Página_principal' |
|||
) { |
|||
⚫ | |||
} |
} |
||
Linha 28: | Linha 31: | ||
* Upload form |
* Upload form |
||
*/ |
*/ |
||
if ( mw.config.get( 'wgCanonicalSpecialPageName' ) == 'Upload' ) { |
|||
importScript('MediaWiki:UploadForm.js') |
importScript('MediaWiki:UploadForm.js'); |
||
} |
|||
Linha 36: | Linha 40: | ||
********************************************************************************************/ |
********************************************************************************************/ |
||
mw.util.addCSS( '#interProject, #sisterProjects {display: none; speak: none;} #p-tb .pBody {padding-right: 0;}' ); |
|||
function iProject() { |
function iProject() { |
||
if (document.getElementById("interProject")) { |
if (document.getElementById("interProject")) { |
||
var |
var iProjectElem = document.getElementById("interProject").innerHTML, |
||
interProject = document.createElement("div"); |
|||
interProject.style.marginTop = "0.7em"; |
interProject.style.marginTop = "0.7em"; |
||
interProject.innerHTML = '<h5>Correlatos<\/h5><div class="pBody">'+ |
interProject.innerHTML = '<h5>Correlatos<\/h5><div class="pBody">'+iProjectElem+'<\/div>'; |
||
document.getElementById("p-tb").appendChild(interProject); |
document.getElementById("p-tb").appendChild(interProject); |
||
} |
} |
||
} |
} |
||
$(iProject); |
|||
/** Commons ****************************************************************************** |
/** Commons ****************************************************************************** |
||
Linha 54: | Linha 58: | ||
function linkUploadToCommons() |
function linkUploadToCommons() |
||
{ |
{ |
||
if (document.getElementById("carrega-para-commons")) |
if (document.getElementById("carrega-para-commons")) { |
||
⚫ | |||
⚫ | |||
var li_carrega = document.getElementById("t-upload"); |
var li_carrega = document.getElementById("t-upload"); |
||
if (!li_carrega) |
if (!li_carrega) { |
||
⚫ | |||
⚫ | |||
var afegit = li_carrega.nextSibling; |
var afegit = li_carrega.nextSibling; |
||
var ul_eines = li_carrega.parentNode; |
var ul_eines = li_carrega.parentNode; |
||
var li = document.createElement("li"); |
var li = document.createElement("li"); |
||
var commonsURL = 'http://commons.wikimedia.org/wiki/Special:Upload'; |
|||
if (mw.config.get('wgServer').indexOf('https://') === 0) { |
|||
commonsURL = 'https://secure.wikimedia.org/wikipedia/commons/wiki/Special:Upload'; |
|||
⚫ | |||
li.id = "carrega-para-commons"; |
li.id = "carrega-para-commons"; |
||
li.innerHTML = '<a href=" |
li.innerHTML = '<a href="' + commonsURL + '">Carregar no Commons</a>'; |
||
if (afegit) ul_eines.insertBefore(li, afegit); |
if (afegit) { |
||
ul_eines.insertBefore(li, afegit); |
|||
else ul_eines.appendChild(li); |
} |
||
else { |
|||
ul_eines.appendChild(li); |
|||
⚫ | |||
} |
} |
||
$(linkUploadToCommons); |
|||
Linha 76: | Linha 92: | ||
if (!window.aOnloadFunctions) { |
if (!window.aOnloadFunctions) { |
||
var aOnloadFunctions = |
var aOnloadFunctions = []; |
||
} |
} |
||
Linha 85: | Linha 101: | ||
} |
} |
||
} |
} |
||
} |
}; |
||
// END Enable multiple onload functions |
// END Enable multiple onload functions |
||
// ============================================================ |
// ============================================================ |
||
// @deprecated: Use a função $() do jQuery |
|||
⚫ | |||
function addLoadEvent(func) |
function addLoadEvent(func) |
||
{ |
{ |
||
if (window.addEventListener) |
if (window.addEventListener) { |
||
window.addEventListener("load", func, false); |
window.addEventListener("load", func, false); |
||
else if (window.attachEvent) |
} else if (window.attachEvent) { |
||
window.attachEvent("onload", func); |
window.attachEvent("onload", func); |
||
} |
|||
} |
} |
||
Linha 120: | Linha 137: | ||
function toggleNavigationBar(indexNavigationBar) |
function toggleNavigationBar(indexNavigationBar) |
||
{ |
{ |
||
var NavToggle = document.getElementById("NavToggle" + indexNavigationBar) |
var NavToggle = document.getElementById("NavToggle" + indexNavigationBar), |
||
NavFrame = document.getElementById("NavFrame" + indexNavigationBar), |
|||
NavChild; |
|||
if (!NavFrame || !NavToggle) { |
if (!NavFrame || !NavToggle) { |
||
Linha 130: | Linha 148: | ||
if (NavToggle.firstChild.data == NavigationBarHide) { |
if (NavToggle.firstChild.data == NavigationBarHide) { |
||
for ( |
for ( |
||
NavChild = NavFrame.firstChild; |
|||
NavChild != null; |
NavChild !== null; |
||
NavChild = NavChild.nextSibling |
NavChild = NavChild.nextSibling |
||
) { |
) { |
||
Linha 146: | Linha 164: | ||
} else if (NavToggle.firstChild.data == NavigationBarShow) { |
} else if (NavToggle.firstChild.data == NavigationBarShow) { |
||
for ( |
for ( |
||
NavChild = NavFrame.firstChild; |
|||
NavChild != null; |
NavChild !== null; |
||
NavChild = NavChild.nextSibling |
NavChild = NavChild.nextSibling |
||
) { |
) { |
||
Linha 164: | Linha 182: | ||
function createNavigationBarToggleButton() |
function createNavigationBarToggleButton() |
||
{ |
{ |
||
var indexNavigationBar = 0; |
var indexNavigationBar = 0, i; |
||
// iterate over all < div >-elements |
// iterate over all < div >-elements |
||
⚫ | |||
for( |
for( |
||
⚫ | |||
var i=0; |
|||
NavFrame; |
|||
⚫ | |||
i++ |
|||
⚫ | |||
) { |
|||
// if found a navigation bar |
// if found a navigation bar |
||
if (NavFrame.className == "NavFrame") { |
if (NavFrame.className == "NavFrame") { |
||
Linha 194: | Linha 213: | ||
NavFrame.setAttribute('id', 'NavFrame' + indexNavigationBar); |
NavFrame.setAttribute('id', 'NavFrame' + indexNavigationBar); |
||
} |
} |
||
NavFrame = document.getElementsByTagName("div")[i]; |
|||
} |
} |
||
// if more Navigation Bars found than Default: hide all |
// if more Navigation Bars found than Default: hide all |
||
if (NavigationBarShowDefault < indexNavigationBar) { |
if (NavigationBarShowDefault < indexNavigationBar) { |
||
for( |
for( |
||
i=1; |
|||
i<=indexNavigationBar; |
i<=indexNavigationBar; |
||
i++ |
i++ |
||
Linha 208: | Linha 228: | ||
} |
} |
||
$(createNavigationBarToggleButton); |
|||
/* Interwikis */ |
/* Interwikis */ |
||
Linha 215: | Linha 235: | ||
{ |
{ |
||
// iterate over all <span>-elements |
// iterate over all <span>-elements |
||
for(var i=0 |
for(var i=0, a = document.getElementsByTagName("span")[0]; a; i++) { |
||
// if found a linkInfo span |
// if found a linkInfo span |
||
if(a.className == "interwiki-info") { |
if(a.className == "interwiki-info") { |
||
Linha 221: | Linha 241: | ||
var count=0; |
var count=0; |
||
for(var j=0 |
for(var j=0, b = document.getElementsByTagName("li")[0]; b; j++) { |
||
if(b.className == "interwiki-" + a.id) { |
if(b.className == "interwiki-" + a.id) { |
||
b.innerHTML = b.innerHTML + " "+a.title; |
b.innerHTML = b.innerHTML + " "+a.title; |
||
if(a.title == "(vo)") { b.title = "Texto original"; } |
if(a.title == "(vo)") { b.title = "Texto original"; } |
||
} |
} |
||
else if(b.className == "interwiki-" + a.id.substr(0,a.id.length-1)) { |
|||
count = count+1; |
count = count+1; |
||
if(a.id.charAt(a.id.length-1) == count) { |
if(a.id.charAt(a.id.length-1) == count) { |
||
Linha 232: | Linha 252: | ||
} |
} |
||
} |
} |
||
b = document.getElementsByTagName("li")[j]; |
|||
} |
} |
||
} |
} |
||
a = document.getElementsByTagName("span")[i]; |
|||
} |
} |
||
} |
} |
||
$(interwikiExtra); |
|||
/** Banners para dicas e doações vista apenas por anônimos ************************** |
/** Banners para dicas e doações vista apenas por anônimos ************************** |
||
Linha 243: | Linha 265: | ||
* Autores: [[:en:User:Gmaxwell]], [[:en:User:MZMcBride]] |
* Autores: [[:en:User:Gmaxwell]], [[:en:User:MZMcBride]] |
||
******************************************************************************/ |
******************************************************************************/ |
||
importScript('MediaWiki:WikiBanners.js') |
importScript('MediaWiki:WikiBanners.js'); |
||
/** |
|||
/** Altera o título da página ************************************************************** |
|||
* Altera o título da página |
|||
⚫ | |||
⚫ | |||
* A função procura por um banner como: |
|||
* <nowiki><div id="RealTitleBanner">Div that is hidden</nowiki> |
|||
* <nowiki><div id="RealTitleBanner">Div que está oculto</nowiki> |
|||
* <nowiki><span id="RealTitle">título</span></nowiki> |
|||
* <nowiki></div></nowiki> |
|||
* Um elemento com id=DisableRealTitle desabilita a função |
|||
********************************************************************************************/ |
|||
⚫ | |||
⚫ | |||
*/ |
|||
rewritePageH1 = function () { |
|||
⚫ | |||
try { |
|||
var realTitleBanner = document.getElementById( 'RealTitleBanner' ); |
|||
if (realTitleBanner) { |
|||
if (!document.getElementById("DisableRealTitle")) { |
|||
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) { |
} catch (e) { |
||
mw.log( 'Algo deu errado ao tentar reescrever o título da página.' ); |
|||
/* Algo deu errado. */ |
|||
⚫ | |||
⚫ | |||
}; |
|||
$( rewritePageH1 ); |
|||
/** |
|||
/** Transforma determinadas páginas em páginas de discussão ** |
|||
⚫ | |||
* @source: [[:fr:w:MediaWiki:Common.js]] |
|||
⚫ | |||
* @author: [[:fr:User:Aoineko]] |
|||
*/ |
|||
$(function() { |
|||
⚫ | |||
if ( $('#PaginaDeDiscussao').length ) { |
|||
function TransformeEmPaginaDeDiscussao() { |
|||
$(document.body).removeClass('ns-subject').addClass('ns-talk'); |
|||
} |
|||
document.body.className = 'ns-talk'; |
|||
} |
}); |
||
addOnloadHook(TransformeEmPaginaDeDiscussao); |
|||
// </source> |
Revisão das 20h57min de 11 de agosto de 2011
/* Código Javascript colocado aqui será carregado para todos os utilizadores em cada carregamento de página */
if ($.inArray( mw.config.get( 'wgAction' ), [ "edit" , "submit" ]) > -1) {
var load_edittools = true; importScript("MediaWiki:Edittools.js"); importScript("MediaWiki:Extrabo.js"); importScript("MediaWiki:Forcepreview.js");
}
else if ( mw.config.get( 'wgCanonicalSpecialPageName' ) == 'Search' ) {
importScript("MediaWiki:Search.js");
}
if (navigator.appName == "Microsoft Internet Explorer") {
importScript("MediaWiki:IEFixes.js");
}
if ( mw.config.get( 'wgAction' ) === 'view' && !mw.config.get( 'wgCanonicalSpecialPageName' ) && !$.isEmpty( mw.config.get( 'wgRestrictionEdit' ) ) && $.inArray( mw.config.get( 'wgRestrictionEdit' )[0], ['autoconfirmed', 'sysop'] ) > -1 && mw.config.get( 'wgPageName' ) !== 'Página_principal' ) { importScript( 'MediaWiki:Topicon.js' ); }
/*
* Upload form */
if ( mw.config.get( 'wgCanonicalSpecialPageName' ) == 'Upload' ) {
importScript('MediaWiki:UploadForm.js');
}
/** Correlatos ******************************************************************************
* Descrição:Correlatos no menu lateral. Código copiado do de:wikt ********************************************************************************************/
mw.util.addCSS( '#interProject, #sisterProjects {display: none; speak: none;} #p-tb .pBody {padding-right: 0;}' );
function iProject() { if (document.getElementById("interProject")) { var iProjectElem = document.getElementById("interProject").innerHTML, interProject = document.createElement("div"); interProject.style.marginTop = "0.7em";
interProject.innerHTML = '
Correlatos<\/h5>'+iProjectElem+'<\/div>';
document.getElementById("p-tb").appendChild(interProject);
}
}
$(iProject);
/** Commons ******************************************************************************
* Descrição:Adiciona um link direto para carregamentos no Commons
********************************************************************************************/
function linkUploadToCommons()
{
if (document.getElementById("carrega-para-commons")) {
return;
}
var li_carrega = document.getElementById("t-upload");
if (!li_carrega) {
return;
}
var afegit = li_carrega.nextSibling;
var ul_eines = li_carrega.parentNode;
var li = document.createElement("li");
var commonsURL = 'http://commons.wikimedia.org/wiki/Special:Upload';
if (mw.config.get('wgServer').indexOf('https://') === 0) {
commonsURL = 'https://secure.wikimedia.org/wikipedia/commons/wiki/Special:Upload';
}
li.id = "carrega-para-commons";
li.innerHTML = '<a href="' + commonsURL + '">Carregar no Commons</a>';
if (afegit) {
ul_eines.insertBefore(li, afegit);
}
else {
ul_eines.appendChild(li);
}
}
$(linkUploadToCommons);
// ============================================================
// BEGIN Enable multiple onload functions
// setup onload functions this way:
// aOnloadFunctions[aOnloadFunctions.length] = function_name; // without brackets!
if (!window.aOnloadFunctions) {
var aOnloadFunctions = [];
}
window.onload = function() {
if (window.aOnloadFunctions) {
for (var _i=0; _i<aOnloadFunctions.length; _i++) {
aOnloadFunctions[_i]();
}
}
};
// END Enable multiple onload functions
// ============================================================
// @deprecated: Use a função $() do jQuery
function addLoadEvent(func)
{
if (window.addEventListener) {
window.addEventListener("load", func, false);
} else if (window.attachEvent) {
window.attachEvent("onload", func);
}
}
/* Barras de navegação */
/** Barras de navegação dinâmica ************************************************************
* Origem: it:MediaWiki:Common.js
********************************************************************************************/
// set up the words in your language
var NavigationBarHide = ' [ocultar]';
var NavigationBarShow = ' [exibir]';
// set up max count of Navigation Bars on page,
// if there are more, all will be hidden
// NavigationBarShowDefault = 0; // all bars will be hidden
// NavigationBarShowDefault = 1; // on pages with more than 1 bar all bars will be hidden
var NavigationBarShowDefault = 0;
// 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),
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.className == 'NavPic') {
NavChild.style.display = 'none';
}
if (NavChild.className == 'NavContent') {
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.className == 'NavPic') {
NavChild.style.display = 'block';
}
if (NavChild.className == 'NavContent') {
NavChild.style.display = 'block';
}
}
NavToggle.firstChild.data = NavigationBarHide;
}
}
// adds show/hide-button to navigation bars
function createNavigationBarToggleButton()
{
var indexNavigationBar = 0, i;
// iterate over all < div >-elements
for(
i=0, NavFrame = document.getElementsByTagName("div")[0];
NavFrame;
i++
) {
// if found a navigation bar
if (NavFrame.className == "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);
NavToggle.appendChild(NavToggleText);
// Find the NavHead and attach the toggle link (Must be this complicated because Moz's firstChild handling is borked)
for(
var j=0;
j < NavFrame.childNodes.length;
j++
) {
if (NavFrame.childNodes[j].className == "NavHead") {
NavFrame.childNodes[j].appendChild(NavToggle);
}
}
NavFrame.setAttribute('id', 'NavFrame' + indexNavigationBar);
}
NavFrame = document.getElementsByTagName("div")[i];
}
// if more Navigation Bars found than Default: hide all
if (NavigationBarShowDefault < indexNavigationBar) {
for(
i=1;
i<=indexNavigationBar;
i++
) {
toggleNavigationBar(i);
}
}
}
$(createNavigationBarToggleButton);
/* Interwikis */
function interwikiExtra()
{
// iterate over all -elements
for(var i=0, a = document.getElementsByTagName("span")[0]; a; i++) {
// if found a linkInfo span
if(a.className == "interwiki-info") {
// iterate over all -elements
var count=0;
for(var j=0, b = document.getElementsByTagName("li")[0]; b; j++) {
if(b.className == "interwiki-" + a.id) {
b.innerHTML = b.innerHTML + " "+a.title;
if(a.title == "(vo)") { b.title = "Texto original"; }
}
else if(b.className == "interwiki-" + a.id.substr(0,a.id.length-1)) {
count = count+1;
if(a.id.charAt(a.id.length-1) == count) {
b.innerHTML = b.innerHTML + " "+a.title;
}
}
b = document.getElementsByTagName("li")[j];
}
}
a = document.getElementsByTagName("span")[i];
}
}
$(interwikiExtra);
/** 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
******************************************************************************/
importScript('MediaWiki:WikiBanners.js');
/**
* Altera o título da página
*
* A função procura por um banner como:
* <div id="RealTitleBanner">Div que está oculto
* <span id="RealTitle">título</span>
* </div>
* Um elemento com id=DisableRealTitle desabilita a função
* @source: w:en:MediaWiki:Common.js
*/
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) {
mw.log( 'Algo deu errado ao tentar reescrever o título da página.' );
}
};
$( rewritePageH1 );
/**
* Transforma páginas comuns em páginas de discussão, para permitir coloração baseada na indentação
* @source: fr:w:MediaWiki:Common.js
* @author: fr:User:Aoineko
*/
$(function() {
if ( $('#PaginaDeDiscussao').length ) {
$(document.body).removeClass('ns-subject').addClass('ns-talk');
}
});
document.getElementById("p-tb").appendChild(interProject); } }
$(iProject);
/** Commons ******************************************************************************
* Descrição:Adiciona um link direto para carregamentos no Commons ********************************************************************************************/
function linkUploadToCommons() {
if (document.getElementById("carrega-para-commons")) { return; } var li_carrega = document.getElementById("t-upload"); if (!li_carrega) { return; } var afegit = li_carrega.nextSibling; var ul_eines = li_carrega.parentNode; var li = document.createElement("li"); var commonsURL = 'http://commons.wikimedia.org/wiki/Special:Upload'; if (mw.config.get('wgServer').indexOf('https://') === 0) { commonsURL = 'https://secure.wikimedia.org/wikipedia/commons/wiki/Special:Upload'; } li.id = "carrega-para-commons"; li.innerHTML = '<a href="' + commonsURL + '">Carregar no Commons</a>'; if (afegit) { ul_eines.insertBefore(li, afegit); } else { ul_eines.appendChild(li); }
}
$(linkUploadToCommons);
// ============================================================
// BEGIN Enable multiple onload functions
// setup onload functions this way: // aOnloadFunctions[aOnloadFunctions.length] = function_name; // without brackets!
if (!window.aOnloadFunctions) {
var aOnloadFunctions = [];
}
window.onload = function() {
if (window.aOnloadFunctions) { for (var _i=0; _i<aOnloadFunctions.length; _i++) { aOnloadFunctions[_i](); } }
};
// END Enable multiple onload functions // ============================================================ // @deprecated: Use a função $() do jQuery function addLoadEvent(func) {
if (window.addEventListener) { window.addEventListener("load", func, false); } else if (window.attachEvent) { window.attachEvent("onload", func); }
}
/* Barras de navegação */
/** Barras de navegação dinâmica ************************************************************ * Origem: it:MediaWiki:Common.js ********************************************************************************************/
// set up the words in your language var NavigationBarHide = ' [ocultar]'; var NavigationBarShow = ' [exibir]';
// set up max count of Navigation Bars on page, // if there are more, all will be hidden // NavigationBarShowDefault = 0; // all bars will be hidden // NavigationBarShowDefault = 1; // on pages with more than 1 bar all bars will be hidden var NavigationBarShowDefault = 0;
// 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),
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.className == 'NavPic') { NavChild.style.display = 'none'; } if (NavChild.className == 'NavContent') { 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.className == 'NavPic') { NavChild.style.display = 'block'; } if (NavChild.className == 'NavContent') { NavChild.style.display = 'block'; } } NavToggle.firstChild.data = NavigationBarHide; }
}
// adds show/hide-button to navigation bars function createNavigationBarToggleButton() {
var indexNavigationBar = 0, i; // iterate over all < div >-elements
for(
i=0, NavFrame = document.getElementsByTagName("div")[0]; NavFrame; i++ ) {
// if found a navigation bar if (NavFrame.className == "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); NavToggle.appendChild(NavToggleText); // Find the NavHead and attach the toggle link (Must be this complicated because Moz's firstChild handling is borked) for( var j=0; j < NavFrame.childNodes.length; j++ ) { if (NavFrame.childNodes[j].className == "NavHead") { NavFrame.childNodes[j].appendChild(NavToggle); } } NavFrame.setAttribute('id', 'NavFrame' + indexNavigationBar); }
NavFrame = document.getElementsByTagName("div")[i];
} // if more Navigation Bars found than Default: hide all if (NavigationBarShowDefault < indexNavigationBar) { for( i=1; i<=indexNavigationBar; i++ ) { toggleNavigationBar(i); } }
}
$(createNavigationBarToggleButton);
/* Interwikis */
function interwikiExtra() {
// iterate over all -elements
for(var i=0, a = document.getElementsByTagName("span")[0]; a; i++) {
// if found a linkInfo span
if(a.className == "interwiki-info") {
// iterate over all