/*
 * jQuery fadeList v0.01
 * Date:20090727
 *
 * Copyright (c) 2009 hirorock
 *
 * usege:$("ul li").fadeList({loop:"false",outTime:"4000","5000"});
 */
;(function() {  
	jQuery.fn.fadeList = function(config){
		config = jQuery.extend({
				loop: "true", // efects action. "true" or "flase"
				outTime : "2000", // output time.
				fadeTime: "3000" // fede out time.
			},config);
		var target = this;
		var list_size = (target.size() - 1);
		var i = 0;

		function targetCheck(){
			if(list_size <= i){
				if(config.loop == "false") return false;
				targetFadeIn();
			}else{
				targetFadeOut();
			}
		}	
		function targetFadeOut(){	
			setTimeout(function(){
				target.eq((list_size-i)).fadeOut(config.fadeTime,function(){
					i++;
					targetCheck();
				});
			},config.outTime);
		}
		function targetFadeIn(){
			setTimeout(function(){
				target.fadeIn(config.fadeTime);
				targetFadeOut();
			},config.outTime);
			i = 0;
		}
		if(1 <= list_size) targetFadeOut();
	};
})(jQuery);
