/* generated javascript */
var skin = 'vector';
var stylepath = 'http://bits.wikimedia.org/skins-1.5';

/* MediaWiki:Common.js */
/*[[Catégorie:JavaScript du Wiktionnaire|{{SUBPAGENAME}}]]*/
/*************************************************************/
/* Fonctions JavaScript : pallient les limites de JavaScript */
/* Surveiller : http://www.ecmascript.org/                   */
/* Copié depuis Wikipédia : [[w:MediaWiki:Common.js]]        */
/*************************************************************/
 
/**
 * insertAfter : insérer un élément dans une page
 */
function insertAfter(parent, node, referenceNode) {
  parent.insertBefore(node, referenceNode.nextSibling); 
}
 
/**
 * getElementsByClass : rechercher les éléments de la page dont le paramètre "class" est celui recherché
 */
function getElementsByClass(searchClass, node, tag) {
  if (node == null) node = document;
  if (tag == null) tag = '*'; 
  return getElementsByClassName(node, tag, searchClass);
}
 
/**
 * Diverses fonctions manipulant les classes
 * Utilise des expressions régulières et un cache pour de meilleures perfs
 * isClass et whichClass depuis http://fr.wikibooks.org/w/index.php?title=MediaWiki:Common.js&oldid=140211
 * hasClass, addClass, removeClass et eregReplace depuis http://drupal.org.in/doc/misc/drupal.js.source.html
 * surveiller l'implémentation de .classList http://www.w3.org/TR/2008/WD-html5-diff-20080122/#htmlelement-extensions
 */
function isClass(element, classe) {
    return hasClass(element, classe);
}
 
function whichClass(element, classes) {
    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);
}
 



// Cookies en.wikt

function setCookie(cookieName, cookieValue) {
 var today = new Date();
 var expire = new Date();
 var nDays = 30;
 expire.setTime( today.getTime() + (3600000 * 24 * nDays) );
 document.cookie = cookieName + "=" + escape(cookieValue)
                 + ";path=/"
                 + ";expires="+expire.toGMTString();
 // We need to delete the more specific paths for the next while. Safe to remove this by July 2011, if not before.
 document.cookie = cookieName + "=" + ";path=/w" +
  ";expires=Thu, 01-Jan-1970 00:00:01 GMT";
 document.cookie = cookieName + "=" + ";path=/wiki" +
  ";expires=Thu, 01-Jan-1970 00:00:01 GMT";
}

function getCookie(cookieName) {
  var start = document.cookie.indexOf( cookieName + "=" );
  if ( start == -1 ) return "";
  var len = start + cookieName.length + 1;
  if ( ( !start ) &&
    ( cookieName != document.cookie.substring( 0, cookieName.length ) ) )
      {
        return "";
      }
  var end = document.cookie.indexOf( ";", len );
  if ( end == -1 ) end = document.cookie.length;
  return unescape( document.cookie.substring( len, end ) );
}

function deleteCookie(cookieName) {
  if ( getCookie(cookieName) ) {
    document.cookie = cookieName + "=" + ";path=/" +
    ";expires=Thu, 01-Jan-1970 00:00:01 GMT";
  }
}

/**
 * Récupère la valeur du 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;
}
 
// Récupère proprement le contenu textuel d'un noeud et de ses noeuds descendants
// Copyright Harmen Christophe, http://openweb.eu.org/articles/validation_avancee, CC
function getTextContent(oNode) {
  if (typeof(oNode.textContent)!="undefined") {return oNode.textContent;}
  switch (oNode.nodeType) {
    case 3: // TEXT_NODE
    case 4: // CDATA_SECTION_NODE
      return oNode.nodeValue;
      break;
    case 7: // PROCESSING_INSTRUCTION_NODE
    case 8: // COMMENT_NODE
      if (getTextContent.caller!=getTextContent) {
        return oNode.nodeValue;
      }
      break;
    case 9: // DOCUMENT_NODE
    case 10: // DOCUMENT_TYPE_NODE
    case 12: // NOTATION_NODE
      return null;
      break;
  }
  var _textContent = "";
  oNode = oNode.firstChild;
  while (oNode) {
    _textContent += getTextContent(oNode);
    oNode = oNode.nextSibling;
  }
  return _textContent;
}

// FIN Fonctions JavaScript


/*
==  Modification des articles (boîte à outils etc.) ==
Voir [[MediaWiki:Common.js/edit.js]].
*/

