// ============================================
// Splash Fade
//    image rotator for homepage
//    author: John Norton
//    date: 4/1/09
//    version: 0.1
// ============================================
(function($){
	$.fn.SplashFade = function(options){
		var settings = jQuery.extend({
				base:			 '.imageRotator',
				tagToRotate:	 'img',
				fadeTime:		 3000,
				waitTime:		 3000,
				waitToStart:     4000,
				finalObject:	 '.rotatorText',
				finalObjectTag:  'div',
				showFinalObject: true,
				replayClass:     '.replay',
				replayEvent:     'click'
		},options||{});
		
		$(document).ready(function(){
			$(settings.base+' '+settings.tagToRotate+', '+settings.base+' '+settings.finalObject).css('display', 'none');
			//$(settings.base+' '+settings.finalObject+' a '+settings.tagToRotate).css('display', 'inherit');
			$(settings.base+' '+settings.tagToRotate+':first').css('display','block');
			$(settings.base).fadeTo(settings.waitToStart, 1, $.fn.SplashFade.startFade);
			$(settings.replayClass).bind(settings.replayEvent, function(){$(settings.base+' '+settings.tagToRotate).stop();return $.fn.SplashFade.handleReset();});
		});
		
		$.fn.SplashFade.handleReset = function()
		{
			$(settings.base+' '+settings.tagToRotate+', '+settings.base+' '+settings.finalObject).css('opacity', '1');
			$(settings.base+' '+settings.tagToRotate+', '+settings.base+' '+settings.finalObject).css('display', 'none');
			//$(settings.base+' '+settings.finalObject+' a '+settings.tagToRotate).css('display', 'inherit');
			$(settings.base+' '+settings.tagToRotate+':first').css('display','block');
			$(settings.base).fadeTo(settings.waitToStart, 1, $.fn.SplashFade.startFade);
		}
		
		$.fn.SplashFade.startFade = function()
		{
			$(settings.base+' '+settings.tagToRotate+', '+settings.base+' '+settings.finalObject).css('display', 'none');
			//$(settings.base+' '+settings.finalObject+' a '+settings.tagToRotate).css('display', 'inherit');
			$(settings.base+' '+settings.tagToRotate+':first').css('display','block');
			$(settings.base+' '+settings.tagToRotate+':first').fadeOut(settings.fadeTime);
			$(settings.base+' '+settings.tagToRotate+':nth-child(2)').fadeIn(settings.fadeTime, $.fn.SplashFade.fadeDone);
		}
		
		$.fn.SplashFade.fadeDone = function()
		{
			$(this).fadeTo(settings.waitTime, 1, $.fn.SplashFade.waitDone);
		}
		
		$.fn.SplashFade.waitDone = function()
		{
			if($(this).next().is(settings.finalObject) && settings.showFinalObject)
			{
				$(this).next().fadeIn(settings.fadeTime, $.fn.SplashFade.fadeCleanDone);
			}
			else
			{
				$(this).fadeOut(settings.fadeTime);
				$(this).next(settings.tagToRotate).fadeIn(settings.fadeTime, $.fn.SplashFade.fadeDone);
			}
		}
		
		$.fn.SplashFade.fadeCleanDone = function()
		{
			$(this).css('opacity', '0');
			$(this).css('opacity', '1');
		}
	}
})(jQuery);