/**
 * Rotinas que operam no cliente (browser).
 *
 * @copyright 2010 - Comte Bittencourt
 *
 * @package WordPress
 * @subpackage Comte
 *
 * $Id$
*/

$(document).ready(function() {
    /** Rotinas globais. */
        /** Tracking dos links externos. */
        $('body a[href]').filter(function() {
            var $a = $(this);
            var tpo = null;

            if ($a.attr('hostname') && ($a.attr('hostname') !== location.hostname))
                tpo = 'outgoing';
            else if ($a.attr('href').match(/\.(?:pdf|zip|rar|exe)($|\&|\?)/))
                tpo = 'anexo';

            if (tpo) {
                $a.attr('target', '_blank');

                if ($a.not('tracking-off')) {
                    $a.bind('click keypress', function(e) {
                        var tecla = e.charCode || e.keyCode;
                        if (!tecla || (tecla && tecla == 13) /* ENTER. */) {
                            var url = $a.attr('href').replace(/https?:\/\/(.*)/, '$1');

                            if (tpo == 'outgoing')
                                url = '/outgoing/'+url;
                            else
                                url = '/anexo/'+url.replace($a.attr('hostname')+'/', '');
                            
                            _gaq.push(['_trackPageview', url]);
                        }
                    });
                }
            }
        });
        /** ENDOF Tracking dos links externos. */

        /** Navegação do header (cabeçalho). */
        $.each([
            $('div#navegacao.header > ul > li')
        ], function() {
            $(this).children('ul').css({display: 'none'});

            // Executa ao "entrar" com o mouse no elemento..
            $(this).mouseenter(function(e) {
                // Insere o elemento do "plano de fundo" do link.
                var $hover = $('<a>'+$(this).children('a').html()+'</a>').attr({'href': $(this).children('a').attr('href'), 'class': 'hover'}).css({display: 'none', opacity: 0});
                $hover.insertAfter($(this).children('a:first'));

                // Exibe de forma animada o "plano de fundo" do link.
                $hover.css('display', 'block').animate({opacity: 1}, 200, function() {
                    this.style.removeAttribute('filter');
                }).click(function(e) {
                    switch ($hover.html()) {
                        case 'Comte':
                        case 'Multimídia':
                        case 'Opinião':
                        case 'Leis':
                        case 'Educação':
                            e.preventDefault();
                    }
                });

                // Exibe a "aba" correspondente ao item solicitado.
                $(this).children('ul').css({display: 'block', opacity: 0}).animate({opacity: 1}, 200, function() {
                    this.style.removeAttribute('filter');
                });
            });

            // Executa ao "sair" com o mouse do elemento..
            $(this).mouseleave(function() {
                // Define a fila de efeitos, pára o que está em execução e e exclui o "plano de fundo".
                $(this).children('.hover').queue("fx", []);
                $(this).children('.hover').stop().animate({opacity: 0}, 200, function() {
                    $(this).remove();
                });

                // Define a fila de efeitos, pára o que está em execução e oculta o div.
                $(this).children('ul').queue("fx", []);
                $(this).children('ul').stop().animate({opacity: 0}, 200, function() {
                    $(this).css('display', 'none');
                });
            });
        });
        /** ENDOF Navegação do header (cabeçalho). */

        /** Sidebar esquerda. */
        $sidebarEsquerda = $('div#esquerda.sidebar');

        if ($('div#video', $sidebarEsquerda).length == 1) {
            $embed = $('div#esquerda.sidebar div#video div.embed');

            var vd = gd.feed.entry[0];

            var id = /** vd.media$group.yt$videoid.$t; */ '7oR59iJ-aYw';
            var lg = vd.title.$t;
            
            $('div.player', $embed).html('<iframe width="240" height="180" src="http://www.youtube.com/embed/'+id+'" frameborder="0" allowfullscreen></iframe>');

            /** $('div.player', $embed).flash({
                swf: 'http://www.youtube-nocookie.com/v/'+id+'&amp;hl=pt_BR&amp;fs=1?rel=0&amp;color1=0x006699&amp;color2=0x54abd6',
                width: 240,
                height: 180,
                flashvars: {
                    allowScriptAccess: 'always',
                    quality: 'high',
                    wmode: 'transparent',
                    menu: 'false'
                }
            }); */
        }

        if ($('div#boletim', $sidebarEsquerda).length == 1) {
            /** Boletim. */
            $boletim = $('div#boletim', $sidebarEsquerda);

            $.each($(':text', $boletim), function(n, e) {
                var $e = $(e);

                $e.data('default', $e.val());

                $e.focus(function() {
                    if ($e.val() == $e.data('default'))
                        $(this).val('');
                });

                $e.blur(function() {
                    if ($e.val() == '')
                        $(this).val($e.data('default'));
                });
            });

            $('form', $boletim).validate({
                nome: "required",
                email: {
                    required: true
                },
                messages: {
                    nome: 'Necessário seu nome.',
                    email: 'Necessário um e-mail válido'
                },
                submitHandler: function(f) {
                    var $f = $(f);

                    $.ajax({
                        url: TEMPLATEURL+'/rotinas/servidor/cadastrar-assinante-boletim.php',
                        method: 'POST',
                        data: $f.serialize(),
                        success: function(d) {
                            if (d == '1')
                                alert('Seu e-mail foi enviado com sucesso.')
                        }
                    });

                    return false;
                }
            });
            /** ENDOF Boletim. */
        }

        if ($('div#twitter', $sidebarEsquerda).length == 1) {
            /** Twitter. */
            var $tweet = $('div#tweet', $sidebarEsquerda);

            $tweet.tweet({
                username: "Comte_educacao",
                join_text: "auto",
                avatar_size: 32,
                count: 1,
                auto_join_text_default: "",
                auto_join_text_ed: "",
                auto_join_text_ing: "",
                auto_join_text_reply: "",
                auto_join_text_url: "",
                loading_text: "carregando tweets..."
            });
            /** ENDOF Twitter. */
        }
        /** ENDOF Sidebar esquerda. */
    /** ENDOF Rotinas globais. */

    /** Página inicial. */
    $paginaInicial = $('body#inicial.pagina');

    if ($('div#aviso', $paginaInicial).length) {
        /** Aviso. */
        $aviso = $('div#aviso', $paginaInicial);
        
        if ($aviso.is(":hidden")) {
            $aviso.slideDown("slow");
        }
        /** ENDOF Aviso. */
    }
    /** ENDOF Página inicial. */

    /** Posts. */
    $post = $('body.post');
        /** Páginas. */
        $pagina = $('body.pagina');

        if ($('div#galeria-fotos', $pagina).length) {
            /** Galeria de Fotos. */
            $('div#galeria-fotos a').fancybox({
                'transitionIn' : 'fade',
                'transitionOut' : 'elastic',
                'speedIn' : 350,
                'speedOut' : 200,
                'overlayShow' : true,
                'titlePosition': 'over'
            });
            /** ENDOF Galeria de Fotos. */
        }

        if ($('div#galeria-fotos-flickr', $pagina).length) {
            /** Galeria de Fotos (via Flickr). */
            $galeriaFotosFlickr = $('div#galeria-fotos-flickr');

            $galeriaFotosFlickr.jflickrfeed({
                limit: 60,
                qstrings: {
                        id: '53210758@N06'
                },
                itemTemplate:
                    '<a href="{{image}}" title="{{title}}" rel="fotos">' +
                        '<img src="{{image_s}}" alt="{{title}}" />' +
                    '</a>'
            }, function() {
                $('img.icone-loading', $galeriaFotosFlickr).remove();
                $('a', $galeriaFotosFlickr).fancybox({
                    'transitionIn' : 'fade',
                    'transitionOut' : 'elastic',
                    'speedIn' : 350,
                    'speedOut' : 200,
                    'overlayShow' : true,
                    'titlePosition': 'over'
                });
            });
            /** ENDOF Galeria de Fotos (via Flickr). */
        }

        if ($('div#videos', $pagina).length) {
            /** Vídeos. */
            var $videos = $('div#videos', $pagina);
            $videos.html($('<ul class="lista"></ul>'));

            function exibeVideos(pg) {
                var $videos = $('div#videos', $pagina);

                $lista = $('ul.lista', $videos);
                $lista.html('');

                var i = 0;

                $.each(gd.feed.entry, function(n, e) {
                    if (n < (pg*4))
                        return;
                    else {
                        if (i > 3)
                            return;
                        else
                            i++;
                    }

                    $item = $('<li></li>');

                    $item.append($('<h4><a href="'+'http://www.youtube.com/watch?v='+e.media$group.yt$videoid.$t+'" rel="'+e.media$group.yt$videoid.$t+'">'+e.title.$t+'</a></h4>'));
                    $item.append($('<p><a href="'+'http://www.youtube.com/watch?v='+e.media$group.yt$videoid.$t+'" rel="'+e.media$group.yt$videoid.$t+'"><img src="'+e.media$group.media$thumbnail[0].url+'" /></a></p>'));

                    $('a', $item).each(function() {
                        $(this).click(function() {
                            $('div.player', $videos).flash({
                                swf: 'http://www.youtube-nocookie.com/v/'+$(this).attr('rel')+'&amp;hl=pt_BR&amp;fs=1?rel=0&amp;color1=0x006699&amp;color2=0x54abd6',
                                width: 350,
                                height: 283,
                                flashvars: {
                                    allowScriptAccess: 'always',
                                    quality: 'high',
                                    wmode: 'transparent',
                                    menu: 'false'
                                }
                            });

                            return false;
                        });
                    });

                    $('ul.lista', $videos).append($item);
                });
            }

            exibeVideos(0);

            $videos.append($('<div class="paginas"></div>'));

            var $paginas = $('div.paginas', $videos);

            $paginas.append($('<span class="label">Páginas: </span>'));
            $paginas.append($('<span class="numeros"></span>'));

            var totPag = Math.round((gd.feed.entry.length/4));

            if ((gd.feed.entry%4) > 0)
                totPag++;

            for (i=0; i<=totPag; i++) {
                $('span.numeros', $paginas).append($('<a href="#pg/'+(i+1)+'" rel="'+i+'">'+(i+1)+'</a>'));
            }

            $('a', $paginas).each(function() {
                $(this).click(function() {
                    exibeVideos($(this).attr('rel'));
                    return false;
                });
            });

            $videos.append($('<div class="player"></div>'));

            $('div.player', $videos).flash({
                swf: 'http://www.youtube-nocookie.com/v/'+gd.feed.entry[0].media$group.yt$videoid.$t+'&amp;hl=pt_BR&amp;fs=1?rel=0&amp;color1=0x006699&amp;color2=0x54abd6',
                width: 350,
                height: 283,
                flashvars: {
                    allowScriptAccess: 'always',
                    quality: 'high',
                    wmode: 'transparent',
                    menu: 'false'
                }
            });
            /** ENDOF Vídeos. */
        }
        /** ENDOF Páginas. */
    /** ENDOF Posts. */
});
