Difference between revisions of "MediaWiki:Common.js"

mung ghItlh'a'pedia
Jump to navigation Jump to search
(Code from Wikinet. I hope that NavFrame works now)
Line 1: Line 1:
 
/* Any JavaScript here will be loaded for all users on every page load. */
 
/* Any JavaScript here will be loaded for all users on every page load. */
  +
 
  +
/* Collapsible toggle */
 
  +
skin = {
 
  +
$(function(){
"Namespace:Main Page": "",
 
  +
$(".collapsibletoggle").find(".collapsibletoggletext").click(function(){
"User:Guest/Web 2.0": "Fullscreen.css"
 
  +
$(this).closest(".collapsibletoggle").find(".collapsibletoggletext").toggleClass("hiddentext");
}
 
  +
});
 
  +
});
var re = RegExp("(.*) - ghItlh'a'pedia");
 
  +
var matches = re.exec(document.title);
 
  +
var skinName;
 
  +
/* Cycle forwards or backwards through elements one at a time via click */
 
  +
if (matches) {
 
  +
$(function(){
if (skin[matches[1]] != undefined) {
 
  +
$(".cyclesequence").find(".cyclesequencelinknext").click(function(){
skinName = (skin[matches[1]].length > 0) ? skin[matches[1]] : matches[1] + '.css';
 
  +
if ($(this).closest(".cyclesequence").find(".cyclesequenceitem:visible").next(".cyclesequenceitem").length === 0) {
document.write('<style type="text/css">/*<![CDATA[*/ @import "/index.php?title=MediaWiki:Skin/' + skinName + '&action=raw&ctype=text/css"; /*]]>*/</style>');
 
  +
$(this).closest(".cyclesequence").find(".cyclesequenceitem:first").removeClass("hiddentext").siblings(".cyclesequenceitem").addClass("hiddentext");
}
 
  +
}
}
 
  +
else {
 
  +
$(this).closest(".cyclesequence").find(".cyclesequenceitem:visible").next(".cyclesequenceitem").removeClass("hiddentext").siblings(".cyclesequenceitem").addClass("hiddentext");
// inserts user name into <span class="insertusername"></span>
 
  +
}
addOnloadHook(UserNameReplace);
 
  +
});
function UserNameReplace() {
 
  +
});
for(var i=0; UserName = document.getElementsByTagName("span")[i]; i++) {
 
  +
if (wgUserName&&(UserName.getAttribute('class') == "insertusername")) {
 
  +
$(function(){
var ViewerName = wgUserName;
 
  +
$(".cyclesequence").find(".cyclesequencelinkprev").click(function(){
UserName.innerHTML = ViewerName;
 
  +
if ($(this).closest(".cyclesequence").find(".cyclesequenceitem:visible").prev(".cyclesequenceitem").length === 0) {
}
 
  +
$(this).closest(".cyclesequence").find(".cyclesequenceitem:last").removeClass("hiddentext").siblings(".cyclesequenceitem").addClass("hiddentext");
if (wgUserName&&(UserName.getAttribute('class') == "insertusername2")) {
 
  +
}
var ViewerName = '<a href="http://'+location.hostname+'/wiki/Usuário:'+wgUserName+'" title="Usuário:'+wgUserName+'">'+wgUserName+'</a>';
 
  +
else {
UserName.innerHTML = ViewerName;
 
  +
$(this).closest(".cyclesequence").find(".cyclesequenceitem:visible").prev(".cyclesequenceitem").removeClass("hiddentext").siblings(".cyclesequenceitem").addClass("hiddentext");
}
 
}
+
}
  +
});
}
 
  +
});
 
  +
//============================================================
 
  +
/* Click link to show one or more items and hide other items */
// Fonctions de gestion
 
  +
//============================================================
 
  +
$(function(){
 
  +
$(".morphcontainer").find(".morphlink").click(function(){
/**
 
  +
var $correspondingContent = $(this).data("correspondingcontent");
* Installation d'une nouvelle fonction de cette façon:
 
  +
$(this).closest(".morphcontainer").find(".morphcontent").filter("."+$correspondingContent).removeClass("hiddentext");
* aOnloadFunctions[aOnloadFunctions.length] = nom_de_la_fonction; // (sans parenthèses)
 
  +
$(this).closest(".morphcontainer").find(".morphcontent").not("."+$correspondingContent).addClass("hiddentext");
*/
 
  +
});
if (!window.aOnloadFunctions) {
 
  +
});
var aOnloadFunctions = new Array();
 
  +
}
 
  +
