//FluidThinking JQuery Slide Show
//Copyright - 2008 - All Rights Reserved
(function($) {
	
$.fn.ftSlideShow = function (settings) {
	settings = $.extend({
		containerId: $(this).attr('id'),
		imageSrcs: new Array(),
		fadeInInterval: 500,
		rotateInterval: 5000,
		currentImage: 0,
		zIndexStart: 100,
		running: false
	}, settings);

	settings.firstImage = new Image(settings.width, settings.height);
	settings.firstImage.onload = function() { ftSlideShowRotate(settings); };
	settings.firstImage.src = settings.imageSrcs[0];
	settings.maxZIndex = settings.zIndexStart + settings.imageSrcs.length;
	//for faster safari and ie6 load include this image in the inline html doc
	if(!$('#'+settings.containerId +' .ftImage').length >= 1)
		$(this).html('<img class = \"ftImage activeImage ft0\" style = \"z-index:'+settings.maxZIndex+'\" src = "'+settings.firstImage.src+'" />');
	if(settings.imageSrcs.length > 1) {
		for(var i = 1; i < settings.imageSrcs.length; i++) {
			$(this).prepend('<img class = \"ftImage ftNotActive ft'+ i +'\" style = \"z-index:'+(settings.maxZIndex-i)+'\" src = "'+settings.imageSrcs[i]+'" />');
		}
	}
};

function ftSlideShowRotate(settings) {
	if(settings.running) {
		var tempNextImage = settings.currentImage + 1;
		if(tempNextImage >= settings.imageSrcs.length)
			tempNextImage = 0;
		var nextLoaded = false;
		$.each($('#'+settings.containerId+' .ft'+tempNextImage), function() {
			if(this.complete)
				nextLoaded = true;
		});
		if(nextLoaded) {
			$('#'+settings.containerId+' .ftImage').css('opacity', 1).css('display', 'block');
			settings.previousImage = settings.currentImage;
			settings.currentImage = tempNextImage;
			$('#'+settings.containerId +'  .activeImage').animate({
				opacity: .1
			}, settings.fadeInInterval, 'linear', function() {
				$('#'+settings.containerId +' .activeImage').css('z-index', (settings.maxZIndex - settings.imageSrcs.length));
				$('#'+settings.containerId +' .activeImage').removeClass('activeImage');
				$('#'+settings.containerId+' .ft'+settings.currentImage).addClass('activeImage');
				$('#'+settings.containerId+' .activeImage').css('z-index', settings.maxZIndex);
				var currentZIndex = 0;
				for(i = 0; i < settings.imageSrcs.length; i++) {
					if(i != settings.previousImage && i != settings.currentImage) {
						currentZIndex = parseInt($('#'+settings.containerId+' .ft'+i).css('z-index')) + 1;
						$('#'+settings.containerId+' .ft'+i).css('z-index', currentZIndex);
					}
				}
				settings.interval = setTimeout(function() {ftSlideShowRotate(settings);}, settings.rotateInterval);
			});
		} else
			settings.interval = setTimeout(function() {ftSlideShowRotate(settings);}, settings.rotateInterval);//*/
	} else {
		$('#'+settings.containerId+' .ftNotActive').removeClass('ftNotActive');
		settings.running = true;
		settings.interval = setTimeout(function() {ftSlideShowRotate(settings);}, settings.rotateInterval);
	}
}

})(jQuery)

