$(document).ready(function(){

    var ttl = 0;// total de trabalhos
    var atv = 1;// trabalho ativo
    var imgs = new Array();// repositório de imagens
    var speed = 800;
    var chgDir = 1; // direção da transição // 1 = next, -1 = prev
    var razao = 1.8;// proporção entre largura e altura das imagens
    var posMfinal = 0;// posição final da miniatura
    var wD = $('.destaque').width();
    var hD = altura(wD);
    var wM = $('.mini-1').width();
    var hM = altura(wM);
    $('.destaque').height(hD);
    $(".overlay").hide();

    
    // percorre os dados
    $("ul", ".dados-destaques").each(function(){

        ttl++;
    // adiciona ID para rápida seleção
        

    });
    //debug("total: " + ttl);
    setJob(1);
    movMini();
    function setJob(){
        var id = atv;
        
        var grupo = $("#trab-"+id);
        var cliente = grupo.children(".cliente").text();
        var tags = grupo.children(".tags").text();
        var url = grupo.children(".url").text();
        imgs = new Array();
        // percorre todas as imagens
        grupo.children(".img").each(function(){
            imgs.push($(this).children().attr('src'));
            
        });

        // atualiza os textos
        $("p", ".txt").text(cliente);
        $("span", ".txt").text(tags);
        $("p, span",".txt").animate({width: '100%'}, speed, "linear");
        $("a", ".destaque").attr('href', url);
        
       
        // insere imagem principal
        var lnkDestaque = $(".destaque").children("a.link1");
        var imgDestaque = $(".destaque").children("a.link1").children();
        
        // se for next move da dir para esq
        if(chgDir == 1){
            imgDestaque.attr('src', imgs[0]).css({ position:'absolute',top: 0, left: wD, opacity: 1});            
        } else {
            imgDestaque.attr('src', imgs[0]).css({ position:'absolute',top: 0, left: wD*-1, opacity: 1});            
        }
        imgDestaque.stop(false, false).animate({ left:0}, speed, "easeOutQuad");

        //debug(id + ' - ' + imgs[0]);
        atualizaAlturaDestaque();

        // houver menos de 3 miniaturas esconde box mini
        if(imgs.length < 3){
            $("a", ".mini-3").hide();
        }

        // insere imagens menores
        for(var i = 1; i <= imgs.length; i++){
            var im = $(".mini-"+i).children().children('.thumb');
            $("a", ".mini-"+i).show();// reexibe
            
            
            
            // se for next move da dir para esq
            if(chgDir == 1){
                im.attr('src', imgs[i-1]).css({top: 0, left: wM, opacity: 1});
            } else{
                im.attr('src', imgs[i-1]).css({top: 0, left: wM*-1, opacity: 1});
            }
            im.stop(false, false).animate({left:0}, speed, "easeOutQuad");           

        }

        // ativa primeira mini
        $(".mini-1").fadeTo(speed, .3);
        // desativa as outras
        $(".mini-2, .mini-3").fadeTo(speed, 1);

        atualizaAlturaMinies();
 
        
    }
    /*
     * remove trabalho
     */
    function unsetJob(){
        // imagem principal
        var lnkDestaque = $(".destaque").children("a");
        var imgDestaque = $(".destaque").children("a").children();
        imgDestaque.stop(false, false).animate({top:hD, opacity: 0}, speed, "easeOutQuad");

        // remove imagens menores
        for(var i = 1; i <= imgs.length; i++){
            var im = $(".mini-"+i).children().children('.thumb');
            im.stop(false, false).animate({top:hM, opacity: 0}, speed, "easeOutQuad");

           

        }
        $("p, span", ".txt").animate({width: 0, height:$('p', '.txt').height()}, speed, "linear");
        //atualizaAlturaMinies();
    }
    /*
     * faz a troca de trabalhos
     */
    function changeJobs(pos){
        var next = 0;
        chgDir = pos;
        
        if(pos == 1){
            next = atv + 1;
        } else {
            next = atv - 1;
        }
         
        if(next > ttl){
            next = 1;
        } else if(next == 0){
            next = ttl;
        }
        
        // remove atual
        unsetJob();
        atv = next;
        setTimeout(setJob, speed);
        
        
    }
    /*
     * troca miniatura pela imagem em destaque
     */
    function trocaImagem(classe){
        var id = classe.split(' ');
        id = id[1].substr(5);
        
        //var src = obj.attr('src');
        //percorre as três mini
        for(var i = 1; i <= 3; i++){
            var thumb = $(".mini-"+i);
            
            if(id == i){// ativar
                // amina thumb
                thumb.fadeTo(speed, .3);
                var src = thumb.children().children('.thumb').attr('src');
            } else {// desativar
                thumb.fadeTo(speed, 1);
            }
            
        }

        // troca imagem em destaque
        $("a.link1", ".destaque").append('<img src="'+src+'" alt=" " class="img-'+id+'">');
        $(".img-"+id, ".destaque").css({position: 'absolute', left: wD}).animate({left: 0}, speed, "easeOutQuad", function(){
            // ao terminar remove as outras imagens
            $('img:not(.img-'+id+')', ".destaque a.link1").remove();
        });
        
       // debug(id);
    }
    /*
     * calcula a altura das imagens
     */
    function altura(width){
        return Math.floor(width / razao);
    }
    /**
     * atualiza a altura do box do destaque de acordo com a largura
     */
    function atualizaAlturaDestaque(){
        wD = $('.destaque').width();
        hD = altura(wD);
        $('.destaque').animate({height: hD}, 100, "linear");
    }
    /*
     * atualiza a altura das miniaturas
     */
    function atualizaAlturaMinies(){
        wM = $('.mini-1').width();
        hM = altura(wM);
        $(".mini-1, .mini-2, .mini-3").animate({height:hM}, 100, "linear");
    }
    /*
    * função de debug
    */
    function debug(txt){
        $('.debug').text(txt);
    }

    /*
     * retorna a distância que a miniatura deve percorrer para encostar no destaque
     */
    function movMini(){

        var pos = $(".mini-1").offset();
        // posição do destaque
        var d = $(".destaque").offset();
        d = d.left + wD;
        posMfinal = ((pos.left - d) +1)* -1;

    }
    /*
     * listener do destaque
     */
    $(".destaque").bind("mouseover", function(){
        $(".overlay").css({zIndex:99, display: 'block', opacity: 0}).stop(false, false).animate({opacity: 1}, speed/2, "linear");
    });
    $(".destaque").bind("mouseout", function(){
        $(".overlay").stop(false, false).animate({opacity: 0}, 100, "linear");
    });
    /*
     * listener da navegação
     */
    $(".ctrl-next").bind("click", function(){
        changeJobs(1);
        return false;
    });
    $(".ctrl-prev").bind("click", function(){
        changeJobs(-1);
        return false;
    });
    /*
     * listeners das miniaturas
     */
    $(".mini").bind("click", function(){
        trocaImagem($(this).attr('class'));
        return false;
    });
    $(".mini").bind("mouseover", function(){
        $(this).animate({left: posMfinal}, 100, "linear");
       
    });
    $(".mini").bind("mouseout", function(){
        $(this).stop(false, false).animate({left: 0}, 100, "linear");
         
    });

    $(window).bind('resize', function(){
        atualizaAlturaDestaque();
        atualizaAlturaMinies();
        movMini();
       

    });

    /* IE bugfix
     */
    if($.browser.msie){
       setTimeout(atualizaAlturaDestaque, 500);
        setTimeout(atualizaAlturaMinies, 500);
    }
    

    /*********************************
    ** PALHAÇO
    **********************************/
   $('.palhaco.home').html('<img src="'+V['TMPATH']+'/img/palhaco-1.png" width="79" height="54" alt="">');
   $('img', '.palhaco.home').css({opacity:0}).animate({opacity:1}, 4000, "swing", function(){
       palhacoIn();
   });
    function palhacoIn(){
            $('img', '.palhaco').animate({top:'-10px', left:'-3px'}, 3000, "swing", function(){
                    palhacoOut();
            });
    }
    function palhacoOut(){
            $('img', '.palhaco').animate({top:0, left:0}, 3000, "swing", function(){
                    palhacoIn();
            });
    }
    

});
/*
 * custom function to fix fade error in IE. Nice!
 */
jQuery.fn.fadeTo = function(speed,to,callback) {
return this.animate({opacity: to}, speed, function() {
if (to == 1 && jQuery.browser.msie)
this.style.removeAttribute('filter');
if (jQuery.isFunction(callback))
callback();
});
};

