Here naverokê

MediaWiki:Common.js: Cudahiya di navbera guhartoyan de

Ji Wîkîferhengê
Content deleted Content added
Şêr (gotûbêj | beşdarî)
Rêvîsyona 218859 yê George Animal (guftûgo) şondakir
Şêr (gotûbêj | beşdarî)
Kurteya guhartinê tine
Rêz 145: Rêz 145:
if(wgNamespaceNumber != 0){ //In tutti i NS fuor che quello principale
if(wgNamespaceNumber != 0){ //In tutti i NS fuor che quello principale
document.cookie = "hidetoc=0";
document.cookie = "hidetoc=0";
}
// Import MediaWiki:Onlyifediting.js (MediaWiki:Edittools)

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



Guhartoya 17:47, 7 nîsan 2011

/* Imported from en.wiktionary: http://en.wiktionary.org/wiki/MediaWiki:Common.js */
/* Any JavaScript here will be loaded for all users on every page load. */
 
/*</pre>
== JavaScript standard library ==
<pre>*/
 
/*</pre>
=== importScript ===
<pre>*/
 
/**
 * importScript inserts a javascript page either 
 *    from Wiktionary: importScript('User:Connel MacKensie/yetanother.js');
 *    from another Wikimedia wiki: importScript('User:Lupin/insane.js','en.wikipedia.org');
 *
 *    by specifying the third argument, an oldid can be passed to ensure that updates to the script are not included.
 *    by specifying the fourth argument, a specific version of JavaScript can be declared.
 *
 *    based on [[w:MediaWiki:Common.js]] 2007-11-29
**/
function importScript(page, wiki, oldid, jsver) {
    //Default to local
    if(!wiki)
      wiki=wgScript;
    else
      wiki='http://'+escape(wiki)+'/w/index.php';
 
    var url = wiki + '?title='
             + encodeURIComponent(page.replace(/ /g, '_')).replace(/%2F/ig, '/').replace(/%3A/ig, ':')
            + (oldid?'&oldid='+encodeURIComponent( oldid ):'')
            + '&action=raw&ctype=text/javascript';
 
    //Only include scripts once
    if(loadedScripts[url])
        return false;
    loadedScripts[url] = true;
 
    var scriptElem = document.createElement("script");
    scriptElem.setAttribute("src",url);
    scriptElem.setAttribute("type", jsver ? "application/javascript;version=" + jsver : "text/javascript");
    document.getElementsByTagName("head")[0].appendChild(scriptElem);
    return true;
}
 
/*</pre>

<pre>*/
 // Char-Subset
 
 function chooseCharSubset2(s) {
  var l = document.getElementById('newarticletext').getElementsByTagName('p');
  var l = $('newarticletext').getElementsByTagName('p');
  for (var i = 0; i < l.length ; i++) {
    l[i].style.display = i == s ? 'inline' : 'none';
  }
 }
/*</pre>

<pre>*/

/* MediaWiki:Edittools */
var load_edittools = true;
// extra drop down menu on editing for adding special characters
importScript( 'MediaWiki:Edittools.js' );
// Editpage scripts
if( wgAction == 'edit' || wgAction == 'submit' ) {
        importScript( 'MediaWiki:Editpage.js' );
}
/*</pre>

=== importExternalScript ===
<pre>*/
 
/**
 * importExternalScript inserts a javascript page 
 *    from anywhere including your local hard drive: importExternalScript('file:///C:/Documents%20and%20Settings/Andrew/My%20Documents/apitest.js');
 *
 *    based on importScript above 2008-01-21
 *    replaced with stub to similar function in wikibits.js 2010-02
**/
function importExternalScript(url) {
    return importScriptURI(url);
}
/*</pre>
=== DOM creation ===
<pre>*/
/**
 * Create a new DOM node for the current document.
 *    Basic usage:  var mySpan = newNode('span', "Hello World!")
 *    Supports attributes and event handlers*: var mySpan = newNode('span', {style:"color: red", focus: function(){alert(this)}, id:"hello"}, "World, Hello!")
 *    Also allows nesting to create trees: var myPar = newNode('p', newNode('b',{style:"color: blue"},"Hello"), mySpan)
 *
 * *event handlers, there are some issues with IE6 not registering event handlers on some nodes that are not yet attached to the DOM,
 * it may be safer to add event handlers later manually.
**/
function newNode(tagname){
 
  var node = document.createElement(tagname);
 
  for( var i=1;i<arguments.length;i++ ){
 
    if(typeof arguments[i] == 'string'){ //Text
      node.appendChild( document.createTextNode(arguments[i]) );
 
    }else if(typeof arguments[i] == 'object'){ 
 
      if(arguments[i].nodeName){ //If it is a DOM Node
        node.appendChild(arguments[i]);
 
      }else{ //Attributes (hopefully)
        for(var j in arguments[i]){
          if(j == 'class'){ //Classname different because...
            node.className = arguments[i][j];
 
          }else if(j == 'style'){ //Style is special
            node.style.cssText = arguments[i][j];
 
          }else if(typeof arguments[i][j] == 'function'){ //Basic event handlers
            try{ node.addEventListener(j,arguments[i][j],false); //W3C
            }catch(e){try{ node.attachEvent('on'+j,arguments[i][j],"Language"); //MSIE
            }catch(e){ node['on'+j]=arguments[i][j]; }}; //Legacy
 
          }else{
            node.setAttribute(j,arguments[i][j]); //Normal attributes
 
          }
        }
      }
    }
  }
 
  return node;
}

/*</pre>
=="Tabloya naverrokê" veşêre ==
<pre>*/
//indice nascosto Solo in NS0
//Di [[User:Wim b]]

if(wgNamespaceNumber == 0){ //Solo nelle pagine dei lemmi
 document.cookie = "hidetoc=1";
 } 
if(wgNamespaceNumber != 0){ //In tutti i NS fuor che quello principale
 document.cookie = "hidetoc=0";
}
// Import MediaWiki:Onlyifediting.js (MediaWiki:Edittools)

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

/*</pre>
=== CSS ===
<pre>*/
 
/* Cross browser CSS - yurk */
var p_styleSheet=false;
 
window.addCSSRule = function (selector,cssText){
  if(!p_styleSheet) return setupCSS(selector,cssText);
  if(p_styleSheet.insertRule){
    p_styleSheet.insertRule( selector+' { '+cssText+' }', p_styleSheet.cssRules.length );
  }else if(p_styleSheet.addRule){ //Guess who...
    p_styleSheet.addRule(selector,cssText);
  }
 
  function setupCSS(selector,cssText){
    if(document.styleSheets){
      var i = document.styleSheets.length-1;
      while(i>=0){
        try{ //This loop tries to get around the irritation that some extensions
             //include external, and thus read-only, stylesheets. Bah.
          p_styleSheet = document.styleSheets[i];
          var media = p_styleSheet.media.mediaType?p_styleSheet.media.mediaType:p_styleSheet.media;
          if( media.indexOf('screen') > -1 || media == '' ){
            addCSSRule(selector,cssText);
            return true;
          }
        }catch(e){ i--; }
      }  
    }
    //Ok document.stylesheets isn't an option :(... take this for hacky
    //It might be better to create one <style> element and write into it
    // but it doesn't work :(
    window.addCSSRule = function(sel,css){
      var head = document.getElementsByTagName('head')[0];
      var text = sel + '{' + css + '}';
      try { head.innerHTML += '<style type="text/css">' + text + '</style>'; }
      catch(e) {
        var style = document.createElement('style');
        style.setAttribute('type', 'text/css');
        style.appendChild(document.createTextNode(text));
        head.appendChild(style);
      }
    }
    addCSSRule(selector,cssText);
  }
}
/*</pre>
 
=== Cookies ===
<pre>*/
 
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";
  }
}
 
