There are 5 previous versions of this script.
Add Syntax Highlighting (this will take a few seconds, probably freezing your browser while it works)
// ==UserScript==
// @name Fark Anal Reverteresque ReDux
// @namespace Smiths
// @include http://*.fark.com/*
// @include http://*.totalfark.com/*
// @include http://*.foobies.com/*
// @include http://www.blender.com/fark/*
// ==/UserScript==
GM_registerMenuCommand('Fark Anal Reverteresque Redux Options', showOptions);
var urlfilter = GM_getValue('urlfilter');
var tagfilter = GM_getValue('tagfilter');
var hideads = GM_getValue('hideads');
var hideshirts = GM_getValue('hideshirts');
var PITA = GM_getValue('PITA');
if (!urlfilter) { urlfilter = ""; GM_setValue('urlfilter',urlfilter); }
if (!tagfilter) { tagfilter = ""; GM_setValue('tagfilter',tagfilter); }
if (!hideads) { hideads = 0; GM_setValue('hideads',hideads); }
if (!hideshirts) { hideshirts = 0; GM_setValue('hideshirts',hideshirts); }
if (!PITA) { PITA = 0; GM_setValue('PITA',PITA); }
urls = urlfilter.split("@@@");
filteredtags = tagfilter.split("@@@");
function setOptions()
{
var urlfilter = GM_getValue('urlfilter');
urls = urlfilter.split("@@@");
for (var z=0;z<urls.length;z++)
document.getElementById("urlfilters").innerHTML+='<option value="'+urls[z]+'">'+urls[z]+'</option>';
var tagfilter = GM_getValue('tagfilter');
filteredtags = tagfilter.split("@@@");
for (var z=0;z<filteredtags.length;z++)
document.getElementById("tagfilters").innerHTML+='<option value="'+filteredtags[z]+'">'+filteredtags[z]+'</option>';
var hideads = GM_getValue('hideads');
(hideads) ? document.getElementById('hideadson').checked = true : document.getElementById('hideadsoff').checked = true;
var hideshirts = GM_getValue('hideshirts');
(hideshirts) ? document.getElementById('hideshirtson').checked = true : document.getElementById('hideshirtsoff').checked = true;
var PITA = GM_getValue('PITA');
(PITA) ? document.getElementById('PITAon').checked = true : document.getElementById('PITAoff').checked = true;
}
function saveOptions()
{
(document.getElementById('hideadson').checked) ? GM_setValue('hideads', 1 ) : GM_setValue('hideads', 0 );
(document.getElementById('hideshirtson').checked) ? GM_setValue('hideshirts', 1 ) : GM_setValue('hideshirts', 0 );
(document.getElementById('PITAon').checked) ? GM_setValue('PITA', 1 ) : GM_setValue('PITA', 0 );
}
function hideOptions()
{
document.getElementById("optionsDiv").className="hidden";
document.getElementById("modalDiv").className="hidden";
}
function delURLFilter(value)
{
var urlfilter = GM_getValue('urlfilter');
urls = urlfilter.split("@@@");
for (var i = 0; i < urls.length; i++)
{
if (value == urls[i])
urls.splice(i,1);
}
urlfilter = urls.join("@@@");
document.getElementById("urlfilters").innerHTML="";
for (var z=0;z<urls.length;z++)
document.getElementById("urlfilters").innerHTML+='<option value="'+urls[z]+'">'+urls[z]+'</option>';
GM_setValue('urlfilter',urlfilter);
}
function addURLFilter(newURL)
{
var urlfilter = GM_getValue('urlfilter');
urls = urlfilter.split("@@@");
already = 0;
for (var i=0; i<urls.length;i++)
if (newURL == urls[i]) already = 1;
if (already==1)
alert("Keyword already exists");
else
(urlfilter=="") ? urlfilter = newURL : urlfilter += "@@@" + newURL;
GM_setValue('urlfilter',urlfilter);
urls = urlfilter.split("@@@");
document.getElementById("urlfilters").innerHTML="";
for (var z=0;z<urls.length;z++)
document.getElementById("urlfilters").innerHTML+='<option value="'+urls[z]+'">'+urls[z]+'</option>';
}
function deltagFilter(value)
{
var tagfilter = GM_getValue('tagfilter');
tags = tagfilter.split("@@@");
for (var i = 0; i < tags.length; i++)
{
if (value == tags[i])
tags.splice(i,1);
}
tagfilter = tags.join("@@@");
document.getElementById("tagfilters").innerHTML="";
for (var z=0;z<tags.length;z++)
document.getElementById("tagfilters").innerHTML+='<option value="'+tags[z]+'">'+tags[z]+'</option>';
GM_setValue('tagfilter',tagfilter);
}
function addtagFilter(newtag)
{
var tagfilter = GM_getValue('tagfilter');
tags = tagfilter.split("@@@");
already = 0;
for (var i=0; i<tags.length;i++)
if (newtag == tags[i]) already = 1;
if (already==1)
alert("Keyword already exists");
else
(tagfilter=="") ? tagfilter = newtag : tagfilter += "@@@" + newtag;
GM_setValue('tagfilter',tagfilter);
tags = tagfilter.split("@@@");
document.getElementById("tagfilters").innerHTML="";
for (var z=0;z<tags.length;z++)
document.getElementById("tagfilters").innerHTML+='<option value="'+tags[z]+'">'+tags[z]+'</option>';
}
function showOptions()
{
var div1=document.getElementById("modalDiv");
if (div1==null)
{
GM_addStyle("#modalDiv{position:fixed; top:0px; left:0px; z-index:200; width:100%; height:100%; background-color:black; opacity:0.75;}");
GM_addStyle(".hidden{display:none; visibility:hidden;}");
div1=document.createElement("DIV");
div1.id="modalDiv";
div1.className="hidden";
div1.title="Click to cancel and close";
document.body.appendChild(div1);
div1.addEventListener("click",hideOptions,false);
}
var div2=document.getElementById("optionsDiv");
if (div2==null)
{
GM_addStyle(".optionsTable{border-width: 1px 1px 1px 1px; border-spacing: 2px; border-style: solid solid solid solid; border-color: black black black black; border-collapse: collapse;}");
GM_addStyle("#optionsDiv{position:fixed; top:10%; left:20%; z-index:210; width:50%; height:80%; background-color:white; border:solid 3px #0033CC; overflow:auto;}");
div2=document.createElement("DIV");
div2.id="optionsDiv";
div2.className="hidden";
div2.setAttribute("style","text-align:justify;padding:10px");
var text1="<center><u><b><font size=\"+1\">Fark Anal Reverteresque ReDux Options</b></font></u><br><font size=\"-2\">Another <a href=\"http://userscripts.org/scripts/show/8821\" target=\"_blank\">Smiths Greasemonkey Script</a></font></center><p>";
text1+="<form id=\"FAR\" name=\"titleform\">"
text1+="<table class=\"optionsTable\" width=\"100%\"><tr><td width=33%>Current URL Filters:</td><td width=33%><select id=\"urlfilters\"></select></td>"
text1+="<td width=33%><input id=\"delfilterbutton\" type=\"button\" value=\"Remove URL Filter\"></button></td></tr>"
text1+="<p><tr><td width=33%>Add URL Keyword:</td><td width=33%><input id=\"newURL\" type=\"text\"></td><td width=33%><input id=\"addfilterbutton\" type=\"button\" value=\"Add URL Filter\"></button></td></tr></table>"
text1+="<p><table class=\"optionsTable\" width=\"100%\"><tr><td width=33%>Current Tag Filters:</td><td width=33%><select id=\"tagfilters\"></select></td>"
text1+="<td width=33%><input id=\"deltagfilterbutton\" type=\"button\" value=\"Remove Tag Filter\"></button></td></tr>"
text1+="<p><tr><td width=33%>Add Tag Keyword:</td><td width=33%><input id=\"newtag\" type=\"text\"></td><td width=33%><input id=\"addtagfilterbutton\" type=\"button\" value=\"Add Tag Filter\"></button></td></tr></table>"
text1+="<p><table class=\"optionsTable\" width=\"100%\">"
text1+="<p><tr><td width=33%>Hide advertisements:<br><input type=\"radio\" id=\"hideadson\" name=\"embed\" value=\"1\"/> Enabled<br><input type=\"radio\" id=\"hideadsoff\" name=\"embed\" value=\"0\"/> Disabled<br></td></tr></table>"
text1+="<p><table class=\"optionsTable\" width=\"100%\">"
text1+="<p><tr><td width=33%>Hide t-shirt icons:<br><input type=\"radio\" id=\"hideshirtson\" name=\"embed2\" value=\"1\"/> Enabled<br><input type=\"radio\" id=\"hideshirtsoff\" name=\"embed2\" value=\"0\"/> Disabled<br></td></tr></table>"
text1+="<p><table class=\"optionsTable\" width=\"100%\">"
text1+="<p><tr><td width=33%>Hide Political Meter:<br><input type=\"radio\" id=\"PITAon\" name=\"embed3\" value=\"1\"/> Enabled<br><input type=\"radio\" id=\"PITAoff\" name=\"embed3\" value=\"0\"/> Disabled<br></td></tr></table>"
text1+="<p><center><input type=\"button\" value=\"Ok\" id=\"okButton\" /> <input type=\"button\" value=\"Cancel\" id=\"cancelButton\" /></center></form>";
div2.innerHTML=text1;
document.body.appendChild(div2);
document.getElementById("delfilterbutton").addEventListener("click",function(){delURLFilter(document.getElementById("urlfilters").options[document.getElementById("urlfilters").selectedIndex].value);},false);
document.getElementById("addfilterbutton").addEventListener("click",function(){addURLFilter(document.getElementById("newURL").value);document.getElementById("newURL").value = "";},false);
document.getElementById("deltagfilterbutton").addEventListener("click",function(){deltagFilter(document.getElementById("tagfilters").options[document.getElementById("tagfilters").selectedIndex].value);},false);
document.getElementById("addtagfilterbutton").addEventListener("click",function(){addtagFilter(document.getElementById("newtag").value);document.getElementById("newtag").value = "";},false);
document.getElementById("okButton").addEventListener("click",function(){saveOptions();hideOptions();location.reload(true);},false);
document.getElementById("cancelButton").addEventListener("click",function(){hideOptions();},false);
}
document.getElementById("optionsDiv").className="";
document.getElementById("modalDiv").className="";
setOptions();
div1.className="";
div2.className="";
}
//Comments Farky Style
if (document.location.href.match(/http:\/\/[^fc].*\.f[oa][or][bk].*\.com/) != null) //fark or foobies
{
var headlines = document.evaluate('//tr[@class="headlineRow"]', document, null, XPathResult.UNORDERED_NODE_SNAPSHOT_TYPE, null);
//record comments on click (thread||comments)
function recordcomments(id)
{
postcounts = GM_getValue('postcounts');
if (!postcounts) { postcounts = ""; }
currentcheck = postcounts.split(",");
for (var i=0; i<currentcheck.length; i++)
{
if (id.substr(0,7) == currentcheck[i].substr(0,7))
{
currentcheck.splice(i,1);
document.getElementById(id).innerHTML = "(" + id.substr(9) + ")";
}
}
postcounts = currentcheck.join();
(postcounts == "") ? postcounts = id : postcounts += "," + id;
GM_setValue('postcounts',postcounts);
}
function pluscomments(post)
{
postcounts = GM_getValue('postcounts');
if (!postcounts) { postcounts = ""; }
oldcheck = postcounts.split(",");
if (oldcheck.length > 300) oldcheck.splice(0, 50); //store only the last 300 clicked, just for size's sake, trim by 50 each time
if (post.substr(9,1).match(/\d/) != null) document.getElementById(post).innerHTML = "(+" + post.substr(9) + ")";
for (var i=0; i<oldcheck.length; i++)
{
if (post.substr(0,7) == oldcheck[i].substr(0,7))
{
//this has been clicked before, compare values -- not sure how it'll work for the "too many" and "sq root"
if (post.substr(9,1).match(/[0-9]/) != null)
{
newposts = post.substr(9) - oldcheck[i].substr(9);
if (newposts > 0) document.getElementById(post).innerHTML = "(" + oldcheck[i].substr(9) + " + " + newposts + ")";
else if (newposts == 0) document.getElementById(post).innerHTML = "(" + post.substr(9) + ")";
}
if (oldcheck[i].substr(9,1).match(/[0-9]/) == null)//it found the thread but the old click had special characters (lots, too many)
document.getElementById(post).innerHTML = "(" + post.substr(9) + ")";
}
}
}
//add listener for comment links to record on click, and see if it's been clicked before
for (var i = 0; i < headlines.snapshotLength; i++)
{
if (headlines.snapshotItem(i).innerHTML.match(/More .* links \.\.\./) > -1)
{
j=1;
if (headlines.snapshotItem(i).getElementsByTagName('a').item(1).href.indexOf('ordershirt.pl') > -1) j = 2;
thread = headlines.snapshotItem(i).getElementsByTagName('a').item(j).href.match(/.*IDLink=([0-9]{7})/)[1];
comments = headlines.snapshotItem(i).getElementsByTagName('a').item(j).innerHTML.match(/\((.*)\)/)[1];
commentamounts = headlines.snapshotItem(i).getElementsByTagName('a').item(j);
commentamounts.setAttribute("id",thread + "||" + comments);
commentamounts.addEventListener('click', function(){recordcomments(this.id);}, true);
pluscomments(commentamounts.id); //check if it's been clicked and compare comments
}
}
}
//Remove referrer, underline sources, oldschool, move or remove tshirts
if (document.location.href.match(/http:\/\/[^fc].*\.f[oa][or][bk].*\.com/) != null) //fark or foobies
{
var headlines = document.evaluate('//tr[@class="headlineRow"]', document, null, XPathResult.UNORDERED_NODE_SNAPSHOT_TYPE, null);
var theLink, theComments;
for (var i = 0; i < headlines.snapshotLength; i++) {
if (headlines.snapshotItem(i).getElementsByTagName('a').item(0) != null) {
theLink = headlines.snapshotItem(i).getElementsByTagName('a').item(0);
j=1;
if (headlines.snapshotItem(i).getElementsByTagName('a').item(1).href.indexOf('ordershirt.pl') > -1)
{
shirtlink = headlines.snapshotItem(i).getElementsByTagName('a').item(1);
//shirtlink.getElementsByTagName('img').item(0).setAttribute('hspace','10');
comments = headlines.snapshotItem(i).getElementsByTagName('a').item(2);
(hideshirts) ? shirtlink.parentNode.removeChild(shirtlink) : comments.parentNode.insertBefore(shirtlink, comments.nextsibling);
}
theComments = headlines.snapshotItem(i).getElementsByTagName('a').item(j);
theLink.href = unescape(theLink.href.replace(/http:\/\/go.fark.com\/cgi\/fark\/go.pl\?i=[^>]+&l=/g, ''));
theLink.href = unescape(theLink.href.replace(/http:\/\/www.totalfark.com\/cgi\/fark\/go.pl\?i=[^>]+&l=/g, ''));
if (theLink.innerHTML.indexOf('img') != 1)
{
theLink.innerHTML = theLink.innerHTML.replace(/\(([^<]+)\)/,"(<u>$1</u>)");
}
theComments.innerHTML = theComments.innerHTML.replace(/\(([^<]+)\)/,"(<u>$1</u>)");
theComments.target = "_blank";
}
}
var tags = document.evaluate('//td[@width="38"]', document, null, XPathResult.UNORDERED_NODE_SNAPSHOT_TYPE, null);
for (var j = 0; j < urls.length; j++)
{
for (var i = 0; i < headlines.snapshotLength; i++)
{
if ((urls[j] != "") && (headlines.snapshotItem(i).getElementsByTagName('a').item(0) != null) && (headlines.snapshotItem(i).getElementsByTagName('td').item(0).innerHTML.search(urls[j]) != -1))
headlines.snapshotItem(i).parentNode.removeChild(headlines.snapshotItem(i));
}
}
for (var j = 0; j < filteredtags.length; j++)
{
for (var i = 0; i < tags.snapshotLength; i++)
{
if ((filteredtags[j] != "") && (tags.snapshotItem(i).innerHTML.search(filteredtags[j]) != -1))
headlines.snapshotItem(i).parentNode.removeChild(headlines.snapshotItem(i));
}
}
}
if (hideads) //remove some adbars
{
var remove = ['bodyRightSideContainer', 'topAd728x90', 'footer','rightSideLeftMenubar'];
for (var i = 0; i < remove.length; i++)
{
var adSidebar = document.getElementById(remove[i]);
if (adSidebar)
{
adSidebar.parentNode.removeChild(adSidebar);
}
}
if (document.getElementById('bodyHeadlineContainer')) document.getElementById('bodyHeadlineContainer').style.width = "90%";
if (document.getElementById('TFbodyHeadlineContainer')) document.getElementById('TFbodyHeadlineContainer').style.width = "90%";
if (document.getElementById('bodycontentframe')) document.getElementById('bodycontentframe').style.width="90%";
}
//Screw the stupid PITA Meter thingy
if (PITA)
{
var trs = document.evaluate('//tr', document, null, XPathResult.UNORDERED_NODE_SNAPSHOT_TYPE, null);
for (var i = 0; i < trs.snapshotLength; i++)
{
if (trs.snapshotItem(i).getElementsByTagName('td').item(0).innerHTML.indexOf("Fark.com's <span style=\"font-si") > -1)
{
trs.snapshotItem(i).parentNode.removeChild(trs.snapshotItem(i));
trs.snapshotItem(i+1).parentNode.removeChild(trs.snapshotItem(i+1));
}
}
}
//remove MyFark from the top bar
var navbar, myfark, topbarmyfark;
myfark = document.getElementsByTagName('li');
for (var i = 0; i < myfark.length; i++) {
topbarmyfark = myfark[i];
if ((topbarmyfark.innerHTML.indexOf('users.pl?self=1') != -1) || (topbarmyfark.innerHTML.indexOf('Contests.html') != -1 )){
topbarmyfark.innerHTML = '';
}
}
//Farkyish posts -- improved w/less external loading -- based off of the excellent mikeruhlin script "Farkyish Comments"
//http://userscripts.org/scripts/show/8954
if (document.location.href.match(/cgi\/fark/) == null) {
GM_xmlhttpRequest({
method:"GET",
url:"http://cgi.fark.com/cgi/fark/users.pl?self=1",
headers:{"User-Agent":"monkeyagent"},
onload:function(details)
{
var myThreads = new Array();
details.responseText = details.responseText.replace(/\*/g,'B');
myThreads = details.responseText.match(/last post.*\/td>\s*.*\/td>\s*.*\/td>\s*.*<a target=\"_blank\" href=\"http:\/\/forums\.fark\.com\/cgi\/fark\/comments\.pl\?IDLink=([0-9]{7})\">/g);
var headline = document.evaluate('//tr[@class="headlineRow"]', document, null, XPathResult.UNORDERED_NODE_SNAPSHOT_TYPE, null);
for(i=0; i<headline.snapshotLength; i++){
for(j=0; j<myThreads.length; j++){
threadno = myThreads[j].match(/IDLink=([0-9]{7})/)
if(headline.snapshotItem(i).getElementsByTagName('a').item(1))
{
k=1;
if (headlines.snapshotItem(i).getElementsByTagName('a').item(1).href.indexOf('ordershirt.pl') > -1) k = 2;
if(headline.snapshotItem(i).getElementsByTagName('a').item(k).href.search(threadno[1]) > -1){
//I've commented here!
headline.snapshotItem(i).getElementsByTagName('a').item(k).style.color = "red";
headline.snapshotItem(i).getElementsByTagName('a').item(k).style.fontWeight = "bold";
}
}
}
}
}
});
}
//makeTab function to add MyFark back on the bar, create your own!
function makeTab(text, classname, href, nextto)
{
nextto == null ? navbar = document.getElementById("bodyTabTFVoting") : navbar = document.getElementById(nextto);
if (navbar)
{
newTab = document.createElement('a');
newTab.setAttribute('href', href);
newTab.setAttribute('id', classname);
var tabText = document.createTextNode(text);
newTab.appendChild(tabText);
navbar.parentNode.insertBefore(newTab, navbar.nextSibling);
}
}
//non-TF voting tab; I like having it too
makeTab("Voting","bodyTabVoting","http://www.fark.com/LinkVote.html","bodyTabAll");
//MyFark
makeTab("MyFark","bodyTabSports","http://cgi.fark.com/cgi/fark/users.pl?self=1","bodyTabVoting");
//Foobies
makeTab("Foobies","bodyTabShowbiz","http://www.foobies.com/","bodyTabVoting");
//add a little "arrow" if post mentions your name
if (document.location.href.match(/http:\/\/forums\.fark\.com/) != null)
{
var myname = document.body.innerHTML.match(/Logged in as '(.*)'/)[1];
myname = myname.toLowerCase();
var highlight = "data:image/gif,GIF89a%10%00%10%00%F7%00%00%00%00%00%FF%FF%FF%F8%FA%F9%F5%F7%F6%AD%E1%BE%7D%A2%89%82%9A%8A%DB%F3%E3%EA%F0%EC%E6%EC%E8%F5%F8%F6%19%C5P%1F%DF%5B%17%A8D!%D5X'%F1f%18%95%3E(%D7%5D%26%C6W%1D%8E%3F%1A%7F85%F4n7%F6q%14P%26%19%5C-%1C%5B%2FP%F1%80D%80Wj%C6%86%81%EC%A2%86%F3%A73%5B%3F2W%3DL%7D%5B%9D%E9%B5T%7C%60%5D%86j%5D%85i%5E%85jz%9F%85%7D%9D%87%C2%F0%D0%7D%9B%86%83%9D%8B%CC%EF%D7%D8%F1%E0%19u4*%BBT%1F%89%3D%1Bn3%19c.%3F%F1r%26%93D%3D%E7m-%ABP%26%91D3%BFZ-%A5N%13F%223%B6W%23h7X%ED%83G%B6g%20M-0kA%2B%5E%3Av%FC%9C4oE2d%40%83%F7%A4DwS%8E%F7%AC%97%FD%B3%95%FA%B1AjMLzYJwWb%92p%A1%EF%B7%A7%E2%B8%2B%9DJ*%97G%1Fi2%20j3%3C%C0_.%91GG%D1k%2CyA%2Bf%3Ab%E7%85R%B7me%CD%81%7F%F8%9E%84%E7%9D%90%F5%AA~%D0%93%9B%FD%B5%9A%FC%B3%9C%FD%B5R%85_%5E%8Aj%A9%F5%BD%9E%E5%B1%8F%CA%9Ec%85lc%82k2%97K%25o7%26p7%25n6D%C6dD%C4dR%EBxP%DEsF%BFb1%84D%5C%E7%7C%40%97T9%7DJh%DE%85%5D%C4vf%D2%80%B1%F9%C3%93%CA%A0%B9%FB%C8%5C%7Cd6%8FJ%3E%9DR3%81D5%84F%3E%9ARV%CAoK%B1%60j%ED%85%7C%D6%8FM%81X%96%EA%A8JpR%9B%D2%A7%95%CA%A1%40%93OG%A1XB%93QU%BAiv%F8%90k%DF%80%3E%81Ks%EC%89N%9A%5C%97%F6%A9%96%F0%A8%8C%D0%99%EA%EF%EBJ%A0YH%9CWf%CEwM%9CZh%CExU%A8br%DD%83%9F%EE%AC%93%D2%9DR%A1%5Ez%E5%8A%7B%DC%89%3FmF%3EiDm%C5wL%87S%93%D8%9B%7C%D0%84~%CF%85%95%E5%96%7C%BB%7B%93%D7%8F%B5%E3%A6%B4%DA%9F%06%06%04%0A%0A%07%0E%0E%0A%07%07%05%16%16%10%0B%0B%08%1E%1E%16%0F%0F%0B%1F%1F%17%1B%1B%14%17%17%11%1C%1C%15%14%14%0F%10%10%0C%0C%0C%09%08%08%06%04%04%03%15%15%10%0D%0D%0A%09%09%07%01%01%01%FF%FF%FF%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00!%F9%04%01%00%00%C6%00%2C%00%00%00%00%10%00%10%00%00%08%FF%00%8D%11%C3U%8BW%AE%5B%BAz%0D%03%16%AC%18%00%00%C6hE%A8%20%04%09%181a%92%1C%F1%D0A%04%8B%16%00d%BD%A8%B1%E5%CC%9EE%8A%F8%E8)%E3%24%C5%01%02%C5%86%E5%E0%B1%A1%84%09%13%23%C6%80%B2%D4%C5%CC%13%0E%C1~Eqs%A5%89%80%00%01NdP%F5%C9%D0%17%1F%B2%88%DD%A0B%A7%CE%10%04H%13%04A%95%EA%92%16_%B4%60%EC%883i%D5%05%14H%07%F4I%14%0A%CF%AE%60%14lX%89%C4%EAU%A94H%03%18%00%91%87W0%17P%E4tr%05%CB%14%9A%BC%2B%3E%DC%E1%15%2BF%15B%A7Z%E9P%81T%01%99C%88%B2%EC%226%C5%CF%23ID0!E%00%84R%25%2F%3D%7C%D9Z%23%08%0B%89%A3%01%0A%60%20%05%89K%11%0D%B2%86%B1%F9%A1%84%C9%92%10F%EC%8C*%04g%86%85%07%C1dI%99%13%C8%11'Q%9E6%0Dz%83C%82%03%06%C5h%C9h%03%88%91%A6L%8D%FE%A8%14%A11%01B%83%05%10%07%16%CC%95K%97%B0Y%0C%1DB%0C%08%00%3B";
var posts = document.evaluate('//div[@class="ctext"]', document, null, XPathResult.UNORDERED_NODE_SNAPSHOT_TYPE, null);
var myNameCount = 0;
for (var i = 0; i < posts.snapshotLength; i++)
{
if (posts.snapshotItem(i).innerHTML.toLowerCase().indexOf(myname) > -1)
{
highlighttag = document.createElement('span');
tagHTML = '<a href="#mentions_' +myname+ '_' +(myNameCount+1)+ '" name="mentions_' +myname+ '_' +(myNameCount)+ '" id="mentions_' +myname+ '_' +(myNameCount)+ '">';
tagHTML += '<img style="float:left;position:relative; left:-10px;top:1px;" src="' + highlight + '" border="0">';
tagHTML += '</a>';
highlighttag.innerHTML = tagHTML;
posts.snapshotItem(i).parentNode.insertBefore(highlighttag, posts.snapshotItem(i));
myNameCount++;
}
}
if(myNameCount > 0){
// Link the last tag back to the first.
var lastMyName = document.getElementById('mentions_' +myname+ '_' + (myNameCount-1));
lastMyName.href = '#mentions_' + myname + '_0';
}
// Add total count...
myNameCountLink = '<br><a href="#mentions_' + myname + '_0">' + myNameCount + ' Comment' + ((myNameCount>1)?'s':'') +' mentioned you.</a><br>';
// Top of page
var commentsHeader = document.getElementById("commentsHeader");
commentsHeader.innerHTML += myNameCountLink;
// Bottom of page
bottomSpan = document.createElement('span');
bottomSpan.innerHTML = myNameCountLink;
var bottomOfPage = document.getElementById("commentsPostingArea");
bottomOfPage.parentNode.insertBefore(bottomSpan, bottomOfPage);
}
