User:Year2000Prob/monobook.js

From Wikipedia, the free encyclopedia
Note: After saving, you have to bypass your browser's cache to see the changes. Google Chrome, Firefox, Microsoft Edge and Safari: Hold down the ⇧ Shift key and click the Reload toolbar button. For details and instructions about other browsers, see Wikipedia:Bypass your cache.
// importScript function. Feel free to copy this into [[Special:Mypage/monobook.js|your own Monobook js]].
window.importScript = function(src) {
  var self = arguments.callee;
  if (!self.imported) self.imported = [];
  if (arguments.length == 0) {
    var imported = self.imported;
    self.imported.length = 0;
    return imported;
  };
  var attrs, format = function(ns,src){return typeof self.namespaces[ns]=="function"?self.namespaces[ns](src):(self.namespaces[ns]||mw.config.get('wgServer')+mw.config.get('wgScript')+"?title={{{src}}}&action=raw&ctype=text/javascript").replace("{{{src}}}", src)};
  if (typeof src == "object") {
    attrs = src;
    src = attrs.src;
    delete attrs.src};
  if (self.imported[src]) return self;
  var script = document.createElement("script");
  script.setAttribute("type", "text/javascript");
  script.setAttribute("src", (self.namespaces && /^\[{2}([^\n\r\t]+)\]{2}$/.test(src) ? (function() {
    var source = src.match(/^\[{2}([^\n\r\t]+)\]{2}$/)[1],
        path = format("#default", source);
    for (var ns in self.namespaces) {
      if (source.indexOf(ns + ":") == 0) {
        path = format(ns, source.substring(ns.length + 1)); break}};
    return path})() : encodeURI(src)));
  if (attrs) {
    if (typeof attrs.onload == "function") {
      if (script.addEventListener) script.addEventListener("load", attrs.onload, true);
      else script.onreadystatechange = function() {
        if (this.readyState == "complete" || this.readyState == 4)
          attrs.onload.apply(this,arguments)}; delete attrs.onload};
    for (var attr in attrs) script.setAttribute(attr, attrs[attr])};
  self.imported[self.imported.length] = document.getElementsByTagName("head")[0].appendChild(script);
  return self};
// End importScript function. Copy below this line at your own risk.

var MWVersion = (function(z) {
  var a = z.match(/([0-9])\.([0-9]*)/);
  var b = a[2];
  if (b.length == 1) b = "0" + b;
  return Number(a[1] + "." + b);
})(wgVersion), whichsite = ({ // define whichsite (string: "wp" if on Wikipedia, "hrw" if on HRWiki; "hrfw" if on HRFWiki)
  "http://en.wikipedia.org": "wp",
  "http://www.hrwiki.org": "hrw",
  "http://fanstuff.hrwiki.org": "hrfw",
  "http://wuw.clamburger.org": "wuw"
})[wgServer] || "null";

importScript.namespaces = {"#default": function(src) {
  var v = (function(s) {
    var n = s.match(/^([a-z]{2})\:/), l = n[1];
    s = s.substr(n[0].length); return [s, l];
  })(src); return "http://" + v[1] + ".wikipedia.org/w/index.php?title=" + encodeURIComponent(v[0].replace(" ", "_")) + "&action=raw&ctype=text/javascript"}};

