
var ImageFolder = "Images"; //Folder name containing the images
if (ImageFolder.substr(ImageFolder.length - 1, ImageFolder.length) != "/" && ImageFolder != "") 
{ImageFolder += "/";} //appends a '/' character if it is missing
var ImageFileNames = ['rotateImage1.png','rotateImage2.png','rotateImage3.png'] //An array containing all the file names of the image used in the rotator
var QuoteFileNames = ['Home_QuotesTopRight_01.jpg','Home_QuotesTopRight_02.jpg','Home_QuotesTopRight_03.jpg','Home_QuotesTopRight_04.jpg','Home_QuotesTopRight_05.jpg','Home_QuotesTopRight_06.jpg','Home_QuotesTopRight_07.jpg']  //Array of image names for the random home page quote
var ImageFileOn = 'activeCircle.png'; //Image used to indicate current file in the rotator sequence
var ImageFileOff = 'inactiveCircle.png'; //Image used to indicate file in the rotator sequence that is not currently displayed
var ImageFilePlay = 'play.png'; //Image used as the play icon
var ImageFilePause = 'pause.png'; //Image used as the pause icon

var DisplayInterval = 5; //Number of seconds to wait before the next image is displayed
var rotatorImage = "rotatorAd"; //The ID of the image HTML element used in the rotator
var rotatorDiv = "blenddiv"; //The ID of the div surrounding the rotator image HTML element (used for the fade in/out effect)
var rotatorButtonDiv = "rotateImageButtons"; //The ID of the div used to hold the sequence buttons for the rotator.

var IsValidBrowser = false;                                     //Used to test whether or not the browser is valid
var NumberOfImages = ImageFileNames.length;         //Number of images in the ImageFileNames array
var BannerAdCode = 0;                                         //Used to track the currenly displayed image
var BannerAdImages = new Array(NumberOfImages);  //An array of image locations
var ImageButtons = new Array(NumberOfImages);     //An array of images for each image in the BannerAdImages array (used for indicator buttons) 
var DisplayInterval = DisplayInterval * 1000;             //Display interval in miliseconds.
var IsPaused = false                                             //Used to indicate whether or not the ad rotation is paused

function InitialiseBannerAdRotator() 
{

    RandomQuoteHome();

    //Determine the browser name and version
    //The script will only work on Netscape 3+ and Internet Explorer 4+
    var BrowserType = navigator.appName;
    var BrowserVersion = parseInt(navigator.appVersion);

    if (BrowserType == "Netscape" && (BrowserVersion >= 3)) 
    {
        IsValidBrowser = true;
    }

    if (BrowserType == "Microsoft Internet Explorer" && (BrowserVersion >= 4)) 
    {
        IsValidBrowser = true;
    }

    if (IsValidBrowser) 
    {
        TimerObject = setTimeout("ChangeImage()", DisplayInterval);
        BannerAdCode = 0;
        //var parentButtonDiv = document.getElementById(rotatorButtonDiv);
        
        for (i = 0; i < NumberOfImages; i++) 
        {
            
            BannerAdImages[i] = new Image();
            BannerAdImages[i].src = ' ' + ImageFolder + ImageFileNames[i];
            ImageButtons[i] = new Image();
            if( i == 0 )
            {
                ImageButtons[i].src = ' ' + ImageFolder + ImageFileOn;
            }
            else
            {
                ImageButtons[i].src = ' ' + ImageFolder + ImageFileOff;
            }
            
            var tempNum = i;
            tempNum = tempNum+1;
            
            //var htmlText = '<img src="' + ImageButtons[i].src + '" id="' + i + 'button" alt="Image '+tempNum+'" onclick="SelectImage('+i+')" onmouseover="PauseRotation();"/> &nbsp; ';
           // parentButtonDiv.innerHTML += htmlText;
            
        }
               
        //parentButtonDiv.innerHTML += '&nbsp;&nbsp<img id="playPause" src="images/pause.png" onclick="PlayPauseChange();" alt="Pause" />';               
   
    }

}

