// ==UserScript==
// @name TF2R Loss Counter
// @description Counts the number of consecutive loss notifications in tf2r from start, that have not been removed
// @include http://tf2r.com/notifications.html
// @updateURL https://userscripts.org/scripts/source/124095.meta.js
// @version 1.4.3
// ==/UserScript==
var links234 = document.getElementsByClassName("notif");
var index = 0;
var losscounter = 0;
var wincounter = 0;
while(links234[index]) {
if(links234[index].textContent.match("won")) {
if(!losscounter) wincounter++;
else break;
}
else if(links234[index].textContent.match("always next time")) losscounter++;
index++;
}
if(index){
var ace = document.createElement("div");
ace.setAttribute("class","nav_font_s");
ace.setAttribute("id","counter");
if(wincounter){
ace.setAttribute("style","color: lime");
ace.textContent = "Congratulations! After " + losscounter + " losses you have won " + wincounter + " items! ";
}
else{
ace.setAttribute("style","color: red");
ace.textContent = "You have lost " + losscounter + " consecutive raffles! ";
}
var base = document.createElement("span");
base.setAttribute("style","cursor: pointer; color: aqua;");
base.textContent = "CLEAR";
base.addEventListener('click', function(){
var notdel;
var i;
var total=0;
var totdel = 0;
var errors = "
";
var numerrors = 0;
function delnot(iid){
var delobject = "deleteNotification=true&nid="+iid;
var httpRequest = new XMLHttpRequest();
httpRequest.onreadystatechange = function(){
if (httpRequest.readyState === 4) {
var jsobj = JSON.parse(httpRequest.responseText);
if (jsobj.status == "ok") {
links234[numerrors].parentNode.removeChild(links234[numerrors]);
totdel++;
}
else if(jsobj.status == "fail") {
errors += iid + " " + jsobj.message + "
";
numerrors++;
}
ace.innerHTML = "Deleted " + totdel + " out of " + total + " notifications with " + numerrors + " errors." + errors;
}
};
httpRequest.open('POST', 'http://tf2r.com/job.php', false);
httpRequest.setRequestHeader('Accept', 'application/json, text/javascript, *');
httpRequest.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded; charset=UTF-8');
httpRequest.setRequestHeader('X-Requested-With', 'XMLHttpRequest');
httpRequest.send(delobject);
}
total = links234.length;
ace.setAttribute("style","color: cyan");
while(links234[numerrors]){
notdel = links234[numerrors].getElementsByClassName('notifDel');
delnot(notdel[0].getAttribute('iid'));
}
},true);
ace.appendChild(base);
links234[0].parentNode.insertBefore(ace,links234[0]);
}