/*
 file: jquery.Fader.js
 file usage: Featured Section fade slider
 Author: Speed730
 Author URI: http://themeforest.net/user/Speed730
 */
(function($){
    $.fn.fader = function(options){
        var defaults = {
            slider: '>div',
            easing: 'easeOutExpo',
            rotation_time: 2500,
            rotationSpeed: 3, // duration between autorotation switch in Seconds
            autoFade: true,
            fadeSpeed: 1500
        }, settings = $.extend({}, defaults, options);
        
        var Container = this, slider = $(this).find(settings.slider), slider_count = $(slider).length,
		control_container = $('body').find('.control_btn'),
		control = 'null',
		intervals = '';
        
        for (var i = 0; i < slider_count; i++) {
            $(control_container).append($('<li><a href="#"></a></li>'));
        }
		
		$(control_container).css(
		{
			left : (940 - control_container.width())/2 + "px"  			
		});
		
        var buttons = control_container.find("li a");
        var first_button = $(buttons[0]).addClass('current_btn');
        var current_slide = $(slider[0]).css({
            zIndex: slider_count + 1
        }).addClass('currentShow');
        var other_slide = slider.not(slider[0]).css({
            opacity: 0.0
        });
        
        intervals = setInterval(function(){
            fadding();
        }, (parseInt(settings.rotationSpeed) * settings.rotation_time));
        
        
        function fadding(){
            var current_slide = $(Container).find('.currentShow').css({
                zIndex: slider_count
            });
            var next_slide = current_slide.next();
            
            if (next_slide.length == 0) {
                next_slide = $(slider[0]);
            }
            
            $(current_slide).css({
                zIndex: slider_count
            }).stop().animate({
                opacity: 0
            }, settings.fadeSpeed, settings.easing, function(){
                var prev_Index = ($(current_slide).index());
                var currt_Index = ($(next_slide).index());
                
                $(buttons[prev_Index]).removeClass('current_btn');
                $(buttons[currt_Index]).addClass('current_btn');
            });
            
            current_slide.removeClass('currentShow');
            
            next_slide.addClass('currentShow').css({
                zIndex: slider_count + 1
            }).stop().animate({
                opacity: 1
            }, settings.fadeSpeed, settings.easing);
        }
        
        $(control_container).find("li").click(function(){
        
            var current_btn = $(this).find('a').addClass('current_btn');
            var btn_Index = ($(current_btn).index());
            var current_Index = ($(this).index());
            var other_btns = $(control_container).find('li a').not(current_btn[btn_Index]).removeClass('current_btn');
            
            $(slider[current_Index]).css({
                zIndex: slider_count + 1
            }).stop().animate({
                opacity: 1
            }, settings.fadeSpeed, settings.easing);
            
            $(slider).not(slider[current_Index]).css({
                zIndex: slider_count
            }).stop().animate({
                opacity: 0.0
            }, settings.fadeSpeed, settings.easing);
            
            return false;
        });
        
        $(control_container).hover(function(){
            clearInterval(intervals);
            
        }, function(){
            intervals = setInterval(function(){
                fadding();
            }, (parseInt(settings.rotationSpeed) * settings.rotation_time));
        });
        return this;
    }
})(jQuery);

