/**
 * @author Thomas Wulf
 * allgemeine funktionen zum ein- und ausblenden 
 * und zum laden eines bildes
 */


function setOpacity( id, percentage ) 
{ var obj;
  if (percentage < 0) percentage = 0;
  if (percentage > 100) percentage = 100;
  obj = document.getElementById( id + "" );
  obj.style.filter = 'Alpha(opacity = ' + ( percentage ) + ')'; 
  obj.style.opacity = ( percentage / 100 );
}

function SetText(divId, theText){
	var obj;
	obj = document.getElementById( divId );
	obj.innerHTML = unescape(theText);
}

var opacI = new Object(  );  //= 0;
var opacO = new Object(  );  //= 100;

var outSpeedDefault = 18;
var outSpeed = 18;
var inSpeedDefault = 8;
var inSpeed = 8;

function FadeIn(id, speed){
	if (speed<=0.1) { speed = inSpeed;  }
	if (opacO[id] > 97) {opacO[id] = 100;}
	if (opacI[id] <= 100) {
	  opacI[id] += speed*0.3;
	  setOpacity(id, opacI[id]);
	  window.setTimeout("FadeIn('" + id + "', "+ speed + ")" ,0);
    }
}

function FadeOut(id, speed){
	if (speed<=0.1) {speed = outSpeed;  }
	if (opacO[id] < 3) {opacO[id] = 0;}
	if (opacO[id] >= 0) {
	  opacO[id] -= speed*0.5;
	  setOpacity(id, opacO[id]);
	  window.setTimeout("FadeOut('" + id + "', "+ speed + ")" ,0);
    } 
}

function inFader(id, speed){ 
  if (speed<=0.2) {  speed = inSpeed; }
  opacI[id] = 0; FadeIn(id, speed);  }
  
function outFader(id, speed){ 
  if (speed<=0.2) { speed = outSpeed;  }
  opacO[id] = 100; FadeOut(id, speed);}

var OIopac = new Object(  );  // = 0;
function outInFader(id, outspeed, inspeed, newimage, stat){
  var obj;
  if (stat == 'X') { 
  	stat='O'; OIopac[id] = 100;
	window.setTimeout("outInFader('"+id+"'," + 
	                   outspeed +"," + inspeed+",'" + newimage+"','"+ stat + "')", 0);
	return;
  }
  if (outspeed<=0.1) { outspeed = outSpeed; }
  if ( inspeed<=0.1) { inspeed  = inSpeed;  }
  if (stat == 'O') {
  	if (OIopac[id] > 0) {
  		OIopac[id] -= outspeed * 0.3;
  		setOpacity(id, OIopac[id]);
  		window.setTimeout("outInFader('" + id + "'," + outspeed + "," 
		     + inspeed + ",'" + newimage + "','" + stat  + "')", 0);
  		return;
  	}
  	else {
  		stat = 'I';
  		obj = document.getElementById(id + "");
  		obj.src = newimage;
  		inFader(id, inspeed);
  		return;
  	}
  }
}


function outInFaderText(id, outspeed, inspeed, newimage, stat, idT, theText){
  var obj;
  if (stat == 'X') { 
  	stat='O'; OIopac[id] = 100;
	window.setTimeout("outInFaderText('"+id+"'," + outspeed +"," + inspeed+",'" 
				   + newimage+"','"+ stat + "', '" + idT +  "', '" + theText + "')", 0);
	return;
  }
  if (outspeed<=0.1) { outspeed = outSpeed; }
  if ( inspeed<=0.1) { inspeed  = inSpeed;  }
  if (stat == 'O') {
  	if (OIopac[id] > 0) {
  		OIopac[id] -= outspeed * 0.3;
  		setOpacity(id, OIopac[id]);    
  		setOpacity(idT, OIopac[id]);    
	    window.setTimeout("outInFaderText('"+id+"'," + outspeed +"," + inspeed+",'" 
				   + newimage+"','"+ stat + "', '" + idT +  "', '" + theText + "')", 0);
  		return;
  	}
  	else {
  		stat = 'I';
  		obj = document.getElementById(id + "");
  		obj.src = newimage;
		
		SetText(idT, theText);
  		inFader(id, inspeed);
   		inFader(idT, inspeed);
 
 		return;
  	}
  }
}




var imgLoaded = ""
var imgPath = "./images/";
var imgExt = ".jpg";

function loadImg(filename, imgID){
   if (imgLoaded == filename) {return} else {imgLoaded = filename;}
   setOpacity( imgID, 0 ) 
   s = imgPath + filename + imgExt;
   obj = document.getElementById(imgID);
   obj.src= s;
   inFader(imgID, 0);
}

function loadImgPlain(filename, imgID){
   var obj, s;
   if (imgLoaded == filename) {return} else {imgLoaded = filename;}
   s = imgPath + filename + imgExt;
   obj = document.getElementById(imgID);
   obj.src= s;
}


var imgTop, imgBottom;
var opacX;
var filenameX;
function crossFade(filename, imageTop, imageBottom){
	filenameX = filename;
	imgTop = imageTop;
	imgBottom = imageBottom;
	loadImgPlain(filenameX, imageBottom);
	imgLoaded = ""
	opacX = 100;
	crossFade2();
}
function crossFade2() {
	if (opacX <= 0) { crossFade3();	return;	}
	setOpacity(imgTop, opacX);
	opacX -= 7;
	window.setTimeout("crossFade2()", 0);
}	
function crossFade3() {
	loadImgPlain(filenameX,imgTop );
	setOpacity(imgTop, 100);
}	




