var isIE = (navigator.appName == "Microsoft Internet Explorer");

function objBanner()
{
	var fadeCount = 0;		// Zähler der abgelaufenen Überblendschritte
	var fadeStep =  4;		// Transparentschritt für Überblendeffekt (1/100)
	var showTime = 20;		// Anzeigedauer der einzelnen Banner (in sec)
	var wait4Pic =  0;		// aktuelle Anzeigedauer des Banners (in sec)
	var picsStep =  1;		// Schrittweite des Bildwechsels
	var id_Image = '';		// ID der Division zur Banneranzeige
	var idxImage =  0;		// Index des angezeigten Bildes
	var objImage = '';		// Name des Banner-Objektes
	var fading = false;		// Fading in progress
	var divImage;					// Pointer auf die Banner-Division
	var ovrImage;					// Pointer auf das Overlay-Image
	var imgTimer;					// Pointer auf den Timer

	this.init = init;
	this.start = start;
	this.process = process;
	this.addPics = addPics;
	this.fadePic = fadePic;
	this.nextPic = nextPic;
	this.showPic = showPic;
	this.addFolder = addFolder;
	this.addDebug = addDebug;

	// Parameter: Name des Banner-Objekts, ID der Division, Überblendgeschwindigkeit 
	function init() {
		var args=init.arguments;
		objImage = args[0];
		id_Image = args[1];
		if (args[2]) showTime = args[2];
		if (args[3]) fadeStep = 2.5 * args[3];
		divImage = document.getElementById(id_Image);
		if (!divImage) alert("Division zur Banner-Anzeige nicht gefunden ["+id_Image+"]");
		ovrImage = "ovr_" + id_Image;
	}

	// Parameter jeweils Bildpfad, URL, Bildtitel, Anzeigedauer-Verhältnis
	function addPics() {
		if (!divImage) return;
		var args=addPics.arguments;
		if (!divImage.img) divImage.img = new Array();
		var idx = divImage.img.length;
		for (var i=0; i<(args.length-1); i+=4) {
			divImage.img[idx] = new Image;
			divImage.img[idx].src = args[i];
			divImage.img[idx].lnk = args[i+1];
			divImage.img[idx].txt = args[i+2];
			divImage.img[idx].tim = args[i+3];
			idx++;
		}
	}

	function addFolder(dir, sld, num) {
		if (!divImage) return;
		if (!divImage.img) divImage.img = new Array();
		var idx = divImage.img.length;
		var sldname = '';
		var sld1 = sld.substr(0,sld.indexOf('#'));
		var sld2 = sld.substr(sld.indexOf('#')+1);
		if ((dir.length > 0) && (dir.substr(dir.length-1) != '/'))
			sld1 = dir + '/' + sld1;
		else
			sld1 = dir + sld1;
		for (var i=1; i<=num; i++) {
			sldname = "000"+i;
			sldname = sld1+sldname.substr(sldname.length-2)+sld2;
			divImage.img[idx] = new Image;
			divImage.img[idx].src = sldname;
			divImage.img[idx].lnk = '';
			idx++;
		}
	}

	function fadePic() {
		if (fadeCount <= 100) {
			if (isIE)
				ovrImage.filters.alpha.opacity = (fadeCount);
			else
				ovrImage.style.opacity = (fadeCount / 100);
			fadeCount += fadeStep;
		} else {
			fading = false;
			var wait = (divImage.img[idxImage].tim) ? divImage.img[idxImage].tim : showTime;
			showPic(wait);
			fadeCount = 0;
		}
	}

	function nextPic(add) {
		idxImage += add;
		if (idxImage >= divImage.img.length) idxImage = 0;
		if (idxImage < 0) idxImage = divImage.img.length - 1;
		var nxtPic = '<img id="ovr_'+id_Image+'" src="'+divImage.img[idxImage].src+'" border=0';
		if (isIE)
			nxtPic += ' style="filter:alpha(opacity=0)" />';
		else
			nxtPic += ' style="opacity:0" />';
		if (divImage.img[idxImage].lnk > '') {
			var tit = (divImage.img[idxImage].txt > '') ? divImage.img[idxImage].txt : 'mit Klick zur Homepage';
			nxtPic = '<a href="'+divImage.img[idxImage].lnk+'" title="'+tit+'" target="_blank">'+nxtPic+'</a>';
		}
		divImage.innerHTML = nxtPic;
		ovrImage = document.getElementById('ovr_'+id_Image);
		fading = true;	// startet das fading
	}

	function showPic(sec) {
		divImage.style.backgroundImage = 'url(' + divImage.img[idxImage].src + ')';
		wait4Pic = sec * 40;
	}

	function process() {
		if (wait4Pic > 0) {
			wait4Pic--;
			return;
		}
		if (fading) {
			fadePic();
			return;
		}
		nextPic(picsStep);
	}

	// wenn Übergabewert dann Startverzögerung um x Sekunden
	function start() {
		var args=start.arguments;
		var offs = (args[0]) ? args[0] : 0;
		var wait = (divImage.img[idxImage].tim) ? divImage.img[idxImage].tim : showTime;
		showPic(wait+offs);
		imgTimer = window.setInterval(objImage+'.process()', 25);
	}

	function addDebug(text) {
		var dbg = document.getElementById('debug');
		if (dbg) dbg.innerHTML = text + '<br>' + dbg.innerHTML;
	}
}
