/**
 * 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: 4,
        animate_time: 2,
        type: 2
    }
    var o = $.extend(def_options, o);
    var slide_len = o.blocks.length;

    var i = 0;
    var first = true;
    if (slide_len > 0) {
        var slide_func = function() {
            var block = o.blocks[i];
            //console.log([i, pre_block, block, disp_time()]);
            //if (pre_block) {
                switch (o.type) {
                    case 2:
                        $('#' + block)
                            .fadeIn((o.animate_time * 1000))
                            .oneTime((o.timer * 1000), 'show_interval', function(){
                                $('#' + block).fadeOut((o.animate_time * 1000));
                            });
                        break;
                    case 1:
                    default:
                        $('#' + block)
                            .slideDown((o.animate_time * 1000))
                            .oneTime((o.timer * 1000), 'show_interval', function(){
                                $('#' + block).slideUp((o.animate_time * 1000));
                            });
                        //$('#' + pre_block).slideUp((o.animate_time * 1000), function(){
                        //    $('#' + block).slideDown((o.animate_time * 1000));
                        //});
                }
            //}
            first = false;
            pre_block = block;
            i = (i >= (slide_len - 1)) ? 0 : i + 1;
            //i = (i >= slide_len) ? 0 : i + 1;
        }
        
        var first_block = o.blocks[i];
        $('#' + first_block)
            .fadeIn((o.animate_time * 1000))
            .oneTime((o.timer * 1000), 'show_interval', function(){
                $('#' + first_block).fadeOut((o.animate_time * 1000));
            });
        i = i + 1;
        
        //$('#' + pre_block).css({display:'none'}).fadeIn((o.animate_time * 2 * 1000));
        this.everyTime(((o.timer + o.animate_time) * 1000), 'controlled', slide_func);
        //this.everyTime(((o.timer + o.animate_time) * 1000), slide_func);
        //setTimeout("slide_func", ((o.timer + o.animate_time) * 1000));
    }
}

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