if( wgAction == 'edit' || wgAction == 'submit' ) {
  importScript( 'MediaWiki:Common.js/edit.js' );
}

/*
== Page de recherche ==
Voir [[MediaWiki:Common.js/searchEngines.js]].
*/

if (wgPageName == "Spécial:Recherche") {
 importScript( 'MediaWiki:Common.js/searchEngines.js' );
}

/*
== [[Wiktionnaire:Pages les plus demandées]] ==
Source importée : [[:de:MediaWiki:If-search.js]].
*/

document.write('<script type="text/javascript" src="http://de.wiktionary.org/w/index.php?title=MediaWiki:If-search.js&amp;action=raw&amp;ctype=text/javascript&amp;dontcountme=s"></script>') ;

/*
== Page d’accueil ==
Transforme la page d'accueil en page "normale" (fond blanc) et enlève son titre.
*/

function PageAccueil()
{
  if(wgPageName == "Wiktionnaire:Page_d\'accueil" && wgAction == "view") {
    document.body.className = document.body.className.replace("ns-4", "ns-0") ;
    document.write('<style type="text/css">/*<![CDATA[*/ #lastmod, #siteSub, #contentSub, h1.firstHeading { display: none !important; } /*]]>*/</style>') ;
  }
}

addOnloadHook(PageAccueil) ;

/*
== Nouvelles pages de discussions ==
Transforme la Wikidémie et d'autres pages marquées en pages de discussion.
*/

function TransformeEnDiscussion() {
  if(document.title.match( /Wiktionnaire:Wikidémie/)
    || document.getElementById('transformeEnPageDeDiscussion'))
    document.body.className = 'ns-1' ;
}
addOnloadHook(TransformeEnDiscussion) ;

/*******************************************************************************/
/* Copié depuis [[w:MediaWiki:Common.js]]                                      */
/* Ajout d'un style particulier aux liens interlangues vers un bon article ou  */
/* un article de qualité                                                       */
/*******************************************************************************/
function lienAdQouBAouPdQ() {
  // 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- est intentionnel pour correspondre au modèle Lien AdQ, on
		// ne doit pas le corriger.
		// if (document.getElementById("BA-" + lis[i].className)) {
		// lis[i].className += " BA";
		// lis[i].title = "Lien vers un bon article";
		
		if (document.getElementById("ADQ-" + lis[i].className)) {
		lis[i].className += " AdQ";
		lis[i].title = "Lien vers un article de qualité";
		} 
	}
}
addOnloadHook(lienAdQouBAouPdQ);

/**
 * Réécriture des titres
 *(copié de Wikipédia)
 *
 * Fonction utilisée par [[Modèle:titre incorrect]]
 * 
 * La fonction cherche un bandeau de la forme
 * <div id="RealTitleBanner">
 *   <span id="RealTitle">titre</span>
 * </div>
 *
 * Un élément comportant id="DisableRealTitle" désactive la fonction
 */
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);


/*******************************/
/*   Boîtes déroulantes        */
/*******************************/
// set up the words in your language
var NavigationBarHide = 'Enrouler';
var NavigationBarShow = 'Dérouler';

// hide or show by default
// NavigationBarShowDefault = 0; // all bars will be hidden
// NavigationBarShowDefault = 1; // all bars will be shown
if (typeof(NavigationBarShowDefault) == "undefined") {
 NavigationBarShowDefault = 1;
}

