var simg = new Array(), ISvisimg = '', ISnextimg = '', ISafterimg = '', ISopacSpeed = 8, TimeoutSpeed = 4500;

function SetOpac(obj, opacity){
	opacity = (opacity == 100)?99.999:opacity; // Schützt vor flimmern (in Firefox bspw.)
	obj.style.filter = "alpha(opacity:"+opacity+")"; // IE/Win
	obj.style.KHTMLOpacity = opacity/100; // Safari<1.2, Konqueror
	obj.style.MozOpacity = opacity/100; // Older Mozilla and Firefox
	obj.style.opacity = opacity/100; // Safari 1.2, newer Firefox and Mozilla, CSS3
	}

function Ifade(id, mode){
	obj = document.getElementById(id);
	if(!obj){
		obj = simg[id];
		}
	if(obj){
		if(!(obj.name != '')){obj.name = '100';}
		opac = parseInt(obj.name);
		if(Ifade.arguments.length > 1){obj.title = mode;}
		if(obj.title == 'fadeout'){
			if(opac > 0){
				opac -= 10;
				SetOpac(obj, opac);
				obj.name = opac;
				setTimeout('Ifade("'+id+'")', 17);
				}
			}
		else if(obj.title == 'fadein'){
			if(opac < 100){
				opac += 10;
				SetOpac(obj, opac);
				obj.name = opac;
				setTimeout('Ifade("'+id+'")', 17);
				}
			}
		}
	}
	
function ISstart(id, cmd){
	sdiv = document.getElementById(id);
	simg = sdiv.getElementsByTagName("img");
	for(var i = 0; i < simg.length; i++){
		simg[i].name = '100';		
		simg[i].style.top = '0px';
		simg[i].style.left = '0px';
		simg[i].style.height = 'auto';
		simg[i].style.width = 'auto';
		simg[i].style.display = 'none';
		}
	simg[simg.length-1].name = '0';
	SetOpac(simg[simg.length-1], 0);
	simg[simg.length-1].style.display = 'block';
	Ifade(simg.length-1, 'fadein');
	
	if(ISstart.arguments.length > 1 && cmd == 'manualload'){
		ISvisimg = simg[simg.length-1].alt;
		}
	else{
		setTimeout('IS()', (TimeoutSpeed*1.5));
		}
	}

function ISimgcheck(name){
	re = 0;
	for(var i = 0; i < simg.length; i++){
		if(simg[i].alt == name){
			re = 1; 
			}
		}
	return re;
	}
	
function ISswitch(next, speed){
	if(ISswitch.arguments.length > 1){ISopacSpeed = speed;}
	else{ISopacSpeed = 8;}
	
	if(ISswitch.arguments.length > 0 && next != ''){
		if(ISnextimg == '' && ISimgcheck(next)){
			if(ISvisimg != next && ISnextimg != next){
				for(var i = 0; i < simg.length; i++){
					if(simg[i].alt == next){
						ISnextimg = next;
						ISfadecontrol();
						}
					}
				}
			}
		else if(ISnextimg != '' && ISimgcheck(next)){
			ISafterimg = next;
			}
		}
	else if(ISswitch.arguments.length > 0 && next == ''){
		ISnextimg = '';
		if(ISafterimg != ''){
			next = ISafterimg;
			ISafterimg = '';
			ISswitch(next, ISopacSpeed);
			}
		else{
			/* Nach vollständigen Sliden (inkl. den nachgeklickten Bilder) wird folgener Bereich ausgeführt - Anpassbar */
			ISswitch(ISvisimg+'_4c', 2); /* Special */
			/* ---- */
			}
		}
	}

function ISfadecontrol(){
	for(var i = 0; i < simg.length; i++){
		if(simg[i].alt == ISvisimg){vis = i;}
		else if(simg[i].alt == ISnextimg){next = i;}
		else {simg[i].style.zIndex = 0;}
		}
	if(typeof simg[next] != 'undefined'){
		simg[vis].style.zIndex = simg.length+1;
		simg[next].style.zIndex = simg.length;
		simg[next].style.display = 'block';
		ISfade(vis, next);
		}
	}
	
function ISfade(vis, next){	
	opac = parseInt(simg[vis].name);
	if(opac > 0){
		opac -= ISopacSpeed;
		SetOpac(simg[vis], opac);
		simg[vis].name = opac;
		setTimeout('ISfade('+vis+', '+next+')', 17);
		}
	else{
		simg[vis].style.zIndex = 0;
		simg[vis].style.display = 'none';
		simg[vis].name = '100';
		SetOpac(simg[vis], 100);				
		ISvisimg = simg[next].alt;
		ISswitch('');
		}
	}
	
function IS(loop){
	var img_nr = simg.length-1;
	while(IS.arguments.length < 1 && img_nr > 0){
		opac = parseInt(simg[img_nr].name);
		if(opac > 99 && img_nr > 0){
			simg[img_nr-1].style.display = 'block';
			}
		if(opac > 0){
			opac -= ISopacSpeed;
			SetOpac(simg[img_nr], opac);
			simg[img_nr].name = opac;
			if(opac > 0) {setTimeout('IS()', 17);}
			else {setTimeout('IS()', TimeoutSpeed);}
			img_nr = -1;
			}
		else{
			simg[img_nr].style.display = 'none';
			img_nr -= 1;
			}
		}
	if(IS.arguments.length > 0 || img_nr == 0){
		opac = parseInt(simg[simg.length-1].name);
		if(opac < 1){simg[simg.length-1].style.display = 'block';}
		if(opac < 100){
			opac += ISopacSpeed;
			SetOpac(simg[simg.length-1], opac);
			simg[simg.length-1].name = opac;
			if(opac < 100){setTimeout('IS(1)', 17);}
			else{
				simg[0].style.display = 'none';
				for(var i = 0; i < simg.length; i++){
					simg[i].name = '100';
					SetOpac(simg[i], 100);
					}
				setTimeout('IS()', TimeoutSpeed);
				}
			}
		}
	}

