function Bildslider(id, bpz, breite, hoehe, richtung, rand, border) {
	this.id = id + "_bildslider";
	this.rand = rand;
	this.border = border;
	this.border_color = "#fff;";
	this.borderAusgabe = "border:" +this.border+ "px solid " +this.border_color;
	this.elBox;
	this.elSlider;
	this.bilderProZeile = bpz;
	this.zellenHoehe = hoehe;
	this.zellenBreite = breite;
	this.bilder = new Array();
	this.ausrichtung = richtung;
	this.zeilenGesamt;
	this.aktOp = 0;
	this.slideAdd;
	this.slideAkt = 0;
	this.aktMarg = 0;
	
	this.bildHinzufuegen = function(quelle) {
		var neu = this.bilder.length;
		this.bilder[neu] = new Image();
		this.bilder[neu].src = quelle;
	}
	
	this.ausgabe = function() {
		switch (this.richtung) {
			case 'l':
			case 'r':
			case 'R':
			case 'L':
				
			break;	
			default:
				this.zeilenGesamt = Math.ceil(this.bilder.length/this.bilderProZeile);
				document.write("<div id=\""+this.id+"\" style=\"height:"+this.zellenHoehe+"px; overflow:hidden; visibility:hidden; border:0px solid #000\">");
				document.write("<div style=\"margin:0; text-align:center;\">");
				var aktBild = 0;
				for (i = 0; i < this.zeilenGesamt; i++) {
					document.write("<table cellpadding=\"0\" cellspacing=\"0\">");
					document.write("<tr>");
					for (z = 0; z < this.bilderProZeile; z++) {
						document.write("<td style=\"height:"+this.zellenHoehe+"px; width:"+this.zellenBreite+"px; vertical-align:middle; text-align:center\">");
						//alert(aktBild);
						if (aktBild < this.bilder.length) {
							document.write("<img src=\""+this.bilder[aktBild].src+"\" style=\"width:"+this.zellenBreite+"px; "+this.borderAusgabe+"\" />");
						}
						document.write("</td>");
						aktBild++;
					}
					document.write("</tr>");
				}
				document.write("</table>");
				document.write("</div></div>");
				this.elBox = document.getElementById(this.id);
				this.elSlider = this.elBox.firstChild;
				this.setOpacity(this.elBox, this.aktOp);
		}
		this.ladeCheck();
	}
	
	this.ladeCheck = function() {
		var treffer = false;
		for (i = 0; i < this.bilder.length; i++) {
			//alert(this.bilder[i].complete);
			if (!this.bilder[i].complete) {
				treffer = true;
			}
		}
		if (treffer) {
			var _this = this;
			window.setTimeout(function() { _this.ladeCheck(); }, 500);
		}
		else {
			this.init();
		}
	}
	
	this.init = function() {
		for (i = 0; i < this.bilder.length; i++) {
			tmpMasse = "";
			if (this.bilder[i].width > this.bilder[i].height) {
				if (this.bilder[i].width > this.zellenBreite) {
					this.elSlider.getElementsByTagName("td")[i].firstChild.style.width = (this.zellenBreite-(this.rand + (this.border * 2))) + "px";
				}
				else {
					this.elSlider.getElementsByTagName("td")[i].firstChild.style.width = this.bilder[i].width + "px";
				}
			}
			else {
				if (this.bilder[i].height > this.zellenHoehe) {
					this.elSlider.getElementsByTagName("td")[i].firstChild.style.width = parseInt((this.zellenHoehe-(this.rand + (this.border * 2))) * (this.bilder[i].width/this.bilder[i].height)) + "px";
				}
				else {
					this.elSlider.getElementsByTagName("td")[i].firstChild.style.width = parseInt((this.bilder[i].height) * (this.bilder[i].width/this.bilder[i].height)) + "px";
				}
			}	
		}
		switch (this.ausrichtung) {
			case 'u':
			case 'U':
			case 'unten':
			case 'Unten':
				this.aktMarg = (((this.elSlider.getElementsByTagName("table").length - 1) * this.zellenHoehe) * -1);
				this.slideAdd = parseInt(this.zellenHoehe * 0.15);
				for (i = 0; i < this.elSlider.getElementsByTagName("table").length - 1; i++) {
					var tmpEl = this.elSlider.getElementsByTagName("table")[this.elSlider.getElementsByTagName("table").length-1];
					this.elSlider.removeChild(tmpEl);
					this.elSlider.insertBefore(tmpEl, this.elSlider.getElementsByTagName("table")[i]);
				}
			break;
			default:	this.aktMarg = 0;
						this.slideAdd = parseInt(this.zellenHoehe * 0.15);
		}
		var _this = this;
		window.setTimeout(function() { _this.startEinblenden(); }, 1000);
	}
	
	this.startEinblenden = function() {
		this.elSlider.style.marginTop = this.aktMarg + "px";
		this.elBox.style.visibility = "visible";
		this.einblenden();
	}
	
	this.einblenden = function() {
		//alert(this.aktOp);
		if ((this.aktOp += 20) <= 100) {
			this.setOpacity(this.elBox, this.aktOp);
			var _this = this;
			window.setTimeout(function() { _this.einblenden(); }, 100);
		}
		else {
			if (this.elSlider.getElementsByTagName("table").length > 1) {
				var _this = this;
				window.setTimeout(function() { _this.slide(); }, 5000);
			}	
		}
	}
	
	this.slide = function() {
		var tmpEl = this.elSlider.firstChild;
		switch (this.ausrichtung) {
			case 'u':
			case 'U':
			case 'unten':
			case 'Unten':
				if ((this.aktMarg += this.slideAdd) > ((this.elSlider.getElementsByTagName("table").length-2) * this.zellenHoehe * -1)) {
					this.aktMarg = ((this.elSlider.getElementsByTagName("table").length-2) * this.zellenHoehe * -1);
				}
				//alert(this.aktMarg);
				this.elSlider.style.marginTop = this.aktMarg+"px";
				if (this.aktMarg < ((this.elSlider.getElementsByTagName("table").length-2) * this.zellenHoehe * -1)) {
					var _this = this;
					window.setTimeout(function() {_this.slide(); }, 75);
				}
				else {
					this.aktMarg = (((this.elSlider.getElementsByTagName("table").length - 1) * this.zellenHoehe) * -1);
					var tmpEl = this.elSlider.lastChild;
					this.elSlider.removeChild(tmpEl);
					this.elSlider.style.marginTop = this.aktMarg +"px";
					this.elSlider.insertBefore(tmpEl, this.elSlider.firstChild);
					var _this = this;
					window.setTimeout(function() {_this.slide(); }, 5000);
				}
			break;
			default:
				if ((this.aktMarg -= this.slideAdd) < (this.zellenHoehe*-1)) {
					this.aktMarg = (this.zellenHoehe*-1);
				}
				//alert(this.aktMarg);
				this.elSlider.style.marginTop = this.aktMarg+"px";
				if (this.aktMarg > (this.zellenHoehe*-1)) {
					var _this = this;
					window.setTimeout(function() {_this.slide(); }, 75);
				}
				else {
					this.aktMarg = 0;
					var tmpEl = this.elSlider.firstChild;
					this.elSlider.removeChild(tmpEl);
					this.elSlider.style.marginTop = this.aktMarg +"px";
					this.elSlider.appendChild(tmpEl);
					var _this = this;
					window.setTimeout(function() {_this.slide(); }, 5000);
				}
		}
	}	
	
	this.setOpacity = function(objekt, wert) {
		if (navigator.appName.indexOf("Internet Explorer") != -1) {
			objekt.style.filter = "alpha(opacity="+wert+")";
		}
		else {
			objekt.style.opacity = parseFloat(wert/100);
		}
	}
}
