MediaWiki:Common.js e Ajuda:Página de testes/1: diferenças entre as páginas

Origem: Wikipédia, a enciclopédia livre.
(Diferenças entre páginas)
Conteúdo apagado Conteúdo adicionado
 
m Correções de erros do MediaWiki:Common.js apontados pelo JSHint; inclusão (temporária) da versão mais recente da mw.util.wikiGetlink, que corrige o bugzilla:27916
 
Linha 8: Linha 8:
return mw.util.getParamValue( paramName, url );
return mw.util.getParamValue( paramName, url );
}
}
// Remover quando a [[rev:87208]] for aplicada à cópia do MW em uso nas wikis da WMF
mw.util.wikiGetlink = function( str ) {
return mw.config.get( 'wgArticlePath' ).replace( '$1',
mw.util.wikiUrlencode( str || mw.config.get( 'wgPageName' ) ) );
};


/* Test if an element has a certain class
/* Test if an element has a certain class
Linha 135: Linha 140:
*/
*/
var extraJS = mw.util.getParamValue( 'withJS' );
var extraJS = mw.util.getParamValue( 'withJS' );
if (extraJS && extraJS.match( '^MediaWiki:[^&<>=%]*\.js$' )) {
if (extraJS && extraJS.match( /^MediaWiki:[^&<>=%]*\.js$/ )) {
importScript(extraJS);
importScript(extraJS);
}
}
Linha 187: Linha 192:
*/
*/
function adiciona_correlatos() {
function adiciona_correlatos() {
if (iProjectHTML = document.getElementById( 'interProject' )) {
iProjectHTML = document.getElementById( 'interProject' );
if (iProjectHTML) {
iProjectHTML = iProjectHTML.innerHTML;
iProjectHTML = iProjectHTML.innerHTML;
var iProject = document.createElement( 'div' );
var iProject = document.createElement( 'div' );
Linha 233: Linha 239:
/* Algo deu errado. */
/* Algo deu errado. */
}
}
}
};
$( rewritePageH1 );
$( rewritePageH1 );


