MediaWiki:Common.js
Aparéncia
Nòta : Aprèp aver publicat la pagina, vos cal forçar son recargament complet tot ignorant lo contengut actual de l'amagatal de vòstre navigador per veire los cambiaments : Mozilla / Firefox / Konqueror / Safari : mantenètz la tòca Majuscula (Shift) en clicant lo boton Actualizar (Reload,) o quichatz Maj-Ctrl-R (Maj-Cmd-R sus Apple Mac) ; Internet Explorer / Opera : mantenètz la tòca Ctrl en clicant lo boton Actualizar o quichatz Ctrl-F5.
/**
* Un JavaScript que qué siá aicí serà cargat per un utilizaire quin que siá e per cada pagina accedida.
*
* ATENCION : Abans de modificar aquesta pagina, testatz vòstres cambiaments amb vòstre monobook.js
* pròpri. Una error sus aquesta pagina pòt fara bugar lo sit entièr (e geinar l'ensemble dels
* visitors), quitament mantuna ora aprèp la modificacion !
*
* LEVAR PAS AQUÒ SIQUENON : remplaçament de las signaturas, substitucion dels modèls, ... :
* <nowiki> /!\ Levatz pas aquesta balisa
*/
/*************************************************************/
/* Foncions javascript : palian los limits de javascript */
/* Susvelhar : http://www.ecmascript.org/ */
/*************************************************************/
/**
* insertAfter : inserir un element dins una pagina
*/
function insertAfter(parent, node, referenceNode) {
parent.insertBefore(node, referenceNode.nextSibling);
}
/**
* getElementsByClass : recercar los elements de la pagina que lo paramètre "class" es lo recercat
*/
function getElementsByClass(searchClass, node, tag) {
if (node == null) node = document;
if (tag == null) tag = '*';
return getElementsByClassName(node, tag, searchClass);
}
/**
* Divèrsas foncions manipulant las classas
* Utiliza d'expressions regularas e un amagatal per de melhoras perfs
* isClass e whichClass dempuèi http://oc.wikibooks.org/w/index.php?title=MediaWiki:Common.js&oldid=140211
* hasClass, addClass, removeClass e eregReplace dempuèi http://drupal.org.in/doc/misc/drupal.js.source.html
* susvelhar l'implementacion de .classList http://www.w3.org/TR/2008/WD-html5-diff-20080122/#htmlelement-extensions
*/
function isClass(element, classa) {
return hasClass(element, classa);
}
function whichClass(element, classas) {
var s=" "+element.className+" ";
for(var i=0;i<classes.length;i++)
if (s.indexOf(" "+classes[i]+" ")>=0) return i;
return -1;
}
function hasClass(node, className) {
if (node.className == className) {
return true;
}
var reg = new RegExp('(^| )'+ className +'($| )')
if (reg.test(node.className)) {
return true;
}
return false;
}
function addClass(node, className) {
if (hasClass(node, className)) {
return false;
}
node.className += ' '+ className;
return true;
}
function removeClass(node, className) {
if (!hasClass(node, className)) {
return false;
}
node.className = eregReplace('(^|\\s+)'+ className +'($|\\s+)', ' ', node.className);
return true;
}
function eregReplace(search, replace, subject) {
return subject.replace(new RegExp(search,'g'), replace);
}
/**
* Recupèra la valor del cookie
*/
function getCookieVal(name) {
var cookiePos = document.cookie.indexOf(name + "=");
var cookieValue = false;
if (cookiePos > -1) {
cookiePos += name.length + 1;
var endPos = document.cookie.indexOf(";", cookiePos);
if (endPos > -1)
cookieValue = document.cookie.substring(cookiePos, endPos);
else
cookieValue = document.cookie.substring(cookiePos);
}
return cookieValue;
}
/**********************************************************************************************************/
/* Foncions generalas MediaWiki (contornan las limitacions del logicial) */
/* Susvelhar : http://svn.wikimedia.org/viewvc/mediawiki/trunk/phase3/skins/common/wikibits.js?view=log */
/**********************************************************************************************************/
/*
* Foncions generalas d'aviada de foncions o d'escript
* DEPRECIAT : utilizar addOnloadHook simplament
*/
function addLoadEvent(func) {
addOnloadHook(func);
}
/**
* Inserir un JavaScript d'una pagina particulara, idèa de Mickachu
* DEPRECIAT : utilizar importScript que fa partida del logicial
*/
function loadJs(page) {
importScript(page);
}
/**
* Projècte JavaScript
*/
function obténer(name) {
importScript('MediaWiki:Gadget-' + name + '.js');
}
/**
* Transformar las paginas del Tavèrna, del BA e las paginas especificadas en pagina de discussion
*/
function TransformaEnDiscussion() {
if( (wgPageName.search('Wikipèdia:La_Tavèrna') != -1)
|| (wgPageName.search('Wikipèdia:Bulletin_dels_administrators') != -1)
|| document.getElementById('transformaEnPaginaDeDiscussion'))
document.body.className = 'ns-talk';
}
addOnloadHook(TransformaEnDiscussion);
/**
* Transformar d'unas paginas en pseudoarticle
*/
function TransformaEnArticle() {
var transformaEnA = document.getElementById("transformaEnArticle");
if(transformaEnA) document.body.className = "ns-0";
}
addOnloadHook(TransformaEnArticle);
/**
*Apondre un boton a la fin de la barra d'espleches
*/
function addCustomButton(imageFile, speedTip, tagOpen, tagClose, sampleText, imageId) {
mwCustomEditButtons[mwCustomEditButtons.length] =
{"imageId": imageId,
"imageFile": imageFile,
"speedTip": speedTip,
"tagOpen": tagOpen,
"tagClose": tagClose,
"sampleText": sampleText};
}
/****************************************/
/* Aplicacions per l'ensemble del sit */
/****************************************/
/**
* Tot çò que concernís la pagina d'edicion
* Veire MediaWiki:Common.js/edit.js per aquestas foncions
*/
if( wgAction == 'edit' || wgAction == 'submit' ) {
importScript( 'MediaWiki:Common.js/edit.js' );
}
/**
* Ligams d'accès dirèctes per la navigacion amb lo clavièr
*/
function showSkipLinks() {
var jump_to_nav = document.getElementById('jump-to-nav');
if( !jump_to_nav ) return;
var skip_links = jump_to_nav.getElementsByTagName('A')[0];
jump_to_nav.className='hidden';
skip_links.onfocus=function() {
jump_to_nav.className='';
}
}
addOnloadHook(showSkipLinks);
/**
* Reescritura dels títols
*
* Foncion utilizada per [[Modèl:Títol incorrèct]]
*
* La foncion cèrca un bendèl de la forma
* <div id="RealTitleBanner">
* <span id="RealTitle">títol</span>
* </div>
*
* Un element comportant id="DisableRealTitle" desactiva la foncion
*/
function rewritePageH1() {
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) {
var titleText = realTitle.innerHTML;
if (titleText == '') h1.style.display = 'none';
else h1.innerHTML = titleText;
realTitleBanner.style.display = 'none';
}
}
}
}
addOnloadHook(rewritePageH1);
/**
* Icònas de títol
*
* Cerca las icònas de títol (class="icona_de_titol") e las
* desplaça a drecha del títol de la pagina.
* Deu èsser executat aprèp una correccion de títol eventuala.
*/
function IconasDeTitol() {
var h1 = document.getElementsByTagName("h1")[0];
var iconas = getElementsByClass( "icona_de_titol", document, "div" );
for( var j = icones.length; j > 0; --j ){
iconas[j-1].style.display = "block"; /* anulla display:none per defaut */
iconas[j-1].style.borderWidth = "1px";
iconas[j-1].style.borderStyle = "solid";
iconas[j-1].style.borderColor = "white";
if( skin == "modern" ){
iconas[j-1].style.marginTop = "0em";
}
h1.parentNode.insertBefore(iconas[j-1], h1); /* deplaçament de l'element */
}
}
addOnloadHook(IconasDeTitol);
/**
* Deplaçament de coordenadas qu'apareisson ennaut de la pagina
*/
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);
/**
* Deplaçament dels [modificar]
*
* Correccion dels títols que s'afichan mal en rason de limitacions degudas a MediaWiki.
* Aqueste escript deuriá poder èsser suprimit quand lo [[bugzilla:11555]] serà resolgut (comportament equivalent)
*
* Copyright 2006, Marc Mongenet. Licéncia GPL e GFDL.
*
* The function looks for <span class="editseccion">, and move them
* at the end of their parent and display them inline in small font.
* var oldEditseccionLinks=true disables the function.
*/
function setModifySectionStyle()
{
var process = function(list)
{
for(var i=0;i!=list.length;i++)
{
var span=list[i].firstChild
if (span.className == "editseccion")
{
span.style.fontSize = "xx-small";
span.style.fontWeight = "normal";
span.style.cssFloat = span.style.styleFloat = "none";
span.parentNode.appendChild(document.createTextNode(" "));
span.parentNode.appendChild(span);
}
}
}
try
{
if (!(typeof oldEditseccionLinks == 'undefined' || oldEditseccionLinks == false)) return;
process(document.getElementsByTagName("h2"));
process(document.getElementsByTagName("h3"));
process(document.getElementsByTagName("h4"));
process(document.getElementsByTagName("h5"));
process(document.getElementsByTagName("h6"));
}
catch (e) { }
}
addOnloadHook(setModifySectionStyle);
/**
* Boitas desenrotlantas
*
* Per [[Modèl:Metapaleta de navigacion]]
*/
var autoCollapse = 2;
var collapseCaption = '[ Enrotlar ]';
var expandCaption = '[ Desenrotlar ]';
function collapseTable( tableIndex ) {
var Button = document.getElementById( "collapseButton" + tableIndex );
var Table = document.getElementById( "collapsibleTable" + tableIndex );
if ( !Table || !Button ) return false;
var Rows = Table.getElementsByTagName( "tr" );
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" ) ) {
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.setAttribute( "id", "collapseButton" + tableIndex );
ButtonLink.setAttribute( "href", "javascript:collapseTable(" + tableIndex + ");" );
ButtonLink.appendChild( ButtonText );
Button.appendChild( ButtonLink );
var Header = Tables[i].getElementsByTagName( "tr" )[0].getElementsByTagName( "th" )[0];
/* only add button and increment count if there is a header row to work with */
if (Header) {
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);
/**
* Per [[Modèl:Boita desenrotlanta]]
*/
var NavigationBarShowDefault = 0;
function toggleNavigationBar(indexNavigationBar) {
var NavToggle = document.getElementById("NavToggle" + indexNavigationBar);
var NavFrame = document.getElementById("NavFrame" + indexNavigationBar);
if (!NavFrame || !NavToggle) return;
// suscarga dels libellats desenrotlar/enrotlar gràcia a l'atribut title
// exemple : title="[desenrotlament]/[enrotlament]"
var caption = [expandCaption, collapseCaption];
if (NavFrame.title && NavFrame.title.length > 0) {
caption = NavFrame.title.split("/");
if (caption.length < 2) caption.push(collapseCaption);
}
// if shown now
if (NavToggle.firstChild.data == caption[1]) {
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';
if (hasClass(NavChild, 'NavToggle')) NavChild.firstChild.data = caption[0];
}
// if hidden now
} else if (NavToggle.firstChild.data == caption[0]) {
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';
if (hasClass(NavChild, 'NavToggle')) NavChild.firstChild.data = caption[1];
}
}
}
// adds show/hide-button to navigacion bars
function createNavigationBarToggleButton() {
var indexNavigationBar = 0;
var NavFrame;
// iterate over all < div >-elements
for( var i=0; NavFrame = document.getElementsByTagName("div")[i]; i++ ) {
// if found a navigacion 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 + ');');
// suscarga dels libellats desenrotlar/enrotlar gràcia a l'atribut title
var caption = collapseCaption;
if (NavFrame.title && NavFrame.title.indexOf("/") > 0) {
caption = NavFrame.title.split("/")[1];
}
var NavToggleText = document.createTextNode(caption);
NavToggle.appendChild(NavToggleText);
// add NavToggle-Button as first div-element
// in <div class="NavFrame">
NavFrame.insertBefore( NavToggle, NavFrame.firstChild );
NavFrame.setAttribute('id', 'NavFrame' + indexNavigationBar);
}
}
// if more Navigation Bars found than Default: hide all
if (NavigationBarShowDefault < indexNavigationBar) {
for( var i=1; i<=indexNavigationBar; i++ ) {
toggleNavigationBar(i);
}
}
}
addOnloadHook(createNavigationBarToggleButton);
/**
* WikiMiniAtlàs
*
* veire WP:WMA
*/
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")
var wma_settings = {
buttonImage: '/media/wikipedia/commons/thumb/e/e9/Geographylogo.svg/18px-Geographylogo.svg.png'
}
/**
* Utilizacion del modèl Modèl:Imatges
*/
function toggleImage(group, remindex, shwindex) {
document.getElementById("ImageGroupsGr"+group+"Im"+remindex).style.display="none";
document.getElementById("ImageGroupsGr"+group+"Im"+shwindex).style.display="inline";
}
function imageGroup(){
if (document.URL.match(/printable/g)) return;
var bc=document.getElementById("bodyContent");
if( !bc ) bc = document.getElementById("mw_contentholder");
if( !bc ) return;
var divs=bc.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=Array();
for (j = 0 ; j < UnitNode.childNodes.length ; j++ ) {
var temp = UnitNode.childNodes[j];
if (temp.className=="center") units.push(temp);
}
for (j = 0 ; j < units.length ; j++) {
currentimage=units[j];
currentimage.id="ImageGroupsGr"+i+"Im"+j;
var imghead = document.createElement("div");
var leftlink;
var rightlink;
if (j != 0) {
leftlink = document.createElement("a");
leftlink.href = "javascript:toggleImage("+i+","+j+","+(j-1)+");";
leftlink.innerHTML="?";
} else {
leftlink = document.createElement("span");
leftlink.innerHTML=" ";
}
if (j != units.length - 1) {
rightlink = document.createElement("a");
rightlink.href = "javascript:toggleImage("+i+","+j+","+(j+1)+");";
rightlink.innerHTML="?";
} else {
rightlink = document.createElement("span");
rightlink.innerHTML=" ";
}
var comment = document.createElement("tt");
comment.innerHTML = "("+ (j+1) + "/" + units.length + ")";
with(imghead) {
style.fontSize="110%";
style.fontweight="bold";
appendChild(leftlink);
appendChild(comment);
appendChild(rightlink);
}
currentimage.insertBefore(imghead,currentimage.childNodes[0]);
if (j != 0) currentimage.style.display="none";
}
}
}
addOnloadHook(imageGroup);
/**
* Apondon d'un estil particular als ligams interlengas cap a un bon article o
* un article de qualitat
*/
function ligamAdQoBAoPdQ() {
// links are only replaced in p-lang
if(window.disableFeaturedInterwikiLinks!=undefined) return
var pLang = document.getElementById("p-lang");
if (!pLang) return;
var lis = pLang.getElementsByTagName("li");
var l = lis.length
if(wgNamespaceNumber==0)
for (var i=0; i<l; i++)
{
// ADQ- es intencional per correspondre al modèl Ligam AdQ, on
// deu pas èsser corregit.
if (document.getElementById("BA-" + lis[i].className)) {
lis[i].className += " BA";
lis[i].title = "Ligam cap a un bon article";
} else if (document.getElementById("ADQ-" + lis[i].className)) {
lis[i].className += " AdQ";
lis[i].title = "Ligam cap a un article de qualitat";
}
}
else if(wgNamespaceNumber==100)
for (var i=0; i<l; i++)
{
if (document.getElementById("PdQ-" + lis[i].className)) {
lis[i].className += " AdQ";
lis[i].title = "Ligam cap a un portal de qualitat";
}
}
}
addOnloadHook(ligamAdQoBAoPdQ);
/**
* Redirect cap a wikibooks etc.
*
*/
var redirectedFromArticleDatas = new Array(
new Array('Wikipèdia:Redirect_cap_a_Wikilibres', 'wikibooks'),
new Array('Wikipèdia:Redirect_cap_a_Wikifont', 'wikifont'),
new Array('Wikipèdia:Redirect_cap_a_Wikiversitat', 'wikiversity'),
new Array('Wikipèdia:Redirect_cap_a_Wikiquote', 'wikiquote'),
new Array('Wikipèdia:Redirect_cap_a_Wikinews', 'wikinews'),
new Array('Wikipèdia:Redirect_cap_a_Wikiccionari', 'wiktionary')
);
function redirectedFromArticle() {
if (wgIsArticle == false)
return;
for (var i = 0; i < redirectedFromArticleDatas.length; ++i) {
var page_match = redirectedFromArticleDatas[i];
var index = wgPageName.indexOf(page_match[0]);
if (index == 0) {
var div = document.getElementById('contentSub');
var span = document.getElementById('redirected_from');
// real target is always encoded in the anchor.
target = window.location.hash;
if (!div || !span || target == '')
break;
target = target.slice(1);
// Konqueror 3.5 work around
if (target.indexOf('#') == 0)
target = target.slice(1);
target = target.split('.23');
target[0] = target[0].replace(/\.([0-9A-Z][0-9A-Z])/g, '%$1');
var quoted = target[0]
if (target[1].length)
quoted += '#' + target[1]
quoted = quoted.replace(/%2F/g, '/');
var display = target[2]
display = display.replace(/\.([0-9A-Z][0-9A-Z])/g, '%$1');
display = decodeURI(display);
display = display.replace(/_/g, ' ');
var e = document.createElement('A');
e.href = 'http://oc.' + page_match[1] + '.org/wiki/' + quoted;
e.innerHTML = display;
span.replaceChild(e, span.firstChild);
break;
}
}
}
addOnloadHook(redirectedFromArticle);
/**
* Deplaça los ligams portals cap a la boita de categoria
*
* Copyright 2007, fr:user:Aoineko. Licéncia GFDL e GPL.
*/
var gUseMovePortalToCategoryBox = 1;
function movePortalToCategoryBox() {
if(!gUseMovePortalToCategoryBox)
return;
// search for portals
var div_portal = document.getElementById('portallinks');
if(div_portal && (div_portal.className == 'movable')) {
div_portal.style.display = 'none'; // hide the portal div
var div_cat = document.getElementById('catlinks'); // get cat div
if(!div_cat) { // no category box ? then create it
var div_foot;
var divs = document.getElementsByTagName('div');
for(var i = 0; i < divs.length ; i++)
if(divs[i].className == 'printfooter')
div_foot = divs[i];
div_cat = document.createElement("div");
div_cat.setAttribute('id', 'catlinks');
div_foot.parentNode.insertBefore(div_cat, div_foot);
}
div_cat.innerHTML = div_portal.innerHTML + '<hr/>' + div_cat.innerHTML;
}
}
addOnloadHook(movePortalToCategoryBox);
/**
* Permet d'afichar las categorias amagadas pels contributors enregistrats, en apondent un (+) coma dins las boitas desenrotlantas
*/
function hiddencat()
{
if(document.URL.indexOf("printable=yes")!=-1) return;
var cl = document.getElementById('catlinks'); if(!cl) return;
if( !(hc = document.getElementById('mw-hidden-catlinks')) ) return;
if( hasClass(hc, 'mw-hidden-cats-user-shown') ) return;
var nc = document.getElementById('mw-normal-catlinks');
if( !nc )
{
var catline = document.createElement('div');
catline.id = 'mw-normal-catlinks';
var a = document.createElement('a');
a.href = '/wiki/Categoria:Acuèlh';
a.title = 'Categoria:Acuèlh';
a.appendChild(document.createTextNode('Categorias'));
catline.appendChild(a);
catline.appendChild(document.createTextNode(' : '));
nc = cl.insertBefore(catline, cl.firstChild);
}
else nc.appendChild(document.createTextNode(' | '));
var lnk = document.createElement('a');
lnk.id = 'mw-hidden-cats-link';
lnk.title = 'Aqueste article conten de categorias amagadas';
lnk.style.cursor = 'puntar';
lnk.style.color = 'black';
lnk.onclick = toggleHiddenCats;
lnk.appendChild(document.createTextNode('[+]'));
hclink = nc.appendChild(lnk);
}
function toggleHiddenCats()
{
if( hasClass(hc, 'mw-hidden-cats-hidden') )
{
removeClass(hc, 'mw-hidden-cats-hidden');
addClass(hc, 'mw-hidden-cat-user-shown');
changeText(hclink, '[–]');
}
else
{
removeClass(hc, 'mw-hidden-cat-user-shown');
addClass(hc, 'mw-hidden-cats-hidden');
changeText(hclink, '[+]');
}
}
addOnloadHook(hiddencat);
/**
* Escript per alternar entre doas mapas de geolocalizacion
*/
addOnloadHook(function(){
var cont;
if(!(wgAction=="view")) return
cont=getElementsByClass('img_toogle', document.getElementById('bodyContent'));
if(cont.length==0) return
for (var i = 0; i < cont.length ; i++) {
cont.box = getElementsByClass('geobox',cont[i]);
cont.box[0].style.display='none';
cont.box[1].style.borderTop='0';
var toogle = document.createElement('a');
toogle.appendChild(document.createTextNode(cont.box[0].getElementsByTagName('img')[0].alt));
toogle.href='#';
toogle.className='a_toogle';
toogle.status = 1;
toogle.onclick = function() {
this.removeChild(this.firstChild);
div0 = getElementsByClass('geobox',this.parentNode)[0];
div1 = getElementsByClass('geobox',this.parentNode)[1];
alt0 = div0.getElementsByTagName('img')[0].alt;
alt1 = div1.getElementsByTagName('img')[0].alt;
if(this.status==0) {
div0.style.display='none';
div1.style.display='';
this.status=1;
this.appendChild(document.createTextNode(alt0));
} else {
div0.style.display='';
div1.style.display='none';
this.status=0;
this.appendChild(document.createTextNode(alt1));
}
return false;
}
cont[i].insertBefore(toogle, cont.box[1].nextSibling);
}
});
/**
* permet d'apondre un pichon ligam (per exemple d'ajuda) a la fin del títol d'una pagina.
* known bug : conflicte amb lo cambiament de títol classic.
* Pels comentaris, mercés de contactar [[user:Plyd|Plyd]].
*/
function rewritePageH1bis() {
try {
var helpPage = document.getElementById("helpPage");
if (helpPage) {
var helpPageURL = document.getElementById("helpPageURL");
var h1 = document.getElementsByTagName("h1")[0];
if (helpPageURL && h1) {
h1.innerHTML = h1.innerHTML + '<span id="h1-helpPage">' + helpPageURL.innerHTML + '</span>';
helpPage.style.display = "none";
}
}
} catch (e) {
/* Something went wrong. */
}
}
addOnloadHook(rewritePageH1bis);
/**************************************************************/
/* Estrictament especificas a un espaci de nom o a una pagina */
/**************************************************************/
// ESPACI DE NOM 'ARTICLE'
if( wgNamespaceNumber == 0 ) {
} // Fin del còde concernent l'espaci de nom 'Article'
// PAGINA D'ACUÈLH
if( wgTitle == 'Acuèlh' ) {
/**
* Supression del títol sus la pagina d'acuèlh,
* cambiament de l'onglet e ligam cap a la tièra complèta de las Wikipèdias dempuèi l'acuèlh
*/
function mainPageTransform(){
if(wgPageName != 'Acuèlh' && wgPageName != 'Discutir:Acuèlh') return;
try {
document.getElementById('ca-nstab-main').firstChild.innerHTML = 'Acuèlh';
} catch (e) { /* Error : l'aparéncia gerís pas los onglets */ }
if(wgPageName == 'Acuèlh' && wgIsArticle) addPortletLink('p-lang', 'http://www.wikipedia.org/', 'Tièra complèta', 'interwiki-listacomplèta', 'Lista complèta de las Wikipèdias');
}
addOnloadHook(mainPageTransform);
/**
* Amaga quadres de l'acuèlh
*
* Apondís un ligam sus la pagina d'acuèlh per amagar aisidament los quadres
* Memorizat per cookie.
* Copyright 2007, fr:user:Plyd e fr:User:IAlex. Licéncia GFDL e GPL.
*/
var cookieCacheCadresName = "amagaQuadresAcuelh";
var AmagaQuadresVal = {};
var totalQuadresAcuelh = 0;
function afQuadreAcuelh(id) {
visible = AmagaQuadresVal[id] = (!AmagaQuadresVal[id]);
getElementsByClass('acuelh_contengut',null,'div')[id].style.display = visible ? 'block' : 'none';
document.getElementById('AmagaQuadreAcuelh' + id).innerHTML = visible ? 'amagar' : 'afichar';
sauverCookieAcuelh();
}
function salvarCookieAcuelh() {
var date = new Date();
date.setTime(date.getTime() + 30*86400*1000);
var val = 0;
for ( var i=0; i< totalQuadresAcuelh ; i++ ) {
if (!AmagaQuadresVal[i]) val = val | Math.pow(2,i);
}
document.cookie = cookieAmagaQuadresName + "=" + val + "; expires="+date.toGMTString() + "; path=/";
}
function LigamsQuadresAcuelh() {
if (wgPageName != "Acuèlh") return;
cookieQuadresAcuelh = getCookieVal(cookieAmagaQuadresName);
for ( var i=0; i<5; i++) {
var titol = getElementsByClass('headergris',document,'h2')[i];
if (!titol) break;
titol.innerHTML += " <span style='font-size: xx-small; font-weight: normal; float: none; margin-right:100px' class='editseccion'>[<a id='AmagaQuadreAcuelh" + i + "' href='javascript:afQuadreAcuelh(" + i + ");'>amagar</a>]</span>";
AmagaQuadresVal[i] = true;
totalQuadresAcuelh++;
}
cookieQuadresAcuelh = getCookieVal(cookieAmagaQuadresName);
for ( var i=0; i< totalQuadresAcuelh ; i++ ) {
n =Math.pow(2,i);
aff = !(cookieQuadresAcuelh & n);
if (!aff) afQuadreAcuelh(i);
}
}
addOnloadHook(LigamsQuadresAcuelh);
} // Fin del còde concernent la pagina d'acuèlh
// ESPACI DE NOM 'SPECIAL'
if( wgNamespaceNumber == -1 ) {
/**
* Afichar una explicacion al nombre de caractèrs dins la lista de seguit
*/
function toolTipPlusMinus() {
if(wgCanonicalSpecialPageName != "Watchlist") return
var tt = "Nombre de caractèrs d'escart entre las doas darrièras versions de la pagina";
var elmts = document.getElementsByTagName("span");
for(var cpt = 0; cpt < elmts.length; cpt++) {
if (/mw-plusminus-(pos|neg|null)/.test(elmts[cpt].className) || /mw-plusminus-(pos|neg|null)/.test(elmts[cpt].getAttribute("class")))
elmts[cpt].title = tt;
}
}
addOnloadHook(toolTipPlusMinus);
/**
* Modifica Special:Search per poder utilizar diferents motors de recèrca,
* disponibles dins una boita desenrotlanta.
* Autors : Jakob Voss, Guillaume, importat dempuèi la Wiki alemanda
* <pre><nowiki>
*/
function externalSearchEngines() {
if (typeof SpecialSearchEnhanced2Disabled != 'undefined') return;
if (wgPageName != "Especial:Recèrca") 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 = 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 in l) {
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 (wgPageName == "Especial:Recèrca") {
var searchEngines = {
mediawiki: {
ShortName: "Recèrca intèrna",
Template: "/w/index.php?search={searchTerms}"
},
exalead: {
ShortName: "Exalead",
Template: "http://www.exalead.com/wikipedia/results?q={searchTerms}&language=fr"
},
google: {
ShortName: "Google",
Template: "http://www.google.fr/search?as_sitesearch=oc.wikipedia.org&hl={language}&q={searchTerms}"
},
wikiwix: {
ShortName: "Wikiwix",
Template: "http://oc.wikiwix.com/index.php?action={searchTerms}&lang={language}"
},
wlive: {
ShortName: "Windows Live",
Template: "http://search.live.com/results.aspx?q={searchTerms}&q1=site:http://oc.wikipedia.org"
},
yahoo: {
ShortName: "Yahoo!",
Template: "http://fr.search.yahoo.com/search?p={searchTerms}&vs=oc.wikipedia.org"
},
globalwpsearch: {
ShortName: "Global WP",
Template: "http://vs.aka-online.de/cgi-bin/globalwpsearch.pl?timeout=120&search={searchTerms}"
}
};
addOnloadHook(externalSearchEngines);
}
} // Fin del còde concernent l'espaci de nom 'Special'
// ESPACI DE NOM 'UTILIZAIRE'
if( wgNamespaceNumber == 2 ) {
/* En fasa de tèst */
/* DEBUTA DEL CODE JAVASCRIPT DE "QUADRE D'ONGLETS"
Foncionament del [[Modèl:Quadre d'onglets]]
Modèl implantat per User:Peleguer de http://ca.wikipedia.org
Actualizat per User:Joanjoc de http://ca.wikipedia.org
Traduccion e adaptacion User:Cedric31
*/
function QuadreOngletInit(){
// retorn se endacòm mai que sus l'Espaci d'utilizaire,
// sabent qu'es una orror al nivèl de l'accessibilitat
// e qu'es impossible de "recuperar" o de reciclar aqueste escript
if (wgCanonicalNamespace != 'User') 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 = QuadreOngletVeireOnglet;
if (vBt.className=="mbBotonSel") 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="mbBotonSel";
}
}
}
function QuadreOngletVeireOnglet(){
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="mbBotonSel";
} else {
vOgElem.style.display = "none";
vOgElem.style.visibility = "hidden";
document.getElementById(vMbNom+"bt"+i).className="mbBoton";
}
}
return false;
}
addOnloadHook(QuadreOngletInit);
/*FIN DEL CÒDE JAVASCRIPT DE "QUADRE D'ONGLETS"*/
} // Fin del còde concernent l'espaci de nom 'Utilizaire'
// ESPACI DE NOM 'REFERÉNCIA'
if( wgNamespaceNumber == 104 ) {
/*
* Causida del mòde d'afichatge de las referéncias
* @nòta L'òrdre d'aquesta lista deu correspondre a lo de Modèl:Edicion !
*/
function addBibSubsetMenu() {
var specialBib = document.getElementById('specialBib');
if (!specialBib) return;
specialBib.style.display = 'block';
menu = '<select style="display:inline;" onChange="chooseBibSubset(selectedIndex)">'
+ '<option>Lista</option>'
+ '<option>WikiNòrma</option>'
+ '<option>BibTeX</option>'
+ '<option>ISBD</option>'
+ '<option>ISO690</option>'
+ '</select>';
specialBib.innerHTML = specialBib.innerHTML + menu;
/* default subset - try to use a cookie some day */
chooseBibSubset(0);
}
// select subseccion of special characters
function chooseBibSubset(s) {
var l = document.getElementsByTagName('div');
for (var i = 0; i < l.length ; i++) {
if(l[i].className == 'BibList') l[i].style.display = s == 0 ? 'block' : 'none';
else if(l[i].className == 'WikiNòrma') l[i].style.display = s == 1 ? 'block' : 'none';
else if(l[i].className == 'BibTeX') l[i].style.display = s == 2 ? 'block' : 'none';
else if(l[i].className == 'ISBD') l[i].style.display = s == 3 ? 'block' : 'none';
else if(l[i].className == 'ISO690') l[i].style.display = s == 4 ? 'block' : 'none';
}
}
addOnloadHook(addBibSubsetMenu);
} // Fin del còde que concernís l'espaci de nom 'Referéncia'
if(!Array.indexOf){
Array.prototype.indexOf = function(obj){
for(var i=0; i<this.length; i++){
if(this[i]==obj){
return i;
}
}
return -1;
}
}
/*
* Foncion
*
* Recupèra la valor d'una variabla globala en gerent lo cas quora aquesta variabla existís pas
* @param nom_variable Nom de la variabla que se ne vòl conéisser la valor
* @param val_defaut Valor per defaut se la variabla existís pas
* @return La valor de la variablq, o val_defaut se la variablq existís pas
*
* Autor : Sanao
* Darrièra revision : 22 novembre 2007
*/
function getVarValue(nom_variable, val_defaut)
{
var result = null;
try
{
result = eval(nom_variable.toString());
}
catch (e)
{
result = val_defaut;
}
return(result);
}
/*
* Foncion
*
* Retorna una cadena de caractèrs de la data correnta segon un format definit
* @param format Format de la data "j" pel jorn, "m" pel mes e "a" per l'annada. Atal s'es lo 21 de novembre de 2007 e se passa en paramètre aquesta cadena "a_m_d", la cadena retornada serà "2007_novembre_21"
* Autor : Sanao
* Darrièra revision : 21 de novembre de 2007
*/
function getStrDateToday(format)
{
var str_mes = new Array();
with (str_mes)
{
push("genièr");
push("febrièr");
push("març");
push("abril");
push("mai");
push("junh");
push("julhet");
push("agost");
push("setembre");
push("octobre");
push("novembre");
push("decembre");
}
var today = new Date();
var day = today.getDate();
var year = today.getYear();
if (year < 2000)
{
year = year + 1900;
}
var str_date = format;
//Creacion de la cadena
var regex = /j/gi;
str_date = str_date.replace(regex, day.toString());
regex = /a/gi;
str_date = str_date.replace(regex, year.toString());
regex = /m/gi;
str_date = str_date.replace(regex, str_mois[today.getMonth()]);
return (str_date);
}
/*
Esplech per permetre l'afichatge immediat d'un javascript per totes los utilizaires al meteis temps.
Quitament se tòrnan pas cargar Wikipèdia amb CTRL+R.
Util inicialament per preveire una bona reactivitat e una aviada generala duel[[Projècte:Estampatge]].
Plyd - 12 octobre 2008
tag urgentsynchronejs enclús (pas encore) dins [[MediaWiki:Copyright]]
*/
function urgentSynchroneJsLoad() {
if (document.getElementById('urgentsynchronejs')) {
jsname = "MediaWiki:Common.js/"+document.getElementById('urgentsynchronejs').title;
loadJs(jsname);
}
}
addLoadEvent(urgentSynchroneJsLoad);