function tsslider(t,l,c) {
	this.idtag = t;
	this.linktag = l;
	this.count = c;
	
	this.autowaittime = 5000;
	this.intervaldelay = 60;
	this.slidestepsize = 10;
	this.topelement = 1;
	this.interval = 0;
	this.autoto = 0;


	this.setopacity = function(id,opacity) {
		document.getElementById(this.idtag+id).style.opacity = opacity/100;
		document.getElementById(this.idtag+id).style.filter = "Alpha(opacity="+opacity+")";
		if (opacity <= 0) {
			document.getElementById(this.idtag+id).style.display = 'none';
		} else {
			document.getElementById(this.idtag+id).style.display = 'block';
		}
	}
	this.getopacity = function(id) {
		return(document.getElementById(this.idtag+id).style.opacity*100);
	}


	this.changetoelement = function(id) {
		clearInterval(this.interval);
		clearTimeout(this.autoto);
		document.getElementById(this.linktag+this.topelement).style.borderWidth='1px';
		document.getElementById(this.linktag+id).style.borderWidth='3px';
		if (id < this.topelement) {
			this.interval = setInterval("tsslider.fadein("+id+")",this.intervaldelay);
			this.topelement = id;
		}
		if (id > this.topelement) {
			for(var i=1;this.topelement>i;i++) {this.setopacity(i,0);}
			this.setopacity(id,100);
			if (id-this.topelement > 1) {
				for(var i=id-1;i>this.topelement;i--) {
					this.setopacity(i,0);
				}
			}
			this.interval = setInterval("tsslider.fadeout("+this.topelement+")",this.intervaldelay);
			this.topelement = id;
		}
		this.autoto = setTimeout("tsslider.autochange()",this.autowaittime);
	}

	this.fadeout = function(id) {
		var o = tsslider.getopacity(id);
		if (o > 0) {
			tsslider.setopacity(id,o-tsslider.slidestepsize);
		} else {
			clearInterval(tsslider.interval);
		}
	}
	
	this.fadein = function(id) {
		var o = tsslider.getopacity(id);
		if (o < 100) {
			tsslider.setopacity(id,o+tsslider.slidestepsize);
		} else {
			clearInterval(tsslider.interval);
		}	
	}

	this.autochange = function() {
		var i = (this.topelement < this.count) ? this.topelement+1 : 1;
		this.changetoelement(i);
	}

	this.startautochange = function() {
		this.autoto = setTimeout("tsslider.autochange()",this.autowaittime);
	}
	this.mover = function(id) {
		this.changetoelement(id);
	}
	//init
	for(var i=1;i<=this.count;i++) {
		this.setopacity(i,100);
	}
	document.getElementById(this.linktag+this.topelement).style.borderWidth='3px';
	
}

function inittss(t,l,c) {	
	tsslider = new tsslider(t,l,c);
	return tsslider;
}
