/**
 * TikiCMS
 * Copyright (C) 2009-2010, Tiki Web Inteligente Ltda.
 * @requires jQuery 1.4.2 or latter
 *
 * $Id: application_controller_home.js 36 2010-07-13 21:54:05Z caio $
 */
Application.Controller.Home = (function($) {

    
    var bannerAtual = 1;
    var totalBanners = null;
    var tempoBanner = 8000;
    var primeiraTransicao = null;
    var transicaoAtual = null;

    function index() {
        // Banner principal
        totalBanners = $('.home_banner .controls a').length;    
        transicaoAtual = transicaoBanners();
        $('.home_banner .controls a').click(trocaBanner);
        
        // Scroll horizontal dos produtos
        var largura = ($('.home_produtos ul.lista li:nth-child(2)').outerWidth(true)) * ($('.home_produtos ul.lista li').length) - 31;
        // Seta a largura da ul "lista"
        $('.home_produtos ul.lista').css({'width': largura});
        
        $('.home_produtos').jScrollHorizontalPane({
            wheelSpeed:       50,
            showArrows:       true,
            scrollbarHeight:  17,
            arrowSize:        17
        });
    }
    
    
    // Banner principal
    function transicaoBanners() {
        return setInterval(function() {
            $('.home_banner .controls a').eq(bannerAtual).trigger('click', { mode: 'auto' } );
        }, tempoBanner);
    }
    
    function trocaBanner(e, options) {
    
        options = $.extend({
            mode: 'click'
        }, options);
                
        $('.home_banner .controls a').removeClass('current');
        $(this).addClass('current');        
    
        // se o usuário clica então a transição precisa ser reiniciada do ponto em que está
        if (options.mode == 'click') {
            clearInterval(transicaoAtual);        
            transicaoAtual = transicaoBanners();
            bannerAtual = ($(this).parent().index() + 1) % totalBanners;
        }
        
        else {
            // redefine o banner atualmente visível
            bannerAtual = (bannerAtual + 1) % totalBanners;
        }
        
        // Imagem
        var url_imagem = $(this).attr('href');
        // Link
        var url = $(this).attr('rel');           
        
        // Troca a imagem atual pela nova clicada
        $('.home_banner_stage img').fadeOut(350, function() {
        
            // Se ainda não houver o loading, ele adiciona
            if ( $('p.loading').length < 1 ){
                $('.home_banner').append('<p class="loading">Carregando</p>');
            }            
        
            $(this).attr('src', url_imagem).load(function(){
                $(this).fadeIn(350);
                $('.home_banner .loading').remove();
            });
        });
        
        if (url.length == 0) {
            $('.home_banner_stage a').addClass('linkless').attr('href', 'javascript:;');
        } else {
            $('.home_banner_stage a').removeClass('linkless').attr('href', url);
        }
        return false;
    }

    return { 'index': index };
})(jQuery);

