Allows you to preview threads before opening it. - Updated by Dr Steve Brule
// ==UserScript==
// @name HF Scripts - Thread Previewer
// @namespace xerotic/previewthread
// @description Allows you to preview threads before opening it. - Updated by Dr Steve Brule
// @include *hackforums.net/forumdisplay.php?fid=*
// @include *hackforums.net/search.php?action=results&sid=*
// @version 1.1.0
// ==/UserScript==
function getPage(e) {
if (window.XMLHttpRequest) {
xmlhttp = new XMLHttpRequest
} else {
xmlhttp = new ActiveXObject("Microsoft.XMLHTTP")
}
xmlhttp.open("GET", e, false);
xmlhttp.send();
var t = document.implementation.createHTMLDocument("HF Thread");
t.documentElement.innerHTML = xmlhttp.responseText;
return t
}
function loadPreview(e) {
var t = getPage(tidElements[e].href);
var n = document.createElement("div");
if (!t.body.getElementsByClassName("post_body")[0]) {
n.innerHTML = t.body.querySelectorAll('div[id^="pid"]')[0].innerHTML
} else {
n.innerHTML = t.body.getElementsByClassName("post_body")[0].innerHTML
}
n.style.border = "2px solid #0F5999";
n.style.margin = "5px";
n.style.padding = "6px";
n.style.boxShadow = "0px 0px 5px 4px #1E1E1E";
tidParents[e].parentNode.insertBefore(n, tidParents[e].nextSibling)
}
var tidElements = document.body.querySelectorAll('a[id^="tid"]');
tidParents = new Array;
for (var i = 0; i < tidElements.length; i++) {
tidParents[i] = tidElements[i].parentNode;
var newSpan = document.createElement("span");
newSpan.innerHTML = "▼";
newSpan.style.color = "#0F5999";
newSpan.style.fontSize = "16px";
newSpan.style.marginLeft = "7px";
newSpan.style.cursor = "pointer";
newSpan.id = i;
tidParents[i].appendChild(newSpan);
tidParents[i].addEventListener("click", function(e) {
ele = e.srcElement;
loadPreview(e.target.id);
ele.parentNode.removeChild(ele)
}, false)
}