/***
fullbanner
#### Jquery-Full banner By Adelson
***/

(function ($) {
    $.fn.fullbanner = function (options) {

        var settings = {
            timeFade: 140,
            timerSlide: 5000,
            paginacao: "._pagina",
            imgLoad: "js/j-load/load.gif"
        };

        if (options) {
            $.extend(settings, options);
        };

        return this.each(function () {
            var input = this;
            var NCount = $(input).find('li').length;
            var Contador = 0;
            var Loop = true;
            var Timer;

            var Banner = {
                Start: function () {

                    if ($(input).find('li:eq(' + (Contador) + ').on').length) {
                        $(input).find('.In').fadeOut(settings.timeFade, function () {
                            $(this).removeClass('In');
                            $(input).find('li:eq(' + (Contador) + ').on').fadeIn(settings.timeFade, function () {
                                $(this).addClass('In');
                                Contador++;
                                if (Contador > (NCount - 1))
                                    Contador = 0;
                                Banner.Timer();
                            });
                        });

                        //Manipula a paginação
                        $(settings.paginacao + ' li').removeClass('ativo');
                        $(settings.paginacao + ' li:eq(' + Contador + ')').addClass('ativo');
                    }
                    else {

                        Contador++;
                        if (Contador > (NCount - 1))
                            Contador = 0;

                        clearTimeout(Timer);
                        Timer = setTimeout(Banner.Start, 10);
                    }
                },
                Timer: function () {
                    if (Loop)
                        Timer = setTimeout(this.Start, settings.timerSlide);

                    else {
                        clearTimeout(Timer);
                        Timer = setTimeout(this.Start, settings.timerSlide);

                    }
                },
                Init: function () {
                    // caso o load da imagem estiver completo
                    $(input).find("li").each(function (i, val) {
                        $('._pagina').append("<li>" + (i + 1) + "</li>");

                        if (i == 0)
                            $(input).find("li:eq(" + i + ")").addClass("In");
                        $(input).find("li:eq(" + i + ")").addClass("on");
                    });

                    $('._pagina li').click(function () {
                        clearTimeout(Timer);
                        Contador = $(this).index();
                        Banner.Start();
                    });

                    this.Start();
                }
            }
            //Inicia a rotina
            Banner.Init();
        });
    };
})(jQuery);
