MediaWiki:Cologneblue.js

Da Wikisource.

Nota: dopo aver pubblicato, potrebbe essere necessario pulire la cache del proprio browser per vedere i cambiamenti.

  • Firefox / Safari: tieni premuto il tasto delle maiuscole Shift e fai clic su Ricarica, oppure premi Ctrl-F5 o Ctrl-R (⌘-R su Mac)
  • Google Chrome: premi Ctrl-Shift-R (⌘-Shift-R su un Mac)
  • Internet Explorer / Edge: tieni premuto il tasto Ctrl e fai clic su Aggiorna, oppure premi Ctrl-F5
  • Opera: premi Ctrl-F5.
/* <pre> */


// ============================================================
// BEGIN Enable multiple onload functions

// setup onload functions this way:
// aOnloadFunctions[aOnloadFunctions.length] = function_name; // without brackets!

if (!window.aOnloadFunctions) {
  var aOnloadFunctions = new Array();
}

window.onload = function() {
  if (window.aOnloadFunctions) {
    for (var _i=0; _i<aOnloadFunctions.length; _i++) {
      aOnloadFunctions[_i]();
    }
  }
}

// END Enable multiple onload functions
// ============================================================


function addLoadEvent(func) 
{
  if (window.addEventListener) 
    window.addEventListener("load", func, false);
  else if (window.attachEvent) 
    window.attachEvent("onload", func);
}


function limitedWidth() 
{

    if( document.body.className != "ns-0" ) return;
    var page_name = document.URL;
    if( page_name.search('&action=edit') != -1) return;
    if( page_name.search('&diff=') != -1) return;
    if( document.title == "Pagina principale - Wikisource" ) return;

    if(document.getElementById("NoProse") != null) { return;}

    var a = document.getElementById("bodyContent");
    if(a){
      a.style.width = "35em";
      a.style.text_align = "justify";
      a.style.margin = "0px auto";
      for(var j=0; b =    a.getElementsByTagName("p")[j]; j++) 
            b.style.textIndent = "2em";
   }
}

//addLoadEvent(limitedWidth);


function onglets()
{
   //first tab
   var a = document.getElementById("ca-nstab-main");
   var s = a.innerHTML;
   var i = s.indexOf('Testo');
   if(a){
          if( document.getElementById("Author") )
                {
                  a.innerHTML = s.substring(0,i)+"Auteur"+s.substring(i+5,s.length-1);         
                }
          q = document.getElementById("textquality")
          if( q ) {
                var image = "";
                if( q.className == "0%") { 
                   image = " <img src='//upload.wikimedia.org/wikipedia/commons/8/8f/00%25.png' alt='' width='9' height='9' longdesc='' />"; }
                if( q.className == "25%") { 
                   image = " <img src='//upload.wikimedia.org/wikipedia/commons/5/5b/25%25.png' alt='' width='9' height='9' longdesc='' />"; }
                if( q.className == "50%") { 
                   image = " <img src='//upload.wikimedia.org/wikipedia/commons/3/3a/50%25.png' alt='' width='9' height='9' longdesc='' />"; }
                if( q.className == "75%") { 
                   image = " <img src='//upload.wikimedia.org/wikipedia/commons/c/cd/75%25.png' alt='' width='9' height='9' longdesc='' />"; }
                if( q.className == "100%") { 
                   image = " <img src='//upload.wikimedia.org/wikipedia/commons/6/64/100%25.png' alt='' width='9' height='9' longdesc='' />"; }
                  //a.innerHTML = a.innerHTML + image;
                  //a.innerHTML = s.substring(0,i+5)+"<a href='/wiki/Wikisource:Qualité des textes'>"+image+"</a>"+s.substring(i+5,s.length-1);         
                  a.innerHTML = s.substring(0,i+5)+image+s.substring(i+5,s.length-1);         
                }
       }

   //2nd tab
   if( document.getElementById("infoedit") )
       {
          var b = document.getElementById("ca-talk");
          if(b){
                var s = b.innerHTML;
                var i = s.lastIndexOf('Discussione');
                b.innerHTML = s.substring(0,i)+"Fonte"+s.substring(i+11,s.length-1);
                }
       }
}
addLoadEvent(onglets);


