MediaWiki:Monobook.js/zh-cn

維基文庫,自由的圖書館

/*

 */

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

addLoadEvent(interwikiExtra);


function dotabs()
{
   //first tab
   var a = document.getElementById("ca-nstab-main");
   var s = a.innerHTML;
   // var i = s.indexOf('Article');
   var i = s.indexOf('條目');
   if (i == -1) i = s.indexOf('条目');
   if (i == -1) a = null;
   if(a){
          if( document.getElementById("Author") )
                {
                  a.innerHTML = s.substring(0,i)+"Author"+s.substring(i+2,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 = s.substring(0,i+2)+image+s.substring(i+2,s.length-1);         
                }
       }

   //2nd tab
   if( document.getElementById("infoedit") )
       {
          var b = document.getElementById("ca-talk");
          if(b){
                var s = b.innerHTML;
                var i = s.indexOf('Discussion');
                b.innerHTML = s.substring(0,i)+"Source"+s.substring(i+10,s.length-1);
                }
       }
}
addLoadEvent(dotabs);


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+"'> ⇔</a>";
             }
         }
}

addLoadEvent(BilingualLink);

/* add menu for selecting subsets of secial characters */
   /* must match MediaWiki:Edittools */
   function addCharSubsetMenu() {
      var specialchars = document.getElementById('specialchars');

      if (specialchars) {
         var menu = "<select style=\"display:inline\" onChange=\"chooseCharSubset(selectedIndex)\">";
         menu += "<option>Select</option>";
         menu += "<option>Ligatures and symbols</option>";
         menu += "<option>Accents</option>";
         menu += "<option>Tildes</option>";
         menu += "<option>Cedillas</option>";
         menu += "<option>Diareses</option>";
         menu += "<option>Circumflexes</option>";
         menu += "<option>Macrons</option>";
         menu += "<option>Other diacritics</option>";
         menu += "<option>Greek</option>";
         menu += "<option>Hebrew</option>";
         menu += "<option>Cyrillic</option>";
      /* This choice is experimental
         menu += "<option>Templates</option>"; */
         menu += "</select>";
         specialchars.innerHTML = menu + specialchars.innerHTML.replace(/_newline_/gm, "\n");

         /* 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);

/* 

*/