Bruger:Barklund/monobook.js

Fra Wikipedia, den frie encyklopædi
 function morelinks() {
   var tabs = document.getElementById('p-cactions').cloneNode(true);
   tabs.id = 'mytabs';
   var listitems = tabs.getElementsByTagName('LI');
   for (i=0;i<listitems.length;i++) {
     if(listitems[i].id) listitems[i].id = 'mytabs-' + listitems[i].id;
   }
   document.getElementById('column-content').appendChild(tabs);
 }
 if (window.addEventListener) window.addEventListener("load",morelinks,false);
 else if (window.attachEvent) window.attachEvent("onload",morelinks);
 
 // [[:w:en:User:Lupin/popups.js]] - please include this line 
 
 document.write('<script type="text/javascript" src="' 
     + 'http://da.wikipedia.org/w/index.php?title=Bruger:Barklund/strings-da.js' 
     + '&action=raw&ctype=text/javascript&dontcountme=s"></script>');
 
 document.write('<script type="text/javascript" src="' 
     + 'http://en.wikipedia.org/w/index.php?title=User:Lupin/popupsdev.js' 
     + '&action=raw&ctype=text/javascript&dontcountme=s"></script>');

 popupRevertSummary = "Gendannet til revision %s grundet hærværk, nonsens eller reklame";
 popupQueriedRevertSummary = "Gendannet til revision $1 fra $2 skrevet af $3 grundet hærværk, nonsens eller reklame"
 popupAdminLinks = true; 
 popupFixRedirs = true;
 popupShortcutsKeys = true;
 popupFixDabs = true;
 popupFixRedirsSummary = "Fixer link til omdirigering  '%s' til den korrekte '%s'";
 popupFixDabsSummary = "Fixer link til flertydig '%s' til den korrekte '%s'";
 popupPreviewKillTemplates = false;
 popupPreviewRawTemplates = true;
 popupPreviewFirstParOnly = false;
 popupMaxPreviewSentences = 10;
 popupMaxPreviewCharacters = 1000;

 // ---------------------------------------
 // BEGIN EXTRA TOOLS
 function extraToolLinks()
 {
     // create commons link
     if (document.getElementById("t-commons")) return;
     var li_current = document.getElementById("t-upload");
     if (!li_current) return;
     var li_next = li_current.nextSibling;
     var ul_node = li_current.parentNode;
     var li = document.createElement("li");
     li.setAttribute("id", "t-commons");
     li.setAttribute("title", "Upload et billede eller en anden mediefil til deling for alle landes Wikipediaer");
     li.appendChild(document.createElement("a"));
     li.firstChild.setAttribute("href","http://commons.wikimedia.org/wiki/Special:Upload");
     li.firstChild.appendChild(document.createTextNode("Læg en fil op på Commons"));
     ul_node.insertBefore(li, li_next);
     // create cat tool link (if cat)
     if (!document.getElementById("ca-nstab-category")) return;
     var cat_tab = document.getElementById("ca-nstab-category");
     var cat_url = cat_tab.firstChild.href;
     var cat_name = cat_url.substring(cat_url.indexOf(":", 10)+1);
     var li2 = document.createElement("li");
     li2.setAttribute("id", "t-cattool");
     li2.setAttribute("title", "Udforsk denne kategori med Interiots CategoryTree");
     li2.appendChild(document.createElement("a"));
     li2.firstChild.setAttribute("href","http://tools.wikimedia.de/~daniel/WikiSense/CategoryTree.php?wikilang=da&wikifam=.wikipedia.org&m=c&userlang=da&cat=" + cat_name);
     li2.firstChild.appendChild(document.createTextNode("Se i CategoryTree"));
     ul_node.insertBefore(li2, li_next);
 }
 addOnloadHook(extraToolLinks);
 // 
 // END EXTRA TOOLS
 // ---------------------------------------
 
 // ---------------------------------------
 // BEGIN CUSTOM EXTRA MENU
 function addNewMenu()
 {
     if (document.getElementById("p-extramenu")) return;
     var div_parent = document.getElementById("p-navigation");
     if (!div_parent) return;
     //
     // setup list, h5 and div
     var h5 = document.createElement("h5");
     h5.appendChild(document.createTextNode("mine værktøjer"));
     var div_node = document.createElement("div");
     div_node.setAttribute("id", "p-extramenu");
     div_node.setAttribute("class", "pBody");
     var ul_node = document.createElement("ul");
     //
     // now add menu points
     ul_node.appendChild(createLink("n-patrol", "Se ikke-patruljerede ændringger", "/w/index.php?title=Speciel:Seneste_%C3%A6ndringer&days=30&limit=5000&hideliu=1&hidepatrolled=1", "Patruljér"));
     ul_node.appendChild(createLink("n-newcats", "Se de nyeste kategorier", "/w/index.php?title=Speciel:Nye_sider&limit=5000&namespace=14", "Nye kategorier"));
     ul_node.appendChild(createLink("n-wantedcats", "Se ønskede kategorier", "/w/index.php?title=Speciel:%C3%98nskede_kategorier&limit=5000", "Ønskede kategorier"));
     ul_node.appendChild(createLink("n-uncatcats", "Se kategoriløse kategorier", "http://da.wikipedia.org/w/index.php?title=Speciel:Ukategoriserede_kategorier&limit=5000&offset=0", "Kategoriløse kategorier"));
     ul_node.appendChild(createLink("n-uncatpages", "Se kategoriløse sider", "/w/index.php?title=Speciel:Ukategoriserede_sider&limit=5000&offset=0", "Kategoriløse sider"));
     ul_node.appendChild(createLink("n-catmissing", "Se sider hvor kategori mangler", "/wiki/Kategori:Kategori mangler", "Kategori mangler"));
     //
     // then add list to div and break, h5 and div to container
     div_node.appendChild(ul_node);
     div_parent.appendChild(document.createElement("br"));
     div_parent.appendChild(h5);
     div_parent.appendChild(div_node);
 }
 function createLink(id, title, href, text) {
     var li = document.createElement("li");
     li.setAttribute("id", id);
     li.setAttribute("title", title);
     li.appendChild(document.createElement("a"));
     li.firstChild.setAttribute("href",href);
     li.firstChild.appendChild(document.createTextNode(text));
     return li;
 }
 addOnloadHook(addNewMenu);
 // 
 // END CUSTOM EXTRA MENU
 // ---------------------------------------

 //============================================================
 //
 // Specialtegn
 //
 //============================================================
 
 /**
  * Tilføj menu til at vælge sæt af specialtegn
  * @note	Rækkefølgen af og navnene i listen svarer til [[MediaWiki:Edittools]]
  */
 function addCharSubsetMenu() {
   var specialchars = document.getElementById('specialchars2');
   if (specialchars) {
     var menu = "<select style=\"display:inline\" onChange=\"var v=options[selectedIndex].value; if (v) chooseCharSubset(v);\">";
     menu += "<option>-- wikipedia --</option>";
     menu += "<option value=\"Wiki\" selected=\"selected\">Wiki</option>";
     menu += "<option value=\"Mat\">Matematik</option>";
     menu += "<option>-- sprog --</option>";
     menu += "<option value=\"Arabisk\">Arabisk</option>";
     menu += "<option value=\"Catalansk\">Catalansk</option>";
     menu += "<option value=\"Engelsk\">Engelsk, gammelt</option>";
     menu += "<option value=\"Esperanto\">Espéranto</option>";
     menu += "<option value=\"Estisk\">Estisk</option>";
     menu += "<option value=\"Graesk\">Græsk</option>";
     menu += "<option value=\"Gaelisk\">Gælisk</option>";
     menu += "<option value=\"Hawaiiansk\">Hawaiiansk</option>";
     menu += "<option value=\"Hebraeisk\">Hebræisk</option>";
     menu += "<option value=\"Hieroglyf\">Hieroglyf</option>";
     menu += "<option value=\"Hollandsk\">Hollandsk</option>";
     menu += "<option value=\"IndoEuropaeisk\">Indo-europæisk</option>";
     menu += "<option value=\"Irsk\">Irsk</option>";
     menu += "<option value=\"Islandsk\">Islandsk</option>";
     menu += "<option value=\"Italiensk\">Italiensk</option>";
     menu += "<option value=\"Kroatisk\">Kroatisk</option>";
     menu += "<option value=\"Kyrillisk\">Kyrillisk</option>";
     menu += "<option value=\"LatinRomersk\">Latin/Romersk</option>";
     menu += "<option value=\"Lettisk\">Lettisk</option>";
     menu += "<option value=\"Litauisk\">Litauisk</option>";
     menu += "<option value=\"Maltesisk\">Maltesisk</option>";
     menu += "<option value=\"NavajoApache\">Navajo & Apache</option>";
     menu += "<option value=\"Polsk\">Polsk</option>";
     menu += "<option value=\"Portugisisk\">Portugisisk</option>";
     menu += "<option value=\"Rumaensk\">Rumænsk</option>";
     menu += "<option value=\"Runer\">Runer</option>";
     menu += "<option value=\"Spansk\">Spansk</option>";
     menu += "<option value=\"Skandinavisk\">Skandinavisk</option>";
     menu += "<option value=\"Serbisk\">Serbisk</option>";
     menu += "<option value=\"Tjekkisk\">Tjekkisk</option>";
     menu += "<option value=\"Tyrkisk\">Tyrkisk</option>";
     menu += "<option value=\"Tysk\">Tysk</option>";
     menu += "<option value=\"Ungarsk\">Ungarsk</option>";
     menu += "<option value=\"Vietnamesisk\">Vietnamesisk</option>";
     menu += "<option value=\"Yiddish\">Yiddish</option>";
     menu += "<option>-- transliterationer --</option>";
     menu += "<option value=\"IPA\">IPA</option>";
     menu += "<option value=\"Pinyin\">Pinyin</option>";
     menu += "<option value=\"Romaji\">Rōmaji</option>";
     menu += "</select>";
     specialchars.innerHTML = menu + specialchars.innerHTML;
 
     /* default subset - try to use a cookie some day */
     chooseCharSubset('Wiki');
   }
 }
 
 /* select subsection of special characters */
 function chooseCharSubset(s) {
   var l = document.getElementById('specialchars2').getElementsByTagName('p');
   for (var i = 0; i < l.length ; i++) {
     var b = l[i].id == s;
     l[i].style.display = b ? 'inline' : 'none';
     l[i].style.visibility = b ? 'visible' : 'hidden';
   }
 }
 
 addOnloadHook(addCharSubsetMenu);

  /** "Teknisk begrænsning" titelfix *****************************************
 *
 * Beskrivelse:
 * Vedligeholdelse: Bruger:Barklund
 */
 //
 // For siden med Skabelon:Titelvariant, erstat titlen, men kun hvis titlen er gyldig som et wikilink.
 // (for eksempel bliver titlen på iPod opdateret. Men da [[C#]] ikke er et gyldigt wikilink, så bliver
 // titlen på [[C Sharp]] ikke ændret)
 //
 // Funktionen leder efter et banner som dette:
 // &lt;div id="RealTitleBanner"&gt;  ... &lt;span id="RealTitle"&gt;titel&lt;/span&gt; ... &lt;/div&gt;
 // Et element med id=DisableRealTitle slå funktionen fra
 //
 var disableRealTitle = 0; // og det kan også slås fra i folks monobook.js
 if (wgIsArticle) { // hvis kun ved sidevisning (da det ellers kan være inkonsistent og ikke vises ved sektionsredigering)
  addOnloadHook(function() {
    try {
        var realTitleBanner = document.getElementById("RealTitleBanner");
        if (realTitleBanner && !document.getElementById("DisableRealTitle") && !disableRealTitle ) {
            var realTitle = document.getElementById("RealTitle");
            if (realTitle) {
                var realTitleHTML = realTitle.innerHTML;
                realTitleText = pickUpText(realTitle);

                var isPasteable = 0;
                var containsTooMuchHTML = /</.test( realTitleHTML.replace(/<\/?(sub|sup|small|big)>/gi, "") ); // indeholder html, der vil blive ignoreret ved wikilinks
                // beregn om titlen er et gyldigt wikilink
                var verifyTitle = realTitleText.replace(/^ +/, "");
                verifyTitle = verifyTitle.charAt(0).toUpperCase() + verifyTitle.substring(1, verifyTitle.length);    // først tegn med stort
                // hvis vi er i et navnerum, fjern fra verifikationen og omvendt tilføj til originalværdien.
                if (wgNamespaceNumber != 0) {
                    if (wgCanonicalNamespace == verifyTitle.substr(0, wgCanonicalNamespace.length).replace(/ /g, "_") && verifyTitle.charAt(wgCanonicalNamespace.length) == ":") {
                        verifyTitle = verifyTitle.substr(wgCanonicalNamespace.length + 1);
                    } else {
                        realTitleText = wgCanonicalNamespace.replace(/_/g, " ") + ":" + realTitleText;
                        realTitleHTML = wgCanonicalNamespace.replace(/_/g, " ") + ":" + realTitleHTML;
                    }
                }

                // check om wgTitle passer
                verifyTitle = verifyTitle.replace(/[\s_]+/g, " ");      // underscores and multiple spaces to single spaces
                verifyTitle = verifyTitle.replace(/^\s+/, "").replace(/\s+$/, "");        // trim left and right spaces
                verifyTitle = verifyTitle.charAt(0).toUpperCase() + verifyTitle.substring(1, verifyTitle.length);    // uppercase first character
                if (verifyTitle == wgTitle) isPasteable = 1;
                var h1 = document.getElementsByTagName("h1")[0];
                if (h1 && isPasteable) {
                    h1.innerHTML = containsTooMuchHTML ? realTitleText : realTitleHTML;
                    if (!containsTooMuchHTML)
                        realTitleBanner.style.display = "none";
                }
                document.title = realTitleText + " - Wikipedia, den frie encyklopædi";
            }
        }
    } catch (e) {
        /* Something went wrong. */
    }
  });
 }

 // skrab al rå tekst i tekstnoder ud af et element
 function pickUpText(aParentElement) {
 var str = "";

 function pickUpTextInternal(aElement) {
  var child = aElement.firstChild;
  while (child) {
   if (child.nodeType == 1)     // ELEMENT_NODE 
    pickUpTextInternal(child);
   else if (child.nodeType == 3)   // TEXT_NODE
    str += child.nodeValue;

   child = child.nextSibling;
  }
 }

  pickUpTextInternal(aParentElement);
  return str;
 }