// JavaScript Document

var start=true; //used for run time the application is ran
var timeOut=2000; //used to hold the time lapse for the timer function
var fadeSpeed=10; //delay value to use for fade timer
var numFrames=50; //total times to iterate through the fade function
var timer; //variable to be used for the setTimeout call
var FRONT=0; //constant variable for front image
var BACK=1; //constant variable for back image
var imageToggle=FRONT; //used to toggle between front and back image for fading purposes
var frontImage;
var backImage;
var frontLink;
var backLink;
var images; //array
var links; //array
var currentSlide=0; //current slide to fade in

function startSlideShow()
{
	images=new Array();
	images[0]="images/topo_destaque_1.jpg";
	images[1]="images/topo_destaque_2.jpg";
	images[2]="images/topo_destaque_3.jpg";
	images[3]="images/topo_destaque_4.jpg";
	images[4]="images/topo_destaque_5.jpg";
	images[5]="images/topo_destaque_6.jpg"
	
	links=new Array();
	links[0]="";
	links[1]="";
	links[2]="";
	links[3]="";
	links[4]="";
	links[5]="";
	
	frontImage=document.getElementById("frontImage");
	backImage=document.getElementById("backImage");
	
	frontLink=document.getElementById("frontLink");
	backLink=document.getElementById("backLink");
	imageRotator();
}

/************************************************************
	randomImageGenerator()
		- helper function that generates a cateory and image number
	Preconditions:
		- Make sure to have a number>0 as a random category
		- make sure to have a number-1 as a random number within category
	Postconditions:
		- create a random number within the categories available
		- within that category, create a number within that particular category
		- When both gotten, run randomImage(randCat, randNum)
************************************************************/ 
function imageRotator()
{
	if (imageToggle==BACK)
	{
		frontImage.src=images[currentSlide];
		frontLink.href=links[currentSlide];
		frontLink.style.display="inline";
		imageToggle=FRONT;
	}
	else
	{
		backImage.src=images[currentSlide];
		backLink.href=links[currentSlide];
		backLink.style.display="inline";
		imageToggle=BACK;
	}
	if (currentSlide>=(images.length-1))
		currentSlide=0;
	else
  		currentSlide++;
}

/************************************************************
	faceImage(i, direction)
  		- fade an image in and out
  	Parameters:
  		- i
    		- amount of frames to fade an image
			- starts at 20 and decrements for fade out
			- starts at 0 and increments for face in
  	Preconditions:
  		- Assuming that browser is only IE, Mozilla, or Netscape
    	- 0<i<(determined amount of frames)
  	Postconditions:
  		- if started fadeOutImage loop
			- fade out image i-- at a time until i=0
			- if i==0, call randomImgeGenerator()
		- if started fadeInImage loop
			- fade in image i++ at a time until i=20
			- if i==20, put a 3	zsec delay, then call fadeOutImage
************************************************************/
function fadeImage(i)
{
	var delay;
	
	if (start==true)
	{
		start=false;
		i=numFrames;
	}
	if (imageToggle==BACK)
	{
		if (navigator.appName=="Microsoft Internet Explorer")
		{
			frontImage.style.filter="alpha(opacity="+((numFrames-i)/numFrames)*100+")";
			backImage.style.filter="alpha(opacity="+(i/numFrames)*100+")";
		}
		if (navigator.appName=="Netscape")
		{
			frontImage.style.MozOpacity=((numFrames-i)/(numFrames+.001));
			backImage.style.MozOpacity=i/(numFrames+.001);
		}
	}
	else
	{
		if (navigator.appName=="Microsoft Internet Explorer")
		{
			frontImage.style.filter="alpha(opacity="+(i/numFrames)*100+")";
			backImage.style.filter="alpha(opacity="+((numFrames-i)/numFrames)*100+")";
		}
		if (navigator.appName=="Netscape")
		{
			frontImage.style.MozOpacity=i/(numFrames+.001);
			backImage.style.MozOpacity=((numFrames-i)/(numFrames+.001));
		}
	}
	if (i==numFrames)
	{
		if (imageToggle==BACK)
			frontLink.style.display="none";
		else
			backLink.style.display="none";
		delay=setTimeout("imageRotator();", timeOut);
	}
	else
		delay=setTimeout("fadeImage("+(i+1)+")", fadeSpeed);
}