//Function to change the src of the Banner Ad image
function ChangeImage() 
{

    if (IsValidBrowser) 
    {
        if(!IsPaused)
        {
                //var PreviousButton = "button";
                //var CurrentButton = "button";
                BannerAdCode = BannerAdCode + 1;

                if (BannerAdCode == NumberOfImages) 
                    {
                    BannerAdCode = 0;
                    }
                
                if(BannerAdCode == 0)
                {
                    var tempNum = NumberOfImages;
                    tempNum--;
                    //PreviousButton = tempNum + PreviousButton;
                }
                else
                {
                    var lastNum = BannerAdCode;
                    lastNum--;
                    //PreviousButton = lastNum + PreviousButton;
                }
                
                //CurrentButton = BannerAdCode + CurrentButton;   
                
               // document.getElementById(PreviousButton).src = ImageFolder + ImageFileOff;
                //document.getElementById(CurrentButton).src = ImageFolder + ImageFileOn;
                
                blendimage(rotatorDiv,rotatorImage,BannerAdImages[BannerAdCode].src,200);
                //window.document.rotatorAd.src = BannerAdImages[BannerAdCode].src;
                        
        }
        
        TimerObject = setTimeout("ChangeImage()", DisplayInterval); //We still have to reset the time otherwise it will just stop rotating
    }
}

function SelectImage(target)
{
    currentImageNum = BannerAdCode;
    //oldImageButton = BannerAdCode+'button';
    //currenImageButton = target + 'button';    
    BannerAdCode = target;    
    blendimage(rotatorDiv,rotatorImage,BannerAdImages[BannerAdCode].src,200);
    //document.getElementById(oldImageButton).src = ImageFolder + ImageFileOff;
   // document.getElementById(currenImageButton).src = ImageFolder + ImageFileOn;
}

function PlayPauseChange()
{    
    if(IsPaused)
    {
        ResumeRotation();
    }
    else
    {        
        PauseRotation();   
    }
}

function PauseRotation()
{
    //var playPauseControl = document.getElementById("playPause");
    //playPauseControl.src = ImageFolder + ImageFilePlay;
    //playPauseControl.alt = "Play";
    IsPaused = true;
}

function ResumeRotation()
{
    //var playPauseControl = document.getElementById("playPause");
    //playPauseControl.src = ImageFolder + ImageFilePause;
    //playPauseControl.alt = "Pause";
    IsPaused = false;
}

function opacity(id, opacStart, opacEnd, millisec) {
	//speed for each frame
	var speed = Math.round(millisec / 100);
	var timer = 0;

	//determine the direction for the blending, if start and end are the same nothing happens
	if(opacStart > opacEnd) {
		for(i = opacStart; i >= opacEnd; i--) {
			setTimeout("changeOpac(" + i + ",'" + id + "')",(timer * speed));
			timer++;
		}
	} else if(opacStart < opacEnd) {
		for(i = opacStart; i <= opacEnd; i++)
			{
			setTimeout("changeOpac(" + i + ",'" + id + "')",(timer * speed));
			timer++;
		}
	}
}

//change the opacity for different browsers
function changeOpac(opacity, id) {
	var object = document.getElementById(id).style; 
	object.opacity = (opacity / 100);
	object.MozOpacity = (opacity / 100);
	object.KhtmlOpacity = (opacity / 100);
	object.filter = "alpha(opacity=" + opacity + ")";
}

function shiftOpacity(id, millisec) {
	//if an element is invisible, make it visible, else make it ivisible
	if(document.getElementById(id).style.opacity == 0) {
		opacity(id, 0, 100, millisec);
	} else {
		opacity(id, 100, 0, millisec);
	}
}

function blendimage(divid, imageid, imagefile, millisec) {
	var speed = Math.round(millisec / 100);
	var timer = 0;
	
	//set the current image as background
	document.getElementById(divid).style.backgroundImage = "url(" + document.getElementById(imageid).src + ")";
	
	//make image transparent
	changeOpac(0, imageid);
	
	//make new image
	document.getElementById(imageid).src = imagefile;

	//fade in image
	for(i = 0; i <= 100; i++) {
		setTimeout("changeOpac(" + i + ",'" + imageid + "')",(timer * speed));
		timer++;
	}
}

function currentOpac(id, opacEnd, millisec) {
	//standard opacity is 100
	var currentOpac = 100;
	
	//if the element has an opacity set, get it
	if(document.getElementById(id).style.opacity < 100) {
		currentOpac = document.getElementById(id).style.opacity * 100;
	}

	//call for the function that changes the opacity
	opacity(id, currentOpac, opacEnd, millisec)
}
    
function RandomQuoteHome() {
    // replace the quote image on page load
    var RandomNumber=Math.floor(Math.random()*QuoteFileNames.length);
    //document.getElementById("RandomImg").src = QuoteFileNames[RandomNumber];
    document.getElementById("RandomImg").src = ' ' + ImageFolder + QuoteFileNames[RandomNumber];
}