var TimeToFade = 2000.0;
var ManualTimeToFade = 200.0;
var TimePerSlide = 32000.0;
var pause=false;
var dimages=new Array();
var numImages=8;
var curImage=7;
var i=0;
for (; i<numImages; i++) {
  dimages[i]=new Image();
  dimages[i].src="pictures/slide/image"+(i+1)+".jpg";
}

function toggleSlidePause() {
	var disp= document.getElementById('playpause');
	if (pause==true) {
		pause = false;
		disp.innerHTML = 'pause';
	} else {
		pause = true;
		disp.innerHTML = 'play';
	}
}


function startSlide(_cur,_next) {
	if (pause==false && dimages[0].complete) {
		var nextImage=(curImage+1) % numImages;
		slideTo(_cur,_next,nextImage, TimeToFade);
	}
	setTimeout("startSlide('"+_cur+"','"+_next+"')", TimePerSlide);	
}

function prevSlide(_cur, _next) {
	var prevImage=(curImage-1);
	if (prevImage <0) prevImage = numImages -1;
	slideTo(_cur,_next,prevImage, ManualTimeToFade);
}


function nextSlide(_cur, _next) {
	var nextImage=(curImage+1) % numImages;
	slideTo(_cur,_next,nextImage, ManualTimeToFade);
}

function slideTo(_cur,_next, nextImage, speed) {
	var next= document.getElementById(_next);
	var cur= document.getElementById(_cur);
	if (next == null || cur == null) {
		return;
	}
	if (dimages[nextImage] && dimages[nextImage].complete) {
		cur.style.backgroundImage = next.style.backgroundImage;
		cur.FadeState = 2;
		cur.style.opacity = '1';
		cur.style.filter = 'alpha(opacity = 1)';

		next.style.backgroundImage = "url("+dimages[nextImage].src + ")";		
		cur.FadeState = cur.FadeState == 1;
		cur.FadeTimeLeft = speed;
		setTimeout("animateSlideFade(" + new Date().getTime() + ",'" + _cur + "','" + speed + "')", 33);
		curImage = nextImage;
	}
}


function animateSlideFade(lastTick, eid, speed)
{  
  var curTick = new Date().getTime();
  var elapsedTicks = curTick - lastTick;
 
  var element = document.getElementById(eid);
 
  if(element.FadeTimeLeft <= elapsedTicks) {
	element.style.opacity = '0';
	element.style.filter = 'alpha(opacity = 0)';

    return;
  }
 
  element.FadeTimeLeft -= elapsedTicks;
  var newOpVal = element.FadeTimeLeft/speed;
  if(element.FadeState == 1)
    newOpVal = 1 - newOpVal;

  element.style.opacity = newOpVal;
  element.style.filter = 'alpha(opacity = ' + (newOpVal*100) + ')';
 
  setTimeout("animateSlideFade(" + curTick + ",'" + eid + "','"+speed +"')", 33);
}



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 animateFade(lastTick, eid)
{  
  var curTick = new Date().getTime();
  var elapsedTicks = curTick - lastTick;
 
  var element = document.getElementById(eid);
 
  if(element.FadeTimeLeft <= elapsedTicks)
  {
    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) + ')';
 
  setTimeout("animateFade(" + curTick + ",'" + eid + "')", 33);
}



/*
var  TimeToFade = 1000.0;

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  animateFade(lastTick, eid)
{  
  var curTick = new Date().getTime();
  var elapsedTicks = curTick - lastTick;
 
  var element = document.getElementById(eid);
 
  if(element.FadeTimeLeft <= elapsedTicks)
  {
    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) + ')';
 
  setTimeout("animateFade(" + curTick + ",'" + eid + "')", 33);
}
*/


