(function(window, undefined) {
    var Palato   = window.Palato || {},
        document = window.document;
    
    /**
     * Namespace para o controle dos destaques automáticos
     *
     * @author Lucas Mezêncio
     * @since 09/2011
     */
    Palato.ControleDestaques = (function() {
        var _destaques = [],
            _atual     = 1,
            _tempo     = 5000,
            _timeout   = '',
            _entrou    = 0,

            /**
             * @author Lucas Mezêncio
             * @since 09/2011
             * 
             * @param {integer} tempo
             *
             */
            _init       = function(tempo) {
                _tempo = tempo || _tempo;

                $('li', '#controle').each(function(i) {
                    _destaques.add(i);
                });
                $('.background', '#bgs').hide();
                $('#destaque_bg_1').show();

                _bind();
                setTimeout(_click, _tempo);
            },

            /**
             * Faz o click no elemento correspondente
             * 
             * @author Lucas Mezêncio
             * @since 09/2011
             */
            _click     = function() {
                $('li:eq('+_atual+') a.aba', '#controle').trigger('click');

                if (_atual > _destaques.last()) {
                    _atual = _destaques.first();
                }

                _timeout = setTimeout(_click, _tempo);
            },

            _bind      = function() {
                /**
                 * Controle das abas da HOME
                 *
                 * @author Jean Pimentel / Lucas Mezêncio
                 */
                $('li a.aba', '#controle').click(function(e) {
                    e.preventDefault();
                    e.stopPropagation();

                    var id = this.rel;

                    $('.aba').removeClass('ativo');
                    $(this).addClass('ativo');
                    $('.destaque', '#controle').addClass('hide');
                    $('#destaque_'+id).removeClass('hide');
                    $('.background', '#bgs').fadeOut('fast');
                    $('#destaque_bg_'+id)
                        .fadeIn('fast');

                    // Set: qual o elemento atual para os destaques automáticos
                    Palato.ControleDestaques.setAtual(id);
                });

                // Controle para os banners pararem de 'rodar' quando eu estiver 'navegando' entre eles
                $('#controle').hover(function() {
                    Palato.ControleDestaques.clearTimeout();
                }, function() {
                    Palato.ControleDestaques.setTimeout();
                });
            }
        
        return {
            init    : function(tempo) {
                _init(tempo);
                
                return this;
            },
            click   : function() {
                _click();
                
                return this;
            },
            setAtual : function(num) {
                _atual = num;
                
                return this;
            },
            setTimeout : function() {
                if ($.browser.webkit) {
                    _entrou = 1;
                }
                
                if (_entrou != 0) {
                    _timeout =  setTimeout(_click, _tempo);
                }
                
                _entrou++;
                
                return this;
            },
            clearTimeout : function() {
                clearTimeout(_timeout);
                
                return this;
            }
        }
    })();
    
    window.Palato = Palato;
})(window);

window.onblur = function() {
    Palato.ControleDestaques.clearTimeout();
};

window.onfocus = function() {
    Palato.ControleDestaques.setTimeout();
};
