// versão 0.1 2009-08-26 11:17 caio Troca de imagens do topo segue ordem aleatória
jQuery(document).ready(function ($) {

    var rolagem = '50px';
    var duracao = 500;

    // rolar a listagem de categorias para baixo
    $('ul.nav.categorias li.down').click(function() {
        $('ul#categorias').scrollTo('+=' + rolagem, duracao);
    });

    // rolar a listagem de categorias para cima
    $('ul.nav.categorias li.up').click(function() {
        $('ul#categorias').scrollTo('-=' + rolagem, duracao);
    });

    // rolar a listagem de tags para baixo
    $('ul.nav.tags li.down').click(function() {
        $('ul#tags').scrollTo('+=' + rolagem, duracao);
    });

    // rolar a listagem de tags para cima
    $('ul.nav.tags li.up').click(function() {
        $('ul#tags').scrollTo('-=' + rolagem, duracao);
    });
    
    // comportamento do click em "envie a um amigo"
    $('#navBts_home li.env').click(function () {            
        $(this).toggleClass('ativo').parent().next().toggle();
    });

    // setar seleção no primeiro item da lista.
    // *gambiarra, pq esse div?*
    $('#criaomTopoLista div:first').fadeIn(1000);

    // setar ação no botão pause (.pause).
    $('#criaomTopoLista .pause').click(function () {
        $('#criaomTopoLista').stopTime('criaomTopoLista');
        $(this).addClass('bold');
        $('#criaomTopoLista .play').removeClass('bold');
    });
    
    // setar ação no botão play (.play).
    $('#criaomTopoLista .play').click(function () {
        criaomTopo_Timer();
        $('#criaomTopoLista').everyTime(criaomTopo_TimerTempo, 'criaomTopoLista', function () {
            criaomTopo_Timer();
        });
        $(this).addClass('bold');
        $('#criaomTopoLista .pause').removeClass('bold');
    });

    // índice da imagem atual
    var criaomTopo_Count = 0;

    // intervalo de troca entre as imagens (em ms).
    var criaomTopo_TimerTempo = '10s';

    // bloqueio para evitar bug entre os clicks.
    var criaomTopo_Wait = false;

    // iniciar timer para a troca de imagens.
    $('#criaomTopoLista').everyTime(criaomTopo_TimerTempo, 'criaomTopoLista', function() {
        criaomTopo_Timer();
    });

    // clique para trocar de imagem manualmente.
    $('#criaomTopoLista li').click(function () {

        // parar o timer.
        $('#criaomTopoLista').stopTime('criaomTopoLista');

        // setar nova imagem.
        criaomTopo_Count = $('#criaomTopoLista li').index(this);

        // Trocar a imagem.
        criaomTopoLista_Click(criaomTopo_Count);

        // re-iniciar timer.
        $('#criaomTopoLista').everyTime(criaomTopo_TimerTempo, 'criaomTopoLista', function () {
            criaomTopo_Timer();
        });
    });

    // função do timer.
    function criaomTopo_Timer() {

        // quantas imagens serão rotacionadas
        var totalDeImagens = $('#criaomTopoLista ul li').length;

        var imagemAtual = criaomTopo_Count;

        // evita que a nova imagem exibida seja igual à imagem anterior
        while (imagemAtual == criaomTopo_Count) {

            // índice da próxima imagem exibida é aleatório [0 .. totalDeImagens - 1]
            criaomTopo_Count = Math.floor(Math.random() * totalDeImagens);
        }

        // trocar a imagem.
        criaomTopoLista_Click();
    }

    /**
     * Trocar a imagem.
     *
     * @return ?
     */
    function criaomTopoLista_Click () {
        if (criaomTopo_Wait == false) {
            criaomTopo_Wait = true;
            $('#criaomTopoLista ul li div:visible').fadeOut(500, function () {
                $('#criaomTopoLista ul li:eq(' + criaomTopo_Count + ') div').fadeIn(500);
            });
            var img = new Image();
            $(img).load(function () {
                $(this).hide();
                $('#criaomTopo').append(this);

                $(img).fadeIn(500, function () {
                    $('#criaomTopo img:first').fadeOut(500, function () {
                        if ($('#criaomTopo img').length > 1) {
                            $('#criaomTopo img:first').remove();
                        }
                        criaomTopo_Wait = false;
                    });
                });

                /* $('#criaomTopo img:first').fadeOut(500, function () {
                    $(img).fadeIn(500, function () {
                        if ($('#criaomTopo img').length > 1) {
                            $('#criaomTopo img:first').remove();
                        }
                        criaomTopo_Wait = false;
                    });
                }); */
            }).error(function () {
                criaomTopo_Wait = false;
            }).attr('src', $('#criaomTopoLista ul li:eq(' + criaomTopo_Count + ') img').attr('rel'));
        }
    }
});

// plugin para limpeza dos campos de um formulário
jQuery.fn.clearForm = function() {
    return this.each(function() {
        var type = this.type, tag = this.tagName.toLowerCase();
        if (tag == 'form') {
            return jQuery(':input',this).clearForm();
        }
        if (type == 'text' || type == 'password' || tag == 'textarea') {
            this.value = '';
        }
        else if (type == 'checkbox' || type == 'radio') {
            this.checked = false;
        }
        else if (tag == 'select') {
            this.selectedIndex = -1;
        }
    });
};

var css_browser_selector = function() {var ua=navigator.userAgent.toLowerCase(),is=function(t){return ua.indexOf(t) != -1;},h=document.getElementsByTagName('html')[0],b=(!(/opera|webtv/i.test(ua))&&/msie (\d)/.test(ua))?('ie ie'+RegExp.$1):is('firefox/2')?'gecko ff2':is('firefox/3')?'gecko ff3':is('gecko/')?'gecko':is('opera/9')?'opera opera9':/opera (\d)/.test(ua)?'opera opera'+RegExp.$1:is('konqueror')?'konqueror':is('applewebkit/')?'webkit safari':is('mozilla/')?'gecko':'',os=(is('x11')||is('linux'))?' linux':is('mac')?' mac':is('win')?' win':'';var c=b+os+' js'; h.className += h.className?' '+c:c;}();
