

var Slide = 
{
	imageCnt : 0, 
	s3SlideCache : [],
	numImages : 0, 
	divobj : null,
	
	Start : function(elId)
	{
		Slide.divobj = document.getElementById(elId);
		
		if (Slide.divobj!=null)
		{
			Slide.CacheImages();
			if (Slide.numImages>1){
				setTimeout("Slide.Fade()", Globals.TimeToRotate);
			}
		}
		else
		{
			//alert('Could not initialise Slide object!');
		}
	},  
	
	CacheImages : function()
	{ 
		for(var i=0; i < Globals.s3SlideImages.length; i++)
		{
			Slide.s3SlideCache[i] = new Image;
			Slide.s3SlideCache[i].src = Globals.s3SlideImages[i][1];
		}
		
		Slide.numImages = Slide.s3SlideCache.length
	},

	CyclePc : function()
	{
		Slide.imageCnt++;
		if (Slide.imageCnt == Slide.numImages){
			Slide.imageCnt = 0;
		}
		
		document.getElementById('isliderot').src = Slide.s3SlideCache[Slide.imageCnt].src;
		document.getElementById('slidelink').title = 'View complete profile for '+Globals.s3SlideImages[Slide.imageCnt][0];
		document.getElementById('slidelink').href = Globals.s3SlideImages[Slide.imageCnt][2];
		
		Slide.Fade();
	}, 

	Fade : function()
	{
		if(Slide.divobj.FadeState == null)
		{
			if(Slide.divobj.style.opacity == null || Slide.divobj.style.opacity == '' || Slide.divobj.style.opacity == '100'  || Slide.divobj.style.opacity == 100)
			{
				Slide.divobj.FadeState = 2;
			}
			else
			{
				Slide.divobj.FadeState = -2;
			}
		}
		
		if(Slide.divobj.FadeState == 1 || Slide.divobj.FadeState == -1)
		{
			Slide.divobj.FadeState = divobj.FadeState == 1 ? -1 : 1;
			Slide.divobj.FadeTimeLeft = Globals.TimeToFade - Slide.divobj.FadeTimeLeft;
		}
		else
		{
			Slide.divobj.FadeState = Slide.divobj.FadeState == 2 ? -1 : 1;
			Slide.divobj.FadeTimeLeft = Globals.TimeToFade;
			setTimeout("Slide.AnimateFade(" + new Date().getTime() + ")", 33);
		} 
	}, 
	
	AnimateFade : function(lastTick)
	{ 
		var curTick = new Date().getTime();
		var elapsedTicks = curTick - lastTick;
	 
		if(Slide.divobj.FadeTimeLeft <= elapsedTicks)
		{
			Slide.divobj.style.opacity = Slide.divobj.FadeState == 1 ? '1' : '0';
			Slide.divobj.style.filter = 'alpha(opacity = ' + (Slide.divobj.FadeState == 1 ? '100' : '0') + ')';
			Slide.divobj.style.MozOpacity = Slide.divobj.FadeState == 1 ? '1' : '0';
			Slide.divobj.style.KhtmlOpacity = Slide.divobj.FadeState == 1 ? '1' : '0';
			Slide.divobj.FadeState = Slide.divobj.FadeState == 1 ? 2 : -2;
			if (Slide.divobj.FadeState==-2){
				setTimeout("Slide.CyclePc()", Globals.TimeToPause);
			}
			else if (Slide.divobj.FadeState==2){
				setTimeout("Slide.Fade()", Globals.TimeToRotate);
			}
			return;
		}
	 
		Slide.divobj.FadeTimeLeft -= elapsedTicks;
		var newOpVal = Slide.divobj.FadeTimeLeft/Globals.TimeToFade;
		if(Slide.divobj.FadeState == 1){
			newOpVal = 1 - newOpVal;
		}
		
		Slide.divobj.style.opacity = newOpVal;
		Slide.divobj.style.filter = 'alpha(opacity = ' + (newOpVal*100) + ')';
		Slide.divobj.style.MozOpacity = newOpVal;
		Slide.divobj.style.KhtmlOpacity = newOpVal;
		
		setTimeout("Slide.AnimateFade(" + curTick + ")", 33);
	}
};