/*  Galeria de fotos slider com jQuery
    BUDI INTERNET
    http://internetbudi.com.br
    
    versao 1.1
    
    todo:
    http://www.impressivewebs.com/javascript-content-switcher-without-javascript/
    */

//Eventos
$(document).ready(galeriaInit);

/*
-> GALERIA */
function galeriaInit($) {
    var fotos = $('#galeria-fotos img', '#galeria');
    var descricoes = $('#galeria-descricoes > div', '#galeria');
    var navigation = $('#galeria-nav', '#galeria');
    
    //inica fotos, descrições, navigator
    for (i=0; i < fotos.length; i++) {
        var fotoNum = i+1;
        var nav_ico = $('<span tabIndex="'+i+'">'+fotoNum+'</span>');
        nav_ico.click(galeriaNavClick);
        nav_ico.hover(function(){galeriaNavHover(this)}, function(){galeriaNavHover(this)});
        
        navigation.append(nav_ico);
        
        $(fotos[i]).hide();
        
        if (!descricoes[i])
            descricoes = $('#galeria-descricoes').append('<div class="desc-item"></div>').children('div');
        $(descricoes[i]).hide();
    }
    
    //inicia fotos
    fncFotosInit = function() {
        //seleciona a inicial
        galeriaFotoSeleciona(0,700);
        //inicia slider
        $.doTimeout('galeriaSlider', 7000, galeriaNavSlider);
    };
    if (fotos[0].complete) fncFotosInit();
    else $(fotos[0]).load(fncFotosInit);
}

function galeriaNavClick() {
    $.doTimeout('galeriaSlider');
    if (! $(this).hasClass('selecionada')) { //não selecionada atualmente
        galeriaFotoSeleciona(this.tabIndex, 300);
    }
}
function galeriaFotoSeleciona(index, time) {
    var nav_icos = $('#galeria-nav span', '#galeria');
    var fotos = $('#galeria-fotos img', '#galeria');
    var descricoes = $('#galeria-descricoes > div', '#galeria');

    var fotoSelecionada = $.grep(fotos, function(ft){
                                            return ($(ft).css('display') != 'none');
                                        });
    var descSelecionada = $.grep(descricoes, function(ds){
                                                return ($(ds).css('display') != 'none');
                                        });
    
    //sai anteriores
    $(fotoSelecionada).fadeOut(time);
    $(descSelecionada).fadeOut(time);
    //entra seleção
    $(fotos[index]).fadeIn(time);
    $(descricoes[index]).fadeIn(time);
    
    nav_icos.delay(time/2).removeClass(); //limpas class de navs
    $(nav_icos[index]).delay(time/2).removeClass().addClass('selecionada'); //adiciona class na selecionada
}
function galeriaNavHover(ico) {
    if (! $(ico).hasClass('selecionada'))
        $(ico).toggleClass('hover');
}
function galeriaNavSlider() {
    //proxima imagem (icone)
    var nav_ico = $('#galeria-nav span.selecionada + span', '#galeria');
    if (nav_ico.length == 0)
        nav_ico = $('#galeria-nav span', '#galeria');
    
    galeriaFotoSeleciona(nav_ico[0].tabIndex, 1200);
    return true;
}