/* Blinking text */
 
  +
window.onload = function()
 
  +
setInterval(function () {
{
 
  +
var elements = document.getElementsByClassName('blink');
if (window.aOnloadFunctions) {
 
for (var _i=0; _i<aOnloadFunctions.length; _i++) {
+
for (index = 0; index < elements.length; index++) {
  +
if (elements[index].style.visibility === 'visible') {
aOnloadFunctions[_i]();
 
  +
elements[index].style.visibility = 'hidden';
  +
} else {
  +
elements[index].style.visibility = 'visible';
 
}
 
}
 
}
 
}
  +
}, 1000);
}
 
  +
 
 
 
/**
 
/**
  +
* Dynamic Navigation Bars (experimental)
* Ajouter une nouvelle fonction a excuter au chargement de la page.
 
*/
+
*
  +
* Description: See [[Wikipedia:NavFrame]].
function addLoadEvent(func)
 
  +
* Maintainers: UNMAINTAINED
{
 
if (window.addEventListener)
 
window.addEventListener("load", func, false);
 
else if (window.attachEvent)
 
window.attachEvent("onload", func);
 
}
 
 
// ============================================================
 
// BEGIN Dynamic Navigation Bars
 
 
// set up the words in your language
 
var NavigationBarHide = 'So'';
 
var NavigationBarShow = 'cha'';
 
 
// 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);
 
var NavFrame = document.getElementById("NavFrame" + indexNavigationBar);
 
 
if (!NavFrame || !NavToggle) {
 
return false;
 
}
 
 
// if shown now
 
if (NavToggle.firstChild.data == NavigationBarHide) {
 
for (
 
var NavChild = NavFrame.firstChild;
 
NavChild != null;
 
NavChild = NavChild.nextSibling
 
) {
 
if (NavChild.className == 'NavPic') {
 
NavChild.style.display = 'none';
 
}
 
if (NavChild.className == 'NavContent') {
 
NavChild.style.display = 'none';
 
}
 
if (NavChild.className == 'NavToggle') {
 
NavChild.firstChild.data = NavigationBarShow;
 
}
 
}
 
 
// if hidden now
 
} else if (NavToggle.firstChild.data == NavigationBarShow) {
 
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);
 
}
 
}
 
 
}
 
 
aOnloadFunctions[aOnloadFunctions.length] = createNavigationBarToggleButton;
 
 
// END Dynamic Navigation Bars
 
// ============================================================
 
 
//============================================================
 
//
 
// 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>Mathématiques</option>";
 
menu += "<option>API</option>";
 
menu += "<option>Latin/Romain</option>";
 
menu += "<option>Grec</option>";
 
menu += "<option>Cyrillique</option>";
 
menu += "<option>AHD</option>";
 
menu += "<option>Allemand</option>";
 
menu += "<option>Arabe</option>";
 
menu += "<option>Catalan</option>";
 
menu += "<option>Croate</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';
 
}
 
}
 
 
addLoadEvent(addCharSubsetMenu);
 
 
//============================================================
 
//
 
// 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';
 
}
 
}
 
 
addLoadEvent(addBibSubsetMenu);
 
 
 
 
//============================================================
 
//
 
 
 
  +
var collapseCaption = 'esconder';
  +
var expandCaption = 'mostrar';
  +
  +
// Set up the words in your language
  +
var navigationBarHide = '[' + collapseCaption + ']';
  +
var navigationBarShow = '[' + expandCaption + ']';
  +
 