// 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 (hasClass(NavFrame, 'NavFrame')) {
            indexNavigationBar++;
            var NavToggle = document.createElement("a");
            NavToggle.className = 'NavToggle';
            NavToggle.setAttribute('id', 'NavToggle' + indexNavigationBar);
            NavToggle.setAttribute('href', 'javascript:toggleNavigationBar(' + indexNavigationBar + ');');
            var NavToggleText = document.createTextNode(NavigationBarHide);
            NavToggle.appendChild(NavToggleText);
            
            // add NavToggle-Button as first div-element
            // in <div class="NavFrame">
            NavFrame.insertBefore(
                NavToggle,
                NavFrame.firstChild
            );
            NavFrame.setAttribute('id', 'NavFrame' + indexNavigationBar);
            
            // Hide in these cases
            if (NavigationBarShowDefault==0 || hasClass(NavFrame, 'collapsed')) {
                toggleNavigationBar(indexNavigationBar) ;
            }
        }
    }
}
addOnloadHook(createNavigationBarToggleButton);

/*********************/
/*   Lien d'import   */
/*********************/
// Changer le lien d'import en lien vers la page [[Aide:Importer un fichier]]
// Copié depuis Wikipédia
 
function LienUpload() 
{
  uploadLink = document.getElementById("t-upload");
  if (!uploadLink) return;
 
  a = uploadLink.firstChild;
  a.setAttribute('href', '/wiki/Aide:Importer_un_fichier');
}
 
addOnloadHook(LienUpload);

/******************************/
/* Navigation interprojet     */
/******************************/
// Initialisation de la navigation interprojets (code adapté de de:wikt:Mediawiki:monobook.js)
 
 document.write('<style type="text/css">#interProject {display: none; speak: none;} #p-tb .pBody {padding-right: 0;}<\/style>');
 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>Autres projets<\/h5><div class="pBody">'+iProject+'<\/div>';
   document.getElementById("p-tb").appendChild(interProject);
  }
 }
 hookEvent("load", iProject);
 
// Navigation interprojets


/* DÉBUT DU CODE JAVASCRIPT DE "CADRE À ONGLETS"
    Fonctionnement du [[Modèle:Cadre à onglets]]
    Modèle implanté par User:Peleguer de http://ca.wikipedia.org
    Actualisé par User:Joanjoc de http://ca.wikipedia.org
    Traduction et adaptation User:Antaya de http://fr.wikipedia.org
    Importation sur le Wiktionnaire par JackPotte
*/
function CadreOngletInit(){
  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 = CadreOngletVoirOnglet;          
        if (vBt.className=="mbBoutonSel") vOgIni=j;  
     }
 
     if (vOgIni == 0) { 
         vOgIni = 1+Math.floor((j-1)*Math.random()) ;
         document.getElementById("mb"+i+"og"+vOgIni).style.display = "block";
         document.getElementById("mb"+i+"og"+vOgIni).style.visibility = "visible";
         document.getElementById("mb"+i+"bt"+vOgIni).className="mbBoutonSel";
     } 
  }
 }
 
 function CadreOngletVoirOnglet(){
  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="mbBoutonSel";
        } else {             
                vOgElem.style.display = "none";
                vOgElem.style.visibility = "hidden";
                document.getElementById(vMbNom+"bt"+i).className="mbBouton";
        }
  }
  return false; 
}
addOnloadHook(CadreOngletInit);
/*FIN DU CODE JAVASCRIPT DE "CADRE À ONGLETS"*/



/**
* mwEmbed Gadget is part of a larger framework for more info on debugging mwEmbed see:
* http://www.mediawiki.org/wiki/JS2_Overview#Debugging_mwEmbed_Gadget
*/
 
if( typeof mwAddMediaConfig == 'undefined'){
   mwAddMediaConfig = {};
}
mwAddMediaConfig['enabled_providers'] = [ 'wiki_commons', 'upload' ];
 
