User:Villahj Ideeut/NP.js

From Uncyclopedia, the content-free encyclopedia
Jump to navigation Jump to search

Note: After saving, you have to bypass your browser's cache to see the changes.

  • Internet Explorer: hold down the Ctrl key and click the Refresh or Reload button, or press Ctrl+F5.
  • Firefox: hold down the Shift key while clicking Reload; alternatively press Ctrl+F5 or Ctrl-Shift-R.
  • Opera, Konqueror and Safari users can just click the Reload button.
  • Chrome: press Ctrl+F5 or Shift+F5
 //<nowiki>
var gml_xmlhttp;

if (document.implementation.createDocument) {
  var gml_xmlparser = new DOMParser();
}

function gml_XMLParse(string) {
  if (document.implementation.createDocument) {
    string = fixXML(string, false);
    return gml_xmlparser.parseFromString(string, "text/xml");
  } else if (window.ActiveXObject) {
    var gml_xmldoc = new ActiveXObject("Microsoft.XMLDOM");
    gml_xmldoc.async = "false";
    string = fixXML(string, false);
    ret = gml_xmldoc.loadXML(string);      
    if (!ret)
      return null;
    return gml_xmldoc.documentElement;
  }
  return null;
}

function HTTPClient() {
  var gml_http;
  if(window.XMLHttpRequest) {
    gml_http = new XMLHttpRequest();
  } else if (window.ActiveXObject) {
    try {
      gml_http = new ActiveXObject("Msxml2.XMLHTTP");
    } catch (e) {
      try {
        gml_http = new ActiveXObject("Microsoft.XMLHTTP");
      } catch (E) {
        gml_http = false;
      }
    }
  }
  return gml_http;
}

function doHighlight() {    
    if (gml_xmlhttp.readyState != 4) return;
    var doc = gml_XMLParse(gml_xmlhttp.responseText);
    if(!doc)
        return;
    var qvfdLinks = doc.getElementsByTagName("a");
    var npList = new Array();
    npList = getNPList();
    var elements = npList.getElementsByTagName("li");
           
    for(i=0; i<elements.length; i++) {
        var links = elements[i].getElementsByTagName("a");
        var curTitle = links[0].getAttribute("title");
        if(doc.getElementById('bodyContent').innerHTML.indexOf('title="' + curTitle + '"') != -1)
            elements[i].innerHTML = "<span class='qvfdmarker' style='font-weight: bold;'>[QVFD\'d] </span>" + elements[i].innerHTML;
    }
}
function highlightQVFD() {
    if(wgPageName == "Special:Newpages") { 
        gml_xmlhttp = HTTPClient();
        if (!gml_xmlhttp)
            return;     
        try {
            gml_xmlhttp.open('GET', wgServer + wgScriptPath + '/index.php?' + 'title=' + 'Uncyclopedia:QuickVFD',  true);
         } catch(e) {
            debugStatus(0);
            return;
         }        
         gml_xmlhttp.onreadystatechange = doHighlight;
         gml_xmlhttp.send(null);
    }
}
function getNPList() {
    var orderedLists=document.getElementsByTagName("ol");
    for (i=0; i<orderedLists.length; i++) {
        if (orderedLists[i].className=="special") {
            return orderedLists[i];
        }
    }
}
addOnloadHook(highlightQVFD);
 //</nowiki>