FredMiranda-UI-fix

By ikatkov Last update Dec 27, 2007 — Installed 97 times.
// ==UserScript==
// Script removes all the junk info like Image Upload, Registered, Total Posts etc. Removes redundant subject field. Removes all these fancy buttons and increase text size
//
//
// @name           FredMiranda-UI-fix
// @namespace      com.katkov
// @include        http://www.fredmiranda.com/forum/topic/*
// ==/UserScript==
var newContentIsShown = true;

function addGlobalStyle(css) {
    var head, style;
    head = document.getElementsByTagName('head')[0];
    if (!head) {
        return;
    }
    style = document.createElement('style');
    style.type = 'text/css';
    style.innerHTML = css;
    head.appendChild(style);
}

addGlobalStyle('.com_katkov_newContent { }');
addGlobalStyle('.com_katkov_newContent .userName { color:#ffffff;font-weight:bolder;font-family:verdana,Arial,Helvetica,sans-serif;font-size:14px;float:left; }');
addGlobalStyle('.toggleLink { color:#cccccc;font-size:1px;float:right; }');
addGlobalStyle('.com_katkov_oldContent {}');
addGlobalStyle('.hidden { display: none }');


function toggleFunction() {
    newContentIsShown = !newContentIsShown;
    toggleContent("com_katkov_newContent", newContentIsShown);
    toggleContent("com_katkov_oldContent", !newContentIsShown);
}

function toggleContent(className, show) {
    var findPattern = "//*[starts-with(@class,'" + className + "')]";
    var resultLinks = document.evaluate(findPattern, document, null, XPathResult.UNORDERED_NODE_SNAPSHOT_TYPE, null);
    var res;
    i = 0;
    while ((res = resultLinks.snapshotItem(i) ) != null) {
        if (show) {
            res.removeAttribute("class");
            res.setAttribute("class", className);
        } else {
            res.removeAttribute("class");
            res.setAttribute("class", className + ", hidden");
        }
        i++;
    }
}

function processLeftColumn(res) {
    var innerFindPattern = "tbody//tr//td//table//tbody//tr//td//font//span";
    var innerResultLinks = document.evaluate(innerFindPattern, res, null, XPathResult.ORDERED_NODE_SNAPSHOT_TYPE, null);
    var j = 0;
    var innerRes;
    while ((innerRes = innerResultLinks.snapshotItem(j) ) != null) {
        var userName = innerRes.innerHTML;
        var parentTD = innerRes.parentNode.parentNode;
        parentTD.removeChild(innerRes.parentNode);
        var newContentDiv = document.createElement("div");
        newContentDiv.setAttribute("class", "com_katkov_newContent")

        var newContent_userNameSpan = document.createElement("span");
        newContent_userNameSpan.setAttribute("class", "userName")
        newContent_userNameSpan.innerHTML = userName;
        newContentDiv.appendChild(newContent_userNameSpan);

        var newContent_userToogleLink = document.createElement("a");
        newContent_userToogleLink.setAttribute("class", "toggleLink")
        newContent_userToogleLink.setAttribute("href", "javascript:void(0)")
        newContent_userToogleLink.appendChild(document.createTextNode("x"));
        newContent_userToogleLink.addEventListener("click", toggleFunction, true);
        parentTD.appendChild(newContent_userToogleLink);


        parentTD.appendChild(newContentDiv);

        var oldContentDiv = document.createElement("div");
        oldContentDiv.setAttribute("class", "com_katkov_oldContent, hidden")
        oldContentDiv.innerHTML = innerRes.parentNode.innerHTML;
        parentTD.appendChild(oldContentDiv);
        j++;
    }
}


function processRightColumn(res) {
    removeElement(res, "tbody//tr//td//table//tbody//tr//td//img[@src='http://www.fredmiranda.com/forum/images/post.gif']");
    removeElement(res, "tbody//tr//td//table//tbody//tr//td//img[@src='http://www.fredmiranda.com/forum/images/email2.gif']");
    removeElement(res, "tbody//tr//td//table//tbody//tr//td//img[@src='http://www.fredmiranda.com/forum/images/profile.gif']");
    removeElement(res, "tbody//tr//td//table//tbody//tr//td//img[@src='http://www.fredmiranda.com/forum/images/sendpm.gif']");
    removeElement(res, "tbody//tr//td//table//tbody//tr//td//img[@src='http://www.fredmiranda.com/forum/images/posts.gif']");
    removeElement(res, "tbody//tr//td//table//tbody//tr//td//img[@src='http://www.fredmiranda.com/forum/images/mainpage.gif']");
    removeElement(res, "tbody//tr//td//table//tbody//tr//td//img[@src='http://www.fredmiranda.com/forum/images/buddy.gif']");
    removeElement(res, "tbody//tr//td//table//tbody//tr//td//img[@src='http://www.fredmiranda.com/forum/images/report.gif']");
    removeElement(res, "tbody//tr//td//table//tbody//tr//td//font[@color='#ababab']");
}

function removeElement(res, pattern) {
    var innerResultLinks = document.evaluate(pattern, res, null, XPathResult.ORDERED_NODE_SNAPSHOT_TYPE, null);
    var j = 0;
    var innerRes;
    while ((innerRes = innerResultLinks.snapshotItem(j) ) != null) {
        innerRes.setAttribute("class", "com_katkov_oldContent, hidden")
        j++;
    }

}

function replaceFont() {
    var findPattern = "//font[@face='Geneva, Verdana, Arial, Helvetica, sans-serif' and @size=2]";
    var resultLinks = document.evaluate(findPattern, document, null, XPathResult.UNORDERED_NODE_SNAPSHOT_TYPE, null);
    var res;
    i = 0;
    while ((res = resultLinks.snapshotItem(i) ) != null) {
        res.setAttribute("face", "Verdana, Arial, Helvetica, sans-serif");
        res.setAttribute("size", "3");
        i++;
    }
}

var findPattern = "//html//body//p//table";
var resultLinks = document.evaluate(findPattern, document, null, XPathResult.ORDERED_NODE_SNAPSHOT_TYPE, null);
var i = 5;
var res;
while ((res = resultLinks.snapshotItem(i) ) != null) {
    i++;
    processLeftColumn(res);
    processRightColumn(res);
}
replaceFont();