/**
 
/**
  +
* Shows and hides content and picture (if available) of navigation bars.
 
*
 
*
  +
* @param {number} indexNavigationBar The index of navigation bar to be toggled
* English: Open a popup with parameters to generate an array.
 
  +
* @param {jQuery.Event} event Event object
* 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 toggleNavigationBar( indexNavigationBar, event ) {
 
  +
var navToggle = document.getElementById( 'NavToggle' + indexNavigationBar );
function popupTableau()
 
  +
var navFrame = document.getElementById( 'NavFrame' + indexNavigationBar );
{
 
  +
var navChild;
var popup = window.open('','name','height=400,width=500');
 
  +
 
  +
if ( !navFrame || !navToggle ) {
javaCode = '<script type="text\/javascript">function insertCode(){';
 
  +
return false;
javaCode += 'var row = parseInt(document.paramForm.inputRow.value); '
 
  +
}
javaCode += 'var col = parseInt(document.paramForm.inputCol.value); '
 
  +
javaCode += 'var bord = parseInt(document.paramForm.inputBorder.value); '
 
  +
// If shown now
javaCode += 'var styleHeader = document.paramForm.inputHeader.checked; '
 
  +
if ( navToggle.firstChild.data === navigationBarHide ) {
javaCode += 'var styleLine = document.paramForm.inputLine.checked; '
 
  +
for ( navChild = navFrame.firstChild; navChild !== null; navChild = navChild.nextSibling ) {
javaCode += 'window.opener.generateTableau(col,row,bord,styleHeader,styleLine); '
 
  +
if ( $( navChild ).hasClass( 'NavContent' ) || $( navChild ).hasClass( 'NavPic' ) ) {
javaCode += '}<\/script>';
 
  +
navChild.style.display = 'none';
 
  +
}
popup.document.write('<html><head><title>Paramètres du tableau</title>');
 
  +
}
popup.document.write('<script type="text\/javascript" src="\/skins-1.5\/common\/wikibits.js"><!-- wikibits js --><\/script>');
 
  +
navToggle.firstChild.data = navigationBarShow;
popup.document.write('<style type="text\/css" media="screen,projection">/*<![CDATA[*/ @import "\/skins-1.5\/monobook\/main.css?5"; /*]]>*/<\/style>');
 
  +
popup.document.write(javaCode);
 
  +
