/**
 * JS Klasse für den timer.
 **/
function timer(timestamp,target,realtime,refreshurl,fertigstr,style)
{
	// init:
	this.varname = target+"var";
	this.timestamp = timestamp;
	this.target = document.getElementById(target);
	this.anfang = new Date();
	this.realtime = realtime;
	this.refreshurl = refreshurl;
	this.fertigstr = fertigstr;
	this.style = style;

	// Falls ein unix timestamp gegeben wurde machen wir daraus die restsekunden.
	if(this.timestamp > (this.anfang.getTime()/1000)/2)
	{
		this.timestamp = this.timestamp - Math.round(this.anfang.getTime()/1000);
	}

	// die eigentliche countdown funktion.
	this.countdown = function()
	{
		this.jetzt = new Date();
		s = this.timestamp - Math.round((this.jetzt.getTime()-this.anfang.getTime())/1000);
		m=0;
		h=0;
		if(s<0)
		{
			this.target.innerHTML = this.fertigstr;
			clearInterval(this.interval);
			if(this.refreshurl.length != 0)
			{
				document.location.href = this.refreshurl;
			}
		}
		else
		{
			if(s>59)
			{
				m=Math.floor(s/60);
				s=s-m*60;
			}
			if(m>59)
			{
				h=Math.floor(m/60);
				m=m-h*60;
			}
			// Styles
			if(this.style == "digital")
			{
				if(s<10)
				{
					s="0"+s
				}
				if(m<10)
				{
					m="0"+m
				}
				retstr = h+":"+m+":"+s;
			}
			else
			{
				retstr = "";
				if(h > 0) retstr+= h+"std, ";
				if(m > 0 || h > 0) retstr+= m+"min, ";
				retstr+= s+"sek";
			}
			this.target.innerHTML = retstr;
		}
	}

	this.countdown();
	if(this.realtime == true)
	{
		this.interval = setInterval(this.varname + ".countdown()",500);
	}
}