/**
 * NXH Slider
 * Developped By: Huy Nguyen
 */

(function($){
    var _options = {slide_interval: 4000};
    var _me = null;
    var _slide_list = null;
    $.fn.nxhSlider = function(opts) {
        $.extend(_options, opts);
        _me = this;
        _slide_list = this.find(".slide");
        
        _init(_slide_list);
    };
    
    function _init(list){
        var first_slide = $(_slide_list[0]);
        
        //show first slide
        first_slide.fadeIn(500, function(){
            first_slide.addClass("active");
            var caption = first_slide.find('.caption')[0];
            if(caption)
            $(caption).slideDown();
            
            //set interval for showing slide continuously
            setInterval(_change_slide, _options.slide_interval);
        });
    }
    
    function _change_slide(){
        var c_slide = $(_me.find('.active'));
        var n_slide = $(c_slide.next()[0] || _slide_list.get(0));
        n_slide.addClass("next");
        
        var caption = c_slide.find('.caption')[0];
        if(caption)
        {
            $(caption).slideUp(500, function(){
                _show_slide(c_slide, n_slide);
            });
        }
        else{
            _show_slide(c_slide, n_slide);
        }
    }
    
    function _show_slide(c_slide, n_slide){
        n_slide.show();
        c_slide.fadeOut(500, function(){
            c_slide.removeClass("active");
            n_slide.addClass("active");
            var caption = $(n_slide.find('.caption'));
            caption.slideDown();
        });
    }
})(jQuery);