// Use content language and new mwEmbed location
importScriptURI( 'http://prototype.wikimedia.org/mwe-gadget/mwEmbed/remotes/mediaWiki.js?uselang=' + wgUserLanguage );


/**
 * application de [[w:Wikipédia:Prise de décision/Système de cache]], puis [[Wiktionnaire:Wikidémie/août_2010#Gestion_des_hyperliens_par_le_.22Syst.C3.A8me_de_cache.22]]
 * un <span class="noarchive"> autour du lien l'empêche d'être pris en compte
 * pour celui-ci uniquement
 * un no_external_cache=true dans un monobook personnel désactive le script
 */

addOnloadHook(function () {
 
  if (wgNamespaceNumber == 0) {
    if ((typeof no_external_cache != "undefined") && (no_external_cache)) return;
    addcache();
  }
 
  function addcache() {
    var external_links;
    if (document.getElementsByClassName) {
      external_links = document.getElementsByClassName('external');
    } else {
      external_links = getElementsByClass('external',document.getElementById("bodyContent"),'a');
    }
 
    for( i = 0;i < external_links.length;i++) 
    {
      var chemin = external_links[i].href;
 
      if(chemin.indexOf("http://wikiwix.com/cache/")==-1 && chemin.indexOf("http://web.archive.org/web/*/")==-1 && chemin.indexOf(wgServer)==-1 && chemin.indexOf("wikimedia.org")==-1 && chemin.indexOf("stable.toolserver.org")==-1)
      {
      var li = external_links[i].parentNode;
      if (li.className == "noarchive") continue;
      var depth = 0;
      while ((depth < 3) && (li.tagName != "OL") && (li.parentNode != null)) {
        li = li.parentNode;
        depth++;
      }
 
      if (li.tagName != "OL" || !(hasClass(li, 'references')) ) continue;
      var titre = getTextContent(external_links[i]); 
      var last = document.createElement("small");
      last.setAttribute("class", "cachelinks");
      last.style.color = "#3366BB";
      last.appendChild(document.createTextNode("\u00a0["));
      insertAfter(external_links[i].parentNode, last, external_links[i]);
 
      var link = document.createElement("a");
      link.setAttribute("href", "http://wikiwix.com/cache/?org=" + wgServer + "&url=" + chemin.replace(/%/g, "%25").replace(/&/g, "%26") + "&title=" + encodeURIComponent(titre));
      link.setAttribute("title", "archive de "+ titre);
      link.appendChild(document.createTextNode("archive"));
      link.style.color = "#3366BB";
      last.appendChild(link);
      last.appendChild(document.createTextNode("]"));
      }
    }
  }
}
);

// Importé de [[es:MediaWiki:Onlyifsystem.js]] : ajoute des liens interwikis dans la barre de gauche, dans les namespaces ci-dessous :<pre>
 if (document.URL.indexOf("Spécial:") > 0 || document.URL.indexOf("MediaWiki:") > 0 || document.URL.indexOf("=Spécial") > 0 || document.URL.indexOf("=MediaWiki") > 0) {
  document.write('<script type="text/javascript" src="/w/index.php?title=MediaWiki:Onlyifsystem.js&amp;action=raw&amp;ctype=text/javascript&amp;dontcountme=s"><\/script>');
 }
//</pre>

// De [[es:MediaWiki:Common.js]] pour faire marcher Onlyifsystem.js (cf. Common.css + [[MediaZilla:708]])<pre>
 document.write('<style type="text/css">#interProject {display: none; speak: none;}<\/style>');
 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>InterProjet<\/h5><div class="pBody">'+iProject+'<\/div>';
   document.getElementById("p-tb").appendChild(interProject);
  }
 }
 hookEvent("load", iProject);
//</pre>

/* MediaWiki:Vector.js */
/* Any JavaScript here will be loaded for users using the Vector skin */