/*

    Empresa: InMeta Agência Digital
    Autor: Ismael Tiago Pereira
    Criado em 27/05/2010

    girar(
        trilho  : trilho,
        duracao : valor numérico em milisegundos (1000 = 1 segundo)
        direcao : 'anterior' ou 'proximo'
        numero  : valor numérico do carrossel que usará a função
    )

*/

$(document).ready(function(){

//    tempoGirar = 800; // Tempo que o carrossel leva para trocar de um vagão para o próximo ou anterior
//    tempoAguardar = 1200; // Tempo que o vagão fica parado quando o giro é automático

    var estacao = new Array(); // id ou class da estacao
    var tempoGirar = new Array(); // Tempo que o carrossel leva para trocar de um vagão para o próximo ou anterior
    var tempoAguardar = new Array(); // Tempo que o vagão fica parado quando o giro é automático
    var btPause = new Array(); // "src" do botão pause
    var btPlay = new Array(); // "src" do botão play
    var clique = new Array(); // Padrão inicia false
    var girando = new Array(); // Padrão inicia false
    var iniciaGirando = new Array(); // true = carrossel inicia girando ou false = carrossel inicia parado
    
    ///cms_wisdom/trunk
    var url = window.location.href;
    var baseUrl = 'localhost/cms_wisdom/trunk/'; // local
    var qtdInicialBase = url.indexOf('localhost');
    var urlInicio = '';
    if(qtdInicialBase > 0){
        urlInicio = '/cms_wisdom/trunk';
    }

    estacao[0] = '#depoimentos_cross';
    tempoGirar[0] = 800;
    tempoAguardar[0] = 9000;
    btPause[0] = urlInicio+'/application/themes/wisdom/img/bg/pause.jpg';
    btPlay[0] = urlInicio+'/application/themes/wisdom/img/bg/play.jpg';
    iniciaGirando[0] = true;



    qtdEstacao = estacao.length;


    // Ao carregar a página o carrossel envia um 'vagao' para frente do 'trem' e o arrasta para frente na mesma largura do 'vagao'
    $('#depoimentos_cross .trem').each(function(){
        if($(this).children().length > 2){
            var elementoClonado = $(this).children('.vagao:last').clone();
            $(this).prepend(elementoClonado);
            $(this).children('.vagao:last').remove();
            var larguraVagao = $(this).children('.vagao').width() + parseInt($(this).children('.vagao').css('margin-right'));
            $(this).css('margin-left','-'+(larguraVagao)+'px');
        }
    });

    // inicialização de variáveis
    var giroParado = new Array();
    var carrossel = new Array();

    // 00000000000000000000000000000000000000000000000000000000
    if(iniciaGirando[0]){
        carrossel[0] = window.setInterval(function(){
            clique[0] = false;
            $('.bt_pause',estacao[0]).attr('src', btPause[0]);
            girar($(estacao[0]), tempoGirar[0], 'proximo', 0)
        }, tempoAguardar[0]);
    }else{
        $('.bt_pause',estacao[0]).attr('src', btPlay[0]);
    }


    if($('.vagao',estacao[0]).length == 1){
        $('.botoes',estacao[0]).hide();
    }

    
    $('.bt_pause',estacao[0]).click(function(){
        clique[0] = false;
        if(!giroParado[0]){
            $(this).attr('src', btPlay[0]);
            $(this).attr('title', 'play');
            $(this).attr('alt', 'play');
            clearInterval(carrossel[0]);
            giroParado[0] = true;
            girando[0] = false;
        }else{
            $(this).attr('src', btPause[0]);
            $(this).attr('title', 'pause');
            $(this).attr('alt', 'pause');
            carrossel[0] = window.setInterval(function(){
                girar($(estacao[0]), tempoGirar[0], 'proximo', 0);
            }, tempoAguardar[0]);
            giroParado[0] = false;
        }
        
    });
    
    $('.bt_proximo',estacao[0]).click(function(){
        if(!giroParado[0] && !girando[0]){
            $('.bt_pause',estacao[0]).attr('src', btPlay[0]);
            clearInterval(carrossel[0]);
            giroParado[0] = true;
            girando[0] = false;
        }
        clique[0] = true;
        var trilho = ($(this).parent().parent());
        girar(trilho, tempoGirar[0], 'proximo', 0);
    });
    

    $('.bt_anterior',estacao[0]).click(function(){
        if(!giroParado[0] && !girando[0]){
            $('.bt_pause',estacao[0]).attr('src', btPlay[0]);
            clearInterval(carrossel[0]);
            giroParado[0] = true;
            girando[0] = false;
        }
        clique[0] = true;
        var trilho = ($(this).parent().parent());
        girar(trilho, tempoGirar[0], 'anterior', 0);
    });


    
    


    //var girando = false;
    function girar(trilho, duracao, direcao, numero){
        if(clique[numero]){
            //alert(girando[numero]);
        }
        if((girando[numero]) && (clique[numero])) {
            return false;
        }
        girando[numero] = true;
        var trem = (trilho).children('.trilho');
        
        var quantidade = trem.children('.trem').children('.vagao').length;

        if(quantidade == 1){
            return false;
        }

        var larguraVagao = trem.children('.trem').children('.vagao').width() + parseInt(trem.children('.trem').children('.vagao').css('margin-right')) + parseInt(trem.children('.trem').children('.vagao').css('margin-left'));
        
        var margemEsquerdaTrem = parseInt($(trem.children('.trem')).css('margin-left'));

        var sinal = '+';
        if(direcao == 'proximo'){
            sinal = '-';
        }

        var elementoClonado = '';
        var larguraTrem = 0;

        if((direcao == 'proximo') && (quantidade > 2)){
            elementoClonado = $(trem.children('.trem')).children('.vagao:first').clone();
            $(trem.children('.trem')).append(elementoClonado);
            $(trem.children('.trem')).children('.vagao:first').remove();
            larguraTrem = parseInt($(trem.children('.trem')).css('margin-left'));
            $(trem.children('.trem')).css('margin-left',(larguraVagao+larguraTrem)+'px');
        }
        
        if(direcao == 'anterior'){
            elementoClonado = $(trem.children('.trem')).children('.vagao:last').clone();
            $(trem.children('.trem')).prepend(elementoClonado);
            $(trem.children('.trem')).children('.vagao:last').remove();
            larguraTrem = parseInt($(trem.children('.trem')).css('margin-left'));
            $(trem.children('.trem')).css('margin-left','-'+(larguraVagao * 2)+'px');
        }
        
        $(trem.children('.trem')).animate({
            marginLeft: sinal+'='+larguraVagao+'px'
        },
        {
            duration: duracao,
            complete: function(){
                if(clique[numero]){
                    girando[numero] = false;
                }
                if((direcao == 'proximo') && (quantidade == 2)){
                    elementoClonado = $(trem.children('.trem')).children('.vagao:first').clone();
                    $(trem.children('.trem')).append(elementoClonado);
                    $(trem.children('.trem')).children('.vagao:first').remove();
                    larguraTrem = parseInt($(trem.children('.trem')).css('margin-left'));
                    $(trem.children('.trem')).css('margin-left',(larguraVagao+larguraTrem)+'px');
                }
            }
        }
        );
            
        return true;
    }

    
});
