HnH whats new

By gecko.check Last update May 15, 2008 — Installed 25 times.
// ==UserScript==
// @name           HnH whats new
// @namespace      http://tud.hicknhack.org/
// @include        http://tud.hicknhack.org/forum/*
// ==/UserScript==

// Parameter
var color = "#9999FF";


var oldTime = GM_getValue("lastvisit");


var now = Math.floor(Date.parse(new Date())/1000);

var dateField = document.createElement("span");
dateField.innerHTML = "Last Visit : "+(new Date(oldTime*1000)).toLocaleString();
dateField.setAttribute("style","margin-left:60px;background:#9999FF;border: 1px solid #000;color:#FFF;padding: 0px 5px;");
dateField.addEventListener("click", function(){GM_setValue("lastvisit", now); this.innerHTML = "ok, dann hast du wohl alles gelesen";}, false);
document.getElementsByTagName("div")[1].appendChild(dateField);

var heute = now - Math.floor(now%86400) + (new Date()).getTimezoneOffset()*60;	// auf 00:00:00 runter, mit GMT-Anpassung

if(window.location.pathname.indexOf("message")==-1) {
	// innerhalb eines Threads
	var table = document.getElementsByTagName("TABLE")[1];
	var zeilen = table.getElementsByTagName("TBODY")[0].getElementsByTagName("TR");
	var tds;
	var tzeit;
	for(var i=0;i<zeilen.length;i++){
		tds = zeilen[i].getElementsByTagName("TD");
		if(tds.length==4 && (tds[3].innerHTML.indexOf("Heute")==0 || tds[3].innerHTML.indexOf("Gestern")==0)){
			var zeit = tds[3].innerHTML.split(", ")[1];
			zeit = zeit.split(":");
			zeit[2]=zeit[2].substr(0,2);
			// Heute
			if(tds[3].innerHTML.indexOf("Heute")!=-1) {
				tzeit= heute + zeit[0]*3600 + zeit[1]*60 + zeit[2]*1;
				if(tzeit>oldTime) zeilen[i].style.backgroundColor = color;
			}
			// Gestern
			else {
				tzeit= heute-86400 + zeit[0]*3600 + zeit[1]*60 + zeit[2]*1;
				if(tzeit>oldTime) zeilen[i].style.backgroundColor = color;
			}
		}
	}
} else {
	// in Subforen / ausserhalb von Threads
	var table = document.getElementsByTagName("TABLE")[1];
	var zeilen = table.getElementsByTagName("TBODY")[0].getElementsByTagName("TR");
	var tds;
	var ankerset = false;
	for(var i=0;i<zeilen.length;i++){
		tds = zeilen[i].getElementsByTagName("TD");
		if(i==0) tds[0].innerHTML += "<a href='#down'>down</a>";
		if(tds[0].innerHTML.indexOf("Heute")!=-1 || tds[0].innerHTML.indexOf("Gestern")!=-1){
			var zeit = tds[0].innerHTML.split(", ")[1];
			zeit = zeit.split(":");
			if(zeit[2].length>8) continue;	//es wurde nur eine Name mit Uhrzeit erkannt
			zeit[2]=zeit[2].substr(0,2);
			// Heute
			if(tds[0].innerHTML.indexOf("Heute")!=-1) {
				tzeit= heute + 3600*zeit[0] + 60*zeit[1] + 1*zeit[2];
				if(tzeit>oldTime) { 
					tds[0].style.backgroundColor = color;
					if(!ankerset) {ankerset = true; tds[0].innerHTML += "<a name='down' href='#top'>top</a>";}//+tds[0].innerHTML;}
				}
			}
			// Gestern
			else {
				tzeit= heute-86400 + zeit[0]*3600 + zeit[1]*60 + zeit[2]*1;
				if(tzeit>oldTime) tds[0].style.backgroundColor = color;
			}
		}
	}
}