MediaWiki:Common.js
Notenn : Goude bezañ enrollet ho pajenn e rankot freskaat krubuilh ho merdeer evit gwelet ar c'hemmoù.
- Firefox / Safari: Derc'hel da bouezañ war Pennlizherenn en ur glikañ war Adkargañ, pe pouezañ war Ctrl-F5 pe Ctrl-R (⌘-R war ur Mac);
- Google Chrome: Pouezañ war Ctrl-Pennlizh-R (⌘-Shift-R war ur Mac)
- Internet Explorer / Edge: Derc'hel da bouezañ war Ctrl en ur glikañ war Freskaat, pe pouezañ war Ctrl-F5
- Konqueror : Klikañ war Adkargañ pe pouezañ war F5
- Opera : Mont da Arventennoù → lañser (Opera → Penndibaboù war ur Mac) ha goude mont da Prevezded & surentez → Riñsañ roadennoù ar grubuilh → Skeudennoù krubuilhet ha restroù.
/*
__FORCETOC__
== infobulles et touches d’accès ==
=== Navigation interprojet ===
*/
// Initialisation de la navigation interprojets (code adapté de de:wikt:Mediawiki:monobook.js)
mw.util.addCSS('#interProject {display: none; speak: none;} #p-tb .pBody {padding-right: 0;}');
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>Raktresoù all<\/h5><div class="pBody">'+iProject+'<\/div>';
document.getElementById("p-tb").appendChild(interProject);
}
}
$(iProject);
// Navigation interprojets
/*
== Liste des caractères spéciaux ==
*/
//============================================================
//
// Caractères spéciaux
//
//============================================================
/**
* Ajoutez le menu pour choisir des sous-ensembles de caractères spéciaux
* @note L'ordre de cette liste doit correspondre a celui de MediaWiki:Edittools !
*/
function addCharSubsetMenu() {
var specialchars = document.getElementById('specialchars');
if (specialchars) {
var menu = "<select style=\"display:inline\" onChange=\"chooseCharSubset(selectedIndex)\">";
menu += "<option>Wiki</option>";
menu += "<option>Matematikoù</option>";
menu += "<option>API</option>";
menu += "<option>Latin/Romain</option>";
menu += "<option>Gresianeg</option>";
menu += "<option>Kirileg</option>";
menu += "<option>AHD</option>";
menu += "<option>Alamaneg</option>";
menu += "<option>Arabeg</option>";
menu += "<option>Katalaneg</option>";
menu += "<option>Kroateg</option>";
menu += "<option>Espagnol</option>";
menu += "<option>Espéranto</option>";
menu += "<option>Estonien</option>";
menu += "<option>Gallois</option>";
menu += "<option>Hawaien</option>";
menu += "<option>Hébreu</option>";
menu += "<option>Hiéroglyphe</option>";
menu += "<option>Hollandais</option>";
menu += "<option>Hongrois</option>";
menu += "<option>Indo-européen</option>";
menu += "<option>Irlandais</option>";
menu += "<option>Islandais</option>";
menu += "<option>Italien</option>";
menu += "<option>Letton</option>";
menu += "<option>Lituanien</option>";
menu += "<option>Maltais</option>";
menu += "<option>Navajo & Apache</option>";
menu += "<option>Pinyin</option>";
menu += "<option>Polonais</option>";
menu += "<option>Portugais</option>";
menu += "<option>Rōmaji</option>";
menu += "<option>Roumain</option>";
menu += "<option>Scandinave</option>";
menu += "<option>Serbe</option>";
menu += "<option>Tchèque</option>";
menu += "<option>Turc</option>";
menu += "<option>Vieil anglais</option>";
menu += "<option>Vietnamien</option>";
menu += "<option>Yiddish</option>";
menu += "</select>";
specialchars.innerHTML = menu + specialchars.innerHTML;
/* default subset - try to use a cookie some day */
chooseCharSubset(0);
}
}
/* select subsection of special characters */
function chooseCharSubset(s) {
var l = document.getElementById('specialchars').getElementsByTagName('p');
for (var i = 0; i < l.length ; i++) {
l[i].style.display = i == s ? 'inline' : 'none';
l[i].style.visibility = i == s ? 'visible' : 'hidden';
}
}
$(addCharSubsetMenu);
/*
== Boîtes déroulantes ==
*/
// BEGIN Dynamic Navigation Bars (experimantal)
// set up the words in your language
var NavigationBarHide = '[ Enrouler ]';
var NavigationBarShow = '[ Dérouler ]';
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);
var NavFrame = document.getElementById("NavFrame" + indexNavigationBar);
if (!NavFrame || !NavToggle) {
return false;
}
// ajout par Dake
// permet de créer un titre en lieu et place du "Dérouler" grâce
// à l'attribut "title" du tag.
var ShowText;
if (NavFrame.title == undefined || NavFrame.title.length == 0 ) {
ShowText = NavigationBarShow;
} else {
ShowText = NavFrame.title;
}
// if shown now
if (NavToggle.firstChild.data == NavigationBarHide) {
for (
var NavChild = NavFrame.firstChild;
NavChild != null;
NavChild = NavChild.nextSibling
) {
if (NavChild.className == 'NavPic') {
NavChild.style.display = 'none';
}
if (NavChild.className == 'NavContent') {
NavChild.style.display = 'none';
}
if (NavChild.className == 'NavToggle') {
NavChild.firstChild.data = ShowText;
}
}
// if hidden now
} else if (NavToggle.firstChild.data == ShowText) {
for (
var NavChild = NavFrame.firstChild;
NavChild != null;
NavChild = NavChild.nextSibling
) {
if (NavChild.className == 'NavPic') {
NavChild.style.display = 'block';
}
if (NavChild.className == 'NavContent') {
NavChild.style.display = 'block';
}
if (NavChild.className == 'NavToggle') {
NavChild.firstChild.data = NavigationBarHide;
}
}
}
}
// adds show/hide-button to navigation bars
function createNavigationBarToggleButton()
{
var indexNavigationBar = 0;
// iterate over all < div >-elements
for(
var i=0;
NavFrame = document.getElementsByTagName("div")[i];
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);
// 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);
}
}
}
$(createNavigationBarToggleButton);
// END Dynamic Navigation Bars
/*
== Barre d'outil ==
=== Générateur de tableaux ===
*/
/**
*
* English: Generate an array using Mediawiki syntax
*
* @author: fr:user:dake
* @version: 0.1
*/
function generateTableau(nbCol, nbRow, border, styleHeader, styleLine)
{
var code = "\n";
if (styleHeader==1) {
code += '{{entête tableau charte}}\n';
} else {
code += '{| border="' + border + '"\n';
code += '|+ Titre du tableau\n';
}
for (var i=0; i<nbCol; i++) code += '! en-tête ' + i + '\n';
for (var j=0; j<nbRow; j++) {
if ((j+1)%2==0 && styleLine==1) {
code += '|-{'+'{ligne grise}'+'}\n';
} else {
code += '|-----\n';
}
for (var i=0; i<nbCol; i++) code += '| élément\n';
}
code += '|}';
insertTags('','', code);
}
/**
*
* English: Open a popup with parameters to generate an array.
* The number of rows/columns can be modified. Some additional
* parameters are related to templates available on :fr
*
* @author: fr:user:dake
* @version: 0.1
*/
function popupTableau()
{
var popup = window.open('','name','height=400,width=500');
javaCode = '<script type="text\/javascript">function insertCode(){';
javaCode += 'var row = parseInt(document.paramForm.inputRow.value); ';
javaCode += 'var col = parseInt(document.paramForm.inputCol.value); ';
javaCode += 'var bord = parseInt(document.paramForm.inputBorder.value); ';
javaCode += 'var styleHeader = document.paramForm.inputHeader.checked; ';
javaCode += 'var styleLine = document.paramForm.inputLine.checked; ';
javaCode += 'window.opener.generateTableau(col,row,bord,styleHeader,styleLine); ';
javaCode += '}<\/script>';
popup.document.write('<html><head><title>Paramètres du tableau</title>');
popup.document.write(javaCode);
popup.document.write('</head><body>');
popup.document.write('<p>Veuillez entrer les paramètres du tableau : </p>');
popup.document.write('<form name="paramForm">');
popup.document.write('Nombre de lignes : <input type="text" name="inputRow" value="3" ><p>');
popup.document.write('Nombre de colonnes : <input type="text" name="inputCol" value="3" ><p>');
popup.document.write('Largeur de la bordure : <input type="text" name="inputBorder" value="1" ><p>');
popup.document.write('En-tête en gris (style « charte graphique ») : <input type="checkbox" name="inputHeader" checked="1" ><p>');
popup.document.write('Lignes grises alternées (style « charte graphique ») : <input type="checkbox" name="inputLine" checked="1" ><p>');
popup.document.write('</form">');
popup.document.write('<p><a href="javascript:insertCode()"> Insérer le code dans la fenêtre d\'édition</a></p>');
popup.document.write('<p><a href="javascript:self.close()"> Fermer</a></p>');
popup.document.write('</body></html>');
popup.document.close();
}
/*
=== Insertion de nouveaux boutons dans la barre d'outil ===
*/
function addCustomButton(){}
//Ressemble à la fonction de /w/skins/common/wikibits.js pour insérer un autre lien que insertTags
function marque_tab()
{
var toolbar = document.getElementById('toolbar');
if (!toolbar) return false;
var textbox = document.getElementById('wpTextbox1');
if (!textbox) return false;
if (!document.selection && textbox.selectionStart == null)
return false;
var image = document.createElement("img");
image.width = 23;
image.height = 22;
image.src = '//upload.wikimedia.org/wikipedia/commons/0/04/Button_array.png';
image.border = 0;
image.alt = 'Tableau';
image.title = 'Tableau';
image.style.cursor = "pointer";
image.onclick = function() {
popupTableau();
return false;
}
toolbar.appendChild(image);
}
$(marque_tab);
/*
== Historique en couleurs ==
*/
var ajax = new objAJAX()
var cookies = new objCookies()
//--------------------------------------------------------------------------------------------objAJAX
function objAJAX() {
// AJAX taken from http://jibbering.com/2002/4/httprequest.html. Thanx :)
this.conn = false
if (!this.conn && typeof XMLHttpRequest != 'undefined') {
try {
this.conn = new XMLHttpRequest()
} catch (e) {
this.conn =false
}
}
if (!this.conn && window.createRequest) {
try {
this.conn = window.createRequest()
} catch (e) {
this.conn = false
}
}
this.url = null
this.requestType = "GET"
this.unsync = true
this.parser = new objHTMLparser()
}
objAJAX.prototype.sendRequest = function (url, type, unsync, data) {
if (!this.conn)
return null
if (this.conn.readyState != 0 && this.conn.readyState != 4)
return "busy"
if (url)
this.url = url
if (type)
this.requestType = type
if (unsync != null)
this.unsync = unsync
//alert(this.requestType + " ++ " + this.url + " ++ " + this.unsync)
this.conn.open(this.requestType, this.url, this.unsync)
this.conn.send(data)
}
objAJAX.prototype.getResult = function () {
if (!this.conn)
return null
return this.conn.responseText
}
objAJAX.prototype.abort = function () {
this.conn.onreadystatechange = null
this.conn.abort()
}
//------------------------------------------------------------------------------------------ObjCookie
function objCookies() {
this.value = null
this.name = null
this.expires = null
}
objCookies.prototype.get = function (which) {
this.allcookies = document.cookie
var start = this.allcookies.indexOf("; " + which + "=")
if (start == -1) {
start = this.allcookies.indexOf(which + "=")
if (start != 0)
return null
} else
start += "; ".length
this.name = which
var end = this.allcookies.indexOf(";", start)
if (end == -1)
end = this.allcookies.length
this.value = this.allcookies.substring(start + which.length + 1, end)
var arr = this.allcookies.substring(start, this.allcookies.length).split("; ")
this.expires = null
if (arr.length > 0)
if (/expires=/.test(arr[1]))
this.expires = arr[1].substring("expires=".length, arr[1].length)
return this.value
}
objCookies.prototype.set = function (name, value, expires) {
document.cookie = name + "=" + value + ";" + (expires ? "expires=" + expires + ";" : "") + "path=/;" + "domain=fr.wikiquote.org;"
this.allcookies = document.cookie
}
objCookies.prototype.setWithDelay = function (name, value, delay) {
// delay is in millisecond
var d = new Date()
d.setTime(d.getTime() + delay)
this.set(name, value, d.toGMTString())
}
objCookies.prototype.kill = function (which) {
if (this.get(which))
this.set(which, null, "Thu, 01-Jan-70 00:00:01 GMT")
}
//--------------------------------------------------------------------------------------objHTMLparser
function objHTMLparser(str) {
this.html = str
}
objHTMLparser.prototype.parse = function (elmt, str) {
if (str !== null)
this.html = str
if (this.html.indexOf("<" + elmt) == -1 || this.html.indexOf("</" + elmt + ">") == -1)
return null
var arr1 = this.html.split("<" + elmt)
var elmts = new Array()
for (var cpt = 1 ; cpt < arr1.length ; cpt++) {
var el = new Object()
el.innerHTML = arr1[cpt].substring(arr1[cpt].indexOf(">"), arr1[cpt].length).split("</" + elmt)[0]
var prop = arr1[cpt].split(">")[0].split(/\s/g)
for (var cpt1 = 1 ; cpt1 < prop.length ; cpt1++) {
if (prop[cpt1].indexOf("=") != -1)
el[prop[cpt1]] = true
else
el[prop[cpt1].split("=")[0]] = prop[cpt1].substring(prop[cpt1].indexOf("="), prop[cpt1].length)
}
elmts[cpt-1] = el
}
this.elmts[elmt] = elmts
}
/*************************************************/
// Nom : DeluxeHistory
// Auteur : Dake
// Basé sur du code Ajax de GôTô
// Dernière mise à jour : 8 avril 2006
// Commentaires :
/*************************************************/
var sysopsDeluxeHistory = null;
var botsDeluxeHistory = null;
function extractUsers(res) {
pattern = /title\=\"Utilisateur:(.*?)\"/g;
s = "";
while((result = pattern.exec(res)) != null) {
s += result[1] + "||";
}
return s;
}
/*************************************************/
// Auteur : Dake
// Basé sur du code de GôTô
/*************************************************/
function getBots() {
try {
netscape.security.PrivilegeManager.enablePrivilege("UniversalBrowserRead");
} catch (e) {
// mange l'exception
}
if (!cookies.get("botsDeluxeHistory")) {
ajax.conn.onreadystatechange = function () {
if (ajax.conn.readyState == 4) {
botsDeluxeHistory = extractUsers(ajax.getResult())
// conservé pour une semaine
cookies.setWithDelay("botsDeluxeHistory", botsDeluxeHistory, 1000*3600*24*7)
getSysops();
}
}
ajax.sendRequest("//fr.wikiquote.org/w/index.php?title=Special:Listusers&group=bot&limit=500&offset=0&action=raw", "GET", true)
} else {
botsDeluxeHistory = cookies.get("botsDeluxeHistory")
getSysops();
}
}
/*************************************************/
// Auteur : Dake
// Basé sur du code de GôTô
/*************************************************/
function getSysops() {
try {
netscape.security.PrivilegeManager.enablePrivilege("UniversalBrowserRead");
} catch (e) {
// mange l'exception
}
if (!cookies.get("sysopsDeluxeHistory")) {
ajax.conn.onreadystatechange = function () {
if (ajax.conn.readyState == 4) {
sysopsDeluxeHistory = extractUsers(ajax.getResult())
// conservé pour une semaine
cookies.setWithDelay("sysopsDeluxeHistory", sysopsDeluxeHistory, 1000*3600*24*7)
deluxeHistoryProcess();
}
}
ajax.sendRequest("//fr.wikiquote.org/w/index.php?title=Special:Listusers&group=sysop&limit=500&offset=0&action=raw", "GET", true)
} else {
sysopsDeluxeHistory = cookies.get("sysopsDeluxeHistory")
deluxeHistoryProcess();
}
}
// code by Martin Honnen
function getOuterHTML (node) {
if (node.nodeType == 3)
return node.nodeValue;
else if (node.nodeType == 1) {
var html = '';
html += '<' + node.nodeName;
for (var a = 0; a < node.attributes.length; a++)
html += ' ' + node.attributes[a].nodeName + '="' +
node.attributes[a].nodeValue + '"';
if (node.childNodes.length == 0)
html += ' \/>';
else {
html += '>';
for (var c = 0; c < node.childNodes.length; c++)
html += getOuterHTML(node.childNodes[c]);
html += '<\/' + node.nodeName + '>';
}
return html;
}
}
function deluxeHistoryProcess() {
sysopsList = sysopsDeluxeHistory.split("||")
botsList = botsDeluxeHistory.split("||")
var lis = document.getElementById("pagehistory").getElementsByTagName("li");
for (i=0; i<lis.length; i++) {
spanNode = lis[i].getElementsByTagName("span");
username = spanNode[0].childNodes[0].childNodes[0].nodeValue;
// check le statut du contributeur
var className = "history-user-normal";
// bot ?
for (j=0;j<botsList.length;j++) {
if (botsList[j].indexOf(username)==0) {
className = "history-user-bot"
break;
}
}
// sysop ?
for (j=0;j<sysopsList.length;j++) {
if (sysopsList[j].indexOf(username)==0) {
className = "history-user-sysop"
break;
}
}
// ip ?
var ip = /\d{1,3}\.\d{1,3}.\d{1,3}.\d{1,3}/;
if (ip.exec(username)) {
className = "history-user-ip"
}
// ajout des icônes
specialOp = "";
var comment = "";
for (h=0;h<spanNode.length;h++) {
if (spanNode[h].getAttribute("class") == "comment") {
comment = getOuterHTML(spanNode[h])
break;
}
}
var regexExpEvents = new Array();
regexExpEvents[0] = /((r|R)(é|e)vocation|(r|R)v |(R|r)evert|(v|V)andal(isme|e))/;
regexExpEvents[1] = /(a restauré|a effacé|(s|S)uppression)/;
regexExpEvents[2] = /((R|r)enommage|a déplacé)/;
regexExpEvents[3] = /((semi|Semi)-(p|P)rotection|(P|p)rotection)/;
var iconsEvents = new Array();
iconsEvents[0] = "//upload.wikimedia.org/wikipedia/commons/thumb/7/77/Crystal_Clear_action_reload.png/20px-Crystal_Clear_action_reload.png"
iconsEvents[1] = "//upload.wikimedia.org/wikipedia/commons/thumb/0/0c/Crystal_Clear_action_exit.png/20px-Crystal_Clear_action_exit.png"
iconsEvents[2] = "//upload.wikimedia.org/wikipedia/commons/thumb/4/45/Crystal_Clear_action_2rightarrow.png/20px-Crystal_Clear_action_2rightarrow.png"
iconsEvents[3] = "//upload.wikimedia.org/wikipedia/commons/thumb/f/ff/Crystal_Clear_action_lock.png/20px-Crystal_Clear_action_lock.png"
if (comment) {
for (k=0;k<regexExpEvents.length;k++) {
if (regexExpEvents[k].test(comment)) {
imgTag = "<img src=\"" + iconsEvents[k] + "\" />"
specialOp = "<div class=\"" + className +
"\" style=\"float: right; vertical-align:top;\">" +
imgTag + "</div>"
}
}
}
lis[i].innerHTML = "<div class=\"" + className + "\">" + specialOp + lis[i].innerHTML + "</div>"
inputNodes = lis[i].getElementsByTagName("input");
for (j=0;j<inputNodes.length;j++) {
inputNodes[j].style.visibility='visible';
}
for (j=0;j<spanNode.length;j++) {
if(spanNode[j].getAttribute("class")=="history-user") {
spanNode[j].setAttribute("class", className)
}
}
}
}
if (location.href.indexOf("&action=history")!==-1) {
$(function () {
getBots();
});
}
/*
== Pré-initialisation de certaines pages ==
*/
//============================================================
//
// Fonctions de remplissage automatique
//
//============================================================
/*
=== Citation du jour ===
*/
function InitQOTD(page_name)
{
var cbeg = '<!--Remplissez les champs citation, auteur et article et sauvegardez la page. -->';
var template = '{{' + 'subst:' + 'Citation du jour/Préchargement' + '\n' + '|citation=\n' + '|auteur=\n' + '|article=\n' + '}}';
return cbeg + '\n' + template + '\n';
}
/*
=== Espace Référence ===
*/
/* Pour les sous-pages de l'espace Référence (e.g. [[Référence:Page/Sous-page]]) */
function InitRefSub()
{
var cbeg = '<!-- Remplissez les champs ci-dessous et sauvegardez la page. Voyez la documentation de ' + '[[Modèle:' + 'Édition' + ']]' + ' pour la liste des champs disponibles. -->';
var beg = '{{' + 'subst:' + 'Édition début' + '}}';
var fields = '|titre=' + '\n' + '|auteur=' + '\n' + '|trad=' + '\n' + '|éditeur=' + '\n' + '|année=' + '\n' + '|lieu=' + '\n' + '|pages=' + '\n' + '|isbn=';
var cend = '<!-- Ne pas modifier après cette ligne. -->';
var end = '{{' + 'subst:' + 'Édition fin' + '}}';
return cbeg + '\n' + beg + '\n' + fields + '\n' + cend + '\n' + end;
}
/* Pour les pages de l'espace Référence (e.g. [[Référence:Page]]) */
function InitRefPage()
{
var beg = '{{' + 'Référence' + '}}' + '\n\n== Éditions ==';
var cbeg = "<!-- Attention : cette partie ne doit faire qu'inclure les sous-pages (une par édition). Pour ajouter une édition, il faut créer une nouvelle sous-page. -->";
var body = '\n<!-- Exemple : \n\n=== [[/Gallimard-Folio|Gallimard]] ===\n\n' + '{{' + '/Gallimard-Folio' + '}}\n\n-->';
return beg + "\n" + cbeg + "\n" + body;
}
function InitRef(page_name)
{
var retval;
var index = page_name.indexOf('/');
if (index != -1)
retval = InitRefSub();
else
retval = InitRefPage();
return retval;
}
/*
=== Pré-initialisation ===
*/
var init_if_empty = [
['R%C3%A9f%C3%A9rence:', InitRef],
['Mod%C3%A8le:Citation_du_jour/', InitQOTD]
];
/**
* Remplit la zone d'édition si elle est vide avec le texte retourné par
* un pointeur de fonction sélectionné par le nom de la page.
*/
function InitPage()
{
// Tester si editdorm et wpTextbox1 existe sinon il y a une erreur lorsqu'on
// ouvre l'historique d'une page qui match un des noms de init_if_empty[],
// tester seulement le nom de la page n'est pas suffisant.
if (document.editform == undefined ||
document.editform.wpTextbox1 == undefined)
return;
var text_area = document.editform.wpTextbox1;
if (text_area.value.length != 0)
return;
ugly_url = '//fr.wikiquote.org/w/index.php?title=';
for (var i = 0; i < init_if_empty.length; ++i) {
var page_name = document.URL;
var page_match = init_if_empty[i][0];
var index = page_name.indexOf(ugly_url + page_match);
if (index != -1) {
page_name = page_name.slice((ugly_url + page_match).length);
page_name = page_name.split('&')[0];
page_name = decodeURI(page_name);
page_name = page_name.replace(/_/g, ' ')
text_area.value = init_if_empty[i][1](page_name);
break;
}
}
}
$(InitPage);
/*
== Choix de l'affichage des références ==
*/
//============================================================
//
// Choix de l'affichage des références
//
//============================================================
/**
* Choix du mode d'affichage des références.
* @note L'ordre de cette liste doit correspondre a celui de Modèle:Édition !
*/
function addBibSubsetMenu()
{
var specialBib = document.getElementById('specialBib');
if (specialBib)
{
specialBib.style.display = 'block';
var menu = "<select style=\"display:inline;\" onChange=\"chooseBibSubset(selectedIndex)\">";
menu += "<option>Liste</option>";
menu += "<option>WikiNorme</option>";
menu += "<option>BibTeX</option>";
menu += "<option>ISBD</option>";
menu += "<option>ISO690</option>";
menu += "</select>";
specialBib.innerHTML = specialBib.innerHTML + menu;
}
/* default subset - try to use a cookie some day */
chooseBibSubset(0);
}
/* select subsection 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 == 'WikiNorme') 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';
}
}
$(addBibSubsetMenu);