Utilisateur:Dr Brains/BoiteDeroulante.js

Note : après avoir enregistré la page, vous devrez forcer le rechargement complet du cache de votre navigateur pour voir les changements.

Mozilla / Firefox / Konqueror / Safari : maintenez la touche Majuscule (Shift) en cliquant sur le bouton Actualiser (Reload) ou pressez Maj-Ctrl-R (Cmd-R sur Apple Mac) ;

Chrome / Internet Explorer / Opera : maintenez la touche Ctrl en cliquant sur le bouton Actualiser ou pressez Ctrl-F5.
/*
== Pour [[Modèle:Méta palette de navigation]] ==
*/
//<source lang=javascript>
 
 
var Palette_Enrouler = '[Enrouler]';
var Palette_Derouler  = '[Dérouler]';
 
var Palette_max = 1; 
var Palette_index = -1;
 
function Palette(Element){
  if(!Element) Element = document;
  var TableIndex = 0;
  var TableIndexes = new Array();
  var Tables = Element.getElementsByTagName( "table" ); 
  for ( var i = 0; i < Tables.length; i++ ) {
    if ( $( Tables[i] ).hasClass( "collapsible_BIS" ) ) {
      var Table = Tables[i];
      var Header = Table.getElementsByTagName( "tr" )[0].getElementsByTagName( "th" )[0];
      /* only add button and increment count if there is a header row to work with */
      if (Header) {
        TableIndex++
        Palette_index++;
        TableIndexes[Palette_index] = Table;
        Table.setAttribute( "id", "collapsibleTable" + Palette_index );
 
        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" + Palette_index );
        ButtonLink.setAttribute( "href", "javascript:Palette_toggle(" + Palette_index + ");" );
        ButtonLink.appendChild( ButtonText ); 
        Button.appendChild( ButtonLink ); 
        Header.insertBefore( Button, Header.childNodes[0] );
       
      }
    }
  } 
  for(var index in TableIndexes){
    var Table = TableIndexes[index];
    if($(Table).hasClass("collapsed")||(TableIndex>Palette_max && $(Table).hasClass("autocollapse")))
    Palette_toggle(index); 
  }
}

function Palette_toggle(indexPalette){
  var Button = document.getElementById( "collapseButton" + indexPalette );
  var Table = document.getElementById( "collapsibleTable" + indexPalette );
  if ( !Table || !Button ) return false; 
  var FirstRow = Table.getElementsByTagName("tr")[0];
  var RowDisplay; 
  if ( Button.firstChild.data == collapseCaption ) {
    RowDisplay = "none"
    Button.firstChild.data = expandCaption;
  }else{
    RowDisplay = FirstRow.style.display;
    Button.firstChild.data = collapseCaption;
  } 
  var Row = FirstRow.nextSibling;
  while(Row){
    if(Row.tagName && Row.tagName.toLowerCase() === "tr"){
      Row.style.display = RowDisplay;
    }
    Row = Row.nextSibling;
  }
}




addOnloadHook(Palette);
// </source>