User:Test/monobook.js

From Wikipedia

< User:Test

Note: After saving, you may have to bypass your browser's cache to see the changes. Mozilla / Firefox / Safari: hold down Shift while clicking Reload, or press Ctrl-Shift-R (Cmd-Shift-R on Apple Mac); IE: hold Ctrl while clicking Refresh, or press Ctrl-F5; Konqueror:: simply click the Reload button, or press F5; Opera users may need to completely clear their cache in Tools→Preferences.

// ============================================================
// BEGIN Mooving of the editsection links
/*
* moveEditsection
* Dieses Script verschiebt die Editsection-Buttons von rechts oberhalb
* der Überschriften in die Überschriften.
* Positiv getestet unter: Firefox 1.0, Opera 8.0, Internet Explorer 6.0
* Anmerkungen, Verbesserungen, Hinweise, Nörgeleien jederzeit gerne gesehen!
*
* Zum Abschalten die folgende Zeile (ohne führendes Sternchen) in die eigene
* monobook.js (zu finden unter Benutzername/monobook.js) kopieren:
* var oldEditsectionLinks = true;
*
* dbenzhuser (de:Benutzer:Dbenzhuser)
*/
function moveEditsection() {
    if (typeof oldEditsectionLinks == 'undefined' || oldEditsectionLinks == false) { 
        // Sammelt alle div-Elemente der Klasse "editsection".
        var editsections = new Array();
        var divs = document.getElementById("bodyContent").getElementsByTagName("div");
        for(var i = 0; i < divs.length; i++) {
            if(divs[i].className == "editsection") {
                editsections.push(divs[i]);
            }
        }
        // Wenn die Seite Editsection-Buttons enthält.
        if (editsections.length != 0) {
            // Sucht zu jedem Editsection-Button die dazugehörige Überschrfift.
            var i = 0;
            var element, heading;
            while (editsections[i] != null) {
                element = editsections[i];
                heading = element.nextSibling;
                while(!/^H[1-6]$/.test(heading.nodeName)) {
                    heading = heading.nextSibling;
                }
                // Erstellt innerhalb der Überschrift ein per CSS formatiertes span-Element.
                // Dort hinein wird dann der Editsection-Link verschoben.
                // Anschließend werden die Reste des alten Editsection-Buttons entfernt.
                var spanElement = document.createElement("span");
                var spaceNode = document.createTextNode(" ");
                heading.appendChild(spaceNode);
                heading.appendChild(spanElement);
                
                spanElement.setAttribute("class", "editsection");
                spanElement.style.fontSize = "x-small";
                spanElement.style.fontWeight = "normal";
               
                while (element.childNodes.length != 0) {
                               spanElement.appendChild(element.childNodes[0]);
                }
                element.parentNode.removeChild(element);
                i++;
            }
        } 
    }
}
// onload
addOnloadHook(moveEditsection);
// END Mooving of the editsection links
// ============================================================

function addPurge(){
    ta['ca-purge'] = ['g', 'Purge the internal cache for this page'];
    if(!document.getElementById) return;
    var x = document.getElementById('ca-history');
    var tabs = document.getElementById('p-cactions').getElementsByTagName('ul')[0];
    if(!x) return;
    if(x.children) x = x.children[0];
    else x = x.childNodes[0];
    addlilink(tabs, x.href.replace(/=history/, "=purge"), 'purge', 'ca-purge');
}

function addEditSection0(){
    ta['ca-edit-0'] = ['', 'Edit the zeroth section of this page'];
    if(!document.getElementById) return;
    var x = document.getElementById('ca-edit');
    if(!x) return;
    var y = document.createElement('LI');
    y.id = 'ca-edit-0';
    if(x.className == 'selected'){
      if(/&action=edit&section=0$/.test(window.location.href)){
        x.className = 'istalk';
        y.className = 'selected';
      } else {
        x.className = 'selected istalk';
      }
    } else if(x.className == 'selected istalk'){
      if(/&action=edit&section=0$/.test(window.location.href)){
        x.className = 'istalk';
        y.className = 'selected istalk';
      } else {
        y.className = 'istalk';
      }
    } else {
      y.className = x.className;
      x.className = 'istalk';
    }
    var z = document.createElement('A');
    if(x.children){
        z.href = x.children[0].href + '&section=0';
        z.appendChild(document.createTextNode('0'));
        y.appendChild(z);
        document.getElementById('p-cactions').children[1].insertBefore(y,x.nextSibling);
    }else{
        z.href = x.childNodes[0].href + '&section=0';
        z.appendChild(document.createTextNode('0'));
        y.appendChild(z);
        document.getElementById('p-cactions').childNodes[3].insertBefore(y,x.nextSibling);
    }
}

function vitajte(){
    var reg = prompt("Reg?");
    if(!reg) return;
    document.editform.wpSummary.value = 'Vitajte/Welcome ';
    var txt = document.editform.wpTextbox1;
    if(txt.value.length > 0) txt.value += '\n';
    txt.value += '{{Vitajte|redaktor=Bubamara|reg=reg' + reg + '}}';
    txt.focus();
}

function addlilink(tabs, url, name, id){
    var na = document.createElement('a');
    na.href = url;
    na.id = id;
    na.appendChild(document.createTextNode(name));
    var li = document.createElement('li');
    li.appendChild(na);
    tabs.appendChild(li);
    return li;
}

function morelinks(){
    var tabs = document.getElementById('p-cactions').getElementsByTagName('ul')[0];
    if(document.title.indexOf("Editing User talk")
== 0){
        addlilink(tabs, 'javascript:vitajte()', 'vitajte', '');
    }
}

