/*
/* Slide show code */

function startSlideShow()
{
	slideboxFader = new Fader(document.getElementById("picbox"), document.getElementById("slidebox"), slides);	
}

function Fader(element1, element2, aSlides)
{
	this.element1 = element1;
	this.element2 = element2;
    this.nSlide = -1;
	this.opacity = 1.0;
	this.aSlides = aSlides;
	this.delay = 2000;
	this.steps = 80;

	this.preload = function()
	{
		for(nSlide=0; nSlide < this.aSlides.length; nSlide++)
		{
			plImg = new Image();
		 	plImg.src = this.aSlides[nSlide];
		}
	}

	this.fadeOut = function()
	{
	 	setTimeout(this.element2.id + 'Fader.fadeTo(0,' + this.delay + ',' + this.steps + ',"' + this.element2.id + 'Fader.nextSlide()")', 0);
	}

	this.fadeTo = function(nTargetOpacity,nDuration,nSteps,onComplete)
	{
	 	/*
		if(this.element2.style.opacity)
			this.opacity = this.element2.style.opacity;
		*/
		this.fadeTo.target = nTargetOpacity;
		this.fadeTo.nSteps = nSteps;
		this.fadeTo.oDelta = nSteps > 0 ? (this.opacity - nTargetOpacity)/nSteps : 0;
		this.fadeTo.tDelta = nSteps > 0 ? nDuration/nSteps : 0;
		this.onComplete = onComplete;
			
		if(this.fadeTo.oDelta != 0)
			this.doFade();
		else
		{
		 	setTimeout(onComplete, 0);
		}
	
	}

	this.doFade = function()
	{
		var newOpacity = Math.max(0, Math.min(this.opacity - this.fadeTo.oDelta, 1));
		this.element2.style.opacity = this.opacity = newOpacity;	
		this.element2.style.filter = "alpha(opacity:" + newOpacity * 100 + ")";
		
		this.fadeTo.nSteps--;
		if(this.fadeTo.nSteps > 0)
		{
		 	this.nPos++;
		 	if(this.fadeTo.target == 0)
		 		this.nHeight -= 5;
		 	else
		 		this.nHeight += 5;
		 	
		 	setTimeout(this.element2.id + 'Fader.doFade()', this.fadeTo.tDelta);
		}
		else
		{
		 	setTimeout(this.onComplete, this.delay);
		}
	}

	this.nextSlide = function()
	{
		this.nSlide++;
		if(this.nSlide >= this.aSlides.length)
			this.nSlide=0;

		this.element2.style.backgroundImage = "url('" + this.aSlides[this.nSlide] + "')";

		this.fadeTo(.9, this.delay, this.steps, this.element2.id + 'Fader.nextPic()');
	}

	this.nextPic = function()
	{
		this.nSlide++;
		if(this.nSlide >= this.aSlides.length)
			this.nSlide=0;

		this.element1.style.backgroundImage = "url('" + this.aSlides[this.nSlide] + "')";

		this.fadeTo(0, this.delay, this.steps, this.element2.id + 'Fader.nextSlide()');
	}

	this.preload();
	setTimeout(this.element2.id + 'Fader.fadeOut()',this.delay);
}