// If hidden now
popup.document.write('</head><body>');
 
  +
} else if ( navToggle.firstChild.data === navigationBarShow ) {
popup.document.write('<p>Veuillez entrer les paramètres du tableau : </p>');
 
  +
for ( navChild = navFrame.firstChild; navChild !== null; navChild = navChild.nextSibling ) {
popup.document.write('<form name="paramForm">');
 
  +
if ( $( navChild ).hasClass( 'NavContent' ) || $( navChild ).hasClass( 'NavPic' ) ) {
popup.document.write('Nombre de lignes : <input type="text" name="inputRow" value="3" ><p>');
 
  +
navChild.style.display = 'block';
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>');
 
  +
navToggle.firstChild.data = navigationBarHide;
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>');
 
  +
event.preventDefault();
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
 
//============================================================
 
 
 
/**
 
/**
  +
* Adds show/hide-button to navigation bars.
* Ajoute quelques boutons sur la barre d'outil
 
* Inspiré de mon code précédent et des icônes sur he:
 
* @author: fr:user:dake
 
* @version: 0.1
 
*/
 
/*function ImprovedToolbar()
 
{
 
tooly = document.getElementById('toolbar');
 
if (tooly == null) return;
 
 
StrikeTextButton = "<a href=\"javascript:insertTags('<s>','</s>','');\"><img src=\"http://images.uncyc.org/commons/3/30/Btn_toolbar_rayer.png\" alt=\"Rayer\" title=\"Rayer\"></a>";
 
EnumTextButton = "<a href=\"javascript:insertTags('\\n# élément 1\\n# élément 2\\n# élément 3','','');\"><img src=\"http://images.uncyc.org/commons/8/88/Btn_toolbar_enum.png\" alt=\"Énumération\" title=\"Énumération\"></a>";
 
ListTextButton = "<a href=\"javascript:insertTags('\\n* élément A\\n* élément B\\n* élément C','','');\"><img src=\"http://images.uncyc.org/commons/1/11/Btn_toolbar_liste.png\" alt=\"Liste\" title=\"Liste\"></a>";
 
GalleryButton = "<a href=\"javascript:insertTags('\\n<gallery>\\nImage:Vista-openbsd.png|Légende\\nImage:AMule.png|Légende\\nImage:Cyberduck icon.png|Légende\\n</gallery>','','');\"><img src=\"http://images.uncyc.org/commons/9/9e/Btn_toolbar_gallery.png\" alt=\"Galerie d'images\" title=\"Galerie d'images\"></a>";
 
CommentTextButton = "<a href=\"javascript:insertTags('<!--','-->','');\"><img src=\"http://images.uncyc.org/commons/3/37/Btn_toolbar_commentaire.png\" alt=\"Commentaire\" title=\"Commentaire\"></a>";
 
RedirectButton = "<a href=\"javascript:insertTags('#REDIRECT [[',']]','nom de la destination');\"><img src=\"http://images.uncyc.org/wikipedia/en/c/c8/Button_redirect.png\" alt=\"Redirection\" title=\"Redirection\"></a>";
 
ArrayButton = "<a href=\"javascript:popupTableau();\"><img src=\"http://images.uncyc.org/commons/0/04/Button_array.png\" alt=\"Tableau\" title=\"Tableau\"></a>";
 
 
tooly.innerHTML = tooly.innerHTML + StrikeTextButton + EnumTextButton +
 
ListTextButton + CommentTextButton + GalleryButton + RedirectButton + ArrayButton ;
 
}
 
 
//addLoadEvent(ImprovedToolbar);
 
 
//Remplit la variable mwCustomEditButtons (voir /skins-1.5/commons/wikibits.js) pour ajouter des boutons à la barre d'outils
 
function addCustomButton(imageFile, speedTip, tagOpen, tagClose, sampleText)
 
{
 
mwCustomEditButtons[mwCustomEditButtons.length] =
 
{"imageFile": imageFile,
 
"speedTip": speedTip,
 
"tagOpen": tagOpen,
 
"tagClose": tagClose,
 
"sampleText": sampleText};
 
}
 
 
addCustomButton('http://images.uncyc.org/commons/3/30/Btn_toolbar_rayer.png','Rayer',"<s>","</s>",'');
 
addCustomButton('http://images.uncyc.org/commons/8/88/Btn_toolbar_enum.png','Énumération',"\\n# élément 1\\n# élément 2\\n# élément 3","",'');
 
addCustomButton('http://images.uncyc.org/commons/1/11/Btn_toolbar_liste.png','Liste',"\\n* élément A\\n* élément B\\n* élément C","",'');
 
addCustomButton('http://images.uncyc.org/commons/9/9e/Btn_toolbar_gallery.png','Galerie d\'images',"\\n<gallery>\\nImage:Vista-openbsd.png|Légende\\nImage:AMule.png|Légende\\nImage:Cyberduck icon.png|Légende\\n</gallery>","",'');
 
addCustomButton('http://images.uncyc.org/commons/3/37/Btn_toolbar_commentaire.png','Commentaire',"<!--","-->",'');
 
addCustomButton('http://images.uncyc.org/wikipedia/en/c/c8/Button_redirect.png','Redirection',"#REDIRECT [[","]]",'nom de la destination');
 
*/
 
//Ressemble à la fonction de /skins-1.5/commons/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 = 'http://images.uncyc.org/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);
 
}
 
 
addLoadEvent(marque_tab);
 
 
 
 
 
//============================================================
 
//
 
// Divers
 
//
 
//============================================================
 
 
/**
 
* Transformer les pages du communauté en page de discussion
 
*/
 
function DiscussionBistro()
 
{
 
if(document.title.search("Desencyclopedie:Communauté") != -1)
 
document.body.className = "ns-1";
 
}
 
 
addLoadEvent(DiscussionBistro);
 
 
/**
 
* Ajout d'un style particulier aux liens interlangues vers des articles de qualités
 
*/
 
function LienAdQ()
 
{
 
var lang = document.getElementById("p-lang"); // fin language link list
 
if(lang)
 
{
 
var span = document.getElementsByTagName("span");
 
for(i=0; i<span.length; i++) // iterate over all <span>-elements
 
{
 
// if found a AdQ span
 
if(span[i].className == "AdQ") {
 
var li = lang.getElementsByTagName("li");
 
for(j=0; j<li.length; j++) {
 
if(li[j].className == "interwiki-" + span[i].id) { // if found a AdQ link
 
li[j].style.padding = "0 0 0 16px";
 
li[j].style.backgroundImage = "url('http://images.uncyc.org/commons/3/36/Icone_etoile.png')";
 
li[j].style.backgroundRepeat = "no-repeat";
 
li[j].title = "Lien vers un article de qualité";
 
}
 
}
 
}
 
}
 
}
 
}
 
 
addLoadEvent(LienAdQ);
 
 
/*
 
* VraiTitre : Ajout du titre réel d'un article pour lequel MediaWiki n'affiche pas correctement
 
*/
 
 
function VraiTitre()
 
{
 
var balise = document.getElementById("vrai_titre");
 
if (!balise) return;
 
vrai_titre = balise.childNodes[0].nodeValue;
 
var titre = document.getElementsByTagName("H1")[0];
 
rectificatif = titre.appendChild(document.createElement("span"));
 
rectificatif.setAttribute ("style","color:#AAAAAA; font-size:0.7em; font-style:italic; display:inline;");
 
rectificatif.appendChild(document.createTextNode(" ("+ vrai_titre +")"));
 
}
 
addLoadEvent(VraiTitre);
 
 
/****************************************/
 
function mwInsertEditButton(parent, item) {
 
var image = document.createElement("img");
 
image.width = 23;
 
image.height = 22;
 
image.src = item.imageFile;
 
image.border = 0;
 
image.style.cursor = "pointer";
 
var ref = document.createElement("a")
 
ref.setAttribute("href", "javascript:insertTags(\"" + item.tagOpen + "\",\"" + item.tagClose + "\",\"" + item.sampleText + "\");")
 
ref.setAttribute("title", item.speedTip);
 
ref.appendChild(image);
 
 
parent.appendChild(ref);
 
}
 
 
/* </nowiki> </pre> */
 
 
 
// ============================================================
 
// Barras de Navegação inicio
 
// Esse script foi retirado da Wiskypaedia
 
 
/** Collapsible tables *********************************************************
 
 
*
 
*
  +
* @param {jQuery} $content
* Description: Allows tables to be collapsed, showing only the header. See
 
* [[Wikipedia:NavFrame]].
 
 
*/
 
*/
  +
function createNavigationBarToggleButton( $content ) {
 
  +
var i, j, navChild, navToggle, navToggleText, isCollapsed,
var hasClass = (function () {
 
  +
indexNavigationBar = 0;
var reCache = {};
 
  +
// Iterate over all < div >-elements
return function (element, className) {
 
  +
var $divs = $content.find( 'div.NavFrame:not(.mw-collapsible)' );
return (reCache[className] ? reCache[className] : (reCache[className] = new RegExp("(?:\\s|^)" + className + "(?:\\s|$)"))).test(element.className);
 
  +
$divs.each( function ( i, navFrame ) {
};
 
  +
indexNavigationBar++;
})();
 
  +
navToggle = document.createElement( 'a' );
 
  +
navToggle.className = 'NavToggle';
var autoCollapse = 2;
 
  +
navToggle.setAttribute( 'id', 'NavToggle' + indexNavigationBar );
var collapseCaption = "So'";
 
  +
navToggle.setAttribute( 'href', '#' );
var expandCaption = "cha'";
 
  +
$( navToggle ).on( 'click', $.proxy( toggleNavigationBar, null, indexNavigationBar ) );
 
  +
function collapseTable( tableIndex )
 
  +
isCollapsed = $( navFrame ).hasClass( 'collapsed' );
{
 
  +
/**
var Button = document.getElementById( "collapseButton" + tableIndex );
 
  +
* Check if any children are already hidden. This loop is here for backwards compatibility:
var Table = document.getElementById( "collapsibleTable" + tableIndex );
 
  +
* the old way of making NavFrames start out collapsed was to manually add style="display:none"
 
  +
* to all the NavPic/NavContent elements. Since this was bad for accessibility (no way to make
if ( !Table || !Button ) {
 
  +
* the content visible without JavaScript support), the new recommended way is to add the class
return false;
 
  +
* "collapsed" to the NavFrame itself, just like with collapsible tables.
}
 
  +
*/
 
  +
for ( navChild = navFrame.firstChild; navChild !== null && !isCollapsed; navChild = navChild.nextSibling ) {
var Rows = Table.rows;
 
  +
if ( $( navChild ).hasClass( 'NavPic' ) || $( navChild ).hasClass( 'NavContent' ) ) {
 
if ( Button.firstChild.data == collapseCaption ) {
+
if ( navChild.style.display === 'none' ) {
  +
isCollapsed = true;
for ( var i = 1; i < Rows.length; i++ ) {
 
  +
}
Rows[i].style.display = "none";
 
  +
}
}
 
  +
}
Button.firstChild.data = expandCaption;
 
  +
if ( isCollapsed ) {
} else {
 
  +
for ( navChild = navFrame.firstChild; navChild !== null; navChild = navChild.nextSibling ) {
for ( var i = 1; i < Rows.length; i++ ) {
 
  +
if ( $( navChild ).hasClass( 'NavPic' ) || $( navChild ).hasClass( 'NavContent' ) ) {
Rows[i].style.display = Rows[0].style.display;
 
  +
navChild.style.display = 'none';
}
 
  +
}
Button.firstChild.data = collapseCaption;
 
  +
}
}
 
}
+
}
  +
navToggleText = document.createTextNode( isCollapsed ? navigationBarShow : navigationBarHide );
 
  +
navToggle.appendChild( navToggleText );
function createCollapseButtons()
 
  +
{
 
  +
// Find the NavHead and attach the toggle link (Must be this complicated because Moz's firstChild handling is borked)
var tableIndex = 0;
 
  +
for ( j = 0; j < navFrame.childNodes.length; j++ ) {
var NavigationBoxes = new Object();
 
  +
if ( $( navFrame.childNodes[j] ).hasClass( 'NavHead' ) ) {
var Tables = document.getElementsByTagName( "table" );
 
  +
navToggle.style.color = navFrame.childNodes[j].style.color;
 
  +
navFrame.childNodes[j].appendChild( navToggle );
for ( var i = 0; i < Tables.length; i++ ) {
 
  +
}
if ( hasClass( Tables[i], "collapsible" ) ) {
 
  +
}
 
  +
navFrame.setAttribute( 'id', 'NavFrame' + indexNavigationBar );
/* 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"; // REMOVE THESE LINES
 
Button.style.fontWeight = "normal"; // ON 10 FEBRUARY 2009
 
Button.style.textAlign = "right"; //
 
Button.style.width = "6em"; //
 
 
Button.className = "collapseButton"; //Styles are declared in Common.css
 
 
ButtonLink.style.color = Header.style.color;
 
ButtonLink.setAttribute( "id", "collapseButton" + tableIndex );
 
ButtonLink.setAttribute( "href", "javascript:collapseTable(" + tableIndex + ");" );
 
ButtonLink.appendChild( ButtonText );
 
 
Button.appendChild( document.createTextNode( "[" ) );
 
Button.appendChild( ButtonLink );
 
Button.appendChild( document.createTextNode( "]" ) );
 
 
Header.insertBefore( Button, Header.childNodes[0] );
 
tableIndex++;
 
}
 
}
 
 
for ( var i = 0; i < tableIndex; i++ ) {
 
if ( hasClass( NavigationBoxes[i], "collapsed" ) || ( tableIndex >= autoCollapse && hasClass( NavigationBoxes[i], "autocollapse" ) ) ) {
 
collapseTable( i );
 
}
 
else if ( hasClass( NavigationBoxes[i], "innercollapse" ) ) {
 
var element = NavigationBoxes[i];
 
while (element = element.parentNode) {
 
if ( hasClass( element, "outercollapse" ) ) {
 
collapseTable ( i );
 
break;
 
}
 
}
 
}
 
}
 
}
 
 
addOnloadHook( createCollapseButtons );
 
 
 
// Barras de Navegação fim
 
// ============================================================
 
 
 
/* redirecionamento de domínios para desciclopedia.org inicio */
 
document.write('<script type="text/javascript" src="'
 
+ 'http://desciclopedia.org/index.php?title=Desciclop%C3%A9dia:Redirecionadores.js' + '&action=raw&ctype=text/javascript&dontcountme=s"></script>');
 
/* redirecionamento de domínios para desciclopedia.org fim */
 
 
/* SCRIPT DE FORÇAR SUMARIO PARA IPS FIM */
 
 
/* SCRIPT PARA REDIRECIONAR PARA NIHILISMO CASO A PESSOA DEIXE O CAMPO DE PESQUISA EM BRANCO INICIO */
 
addOnloadHook( function(){
 
document.getElementById('searchform').setAttribute('onsubmit','return verificasepesquisavazia()');
 
});
 
function verificasepesquisavazia()
 
{if (document.getElementById('searchInput').value == "" || document.getElementById('searchInput').value == null)
 
{ setTimeout("vaidonihi()",100); return false;}}
 
function vaidonihi () { window.location = 'http://'+location.hostname+'/wiki/Nihilismo';}
 
/* SCRIPT PARA REDIRECIONAR PARA NIHILISMO CASO A PESSOA DEIXE O CAMPO DE PESQUISA EM BRANCO FIM */
 
 
//Google Analytics inicio
 
/*
 
if (wgPageName!="Special:Preferences")
 
{
 
addOnloadHook( function(){
 
var elementoga = document.createElement('span');
 
elementoga.innerHTML = '<script type="text/javascript">\n\n var _gaq = _gaq || [];\n _gaq.push([\'_setAccount\', \'UA-23456408-2\']);\n _gaq.push([\'_trackPageview\']);\n\n (function() {\n var ga = document.createElement(\'script\'); ga.type = \'text/javascript\'; ga.async = true;\n ga.src = (\'https:\' == document.location.protocol ? \'https://ssl\' : \'http://www\') + \'.google-analytics.com/ga.js\';\n var s = document.getElementsByTagName(\'script\')[0]; s.parentNode.insertBefore(ga, s);\n })();\n\n</script>\n';
 
document.body.appendChild(elementoga);
 
});
 
 
}
 
}
  +
*/
 
  +
mw.hook( 'wikipage.content' ).add( createNavigationBarToggleButton );
//Google Analytics fim
 

Revision as of 21:42, 13 April 2021

/* Any JavaScript here will be loaded for all users on every page load. */

/* Collapsible toggle */

$(function(){
    $(".collapsibletoggle").find(".collapsibletoggletext").click(function(){
        $(this).closest(".collapsibletoggle").find(".collapsibletoggletext").toggleClass("hiddentext");
    });
});


/* Cycle forwards or backwards through elements one at a time via click */

$(function(){
    $(".cyclesequence").find(".cyclesequencelinknext").click(function(){
        if ($(this).closest(".cyclesequence").find(".cyclesequenceitem:visible").next(".cyclesequenceitem").length === 0) {
            $(this).closest(".cyclesequence").find(".cyclesequenceitem:first").removeClass("hiddentext").siblings(".cyclesequenceitem").addClass("hiddentext");
       }
       else {
           $(this).closest(".cyclesequence").find(".cyclesequenceitem:visible").next(".cyclesequenceitem").removeClass("hiddentext").siblings(".cyclesequenceitem").addClass("hiddentext");
         }
    });
});

$(function(){
    $(".cyclesequence").find(".cyclesequencelinkprev").click(function(){
        if ($(this).closest(".cyclesequence").find(".cyclesequenceitem:visible").prev(".cyclesequenceitem").length === 0) {
            $(this).closest(".cyclesequence").find(".cyclesequenceitem:last").removeClass("hiddentext").siblings(".cyclesequenceitem").addClass("hiddentext");
       }
       else {
           $(this).closest(".cyclesequence").find(".cyclesequenceitem:visible").prev(".cyclesequenceitem").removeClass("hiddentext").siblings(".cyclesequenceitem").addClass("hiddentext");
         }
    });
});

/* Click link to show one or more items and hide other items */

$(function(){
    $(".morphcontainer").find(".morphlink").click(function(){
        var $correspondingContent = $(this).data("correspondingcontent");
        $(this).closest(".morphcontainer").find(".morphcontent").filter("."+$correspondingContent).removeClass("hiddentext");
        $(this).closest(".morphcontainer").find(".morphcontent").not("."+$correspondingContent).addClass("hiddentext");
    });
});

/* Blinking text */

setInterval(function () {
  var elements = document.getElementsByClassName('blink');
  for (index = 0; index < elements.length; index++) {
    if (elements[index].style.visibility === 'visible') {
      elements[index].style.visibility = 'hidden';
    } else {
      elements[index].style.visibility = 'visible';
    }
  }
}, 1000);

/**
 * Dynamic Navigation Bars (experimental)
 *
 * Description: See [[Wikipedia:NavFrame]].
 * Maintainers: UNMAINTAINED
 */
 
var collapseCaption = 'esconder';
var expandCaption = 'mostrar';

// Set up the words in your language
var navigationBarHide = '[' + collapseCaption + ']';
var navigationBarShow = '[' + expandCaption + ']';

/**
 * Shows and hides content and picture (if available) of navigation bars.
 *
 * @param {number} indexNavigationBar The index of navigation bar to be toggled
 * @param {jQuery.Event} event Event object
 */
function toggleNavigationBar( indexNavigationBar, event ) {
	var navToggle = document.getElementById( 'NavToggle' + indexNavigationBar );
	var navFrame = document.getElementById( 'NavFrame' + indexNavigationBar );
	var 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 ).hasClass( 'NavContent' ) || $( navChild ).hasClass( 'NavPic' ) ) {
				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 ).hasClass( 'NavContent' ) || $( navChild ).hasClass( 'NavPic' ) ) {
				navChild.style.display = 'block';
			}
		}
		navToggle.firstChild.data = navigationBarHide;
	}

	event.preventDefault();
}

/**
 * Adds show/hide-button to navigation bars.
 *
 * @param {jQuery} $content
 */
function createNavigationBarToggleButton( $content ) {
	var i, j, navChild, navToggle, navToggleText, isCollapsed,
		indexNavigationBar = 0;
	// Iterate over all < div >-elements
	var $divs = $content.find( 'div.NavFrame:not(.mw-collapsible)' );
	$divs.each( function ( i, navFrame ) {
		indexNavigationBar++;
		navToggle = document.createElement( 'a' );
		navToggle.className = 'NavToggle';
		navToggle.setAttribute( 'id', 'NavToggle' + indexNavigationBar );
		navToggle.setAttribute( 'href', '#' );
		$( navToggle ).on( 'click', $.proxy( toggleNavigationBar, null, indexNavigationBar ) );

		isCollapsed = $( navFrame ).hasClass( 'collapsed' );
		/**
		 * Check if any children are already hidden.  This loop is here for backwards compatibility:
		 * the old way of making NavFrames start out collapsed was to manually add style="display:none"
		 * to all the NavPic/NavContent elements.  Since this was bad for accessibility (no way to make
		 * the content visible without JavaScript support), the new recommended way is to add the class
		 * "collapsed" to the NavFrame itself, just like with collapsible tables.
		 */
		for ( navChild = navFrame.firstChild; navChild !== null && !isCollapsed; navChild = navChild.nextSibling ) {
			if ( $( navChild ).hasClass( 'NavPic' ) || $( navChild ).hasClass( 'NavContent' ) ) {
				if ( navChild.style.display === 'none' ) {
					isCollapsed = true;
				}
			}
		}
		if ( isCollapsed ) {
			for ( navChild = navFrame.firstChild; navChild !== null; navChild = navChild.nextSibling ) {
				if ( $( navChild ).hasClass( 'NavPic' ) || $( navChild ).hasClass( 'NavContent' ) ) {
					navChild.style.display = 'none';
				}
			}
		}
		navToggleText = document.createTextNode( isCollapsed ? navigationBarShow : navigationBarHide );
		navToggle.appendChild( navToggleText );

		// Find the NavHead and attach the toggle link (Must be this complicated because Moz's firstChild handling is borked)
		for ( j = 0; j < navFrame.childNodes.length; j++ ) {
			if ( $( navFrame.childNodes[j] ).hasClass( 'NavHead' ) ) {
				navToggle.style.color = navFrame.childNodes[j].style.color;
				navFrame.childNodes[j].appendChild( navToggle );
			}
		}
		navFrame.setAttribute( 'id', 'NavFrame' + indexNavigationBar );
	} );
}

mw.hook( 'wikipage.content' ).add( createNavigationBarToggleButton );