var imgList = new Array();

function addImage(url)
{
  var b = new Image();
  b.src = "head-imgs/" + url;
  imgList.push(b);
}

var blendTime = 0;

var part = 0;

var TimeToFade = 1000.0;
var TimeToChange = 4000;

var index = new Array(4, 5, 6, 7);
var heads = new Array("head1", "head2", "head3", "head4");

function fade(eid)
{
  var element = document.getElementById(eid);
  if(element == null)
    return;
   
  if(element.FadeState == null)
  {
    if(element.style.opacity == null
        || element.style.opacity == ''
        || element.style.opacity == '1')
    {
      element.FadeState = 2;
    }
    else
    {
      element.FadeState = -2;
    }
  }
   
  if(element.FadeState == 1 || element.FadeState == -1)
  {
    element.FadeState = element.FadeState == 1 ? -1 : 1;
    element.FadeTimeLeft = TimeToFade - element.FadeTimeLeft;
  }
  else
  {
    element.FadeState = element.FadeState == 2 ? -1 : 1;
    element.FadeTimeLeft = TimeToFade;
    setTimeout("animateFade(" + new Date().getTime() + ",'" + eid + "')", 33);
  }  
}

function setOpac(eid, opac)
{
	var element = document.getElementById(eid);
	
	element.style.opacity = opac;
	element.style.filter = 'alpha(opacity = ' + (opac*100) + ')';
}

function animateFade(lastTick, eid)
{  
  var curTick = new Date().getTime();
  var elapsedTicks = curTick - lastTick;
 
  var element = document.getElementById(eid);
 
  if(element.FadeTimeLeft <= elapsedTicks)
  {
		setOpac(eid, element.FadeState == 1 ? 1 : 0);
		/*
    element.style.opacity = element.FadeState == 1 ? '1' : '0';
    element.style.filter = 'alpha(opacity = '
        + (element.FadeState == 1 ? '100' : '0') + ')';
		*/
    element.FadeState = element.FadeState == 1 ? 2 : -2;
    return;
  }
 
  element.FadeTimeLeft -= elapsedTicks;
  var newOpVal = element.FadeTimeLeft/TimeToFade;
  if(element.FadeState == 1)
    newOpVal = 1 - newOpVal;

	/*
  element.style.opacity = newOpVal;
  element.style.filter = 'alpha(opacity = ' + (newOpVal*100) + ')';
	*/
	setOpac(eid, newOpVal);
 
  setTimeout("animateFade(" + curTick + ",'" + eid + "')", 33);
}

function blendHeader(id, state, index)
{
	//alert("blendHeader(" + id + ", " + state + ", " + index + ")");
	var img = document.images[id];
	//var temp = document.images[eval(id + "t")];
	var temp = document.getElementById(id + "t");

  switch(state)
  {
		case 0: // prepare image
			state++;
			setOpac(id + "t", 0);
			setOpac(id, 1);
			
			temp.src = imgList[(index+0)%imgList.length].src;
			window.setTimeout("blendHeader('" + id + "'," + state + "," + index + ")", TimeToChange);
			break;
		
		case 1: // blend image in
			state++;
			
			temp.FadeState = -2;
			
			fade(id + "t");
			window.setTimeout("blendHeader('" + id + "'," + state + "," + index + ")", TimeToFade+20);
			break;
		
		default:
		case 2: // exchange image
			state = 0;
			img.src = temp.src;
			setOpac(id + "t", 0);
			window.setTimeout("next()", 100);
			break;
		/*
    case 0: // blend images off
      
      state = 1;
      fade(id);
      window.setTimeout("blendHeader('" + id + "'," + state + "," + index + ")", TimeToFade+20);
      break;
    
    case 1: // change images
      document.images[id].src = imgList[(index+0)%imgList.length].src;
      
      index += 4;
      state = 2;
      window.setTimeout("blendHeader('" + id + "'," + state + "," + index + ")", 200);
      break;
    
    case 2: // and now fade in
            
      fade(id);
      
      state = 3;
      window.setTimeout("blendHeader('" + id + "'," + state + "," + index + ")", TimeToFade+20);
      break;
			
    case 3: // wait some seconds until refresh
    
      state = 0;
      //window.setTimeout("blendHeader('" + id + "'," + state + "," + index + ")", 10000);
			//part++;
			window.setTimeout("next()", 100);
      break;
		*/
  }
}

function next()
{
	part = part%4;
	
	window.setTimeout("blendHeader('" + heads[part] + "', 0, " + index[part] + ")", 100);
	
	index[part] += 4;
	
	index[part] = (index[part])%imgList.length;
	part++;
}

function initHeaders()
{
/*
	addImage("knauf.jpg");
	addImage("lagerleben.jpg");
	addImage("freddy-pose.jpg");
	addImage("nesteln.jpg");
*/

addImage("knauf.jpg"); // Waffe
addImage("waffenstaender.jpg"); // Waffen
addImage("freddy-pose.jpg"); // Freddy
addImage("nesteln.jpg"); // Jutta

addImage("buchlesen.jpg"); // Matthias
addImage("gloria.jpg"); // Gloria
addImage("querhau.jpg"); // Matthias, Wolfgang
addImage("hentzen.jpg"); // Rüstung
addImage("matthias.jpg"); // Matthias
addImage("stange-schultern-2.jpg"); // Stangen
addImage("jutta.jpg"); // Jutta
addImage("guten-morgen.jpg"); // Matthias
addImage("freddy-stange.jpg"); // Freddy
addImage("schriftrolle.jpg"); // Matthias
addImage("stange-heben-2.jpg"); // Stangen
addImage("stefan.jpg"); // Stefan
addImage("dolchkampf.jpg"); // Matthias, Wolfgang 
addImage("lagerleben.jpg"); // Sonja, Gloria, Christian, Margit
addImage("stange-seitlich.jpg"); // Stangen
addImage("hilfe.jpg"); // Jutta, Matthias
addImage("schlafen.jpg"); // Freddy
addImage("christian-stange.jpg"); // Christian, Matthias
addImage("auspeitschen.jpg"); // Matthias








	
	setOpac("head1t", 0);
	setOpac("head2t", 0);
	setOpac("head3t", 0);
	setOpac("head4t", 0);
	
	window.setTimeout("next()", 100);
/*
  window.setTimeout('blendHeader("head1", 1, 0)', 0);
  window.setTimeout('blendHeader("head2", 1, 1)', 3333);
  window.setTimeout('blendHeader("head3", 1, 2)', 6666);
  window.setTimeout('blendHeader("head4", 1, 3)', 10000);
*/
}