//  [biguherîne]-Lînk
 
 //   Folgendes Script basiert auf einem Element aus dem MediaWiki:Monobook.js in der französischen
 //   Wikipedia und steht unter unter der GNU Lizenz für freie Dokumentation. Der Autor des Codes ist
 //   Marc Mongenet, Copyright 2006.

 setModifySectionStyle = function()
 {
 try {
        if (!(typeof oldEditsectionLinks == 'undefined' || oldEditsectionLinks == false)) return;
        var spans = document.getElementsByTagName("span");
        for (var s = 0; s < spans.length; ++s) {
                var span = spans[s];
                if (span.className == "editsection") {
                        span.style.fontSize = "x-small";
                        span.style.fontWeight = "normal";
                        span.style.cssFloat = span.style.styleFloat = "none";
                        span.parentNode.appendChild(document.createTextNode(" "));
                        span.parentNode.appendChild(span);
                }
        }
 } catch (e) { /* something went wrong */ }
 }
 addOnloadHook(setModifySectionStyle);



/*</pre>
=== NavBars ===
<pre>*/
var NavigationBarHide = 'veşêre ▲';
var NavigationBarShow = 'nîşan bide ▼';
 
function createNavToggle(navFrame)
{
    var navHead, navToggle, navContent;
    for (var j=0; j < navFrame.childNodes.length; j++) {
        var div = navFrame.childNodes[j];
        switch (div.className) {
            case 'NavHead':
                navHead = div;
                break;
            case 'NavContent':
                navContent = div;
                break;
        }
    }
    if (!navHead || !navContent)
        return;
    // Step 1, don't react when a subitem is clicked.
    for (var i=0; i<navHead.childNodes.length; i++) {
        var child = navHead.childNodes[i];
        if (child.nodeType == 1) {
            child.onclick = function (e)
            {
                if (e && e.stopPropagation)
                    e.stopPropagation();
                else
                    window.event.cancelBubble = true;
            }
        }
    }
    // Step 2, toggle visibility when bar is clicked.
    // NOTE This function was chosen due to some funny behaviour in Safari.
    navToggle = newNode('a', {href: 'javascript:(function(){})()'}, '');
    navHead.insertBefore(newNode('span', {'class': 'NavToggle'}, '[', navToggle, ']'), navHead.firstChild);
 
    navHead.style.cursor = "pointer";
    var nameTitle = navFrame.title.split('/');
 
    function show() {
        nameTitle[1] ? navToggle.innerHTML = nameTitle[1] : navToggle.innerHTML = NavigationBarHide;
        if (navContent)
           navContent.style.display = "block";
    }
 
    function hide() {
        nameTitle[2] ? navToggle.innerHTML = nameTitle[2] : navToggle.innerHTML = NavigationBarShow;
        if (navContent)
           navContent.style.display = "none";
    }
 
    nameTitle[0] == 'collapsed' ? hide() : show();
 
    navHead.onclick = function (){
      navToggle.innerHTML == (nameTitle[2] || NavigationBarShow) ? show() : hide();
    };
 
};
 
