
var TimeToFade = 500.0;
var currentDiv = 1;
var slideshowId = setInterval("showNext()", 2000 );

function showNext()
{
	hide( "Q"+currentDiv );
	resetFade( "Q"+currentDiv, false );
	currentDiv++;
	if( currentDiv > 5 ) currentDiv=1;
	show( "Q"+currentDiv );
	fade( "Q"+currentDiv );
}

                            function resetFade(eid,visible)
                            {
                              var element = document.getElementById(eid);
                              if(element == null) return;

                              if( visible )
                              {
                                  element.style.opacity = 100;
                                  element.style.filter = 'alpha(opacity=100)';
                                  element.FadeState = 2;
                              }
                              else
                              {
                                  element.style.opacity = 0;
                                  element.style.filter = 'alpha(opacity=0)';
                                  element.FadeState = -2;
                              }
                            }

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);
}

function show( targetDiv )
{
    var theDiv = document.getElementById( targetDiv );
    if( theDiv ){ theDiv.style.display=""; theDiv.style.visibility="visible"; }
}

function hide( targetDiv )
{
    var theDiv = document.getElementById( targetDiv );
    if( theDiv ){ theDiv.style.display="none"; theDiv.style.visibility="hidden"; }
}

