/*
 * jQuery shuffle
 *
 * Copyright (c) 2008 Ca-Phun Ung <caphun at yelotofu dot com>
 * Dual licensed under the MIT (MIT-LICENSE.txt)
 * and GPL (GPL-LICENSE.txt) licenses.
 *
 * http://yelotofu.com/labs/jquery/snippets/shuffle/
 *
 * Shuffles an array or the children of a element container.
 * This uses the Fisher-Yates shuffle algorithm <http://jsfromhell.com/array/shuffle [v1.0]>
 */
 
(function($){

	$.fn.shuffle = function() {
		return this.each(function(){
			var items = $(this).children().clone(true);
			return (items.length) ? $(this).html($.shuffle(items)) : this;
		});
	}
	
	$.shuffle = function(arr) {
		for(var j, x, i = arr.length; i; j = parseInt(Math.random() * i), x = arr[--i], arr[i] = arr[j], arr[j] = x);
		return arr;
	}
	
})(jQuery);

/**ROTATOR*/


function theRotator() {

	//Set the opacity of all images to 0

	$('div#rotator ul li').css({opacity: 0.0});

	

	//Get the first image and display it (gets set to full opacity)

	$('div#rotator ul li:first').css({opacity: 1.0});

		

	//Call the rotator function to run the slideshow, 6000 = change to next image after 6 seconds

	setInterval('rotate()',4000);

	

}



function rotate() {	

	//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 = ((current.next().length) ? ((current.next().hasClass('show')) ? $('div#rotator ul li:first') :current.next()) : $('div#rotator ul li:first'));	

	

	//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');

	

};



$(document).ready(function() {		

	//Shuffle the List

	$('ul.repflash').shuffle();

	

	//Load the slideshow

	theRotator();

});