addOnloadHook( function ()
{
    var divs;
    if (document.getElementsByClassName)
        divs = document.getElementsByClassName('NavFrame');
    else
        divs = document.getElementsByTagName('div');
 
    for (var i=0; i<divs.length; i++) {
        // NOTE: some templates use a class of NavFrame for the style, but for legacy reasons, are not NavFrames
        if (divs[i].className == "NavFrame") {
            createNavToggle(divs[i]);
        }
    }
 
});
 
/*
== Wîkîferheng:Destpêk ==
Xal → Serûpel; + iterwiki: Hemû lîst
*/
if (wgPageName == 'Destpêk' || wgPageName == 'Nîqaş:Destpêk'){
  addOnloadHook(function () {
      addPortletLink('p-lang', 'http://meta.wikimedia.org/wiki/Wiktionary#List_of_Wiktionaries',
               'Hemû lîst', 'interwiki-completelist')
      var nstab = document.getElementById('ca-nstab-main')
      if (nstab && wgUserLanguage=='ku') {
          while (nstab.firstChild) nstab = nstab.firstChild
          nstab.nodeValue = 'Serûpel'
      }
  }
)
}

/*== HERE STARTS THE WORKING-CODE OF "METABOXES" ==
Imported from fr.wiktionary

    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 Metaboxes(){
  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 =  MetaboxBorderViewTag     
        if (vBt.className=="mbButtonSel") 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="mbButtonSel";
     } 
  }
 }
 
 function MetaboxBorderViewTag(){
  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="mbButtonSel";
        } else {             
                vOgElem.style.display = "none";
                vOgElem.style.visibility = "hidden";
                document.getElementById(vMbNom+"bt"+i).className="mbButton";
        }
  }
  return false; 
}
addOnloadHook(Metaboxes);