function ongletCopyright() 
      {
        var a = document.getElementById("p-cactions");
        if (a) 
        {
          b = a.getElementsByTagName("ul");
          if(b.length > 0)
          {
            if(document.getElementById("Creative Commons by-nc-sa"))
              { b[0].innerHTML = b[0].innerHTML 
                + '<li id="ca-nstab-user">'
                + '<a href="/wiki/Wikisource:Creative Commons by-nc-sa">'
                + 'License</a></li>';
              }
            else if(document.getElementById("Copyright-ONU"))
              { b[0].innerHTML = b[0].innerHTML 
                + '<li id="ca-nstab-user">'
                + '<a href="/wiki/Wikisource:Copyright-ONU">'
                + 'License</a></li>';
              }
            else if(document.getElementById("Copyright-UNESCO"))
              { b[0].innerHTML = b[0].innerHTML 
                + '<li id="ca-nstab-user">'
                + '<a href="/wiki/Wikisource:Copyright-UNESCO">'
                + 'License</a></li>';
              }
            else if(document.getElementById("GFDL"))
              { b[0].innerHTML = b[0].innerHTML 
                + '<li id="ca-nstab-user">'
                + '<a href="/wiki/Wikisource:Licence GFDL">'
                + 'License</a></li>';
              }
          }
        }
      }
      
addLoadEvent(ongletCopyright);


function interwikiExtra() 
{
   // iterate over all <span>-elements
   for(var i=0; a = document.getElementsByTagName("span")[i]; i++) {
      // if found a linkInfo span
      if(a.className == "interwiki-info") {
         // iterate over all <li>-elements
         var count=0;
         
         for(var j=0; b = document.getElementsByTagName("li")[j]; j++) {
            if(b.className == "interwiki-" + a.id) {
               b.innerHTML = b.innerHTML + " "+a.title;
               if(a.title == "(vo)") { b.title = "Texte original"; }
            }
         else if(b.className == "interwiki-" + a.id.substr(0,a.id.length-1)) {
               count = count+1;
               if(a.id.charAt(a.id.length-1) == count) {
                  b.innerHTML = b.innerHTML + " "+a.title;
               }
            }
         }
      }
      if(a.className == "AutreVersion") {
         c = document.getElementById("p-lang");
         e = c.getElementsByTagName("ul")[0]; 
         p = a.title.indexOf("|");
         e.innerHTML = e.innerHTML 
            + "<li class=\"interwiki-fr\"><a href='" 
            + a.title.substr(0,p)
            + "'>Français</a> " + a.title.substr(p+1,a.title.length-1) +"</li>";
      }
   }
}

addLoadEvent(interwikiExtra);


function BilingualLink() 
{
    if( document.body.className.substring(0,4) != "ns-0" ) return;
    var doc_url = document.URL;
    var url = '';
    // iterate over all <li>-elements
    for(var j=0; b = document.getElementsByTagName("li")[j]; j++) {
         if(b.className.substring(0,10) == "interwiki-" ) {
               var lang = b.className.substring(10,b.className.length);
               if( doc_url.indexOf('?title=') != -1 ) { 
                   var qm  = doc_url.indexOf('&match=');
                   if( qm != -1 ) url = doc_url.substring(0,qm)+"&match="+lang;
                   else url = doc_url+"&match="+lang;
               } else {
                   var qm  = doc_url.indexOf('?');
                   if( qm != -1 ) url = doc_url.substring(0,qm)+"?match="+lang;
                   else url = doc_url+"?match="+lang;
               }
               b.innerHTML = b.innerHTML+"<a href='"+url+"'> &hArr;</a>";
             }
         }
}

addLoadEvent(BilingualLink);


// ============================================================
// BEGIN Dynamic Navigation Bars

// set up the words in your language
var NavigationBarHide = '▲ Nascondi';
var NavigationBarShow = '▼ Espandi';

// 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
// ============================================================

/* </pre> */