/**
 * @cliente Comte Bittencourt.
 * @projeto Website comte.com.br.
 * @autor Caio Alves.
 * @copyright Comte Bittencourt - 2009
 *
 * Responsável pelas páginas do website.
 */
var Pagina = new Class.create(Comte, {
    /**
     * Construtor.
     */
    initialize: function() {},

    /**
     * Item de navegação aberto.
     */
    itemNavegacaoAberto: null,

    /**
     * Define o item de navegação aberto.
     *
     * @param Object itemNavegacaoAberto O item de navegação aberto.
     *
     * @return void
     */
    setItemNavegacaoAberto: function(itemNavegacaoAberto) {
        Pagina.prototype.itemNavegacaoAberto = itemNavegacaoAberto;
    },

    /**
     * Retorna o item de navegação aberto.
     *
     * @return Object
     */
    getItemNavegacaoAberto: function() {
        return Pagina.prototype.itemNavegacaoAberto;
    },

    /**
     * Define o item de navegação aberto.
     *
     * @param Object itemNavegacaoAberto O item de navegação aberto.
     *
     * @return void
     */
    setJSONYoutubeAPI: function(JSONYoutubeAPI) {
        Pagina.prototype.JSONYoutubeAPI = JSONYoutubeAPI;
    },

    /**
     * Retorna o item de navegação aberto.
     *
     * @return Object
     */
    getJSONYoutubeAPI: function() {
        return Pagina.prototype.JSONYoutubeAPI;
    },

    /**
     * Prepara a pop-up do boletim para o uso.
     *
     * @return void
     */
//    prepararBoletim: function() {
//        // Define o item do boletim, o link e a pop-up.
//        var item = $$('div.area-superior ul.navegacao li.boletim')[0];
//        var link = item.descendants()[0];
//        var box = item.descendants()[1];
//
//        Event.observe(link, 'click', function(e) {
//            e.stop();
//
//            if (box.visible() != true) {
//                new Effect.Appear(box, {
//                    from: 0,
//                    to: 1,
//                    duration: 0.3,
//                    queue: {
//                        scope: 'boletim',
//                        position: 'end'
//                    }
//                });
//            } else {
//                new Effect.Fade(box, {
//                    from: 1,
//                    to: 0,
//                    duration: 0.3,
//                    queue: {
//                        scope: 'boletim',
//                        position: 'end'
//                    }
//                })
//            }
//        });
//    },

    /**
     * Prepara a pop-up do boletim para o uso.
     *
     * @return void
     */
    prepararBoletimAreaSuperior: function() {
        $$('body div.popup-boletim form input.nome')[0].disabled = false;
        $$('body div.popup-boletim form input.email')[0].disabled = false;
        $$('body div.popup-boletim form input.enviar')[0].disabled = false;

        Event.observe($$('div.area-superior ul.navegacao li.boletim a')[0], 'click', function(e) {
            e.stop();

            if ($$('div.area-superior div.popup-boletim')[0].visible() != true) {
                new Effect.Appear($$('div.area-superior div.popup-boletim')[0], {
                    from: 0,
                    to: 1,
                    duration: 0.3,
                    queue: {
                        scope: 'boletim',
                        position: 'end'
                    }
                });
            } else {
                new Effect.Fade($$('div.area-superior div.popup-boletim')[0], {
                    from: 1,
                    to: 0,
                    duration: 0.3,
                    queue: {
                        scope: 'boletim',
                        position: 'end'
                    }
                });
            }
        });

        var campos = [
            {
                elemento: $$('body div.popup-boletim input.nome')[0],
                mensagem: 'Seu nome...'
            },
            {
                elemento: $$('body div.popup-boletim input.email')[0],
                mensagem: 'Seu e-mail...'
            }
        ];

        campos.each(function(e) {
            // Define o evento para remover a mensagem padrão ao focar no campo de termo da busca.
            Event.observe(e.elemento, 'focus', function() {
                var exibirMensagem = function() {
                    // Se a mensagem padrão estiver visível, remover o conteúdo.
                    if (e.elemento.value == e.mensagem) {
                        e.elemento.value = '';
                    }

                    // Define uma cor mais forte.
                    e.elemento.setStyle({
                        color: '#000000'
                    });
                }.bind(e)

                // Executa o evento após o foco do elemento.
                setTimeout(function() { exibirMensagem(); }, 1);
            }.bind(e));

            // Define o evento para implementar a mensagem padrão ao "desfocar" do campo de termo da busca.
            Event.observe(e.elemento, 'blur', function() {
                var ocultarMensagem = function() {
                    // Se não houve conteúdo algum preenche com a mensagem padrão.
                    if (e.elemento.value.length == 0) {
                        e.elemento.value = e.mensagem;
                    }

                    // Define uma cor menos forte.
                    e.elemento.setStyle({
                        color: '#777777'
                    });
                }.bind(e)

                // Executa o evento após o "desfoco".
                setTimeout(function() { ocultarMensagem(); }, 1);
            }.bind(e));
        });

        var formulario = $$('body div.popup-boletim form')[0];

        // Define o evento para implementar a rotina de busca ao submeter o termo à busca.
        Event.observe(formulario, 'submit', function(e) {
            e.stop();

            var status = true;
            var regExpEmail = new RegExp(/^[A-Za-z0-9_\-\.]+@[A-Za-z0-9_\-\.]{2,}\.[A-Za-z0-9]{2,}(\.[A-Za-z0-9])?/);

            campos.each(function(e, n) {
                if (e.elemento.value == e.mensagem || (regExpEmail.test(e.elemento.value) != true && n == 1))
                    status = false;
            });

            if (status == false) {
                alert('Por favor, preencha corretamente seu nome e e-mail para assinar nosso Boletim.');
            } else {
                new Ajax.Request('/rotinas/boletim/cadastrarVisitante.php', {
                    method: 'post',
                    parameters: $$('body div.popup-boletim form')[0].serialize(),
                    onCreate: function() {
                        $$('body div.popup-boletim form input.nome')[0].disabled = true;
                        $$('body div.popup-boletim form input.email')[0].disabled = true;
                        $$('body div.popup-boletim form input.enviar')[0].disabled = true;
                    },
                    onSuccess: function(Request) {
                        var status = Request.responseText;

                        if (status == 1)
                            alert('Sua inscrição no Boletim foi efetuada com sucesso!');
                        else
                            alert('Desculpe, ocorreu um erro no cadastro do Boletim. Por favor, tente mais tarde.');

                        $$('body div.popup-boletim form input.nome')[0].disabled = false;
                        $$('body div.popup-boletim form input.email')[0].disabled = false;
                        $$('body div.popup-boletim form input.enviar')[0].disabled = false;
                    },
                    onFailure: function() {
                        $$('body div.popup-boletim form input.nome')[0].disabled = false;
                        $$('body div.popup-boletim form input.email')[0].disabled = false;
                        $$('body div.popup-boletim form input.enviar')[0].disabled = false;
                    }
                });
            }
        }.bind(campos));
    },

    /**
     * Prepara a pop-up do boletim para o uso.
     *
     * @return void
     */
    prepararBoletim: function() {
        $$('body div.boletim form input.nome')[0].disabled = false;
        $$('body div.boletim form input.email')[0].disabled = false;
        $$('body div.boletim form input.enviar')[0].disabled = false;

        var campos = [
            {
                elemento: $$('body div.boletim input.nome')[0],
                mensagem: 'Seu nome...'
            },
            {
                elemento: $$('body div.boletim input.email')[0],
                mensagem: 'Seu e-mail...'
            }
        ];

        campos.each(function(e) {
            // Define o evento para remover a mensagem padrão ao focar no campo de termo da busca.
            Event.observe(e.elemento, 'focus', function() {
                var exibirMensagem = function() {
                    // Se a mensagem padrão estiver visível, remover o conteúdo.
                    if (e.elemento.value == e.mensagem) {
                        e.elemento.value = '';
                    }

                    // Define uma cor mais forte.
                    e.elemento.setStyle({
                        color: '#000000'
                    });
                }.bind(e)

                // Executa o evento após o foco do elemento.
                setTimeout(function() { exibirMensagem(); }, 1);
            }.bind(e));

            // Define o evento para implementar a mensagem padrão ao "desfocar" do campo de termo da busca.
            Event.observe(e.elemento, 'blur', function() {
                var ocultarMensagem = function() {
                    // Se não houve conteúdo algum preenche com a mensagem padrão.
                    if (e.elemento.value.length == 0) {
                        e.elemento.value = e.mensagem;
                    }

                    // Define uma cor menos forte.
                    e.elemento.setStyle({
                        color: '#777777'
                    });
                }.bind(e)

                // Executa o evento após o "desfoco".
                setTimeout(function() { ocultarMensagem(); }, 1);
            }.bind(e));
        });

        var formulario = $$('body div.boletim form')[0];

        // Define o evento para implementar a rotina de busca ao submeter o termo à busca.
        Event.observe(formulario, 'submit', function(e) {
            e.stop();

            var status = true;
            var regExpEmail = new RegExp(/^[A-Za-z0-9_\-\.]+@[A-Za-z0-9_\-\.]{2,}\.[A-Za-z0-9]{2,}(\.[A-Za-z0-9])?/);

            campos.each(function(e, n) {
                if (e.elemento.value == e.mensagem || (regExpEmail.test(e.elemento.value) != true && n == 1))
                    status = false;
            });

            if (status == false) {
                alert('Por favor, preencha corretamente seu nome e e-mail para assinar nosso Boletim.');
            } else {
                new Ajax.Request('/rotinas/boletim/cadastrarVisitante.php', {
                    method: 'post',
                    parameters: $$('body div.boletim form')[0].serialize(),
                    onCreate: function() {
                        $$('body div.boletim form input.nome')[0].disabled = true;
                        $$('body div.boletim form input.email')[0].disabled = true;
                        $$('body div.boletim form input.enviar')[0].disabled = true;
                    },
                    onSuccess: function(Request) {
                        var status = Request.responseText;

                        if (status == 1)
                            alert('Sua inscrição no Boletim foi efetuada com sucesso!');
                        else
                            alert('Desculpe, ocorreu um erro no cadastro do Boletim. Por favor, tente mais tarde.');

                        $$('body div.boletim form input.nome')[0].disabled = false;
                        $$('body div.boletim form input.email')[0].disabled = false;
                        $$('body div.boletim form input.enviar')[0].disabled = false;
                    },
                    onFailure: function() {
                        $$('body div.boletim form input.nome')[0].disabled = false;
                        $$('body div.boletim form input.email')[0].disabled = false;
                        $$('body div.boletim form input.enviar')[0].disabled = false;
                    }
                });
            }            
        }.bind(campos));
    },

    /**
     * Prepara a pop-up do boletim para o uso.
     *
     * @return void
     */
    prepararContato: function() {
        $$('body#contato div.conteudo form input.nome')[0].disabled = false;
        $$('body#contato div.conteudo form input.endereco')[0].disabled = false;
        $$('body#contato div.conteudo form input.telefone-ddd')[0].disabled = false;
        $$('body#contato div.conteudo form input.telefone-prefixo')[0].disabled = false;
        $$('body#contato div.conteudo form input.telefone-sufixo')[0].disabled = false;
        $$('body#contato div.conteudo form input.email')[0].disabled = false;
        $$('body#contato div.conteudo form input.assunto')[0].disabled = false;
        $$('body#contato div.conteudo form textarea.duvidas-sugestoes')[0].disabled = false;

        var campos = [
            $$('body#contato div.conteudo form input.nome')[0],
            $$('body#contato div.conteudo form input.endereco')[0],
            $$('body#contato div.conteudo form input.telefone-ddd')[0],
            $$('body#contato div.conteudo form input.telefone-prefixo')[0],
            $$('body#contato div.conteudo form input.telefone-sufixo')[0],
            $$('body#contato div.conteudo form input.email')[0],
            $$('body#contato div.conteudo form input.assunto')[0],
            $$('body#contato div.conteudo form textarea.duvidas-sugestoes')[0],
        ];

        campos.each(function(e) {
            // Define o evento para remover a mensagem padrão ao focar no campo de termo da busca.
            Event.observe(e, 'focus', function() {
                var exibirMensagem = function() {
                    // Define uma cor mais forte.
                    e.setStyle({
                        color: '#000000'
                    });
                }.bind(e)

                // Executa o evento após o foco do elemento.
                setTimeout(function() { exibirMensagem(); }, 1);
            }.bind(e));

            // Define o evento para implementar a mensagem padrão ao "desfocar" do campo de termo da busca.
            Event.observe(e, 'blur', function() {
                var ocultarMensagem = function() {
                    // Define uma cor menos forte.
                    e.setStyle({
                        color: '#777777'
                    });
                }.bind(e)

                // Executa o evento após o "desfoco".
                setTimeout(function() { ocultarMensagem(); }, 1);
            }.bind(e));
        });

        var formulario = $$('body#contato div.conteudo form')[0];

        // Define o evento para implementar a rotina de busca ao submeter o termo à busca.
        Event.observe(formulario, 'submit', function(e) {
            e.stop();

            var regExpEmail = new RegExp(/^[A-Za-z0-9_\-\.]+@[A-Za-z0-9_\-\.]{2,}\.[A-Za-z0-9]{2,}(\.[A-Za-z0-9])?/);
            var status = true;

            campos.each(function(e, n) {
                if ((e.value == '' && (n == 0 || n == 5 || n == 6 | n == 7)) || (regExpEmail.test(e.value) != true && n == 5))
                    status = false;
            });

            if (status == false) {
                alert('Por favor, preencha corretamente os campos para enviar sua mensagem.');
            } else {
                new Ajax.Request('/rotinas/contato/enviar.php', {
                    method: 'post',
                    parameters: $$('body div.conteudo form')[0].serialize(),
                    onCreate: function() {
                        $$('body#contato div.conteudo form input.nome')[0].disabled = true;
                        $$('body#contato div.conteudo form input.endereco')[0].disabled = true;
                        $$('body#contato div.conteudo form input.telefone-ddd')[0].disabled = true;
                        $$('body#contato div.conteudo form input.telefone-prefixo')[0].disabled = true;
                        $$('body#contato div.conteudo form input.telefone-sufixo')[0].disabled = true;
                        $$('body#contato div.conteudo form input.email')[0].disabled = true;
                        $$('body#contato div.conteudo form input.assunto')[0].disabled = true;
                        $$('body#contato div.conteudo form textarea.duvidas-sugestoes')[0].disabled = true;
                    },
                    onSuccess: function(Request) {
                        var status = Request.responseText;

                        if (status == 1)
                            alert('Sua mensagem foi enviada com sucesso!');
                        else
                            alert('Desculpe, ocorreu um erro ao enviar sua mensagem. Por favor, tente mais tarde.');

                        $$('body#contato div.conteudo form input.nome')[0].disabled = false;
                        $$('body#contato div.conteudo form input.endereco')[0].disabled = false;
                        $$('body#contato div.conteudo form input.telefone-ddd')[0].disabled = false;
                        $$('body#contato div.conteudo form input.telefone-prefixo')[0].disabled = false;
                        $$('body#contato div.conteudo form input.telefone-sufixo')[0].disabled = false;
                        $$('body#contato div.conteudo form input.email')[0].disabled = false;
                        $$('body#contato div.conteudo form input.assunto')[0].disabled = false;
                        $$('body#contato div.conteudo form textarea.duvidas-sugestoes')[0].disabled = false;
                    },
                    onFailure: function() {
                        $$('body#contato div.conteudo form input.nome')[0].disabled = false;
                        $$('body#contato div.conteudo form input.endereco')[0].disabled = false;
                        $$('body#contato div.conteudo form input.telefone-ddd')[0].disabled = false;
                        $$('body#contato div.conteudo form input.telefone-prefixo')[0].disabled = false;
                        $$('body#contato div.conteudo form input.telefone-sufixo')[0].disabled = false;
                        $$('body#contato div.conteudo form input.email')[0].disabled = false;
                        $$('body#contato div.conteudo form input.assunto')[0].disabled = false;
                        $$('body#contato div.conteudo form textarea.duvidas-sugestoes')[0].disabled = false;
                    }
                });
            }
        }.bind(campos));
    },

    /**
     * Prepara a busca para o uso.
     *
     * @return void
     */
    prepararBuscaAreaSuperior: function() {
        // Define a busca.
        var termo = $$('div.area-superior div.busca input.termo')[0];

        // Define o evento para remover a mensagem padrão ao focar no campo de termo da busca.
        Event.observe(termo, 'focus', function() {
            var exibirMensagemBusca = function() {
                // Se a mensagem padrão estiver visível, remover o conteúdo.
                if (termo.value == 'Estou procurando por...') {
                    termo.value = '';
                }

                // Define uma cor mais forte.
                termo.setStyle({
                    color: '#000000'
                });
            }.bind(termo)

            // Executa o evento após o foco do elemento.
            setTimeout(function() { exibirMensagemBusca(); }, 1);
        }.bind(termo));

        // Define o evento para implementar a mensagem padrão ao "desfocar" do campo de termo da busca.
        Event.observe(termo, 'blur', function() {
            var ocultarMensagemBusca = function() {
                // Se não houve conteúdo algum preenche com a mensagem padrão.
                if (termo.value.length == 0) {
                    termo.value = 'Estou procurando por...';
                }

                // Define uma cor menos forte.
                termo.setStyle({
                    color: '#999999'
                });
            }.bind(termo)

            // Executa o evento após o "desfoco".
            setTimeout(function() { ocultarMensagemBusca(); }, 1);
        }.bind(termo));

        // Define o formulário da busca.
        var formulario = $$('div.area-superior div.busca form')[0];

        // Define o evento para implementar a rotina de busca ao submeter o termo à busca.
        Event.observe(formulario, 'submit', function(e) {
            e.stop();

            if (termo.value != 'Estou procurando por...' && termo.value.length != 0) {

            } else {
                alert('É preciso informar um termo para realizar a busca.');
            }
        }.bind(termo));
    },

    /**
     * Prepara a navegação para o uso.
     *
     * @return void
     */
    prepararNavegacaoCabecalho: function() {
        // Para cada item da navegação...
        [
            'comte',
            'noticias',
            'educacao',
            'opiniao',
            'leis',
            'discursos',
            'multimidia'
        ].each(function(e) {
            // Define o item, o link e o elemento da subnavegação.
            var item = $$('div.cabecalho ul.navegacao li.'+e)[0];
            var link = item.descendants()[0];
            var subNavegacao = item.descendants()[1];

            // Ao clicar no link...
            Event.observe(link, 'click', function(v) {
                // Pára a ação do evento.
                v.stop();

                // Define o item de navegação aberto.
                var itemNavegacaoAberto = Pagina.prototype.getItemNavegacaoAberto();
                
                // Se o item de navegação aberto for diferente de nulo...
                if (itemNavegacaoAberto != null) {
                    // Define o item de navegação aberto como nulo.
                    Pagina.prototype.setItemNavegacaoAberto(null);

                    // Define a subnavegação aberta e o link da navegação aberta.
                    var subNavegacaoAberta = itemNavegacaoAberto.descendants()[1];
                    var linkNavegacaoAberta = itemNavegacaoAberto.descendants()[0];

                    // Oculta gradativamente o link da navegação aberta.
                    new Effect.Fade(linkNavegacaoAberta, {
                        from: 1,
                        to: 0.01,
                        duration: 0.2,
                        queue: {
                            scope: 'itemNavegacao',
                            position: 'end'
                        },
                        onFinish: function() {
                            // Remove a classe "over".
                            link.removeClassName('over');
                        }
                    });

                    // Oculta gradativamente a subnavegação aberta.
                    new Effect.Fade(subNavegacaoAberta, {
                        from: 1,
                        to: 0,
                        duration: 0.2,
                        queue: {
                            scope: 'subNavegacao',
                            position: 'end'
                        }
                    });
                }

                // Se o item de navegação for nulo ou diferente de um item...
                if (itemNavegacaoAberto == null || itemNavegacaoAberto != item) {
                    // Define o item de navegação aberto como o item atual.
                    Pagina.prototype.setItemNavegacaoAberto(item);

                    // Oculta o link e adiciona a classe "over".
                    link.hide();
                    link.addClassName('over');

                    // Exibe gradativamente o link da navegação.
                    new Effect.Appear(link, {
                        from: 0.01,
                        to: 1,
                        duration: 0.2,
                        queue: {
                            scope: 'itemNavegacao',
                            position: 'end'
                        }
                    });

                    // Exibe gradativamente a subnavegação.
                    new Effect.Appear(subNavegacao, {
                        from: 0,
                        to: 1,
                        duration: 0.2,
                        queue: {
                            scope: 'subNavegacao',
                            position: 'end'
                        }
                    });
                }
            }.bind(Pagina));
        }.bind(Pagina));

        // Ao clicar em qualquer área do corpo da página.
        Event.observe($$('body')[0], 'click', function(e) {
            // Retorna o item de navegação aberto.
            var itemNavegacaoAberto = Pagina.prototype.getItemNavegacaoAberto();

            // Se o item de navegação aberto for diferente de nulo...
            if (itemNavegacaoAberto != null) {
                // Define o item de navegação aberto como nulo.
                Pagina.prototype.setItemNavegacaoAberto(null);

                // Define a subnavegação e link da navegação aberta.
                var subNavegacaoAberta = itemNavegacaoAberto.descendants()[1];
                var linkNavegacaoAberta = itemNavegacaoAberto.descendants()[0];

                // Oculta gradativamente o link da navegação aberta.
                new Effect.Fade(linkNavegacaoAberta, {
                    from: 1,
                    to: 0.01,
                    duration: 0.2,
                    queue: {
                        scope: 'itemNavegacao',
                        position: 'end'
                    },
                    onFinish: function() {
//                        link.setStyle({
//                            backgroundImage: 'none'
//                        });

                        // Remove a classe "over".
                        link.removeClassName('over');
                    }
                });

                // Oculta gradativamente a subnavegação aberta.
                new Effect.Fade(subNavegacaoAberta, {
                    from: 1,
                    to: 0,
                    duration: 0.2,
                    queue: {
                        scope: 'subNavegacao',
                        position: 'end'
                    }
                });
            }

//            if ($$('div.area-superior ul.navegacao li.boletim div')[0].visible() == true) {
//                new Effect.Fade($$('div.area.superior ul.navegacao li.boletim div')[0], {
//                    from: 1,
//                    to: 0,
//                    duration: 0.3,
//                    queue: {
//                        scope: 'boletim',
//                        position: 'end'
//                    }
//                })
//            }
        });
    },

    prepararFotosCabecalho: function() {
        var e1 = $$('div.cabecalho div.fotos div.foto-cima')[0];
        var e2 = $$('div.cabecalho div.fotos div.foto-baixo')[0];

        e1.hide();
        e2.hide();

        function mudaFoto(fotoAnterior) {
            var foto = 0;

            while(foto == 0 || foto == fotoAnterior) {
                foto = Math.floor(Math.random()*21);
            }

            if (foto < 10)
                foto = '0'+foto;

            e2.addClassName('foto-'+foto);

            new Effect.Appear(e2, {
                from: 0,
                to: 1,
                duration: 1,
                queue: {
                    scope: 'foto',
                    position: 'end'
                },
                delay: 0,
                afterFinish: function() {
                    if (e1.visible() != true) {
                        e1.show();
                    }

                    e1.removeClassName('foto-'+fotoAnterior);
                    e1.addClassName('foto-'+foto);
                }
            });

            new Effect.Fade(e2, {
                from: 1,
                to: 0,
                duration: 1,
                queue: {
                    scope: 'foto',
                    position: 'end'
                },
                delay: 5,
                afterFinish: function() {
                    e2.removeClassName('foto-'+foto);

                    mudaFoto(foto);
                }
            });
        }

        mudaFoto(0);
    },

    prepararThumbnailsVideos: function() {
        $$('body#videos.multimidia div.conteudo table.lista tr td.thumbnail').each(function(e) {
            var link = e.firstDescendant();

            Event.observe(link, 'click', function(v) {
                v.stop();

                var att = {data:link.href, width:"320", height:"278"};
                var par = {allowScriptAccess: 'sameDomain', wmode: 'transparent'};
                var id = "conteiner-player-swf";
                var myObject = swfobject.createSWF(att, par, id);

//                var flashvars = false;
//                var parametros = {wmode: 'transparent'};
//                var atributos = false;
//
//                swfobject.embedSWF(link.href, "conteiner-player-swf", "320", "278", "9.0.0", flashvars, parametros, atributos);
            });
        });
    },

    prepararVideosMultimidia: function(json, offsetPagina) {
        var c = 0;
        var lista = $$('body#videos.multimidia div.conteudo div.lista')[0];

        this.setJSONYoutubeAPI(json);
        
        json.feed.entry.each(function(e, n) {
            if (n < 4*(offsetPagina-1))
                return;

            var thumbnail = lista.getElementsBySelector('img.thumbnail')[c];
            var urlTitulo = lista.getElementsBySelector('a.url-titulo')[c];
            var urlThumbnail = lista.getElementsBySelector('a.url-thumbnail')[c];
            var descricao = lista.getElementsBySelector('p.descricao')[c];

            if (n == 0)
                swfobject.embedSWF('http://www.youtube.com/v/'+e.media$group.yt$videoid.$t+'&hl=pt-br&fs=1&color1=0x006699&color2=0x54abd6;color1=0x587480&amp;color2=0xC4E6F1&amp;rel=0&amp;fs=1&amp;showsearch=0&amp;showinfo=0&autoplay=0', 'conteiner-player-swf', '325', '270', '9.0.0', false, false, {wmode:"transparent", allowfullscreen:"true", allowscriptaccess:"always"});

            urlTitulo.update(e.title.$t);
            thumbnail.src = e.media$group.media$thumbnail[0].url;
            urlTitulo.href = 'http://www.youtube.com/watch?v='+e.media$group.yt$videoid.$t;
            urlThumbnail.href = 'http://www.youtube.com/watch?v='+e.media$group.yt$videoid.$t;
//            descricao.update(e.media$group.media$description.$t);

            [
                urlTitulo,
                urlThumbnail
            ].each(function(l, n) {
                Event.observe(l, 'click', function(v) {
                    v.stop();
                    swfobject.embedSWF('http://www.youtube.com/v/'+e.media$group.yt$videoid.$t+'&hl=pt-br&fs=1&color1=0x006699&color2=0x54abd6;color1=0x587480&amp;color2=0xC4E6F1&amp;rel=0&amp;fs=1&amp;showsearch=0&amp;showinfo=0&autoplay=1', 'conteiner-player-swf', '325', '270', '9.0.0', false, false, {wmode:"transparent", allowfullscreen:"true", allowscriptaccess:"always"});
                });
            });

//            alert(e.title.$t);
//            alert(e.media$group.media$thumbnail[0].url);
//            alert(e.published.$t);
//            alert(e.media$group.yt$videoid.$t);
            
            if (c == 3)
                throw $break;
            else
                c++;
        });

        var totalResultado = json.feed.entry.length;
        var paginas = 1;

        if (totalResultado >= 4) {
            paginas = Math.round((totalResultado / 4));

            if ((totalResultado % 4) > 0)
                paginas++;
        }

        $$('body#videos.multimidia div.conteudo div.paginacao span.numeros')[0].update();

        for (var i=0; i<paginas; i++) {
            var link = new Element('a', {numeroPagina: i+1}).update(i+1);

            Event.observe(link, 'click', function(t) {
                t.stop();
                this.prepararVideosMultimidia(this.getJSONYoutubeAPI(), $(Event.element(t)).innerHTML);
            }.bind(this));

            $$('body#videos.multimidia div.conteudo div.paginacao span.numeros')[0].insert(link);
        }
    },

    prepararVideoPaginaInicial: function(json) {
        var c = 0;
        var lista = $$('body#inicial.pagina div.videos')[0];

        this.setJSONYoutubeAPI(json);

        json.feed.entry.each(function(e, n) {
//            var thumbnail = lista.getElementsBySelector('img.thumbnail')[c];
            var urlTitulo = lista.getElementsBySelector('h4.legenda')[c];
//            var urlThumbnail = lista.getElementsBySelector('a.url-thumbnail')[c];
//            var descricao = lista.getElementsBySelector('p.descricao')[c];

            if (n == 0)
                swfobject.embedSWF('http://www.youtube.com/v/'+e.media$group.yt$videoid.$t+'&hl=pt-br&fs=1&color1=0x006699&color2=0x54abd6;color1=0x587480&amp;color2=0xC4E6F1&amp;rel=0&amp;fs=1&amp;showsearch=0&amp;showinfo=0&autoplay=0', 'video-pagina-inicial', '325', '270', '9.0.0', false, false, {wmode:"transparent", allowfullscreen:"true", allowscriptaccess:"always"});

            urlTitulo.update(e.title.$t);
            //urlTitulo.href = 'http://www.youtube.com/watch?v='+e.media$group.yt$videoid.$t;

//            [
//                urlTitulo
//            ].each(function(l, n) {
//                Event.observe(l, 'click', function(v) {
//                    v.stop();
//                    swfobject.embedSWF('http://www.youtube.com/v/'+e.media$group.yt$videoid.$t+'&hl=pt-br&fs=1&color1=0x006699&color2=0x54abd6;color1=0x587480&amp;color2=0xC4E6F1&amp;rel=0&amp;fs=1&amp;showsearch=0&amp;showinfo=0&autoplay=1', 'conteiner-player-swf', '325', '270', '9.0.0', false, false, {wmode:"transparent", allowfullscreen:"true", allowscriptaccess:"always"});
//                });
//            });

            if (c == 0)
                throw $break;
        });
    },

    preparar: function() {
        Event.observe($$('body.pagina')[0], 'click', function(e) {
            var clickInterno = null;

            if ($$('body.pagina div.popup-boletim')[0].visible() == true && (Event.element(e).inspect() != $$('body.pagina div.popup-boletim')[0].inspect() || Event.element(e).inspect() != $$('body.pagina div.popup-boletim')[0].inspect() || Event.element(e).inspect() != $$('body.pagina div.popup-boletim')[0].inspect() || Event.element(e).inspect() != $$('body.pagina div.popup-boletim')[0].inspect())) {
                $$('body.pagina div.popup-boletim')[0].descendants().each(function(f) {
                    if (f.inspect() == Event.element(e).inspect()) {
                        clickInterno = true;
                    }
                });

                if (clickInterno != true) {
                    new Effect.Fade($$('div.area-superior div.popup-boletim')[0], {
                        from: 1,
                        to: 0,
                        duration: 0.3,
                        queue: {
                            scope: 'boletim',
                            position: 'end'
                        }
                    });
                }
            }
        });
    }
});