Linha 255: Linha 261:
* as predefinições forem adaptadas para usar o novo plugin
* as predefinições forem adaptadas para usar o novo plugin
*/
*/
var autoCollapse = 2,
var autoCollapse = 2,
collapseCaption = 'Esconder',
collapseCaption = 'Esconder',
expandCaption = 'Expandir';
expandCaption = 'Expandir';
Linha 264: Linha 270:
*/
*/
function collapseTable( tableIndex ) {
function collapseTable( tableIndex ) {
var i;
var Button = document.getElementById( 'collapseButton' + tableIndex );
var Button = document.getElementById( 'collapseButton' + tableIndex );
var Table = document.getElementById( 'collapsibleTable' + tableIndex );
var Table = document.getElementById( 'collapsibleTable' + tableIndex );
Linha 274: Linha 281:


if (Button.firstChild.data == collapseCaption) {
if (Button.firstChild.data == collapseCaption) {
for (var i = 1; i < Rows.length; i++) {
for (i = 1; i < Rows.length; i++) {
Rows[i].style.display = 'none';
Rows[i].style.display = 'none';
}
}
Button.firstChild.data = expandCaption;
Button.firstChild.data = expandCaption;
} else {
} else {
for (var i = 1; i < Rows.length; i++) {
for (i = 1; i < Rows.length; i++) {
Rows[i].style.display = Rows[0].style.display;
Rows[i].style.display = Rows[0].style.display;
}
}
Linha 287: Linha 294:


function createCollapseButtons() {
function createCollapseButtons() {
var i;
var tableIndex = 0;
var tableIndex = 0;
var NavigationBoxes = new Object();
var NavigationBoxes = {};
var Tables = document.getElementsByTagName( 'table' );
var Tables = document.getElementsByTagName( 'table' );


for (var i = 0; i < Tables.length; i++) {
for (i = 0; i < Tables.length; i++) {
if (hasClass(Tables[i], 'collapsible' )) {
if (hasClass(Tables[i], 'collapsible' )) {


/* only add button and increment count if there is a header row to work with */
/* only add button and increment count if there is a header row to work with */
var HeaderRow = Tables[i].getElementsByTagName( 'tr' )[0];
var HeaderRow = Tables[i].getElementsByTagName( 'tr' )[0];
if (!HeaderRow) continue;
if (!HeaderRow) {continue;}
var Header = HeaderRow.getElementsByTagName( 'th' )[0];
var Header = HeaderRow.getElementsByTagName( 'th' )[0];
if (!Header) continue;
if (!Header) {continue;}


NavigationBoxes[tableIndex] = Tables[i];
NavigationBoxes[tableIndex] = Tables[i];
Linha 327: Linha 335:
}
}


for (var i = 0; i < tableIndex; i++) {
for (i = 0; i < tableIndex; i++) {
if (hasClass(NavigationBoxes[i], 'collapsed' ) || (tableIndex >= autoCollapse && hasClass(NavigationBoxes[i], 'autocollapse' ))) {
if (hasClass(NavigationBoxes[i], 'collapsed' ) || (tableIndex >= autoCollapse && hasClass(NavigationBoxes[i], 'autocollapse' ))) {
collapseTable(i);
collapseTable(i);
Linha 345: Linha 353:


// set up the words in your language
// set up the words in your language
var NavigationBarHide = '[' + collapseCaption + ']',
var NavigationBarHide = '[' + collapseCaption + ']',
NavigationBarShow = '[' + expandCaption + ']';
NavigationBarShow = '[' + expandCaption + ']';


Linha 354: Linha 362:
*/
*/
function toggleNavigationBar(indexNavigationBar) {
function toggleNavigationBar(indexNavigationBar) {
var NavChild;
var NavToggle = document.getElementById( 'NavToggle' + indexNavigationBar);
var NavToggle = document.getElementById( 'NavToggle' + indexNavigationBar);
var NavFrame = document.getElementById( 'NavFrame' + indexNavigationBar);
var NavFrame = document.getElementById( 'NavFrame' + indexNavigationBar);
Linha 364: Linha 373:
if (NavToggle.firstChild.data == NavigationBarHide) {
if (NavToggle.firstChild.data == NavigationBarHide) {
for (
for (
var NavChild = NavFrame.firstChild;
NavChild = NavFrame.firstChild;
NavChild != null;
NavChild !== null;
NavChild = NavChild.nextSibling) {
NavChild = NavChild.nextSibling) {
if (hasClass(NavChild, 'NavPic' )) {
if (hasClass(NavChild, 'NavPic' )) {
Linha 379: Linha 388:
} else if (NavToggle.firstChild.data == NavigationBarShow) {
} else if (NavToggle.firstChild.data == NavigationBarShow) {
for (
for (
var NavChild = NavFrame.firstChild;
NavChild = NavFrame.firstChild;
NavChild != null;
NavChild !== null;
NavChild = NavChild.nextSibling) {
NavChild = NavChild.nextSibling) {
if (hasClass(NavChild, 'NavPic' )) {
if (hasClass(NavChild, 'NavPic' )) {
Linha 398: Linha 407:
// iterate over all < div >-elements
// iterate over all < div >-elements
var divs = document.getElementsByTagName( 'div' );
var divs = document.getElementsByTagName( 'div' );
NavFrame = divs[i];
for (
for (
var i = 0;
var i = 0;
NavFrame = divs[i];
NavFrame;
i++) {
i++) {
// if found a navigation bar
// if found a navigation bar
Linha 414: Linha 424:
for (
for (
var NavChild = NavFrame.firstChild;
var NavChild = NavFrame.firstChild;
NavChild != null;
NavChild !== null;
NavChild = NavChild.nextSibling) {
NavChild = NavChild.nextSibling) {
if (hasClass(NavChild, 'NavPic' ) || hasClass(NavChild, 'NavContent' )) {
if (hasClass(NavChild, 'NavPic' ) || hasClass(NavChild, 'NavContent' )) {
Linha 436: Linha 446:
NavFrame.setAttribute( 'id', 'NavFrame' + indexNavigationBar);
NavFrame.setAttribute( 'id', 'NavFrame' + indexNavigationBar);
}
}
NavFrame = divs[i];
}
}
}
}
Linha 479: Linha 490:
*/
*/
function CadreOngletVoirOnglet() {
function CadreOngletVoirOnglet() {
var vMbNom = this.id.substr( 0, 3 ),
var vMbNom = this.id.substr( 0, 3 ),
vIndex = this.id.substr( 5, 1 ),
vIndex = this.id.substr( 5, 1 ),
i;
i;

Revisão das 19h31min de 8 de agosto de 2011

/* Todo código JavaScript presente aqui será carregado por todos os usuários em cada página carregada. */

/**

* Extração de um parâmetro da URL atual ou da URL fornecida
* @deprecated: Use mw.util.getParamValue(paramName, [optional: url]) em vez desta função.
*/

function getURLParamValue( paramName, url ) { return mw.util.getParamValue( paramName, url ); } // Remover quando a rev:87208 for aplicada à cópia do MW em uso nas wikis da WMF mw.util.wikiGetlink = function( str ) { return mw.config.get( 'wgArticlePath' ).replace( '$1', mw.util.wikiUrlencode( str || mw.config.get( 'wgPageName' ) ) ); };

/* Test if an element has a certain class

* Maintainers: User:Mike Dillon, User:R. Koot, User:SG
*
* @deprecated:  Use $(element).hasClass() instead.
*/

var hasClass = (function () { var reCache = {}; return function (element, className) { return (reCache[className] ? reCache[className] : (reCache[className] = new RegExp( '(?:\\s|^)' + className + '(?:\\s|$)' ))).test(element.className); }; })();

//Scripts para páginas e/ou domínios específicos switch( mw.config.get( 'wgCanonicalNamespace' ) ) { case 'Special': switch( mw.config.get( 'wgTitle' ) ) { case 'Pesquisar': // Scripts específicos para a página de pesquisas //TAREFA: Corrigir o script da página de pesquisa para que funcione com o servidor seguro if ( mw.config.get( 'wgServer' ) !== 'https://secure.wikimedia.org' ) {

       importScript( 'MediaWiki:Common.js/search.js' );

} break; case 'Carregar imagem': importScript( 'MediaWiki:UploadForm.js' ); break;

                       case 'Páginas vigiadas':
                               importScript( 'MediaWiki:Common.js/watchlist.js');
                               break;

} break; case 'Project': case 'Project_talk': switch( mw.config.get( 'wgTitle' ) ) { case 'Página principal': /** * Melhorias na página principal * Adiciona um link a lista completa de wikipédias em outras línguas e altera o texto exibido na aba * * @author: User:AzaToth, User:R. Koot, User:Alex Smotrov * @source: */ $(function () { mw.util.addPortletLink( 'p-lang', mw.util.wikiGetlink( 'Wikipédia:Wikipédia em outras línguas' ), 'Lista completa', 'interwiki-completelist', 'Lista completa de Wikipédias' ); if ( mw.config.get( 'wgUserLanguage' ).substr( 0, 2 ) === 'pt' ) { $( '#ca-nstab-project a' ).text( 'Página principal' ); } }); break; case 'Esplanada/propostas': case 'Esplanada/geral': /* * Oculta botão editar da Wikipédia:Esplanada/propostas e da Wikipédia:Esplanada/geral */ $(function () { var href = mw.util.wikiGetlink( mw.config.get( 'wgPageName' ) ) + '?action=edit&section=new&preload=Template:Esplanada2/Preload'; if ( mw.config.get( 'wgUserLanguage' ).substr( 0, 2 ) !== 'pt' ) { href += '/en'; } $( '#ca-addsection a' ).attr( 'href', href ); if ( 'vector' === mw.config.get( 'skin' ) ) { // Move o botão "editar" para o menu de ações $('#ca-edit').appendTo('#p-cactions ul'); } }); break; } break; case 'File': // Adiciona links para versões PNG em imagens SVG importScript( 'MediaWiki:Common.js/SVGPNG.js' ); break; case 'MediaWiki': break; default: // Todos os demais domínios importScript( 'MediaWiki:Wikibugs.js' ); }

if ( mw.config.get( 'wgAction' ) === 'edit' || mw.config.get( 'wgAction' ) === 'submit' ) { //scripts específicos para editar páginas importScript( 'MediaWiki:Common.js/edit.js' ); } if ( $.client.profile().name === 'msie' ) { //scripts específicos para Internet Explorer importScript( 'MediaWiki:Common.js/IEFixes.js' ); }

/**

* Adiciona as predefinições {protegido} e {protegido-ip} às páginas protegidas
* @author: pt:User:Rei-artur
*/

if ( mw.config.get( 'wgAction' ) === 'view' && !mw.config.get( 'wgCanonicalSpecialPageName' )

       && !$.isEmpty( mw.config.get( 'wgRestrictionEdit' ) )
       && ( mw.config.get( 'wgRestrictionEdit' )[0] === 'autoconfirmed' || mw.config.get( 'wgRestrictionEdit' )[0] === 'sysop' )
       && mw.config.get( 'wgPageName' ) !== 'Wikipédia:Página_principal' )

{

       importScript( 'MediaWiki:Topicon.js' );

}

/**

* Banners para dicas e doações vista apenas por anônimos
* Frases aleatórias que podem ser vistas por anônimos
*
* @author: en:User:Gmaxwell, en:User:MZMcBride
*/

if ( mw.config.get( 'wgUserName' ) === null ) { importScript( 'MediaWiki:WikiBanners.js' ); }

/**

* Manter no servidor seguro quem se loga pelo servidor seguro quando muda para outro projeto
* Sem este código, o usuário logado por https quando segue um interwiki, usa http e será deslogado (os logins são independentes).
*/

if ( mw.config.get( 'wgServer' ) === 'https://secure.wikimedia.org' ) { importScript( 'MediaWiki:Common.js/secure.js' ); }

/** Parâmetro &withJS= para a URL

* Permite que sejam testados scripts do domínio MediaWiki
* sem precisar editar Especial:Minha página/vector.js
*/

var extraJS = mw.util.getParamValue( 'withJS' ); if (extraJS && extraJS.match( /^MediaWiki:[^&<>=%]*\.js$/ )) { importScript(extraJS); }

/**

* Link destaque
*
* 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 foi classificado como destacado.'; } else if (document.getElementById(InterwikiLinks[i].className + '-fl' )) { InterwikiLinks[i].className += ' FL'; InterwikiLinks[i].title = 'Este anexo foi classificado como destacado.'; } } } }

$( LinkFA );

/**

* Link bom
*
* 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 foi classificado como bom.'; } } } }

$( Bominterwiki );

/** Correlatos

* Adiciona links para os projetos correlatos no menu lateral, a partir da Predefinição:Correlatos.
* TODO: Remover quando o bugzilla:708 for resolvido
*/

function adiciona_correlatos() { iProjectHTML = document.getElementById( 'interProject' ); if (iProjectHTML) { iProjectHTML = iProjectHTML.innerHTML; var iProject = document.createElement( 'div' ); if (self.skin === 'vector' ) { iProject.className = 'portal'; cl = 'body'; } else { iProject.className = 'portlet'; cl = 'pBody'; }

iProject.innerHTML = '

Correlatos<\/h5>
' + iProjectHTML;

iProject.setAttribute( 'id', 'p-correlatos' ); iProject.id = 'p-correlatos'; var ptb = document.getElementById( 'p-tb' ); ptb.parentNode.insertBefore(iProject, ptb.nextSibling); } }

$( adiciona_correlatos );

/**

* 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) { /* Algo deu errado. */ } }; $( rewritePageH1 );


/**

* WikiMiniAtlas é uma popup com um mapa do mundo para clicar e arrastar disponível nos artigos com geocoordenadas
* Ver meta:WikiMiniAtlas para maiores informações
* @author: w:User:Dschwen
*/

var metaBase = 'http://meta.wikimedia.org'; if ( mw.config.get( 'wgServer' ) === 'https://secure.wikimedia.org' ) { metaBase = 'https://secure.wikimedia.org/wikipedia/meta'; } mw.loader.load( metaBase + '/w/index.php?title=MediaWiki:Wikiminiatlas.js&action=raw&ctype=text/javascript&smaxage=21600&maxage=86400' );

/**

* Permite criar tabelas para esconder/expandir
* Ver en:Wikipédia:NavFrame.
* @author: User:R. Koot
* TODO: Remover quando mw:ResourceLoader/Default_modules#jQuery.makeCollapsible estiver em uso e
* as predefinições forem adaptadas para usar o novo plugin
*/

var autoCollapse = 2, collapseCaption = 'Esconder', expandCaption = 'Expandir';

/**

* @param {number} tableIndex Índice da tabela a ser alterada
* @return {boolean} Caso não encontre a tabela ou o botão com o índice informado retorna false
*/

function collapseTable( tableIndex ) { var i; 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 (i = 1; i < Rows.length; i++) { Rows[i].style.display = 'none'; } Button.firstChild.data = expandCaption; } else { for (i = 1; i < Rows.length; i++) { Rows[i].style.display = Rows[0].style.display; } Button.firstChild.data = collapseCaption; } }

function createCollapseButtons() { var i; var tableIndex = 0; var NavigationBoxes = {}; var Tables = document.getElementsByTagName( 'table' );

for (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 (i = 0; i < tableIndex; i++) { if (hasClass(NavigationBoxes[i], 'collapsed' ) || (tableIndex >= autoCollapse && hasClass(NavigationBoxes[i], 'autocollapse' ))) { collapseTable(i); } } }

$( createCollapseButtons );

/**

* Barras de navegação dinâmicas (experimental)
* Ver Wikipédia:NavFrame.
* @author: UNMAINTAINED
* TODO: Remover quando mw:ResourceLoader/Default_modules#jQuery.makeCollapsible estiver em uso e
* as predefinições forem adaptadas para usar o novo plugin
*/

// set up the words in your language var NavigationBarHide = '[' + collapseCaption + ']', NavigationBarShow = '[' + expandCaption + ']';

/**

* Shows and hides content and picture (if available) of navigation bars
* @param {number} indexNavigationBar: the index of navigation bar to be toggled
* @return {boolean} Caso não encontre a tabela ou o botão com o índice informado retorna false
*/

function toggleNavigationBar(indexNavigationBar) { var NavChild; 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 ( 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 ( 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' ); NavFrame = divs[i]; for ( var i = 0; NavFrame; 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); } NavFrame = divs[i]; } }

$( createNavigationBarToggleButton );

/**

* Caixa com abas, feitas com a Predefinição:Metacaixa
* @source: w:fr:MediaWiki:Common.js (traduzido de w:ca:MediaWiki:Common.js)
* @author: w:ca:User:Peleguer, w:ca:User:Joanjoc, w:fr:User:Antaya (adaptação), w:pt:Rei-artur (adaptação)
*/

function CadreOngletInit() { var i = 0; for (i = 0; i <= 9; i++) { var vMb, vBt, j, vOgIni = 0; vMb = document.getElementById( 'mb' + i); if ( !vMb ) { break; } for ( j = 1; j <= 9; j++ ) { 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'; } } } /*

* @return {boolean} Retorna false ao terminar a execução
*/

function CadreOngletVoirOnglet() { var vMbNom = this.id.substr( 0, 3 ), vIndex = this.id.substr( 5, 1 ), i; 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; }

/**

* 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 ( mw.config.get( 'wgNamespaceNumber' ) !== 0 || mw.config.get( 'wgNamespaceNumber' ) !== 102 ) { $( CadreOngletInit ); }