var Y2P = new Object();
importScript({src: "[[en:User:Year2000Prob/Y2P.MediaWiki.js]]", onload: function() {
  window._onload = window.onload;
  window.onload = function() {
    if (typeof window._onload == "function") window._onload.apply(this, arguments);
    Y2P.AddPortletItem({
      text: "Chat channel",
      url: "irc://irc.freenode.net/" + ({wp:"wikipedia",hrw:"hrwiki",hrfw:"hrwiki-fanstuff",wuw:"wikiuserwiki"})[whichsite],
      id: "n-ircchannels",
      overwrite: (whichsite == "wp" ? null : "n-wikilink3"),
      addTo: (whichsite == "wp" ? "p-interaction" : null)
    })({
      text: "Is this page valid XHTML?",
      url: "http://validator.w3.org/check?uri=" + encodeURIComponent(location),
      id: "f-valid",
      addTo: "footer"
    })();
    if (wgNamespaceNumber != -1) Y2P.AddPortletItem({
      text: "purge",
      url: wgScript + "?title=" + wgPageName + "&action=purge",
      id: "ca-purge",
      addTo: "p-cactions"
    })();
    if (whichsite == ("hrfw"||"wuw")) Y2P.AddPortletItem({
      text: "Sysop Alert Button",
      url: "http://alert.clamburger.org/",
      id: "n-alertbutton",
      before: "n-usersguide"
    })();
    if (whichsite == ("hrw"||"hrfw")) Y2P.AddPortletItem({
      text: "Wiki User Wiki",
      url: "http://www.clamburger.org/wuw/",
      id: "n-wikilink1.5",
      before: "n-wikilink2"
    })();

    Y2P.ChangeActions({
      "nstab-main": "boring page",
      "nstab-user": "stupid parson",
      "nstab-project": "don't leave without reading this",
      "nstab-template": "it's just a skeleton, crapface",
      "nstab-reviews": "be an infamous critic",
      "talk": "yap yap yap",
      "edit": "vandalise this page",
      "viewsource": "can't touch this",
      "history": "in 1788, australia was born...",
      "move": "got a better commando name?",
      "watch": "stalk",
      "watching": "adding to list of stalked people...",
      "unwatch": "stop stalking",
      "unwatching": "removing from list of stalked people...",
      "purge": "do not press this"
    });
  };
}})({src: "http://code.jquery.com/jquery-latest.pack.js", onload: function() {
  $(function() {
    if ($("#ca-edit").get(0) && /^(view|purge)$/i.test(wgAction)) {
      if ($("#sectionlink-0").get(0)) $("#sectionlink-0").before("<a class='sectionlink' href='" + $("#ca-edit a").attr("href") + "&section=top'>edit</a>/");
      else $("#contentSub").css("display", "block").html(($("#contentSub").html() ? $("#contentSub").html() + "\t" : "") + "[<a class='sectionlink' href='" + $("#ca-edit a").attr("href") + "&section=top'>edit</a>]");
    };

    var sidebar = $(".portlet:not(#p-personal, #p-cactions, #p-logo) div.pBody");
    sidebar.css("border-left", "none").parent().find("h5").css("cursor", "default");
    // The click event is made obsolete by MediaWiki 1.14
    if (MWVersion == 1.14) sidebar.hide().parent().find("h5").click(function() {
      $(this).parent().find("div.pBody").slideToggle("slow")});
    
    if (/^Special\:(Recent[Cc]hanges|Watchlist)$/.test(wgPageName)) {
      $("h1.firstHeading").html($("h1.firstHeading").html() + " (<a id='rcUpdate' href='javascript:;'>refresh</a>)");
      $("a#rcUpdate").click(function() {
        $("#bodyContent ul.special").html("<li>Updating...</li>").load(wgScript + "?title=" + wgPageName + " #bodyContent ul.special li");
        $("#bodyContent div:has(span#RCM0)").html("<span>Updating...</span>").load(wgScript + "?title=" + wgPageName + " #bodyContent div:has(span#RCM0) span");
      });
    };
  });
}})();

var wikEdUsing = "(using [[" + (whichsite != "wp" ? "wikipedia:" : "") + "User:Cacycle/wikEd|wikEd]])",
    wikEdShowUsingButton = true,
    wikEdSummaryUsing = "(using [[" + (whichsite != "wp" ? "wikipedia:" : "") + "User:Cacycle/wikEd|wikEd]])",
    wikEdCloseToolbarPreset = true,
    wikEdButtonsOnTop = false,
    wikedScripts = importScript("[[en:User:Cacycle/diff.js]]")("[[en:User:Pilaf/livepreview.js]]")("[[en:User:Cacycle/RegExTypoFix.js]]")("[[en:User:Cacycle/wikEd.js]]")();

importScript("[[de:Benutzer:ASM/quickedit.js]]")("[[en:User:Lupin/popups.js]]")(); // import Popups so it'll work globally if possible, instead of just on Wikipedia

var ywmpScript = importScript("http://mediaplayer.yahoo.com/latest")()[0];