/**
 * @author Bruno Assarisse
 * v. 1.0
 */

var is_simplefading = false;

(function($) {
	// jQuery plugin definition
	$.fn.simplefade = function(params) {
		if (is_simplefading) return;
		is_simplefading = true;
		
		// merge default and user parameters
		params = $.extend( {time: 4000}, params);
        
        $(this).each( function () {
	
			var active = $(this).find('img.active');
		
			if (active.length == 0) active = $(this).find('img:last');
		
			var next = active.next().length ? active.next() : $(this).find('img:first');
		
			active.addClass('last-active');
			
			var numbers = $('#' + $(this).attr('id') + '_numbers');
			numbers.find('a').removeClass('current');
			numbers.find('a').eq(next.index()).addClass('current');
		
			next.css({opacity: 0.0})
				.addClass('active')
				.animate({opacity: 1.0}, 1000, function() {
					active.removeClass('active last-active');
					is_simplefading = false;
				});
            
        });
        
		// allow jQuery chaining
		return this;
	};
	$.fn.simplefadeToPage = function(page) {
		if (is_simplefading) return;
		is_simplefading = true;
		
		clearInterval(timerId);
		
		page = parseInt(page, 10);
        
        $(this).each( function () {
	
			var active = $(this).find('img.active');
		
			if (active.length == 0) active = $(this).find('img:last');
		
			var next = $(this).find('img').eq(page);
		
			active.addClass('last-active');
			
			var numbers = $('#' + $(this).attr('id') + '_numbers');
			numbers.find('a').removeClass('current');
			numbers.find('a').eq(page).addClass('current');
		
			next.css({opacity: 0.0})
				.addClass('active')
				.animate({opacity: 1.0}, 500, function() {
					active.removeClass('active last-active');
					is_simplefading = false;
					setSwitchInterval();
				});
            
        });
        
		// allow jQuery chaining
		return this;
	};
})(jQuery);