function LinkFA() 
{
   // iterate over all <span>-elements
   for(var i=0; a = document.getElementsByTagName("span")[i]; i++) {
      // if found a FA span
      if(a.className == "FA") {
         // iterate over all <li>-elements
         for(var j=0; b = document.getElementsByTagName("li")[j]; j++) {
            // if found a FA link
            if(b.className == "interwiki-" + a.id) {
               b.style.padding = "0 0 0 16px";
               b.style.backgroundImage = "url('http://upload.wikimedia.org/wikipedia/en/6/60/LinkFA-star.png')";
               b.style.backgroundRepeat = "no-repeat";
               b.title = "This article has gained featured status";
            }
         }
      }
   }
}

function myLoadFuncs(){
    addPurge();
    addEditSection0();
    morelinks();
    LinkFA();
}

if (window.addEventListener)
window.addEventListener("load",myLoadFuncs,false);
else if (window.attachEvent)
window.attachEvent("onload",myLoadFuncs);
else{
    window._old_ABCD_onload = window.onload;
    window.onload = function(){
        window._old_ABCD_onload();
        myLoadFuncs();
    }
}


/////////////////////////////////////////////////////////////////////////
// Od stv

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

function przyciskiOpis() {
	przyciskiDodaj('ort.', 'dodajOpis("ort.")', 'userButtonsStyle',
              'Został poprawiony błąd ortograficzny');
	przyciskiDodaj('lit.', 'dodajOpis("lit.")', 'userButtonsStyle',
              'Została poprawiona literówka');
	przyciskiDodaj('drobne', 'dodajOpis("drobne")', 'userButtonsStyle',
              'Drobne zmiany');
	przyciskiDodaj('linki', 'dodajOpis("linki")', 'userButtonsStyle',
              'Zostały poprawione linki');
	przyciskiDodaj('kat.', 'dodajOpis("kat.")', 'userButtonsStyle',
              'Została poprawiona/dodana kategoria');
	przyciskiDodaj('grafika', 'dodajOpis("grafika")', 'userButtonsStyle',
              'Została poprawiona/dodana grafika');
	przyciskiDodaj('stub', 'dodajOpis("stub")', 'userButtonsStyle',
              'Ten artykuł to stub');
}

function przyciskiDodaj(pTekst, pAkcja, pKlasa, pOpis) {
	k = document.getElementById('userButtonsA');
	if (k) {
		nowySpan = document.createElement('span');

		nowyText = document.createTextNode(pTekst);
		nowySpan.appendChild(nowyText);

		nowyOnClick = document.createAttribute('onclick');
		nowyOnClick.nodeValue = pAkcja;
		nowySpan.setAttributeNode(nowyOnClick);

		nowySpan.title = pOpis;

		nowyClass = document.createAttribute('class');
		nowyClass.nodeValue = pKlasa;
		nowySpan.setAttributeNode(nowyClass);

		k.appendChild(document.createTextNode(' '));
		k.appendChild(nowySpan);
//		document.editform.wpMinoredit.onclick = onMinorEditClick;
	}
}

var clickedMinor = false;
function onMinorEditClick() {
	if (this.checked && !clickedMinor)
	{
		dodajOpis("drobne");
		clickedMinor = true;
	}
}

function dodajOpis(opis) {
	if (document.editform.wpSummary.value != '' && document.editform.wpSummary.value.charAt(0) != '/') {
		document.editform.wpSummary.value += ', ' + opis
	}
	else {
		document.editform.wpSummary.value += ' ' + opis
	}
}

// This is based on the original code on Wikipedia:Tools/Editing tools
//
// The original code was on the project page and needed to be cut and paste to the user's
// monobook.js page. However, this caused problems with the quote marks. So I have moved 
// it to its own page. 
//
// I do not know a lot about Javascript so please do not ask for a complicated change
//
// See the [[User:MarkS/Extra edit buttons]] for changes log


function InsertButtonsToToolBar()
{
//Strike-Out Button
mwCustomEditButtons[mwCustomEditButtons.length] = {
    "imageFile": "http://upload.wikimedia.org/wikipedia/en/c/c9/Button_strike.png",
    "speedTip": "Strike",
    "tagOpen": "<s>",
    "tagClose": "</s>",
    "sampleText": "Strike-through text"}
mwCustomEditButtons[mwCustomEditButtons.length] = {
    "imageFile": "http://upload.wikimedia.org/wikipedia/commons/b/ba/Button_conserver.png",
    "speedTip": "Hlasuj Za",
    "tagOpen": "",
    "tagClose": "",
    "sampleText": "#{{za}} \~\~\~\~"}
mwCustomEditButtons[mwCustomEditButtons.length] = {
    "imageFile": "http://upload.wikimedia.org/wikipedia/commons/f/fc/Button_supp.png",
    "speedTip": "Hlasuj Proti",
    "tagOpen": "",
    "tagClose": "",
    "sampleText": "#{{proti}} \~\~\~\~"}
mwCustomEditButtons[mwCustomEditButtons.length] = {
    "imageFile": "http://upload.wikimedia.org/wikipedia/commons/4/4e/Button_neutre.png",
    "speedTip": "Hlasuj Neutral",
    "tagOpen": "",
    "tagClose": "",
    "sampleText": "#{{neutral}} \~\~\~\~"}
}
addOnloadHook( InsertButtonsToToolBar );
Navigation