/**
 * slide
 * 
 * @dependency jQuery.js
 * @dependency jQuery.ui.js
 * @dependency jQuery.timers.js
 */
;(function($) {

var i3 = (typeof i3 == 'undefined') ? {} : i3;

i3.slide = function(o) {
    var target = this;
    var def_options = {
        blocks: [],
        timer: 10,
        animate_time: 2,
        type: 2
    }
    var o = $.extend(def_options, o);
    var slide_len = o.blocks.length;
    
    var i = 0;
    if (slide_len > 0) {
        var pre_block = o.blocks[i];
        i++;
        this.everyTime(((o.timer + o.animate_time) * 1000), 'controlled', function(){
            var block = o.blocks[i];
            //console.log([i, block, pre_block]);
            if (pre_block) {
                switch (o.type) {
                    case 2:
                        $('#' + pre_block).fadeOut((o.animate_time * 1000), function(){
                            $('#' + block).fadeIn((o.animate_time * 1000));
                        });
                        break;
                    case 1:
                    default:
                        $('#' + pre_block).slideUp((o.animate_time * 1000), function(){
                            $('#' + block).slideDown((o.animate_time * 1000));
                        });
                }
            }
            pre_block = block;
            i = (i >= (slide_len - 1)) ? 0 : i + 1;
        });
    }
}

$.fn.i3slide = i3.slide;
})(jQuery);
