<!-- By Dylan Wagstaff, http://www.alohatechsupport.net -->
var intervalId
var timeoutId
var imageSetCounter = -1
function theRotator() {
	//Set the opacity of all images to 0
	$('div#rotator ul li').css({opacity: 0.0});
	
    if ( (Math.floor ( Math.random ( ) * 153 ) % 2) == 1)
        imageSetCounter = Math.floor($('div#rotator ul li').size() / 2);
    else
        imageSetCounter = 0;
        
	//Get the first image and display it (gets set to full opacity)
	$('div#rotator ul  li:eq(' + imageSetCounter + ')').css({opacity: 1.0});
	$('div#rotator ul  li:eq(' + imageSetCounter + ')').addClass('show');
	startRotate();
	
}

function startRotate()
{

//Call the rotator function to run the slideshow, 6000 = change to next image after 6 seconds
	intervalId = setInterval('rotate()',3000);

}

function rotate() {	
         
    var listCount = Math.floor($('div#rotator ul li').size() / 2);
    
    if (imageSetCounter == 0)
	{
	    //Get the first image
	    var current = ($('div#rotator ul li.show')?  $('div#rotator ul li.show') : $('div#rotator ul li:first'));

        //Get next image, when it reaches the end, rotate it back to the first image
	    var next = (($('div#rotator ul li').index(current) + 1 < listCount) ? ((current.next().hasClass('show')) ? $('div#rotator ul li:first') :current.next()) : $('div#rotator ul li:first'));	

	}
	else
	{
        //Get the first image
	    var current = ($('div#rotator ul li.show')?  $('div#rotator ul li.show') : $('div#rotator ul  li:eq(' + imageSetCounter + ')'));
        
        //Get next image, when it reaches the end, rotate it back to the first image
	    var next = ((current.next().length) ? ((current.next().hasClass('show')) ? $('div#rotator ul  li:eq(' + imageSetCounter + ')') :current.next()) : $('div#rotator ul  li:eq(' + imageSetCounter + ')'));	
	}
	
	//Set the fade in effect for the next image, the show class has higher z-index
	next.css({opacity: 0.0})
	.addClass('show')
	.animate({opacity: 1.0}, 1000);

	//Hide the current image
	current.animate({opacity: 0.0}, 1000)
	.removeClass('show');
	
};

function setImage(imgIndex) {	
    clearInterval(intervalId);
    clearTimeout(timeoutId);
    
    imgIndex += imageSetCounter;
    
    //Get the first image
    if (imageSetCounter == 0)
	    var current = ($('div#rotator ul li.show')?  $('div#rotator ul li.show') : $('div#rotator ul li:first'));
    else
        var current =  ($('div#rotator ul li.show')?  $('div#rotator ul li.show') : $('div#rotator ul  li:eq(' + imageSetCounter + ')'));
        
	//Get image
	var next =  $('div#rotator ul li:eq(' + imgIndex + ')');	
	
	//Set the fade in effect for the next image, the show class has higher z-index
	next.css({opacity: 0.0})
	.addClass('show')
	.animate({opacity: 1.0}, 1000);

	//Hide the current image
	current.animate({opacity: 0.0}, 1000)
	.removeClass('show');
	timeoutId = setTimeout('startRotate()',3000);
};

$(document).ready(function() {		
	//Load the slideshow
	theRotator();
});
