$(document).ready(function(){

    $("#resultadoRecursos").pageLoadingHTML(function() {
        $("tr:odd").addClass('odd').css('z-index','0');
    });

    $('#down_busca_categoria_recurso').click(function () {
        loading = true;
        $('#div_busca_categoria_recurso').show(200);
        $('#div_busca_categoria_colecao_recurso').hide();
        $('#down_busca_categoria_recurso').removeClass("busca_categoria_recurso");
        $('#down_busca_categoria_recurso').addClass("busca_categoria_recurso_selecionado_selecionado");
        $('#down_busca_categoria_colecao_recurso').addClass("busca_categoria_colecao_recurso");
        $('#down_busca_categoria_colecao_recurso').removeClass("busca_categoria_colecao_recurso_selecionado");
        $('#resultado').empty();
    });

    $('#down_busca_categoria_colecao_recurso').click(function () {
        loading = true;
        $('#div_busca_categoria_colecao_recurso').show(200);
        $('#div_busca_categoria_recurso').hide();
        $('#down_busca_categoria_colecao_recurso').removeClass("busca_categoria_colecao_recurso");
        $('#down_busca_categoria_colecao_recurso').addClass("busca_categoria_colecao_recurso_selecionado");
        $('#down_busca_categoria_recurso').addClass("busca_categoria_recurso");
        $('#down_busca_categoria_recurso').removeClass("busca_categoria_recurso_selecionado_selecionado");
        $('#resultado').empty();
    });

    $("#buscaRecursoForm").submit(function(){
        $("#buscaRecursoForm").find(".campoInvalido").remove();
        var busca = $.trim($("#busca").val());
        if(busca == undefined || busca == null || busca == '') {
            $("#buscaRecursoForm").find("input[name='ok']").after('<em class="campoInvalido">Este campo é obrigatório</em>');
            return false;
        }
    });

    var paginaAtual = window.location.pathname.substring(window.location.pathname.lastIndexOf('/') + 1);
//    if((paginaAtual == 'recursos.html') || (paginaAtual == 'resultadoBusca.html') || paginaAtual == 'resultadoBuscaColecao.html'){
//        carregarModalidades();
//        //carregarTiposRecurso();
//        //carregarIdiomas();
//        carregarModalidadesCol();
//        carregarIdiomasCol();
//    }
    var anchor = '#resultado';
    if( (paginaAtual == 'resultadoBusca.html' || paginaAtual == 'resultadoBuscaColecao.html') && window.location.toString().search(anchor)==-1)
        window.location += anchor;
    $('#buscaAvancadaForm  :radio').change(carregarModalidades);
    $('#modalidade').change(carregarComponentes);
    $('#componente').change(carregarTemas);

    $('#buscaColecaoRecursoForm  :radio').change(carregarModalidadesCol);
    $('#modalidadeCol').change(carregarComponentesCol);
    $('#componenteCol').change(carregarTemasCol);

    var index = $.jqURL.get("ordem");
    if(index != null && index != undefined) {
        $('#ordem').val(index);
    }

    /////////////////Se estiver na página visualizar_recurso////////////////////
    if($('#recursos_resultado')){
        $('#formComentar').hide();
        $('#comentarioUf').attr('disabled', 'disabled');
        $('#comentarioMunicipio').attr('disabled', 'disabled');
        $('#comentarioTipoInstituicao').attr('disabled', 'disabled');
        $('#comentarioInstituicao').attr('disabled', 'disabled');

        //Validação dos formulários

        var regrasValidacaoComentarioLogado = {
            campos:
            [
            {
                id:"comentarioOpniao",
                tipo:"tamanho",
                min:'1',
                max:'500'
            },
            {
                id:"comentarioOpniao",
                tipo:"requerido"
            },
            {
                id:'nota',
                tipo:'requerido'
            }
            ]
        }
        if(document.getElementById("formularioComentarioRecursoLogado")){
            $.validar("#formularioComentarioRecursoLogado",regrasValidacaoComentarioLogado);
        }
        var regrasValidacaoComentarioNaoLogado = {
            campos:
            [
            {
                id:"comentarioOpniao",
                tipo:"tamanho",
                min:'1',
                max:'500'
            },
            {
                id:"comentarioOpniao",
                tipo:"requerido"
            },
            {
                id:'nota',
                tipo:'requerido'
            },
            {
                id:'comentarioNome',
                tipo:'requerido'
            },
            {
                id:'comentarioEmail',
                tipo:'email'
            },{
                id:'comentarioPais',
                tipo:'requerido'
            }
            ]
        }
        if(document.getElementById("formularioComentarioRecursoNaoLogado")){
            $.validar("#formularioComentarioRecursoNaoLogado", regrasValidacaoComentarioNaoLogado);
        }

        var regrasValidacaoComentarioNaoLogadoBrasil = {
            campos:
            [
            {
                id:"comentarioOpniao",
                tipo:"tamanho",
                min:'1',
                max:'500'
            },
            {
                id:"comentarioOpniao",
                tipo:"requerido"
            },
            {
                id:'nota',
                tipo:'requerido'
            },
            {
                id:'comentarioNome',
                tipo:'requerido'
            },
            {
                id:'comentarioEmail',
                tipo:'email'
            },{
                id:'comentarioPais',
                tipo:'requerido'
            },{
                id:'comentarioUf',
                tipo:'requerido'
            },{
                id:'comentarioMunicipio',
                tipo:'requerido'
            },{
                id:'comentarioInstituicao',
                tipo:'tamanho',
                min:'1',
                max:'100'
            },{
                id:'comentarioInstituicao',
                tipo:'requerido'
            }
            ]
        }

        //se clicado botão de comentar esconde comentários e exibe form
        $('.btnComentarRecurso').click(function(){
            $('#opiniao').hide();
            $('#formComentar').show();
            $('#formComentar').focus();
        })
        //se clicado no botão de cancelar esconde o formulário e exibe os comentários
        $('.btnComentarioCancelar').click(function(){
            $('#formComentar :input').each(function(){
                $(this).val("");
            })
            $('#formComentar .campoValido').each(function(){
                $(this).remove();
            })
            $('#formComentar .campoInvalido').each(function(){
                $(this).remove();
            })
            for(i = 1; i <= 5; i++){
                $('#estrela_' + i + ' img').attr('src', 'img/estrela_azul.gif');
            }
            $('#formComentar').hide();
            $('#opiniao').show();
            $('#opiniao').focus();
            return false;
        })
        //ao ser selecionado um país, se for Brasil libera o combo de estados
        $('#comentarioPais').change(function(){
            if($('#comentarioPais').val() == '22'){
                $('#comentarioUf').removeAttr('disabled');
                $('#comentarioUf option:first-child').text('--Selecione uma unidade federativa--');
                $('#comentarioUf').focus();
                $('#comentarioInstituicao').removeAttr('disabled');
                $.validar("#formularioComentarioRecursoNaoLogado", regrasValidacaoComentarioNaoLogadoBrasil);
            }else{
                $('#comentarioUf option:first-child').text('--Selecione--');
                $('#comentarioMunicipio option:first-child').text('--Selecione--');
                $('#comentarioInstituicao').val('');
                $('#comentarioUf option:first-child').attr('selected', 'selected');
                $('#comentarioMunicipio option:first-child').attr('selected', 'selected');

                $('#comentarioUf').attr('disabled', 'disabled');
                $('#comentarioMunicipio').attr('disabled', 'disabled');
                $('#comentarioInstituicao').attr('disabled', 'disabled');

                $('#comentarioMunicipio').next('em').remove();
                $('#comentarioUf').next('em').remove();
                $('#comentarioInstituicao').next('em').remove();
                $.validar("#formularioComentarioRecursoNaoLogado", regrasValidacaoComentarioNaoLogado);
            }
        })
        /**
         * Modifica as estrelas selecionadas para a nota dada.
         * @author Rafael Antunes Torquato Araujo.
         */
        $('#estrelas li').each(function(){
            $(this).css('cursor', 'pointer');
            //Evento ao se passar o ponteiro acima das li's
            $(this).mouseover(function(){
                idCorrente = $(this).attr('id');
                numero = idCorrente.split('_');
                //preenche as estrelas da primeira ate a atual com amarelo.
                for(i = numero[1]; i > 0; i--){
                    $('#estrela_' + i + ' img').attr('src', 'img/estrela_amarela.gif');
                }
                //preenche as estrelas acima da atual com azul
                numeroRemover = new Number(numero[1]) + 1;
                for(i = numeroRemover; i <= 5; i++){
                    $('#estrela_' + i + ' img').attr('src', 'img/estrela_azul.gif');
                }
                //Exibe o label da nota selecionada no span
                switch(numero[1]){
                    case '1': $('#labelNota').html('Ruim'); break;
                    case '2': $('#labelNota').html('Regular'); break;
                    case '3': $('#labelNota').html('Bom'); break;
                    case '4': $('#labelNota').html('Ótimo'); break;
                    case '5': $('#labelNota').html('Excelente'); break;
                    default:
                        if($('#nota').val() == ""){
                            $('#labelNota').html('Sem classificação.');
                        }
                }
            })
            //Evento ao se tirar o mouse de cima das li's
            $(this).mouseout(function(){
                //Exibe o label da nota selecionada no span
                switch($('#nota').val()){
                    case '1': $('#labelNota').html('Ruim'); break;
                    case '2': $('#labelNota').html('Regular'); break;
                    case '3': $('#labelNota').html('Bom'); break;
                    case '4': $('#labelNota').html('Ótimo'); break;
                    case '5': $('#labelNota').html('Excelente'); break;
                    default: $('#labelNota').html('Sem classificação.');
                }
                //se não foi dado nenhuma nota
                if($('#nota').val() == ""){
                    for(i = 1; i <= 5; i++){
                        $('#estrela_' + i + ' img').attr('src', 'img/estrela_azul.gif');
                    }
                }else{
                    //preenche as estrelas da primeira ate a atual com amarelo.
                    for(i = $('#nota').val(); i > 0; i--){
                        $('#estrela_' + i + ' img').attr('src', 'img/estrela_amarela.gif');
                    }
                    valorEstrelaSelecionada = new Number($('#nota').val())+1;
                    //preenche as estrelas acima da atual com azul
                    for(i = valorEstrelaSelecionada; i <= 5; i++){
                        $('#estrela_' + i + ' img').attr('src', 'img/estrela_azul.gif');
                    }
                }
            })
            //Evento ao se clicar em uma estrela, adiciona a nota em um input
            $(this).click(function(){
                idCorrente = $(this).attr('id');
                numero = idCorrente.split('_');
                $('#nota').val(numero[1]);
                $('#nota').next('em').remove();
            })
        })

        /**
         * Função que fará requisição dos municipios de uma uf e preenchera o combo
         * de municípios.
         * @author Rafael Antunes Torquato Araujo.
         */
        $('#comentarioUf').change(function(){
            $("#comentarioMunicipio").removeAttr("disabled");
            $('#comentarioMunicipio').empty();
            $('#comentarioMunicipio').append("<option value=''>Aguarde...</option>");
            $("#comentarioMunicipio").attr('disabled', 'disabled');
            $.post("ajax", {
                tipo: "MunicipioPorUf",
                uf: $('#comentarioUf').val()
            },
            function(dados){
                $("#comentarioMunicipio").removeAttr("disabled");
                $('#comentarioMunicipio').empty();
                $('#comentarioMunicipio').append("<option value=''>--Selecione um município--</option>");
                $.each(dados, function() {
                    $('#comentarioMunicipio').append("<option value='" + this.id + "'>" + this.nome + "</option>");
                });
                $('#comentarioMunicipio').focus();
            },
            "json");
        });
    }
    $('#link_download_recurso').click(function(){
        if(document.getElementById("divDownloadArquivos")){
            $('#divOutrosArquivos').slideUp('fast');
            $('#divDownloadArquivos').slideToggle("slow");
            return false;
        }
        return true;
    });
    $('#link_visualizar_recurso').click(function(){
        if(document.getElementById("divOutrosArquivos")){
            $('#divDownloadArquivos').slideUp('fast');
            $('#divOutrosArquivos').slideToggle("slow");
            return false;
        }
        return true;
    });
    
    //se vier da do click em coleções
    if($.jqURL.get('c') == 1){
        $('#down_busca_categoria_colecao_recurso').click();
    }

    if(paginaAtual == 'resultadoBuscaColecao.html'){
        setTimeout(function(){
            if($('#buscaColecao').val() != ''){
                $('#busca_breadcrumb').append($('#buscaColecao').val());
            }
            if($('#modalidadeCol :selected').text() != ''){
                 $('#busca_breadcrumb').append("|");
                $('#busca_breadcrumb').append($('#modalidadeCol  :selected').text());
            }
            if($('#componenteCol :selected').text() != ''){
                $('#busca_breadcrumb').append("|");
                $('#busca_breadcrumb').append($('#componenteCol  :selected').text());
            }
            if($('#temaCol :selected').text() != ''){
                $('#busca_breadcrumb').append("|");
                $('#busca_breadcrumb').append($('#temaCol  :selected').text());
            }
            if($('#idiomaColecao :selected').text() != ''){
                $('#busca_breadcrumb').append("|");
                $('#busca_breadcrumb').append($('#idiomaColecao  :selected').text());
            }
        }, 200);
    }
    
    if(document.getElementById('sem_resultado')){
        setTimeout(function(){
            if($('#buscaColecao').val() != ''){
                $('#sem_resultado').append($('#buscaColecao').val());
            }
            if($('#modalidadeCol :selected').text() != ''){
                 $('#sem_resultado').append("|");
                $('#sem_resultado').append($('#modalidadeCol  :selected').text());
            }
            if($('#componenteCol :selected').text() != ''){
                $('#sem_resultado').append("|");
                $('#sem_resultado').append($('#componenteCol  :selected').text());
            }
            if($('#temaCol :selected').text() != ''){
                $('#sem_resultado').append("|");
                $('#sem_resultado').append($('#temaCol  :selected').text());
            }
            if($('#idiomaColecao :selected').text() != ''){
                $('#sem_resultado').append("|");
                $('#sem_resultado').append($('#idiomaColecao  :selected').text());
            }
        }, 200);
    }


});

function carregarComponentes() {
    val = $('#modalidade').val();
    if(val != undefined){
        carregarDados('#componente',{
            tipo:"bioeEstrutura",
            t: 'cc',
            id:val
        });
    }
    $('#tema').empty();
}

function carregarComponentesCol() {
    val = $('#modalidadeCol').val();
    if(val != undefined){
        carregarDados('#componenteCol',{
            tipo:"bioeEstrutura",
            t: 'cc',
            id:val
        });
    }
    $('#temaCol').empty();
}


function carregarModalidades(){
    val = $('#buscaAvancadaForm  :radio:checked').val();
    if(val != undefined){
        carregarDados('#modalidade',{
            tipo:"bioeEstrutura",
            t: 'tipo',
            id:val
        });
    }
    $('#componente').empty();
    $('#tema').empty();
}

function carregarModalidadesCol(){
    val = $('#buscaColecaoRecursoForm  :radio:checked').val();
    if(val != undefined){
        carregarDados('#modalidadeCol',{
            tipo:"bioeEstrutura",
            t: 'tipo',
            id:val
        });
    }
    $('#componenteCol').empty();
    $('#temaCol').empty();
}


function carregarTemas() {
    val = $('#componente').val();
    if(val != undefined){
        carregarDados('#tema',{
            tipo:"bioeEstrutura",
            t: 'tema',
            id:val
        });
    }
}

function carregarTemasCol() {
    val = $('#componenteCol').val();
    if(val != undefined){
        carregarDados('#temaCol',{
            tipo:"bioeEstrutura",
            t: 'tema',
            id:val
        });
    }
}

function carregarTiposRecurso() {
    carregarDados('#tipoRecurso',{
        tipo:'tiposRecurso',
        modalidadeEnsino: $('#modalidade').val(),
        componenteCurricular: $('#componente').val(),
        tema: $('#tema').val()
    });
}

function carregarIdiomas() {
    carregarDados('#idioma',{
        tipo:'idiomasRecursos'
    });
}

function carregarIdiomasCol() {
    carregarDados('#idiomaColecao',{
        tipo:'idiomasRecursos'
    });
}

function carregarDados(componente, json) {
    $(componente).empty();
    $(componente).append('<option></option>');
    $(componente).removeAttr("disabled");
    $.post('ajax', json,
        function(dados) {
            $(componente).empty();
            $(componente).append('<option></option>');
            $.each(dados, function(){
                if(this.nome!=null && this.nome != undefined){
                    var o = document.createElement('option');
                    o.setAttribute ("value", this.id);
                    var t = document.createTextNode (this.nome);
                    o.appendChild (t);
                    $(componente).append(o);
                }
            });
//            //ESTA ATRAPALHANDO A BUSCA - RAFAEL
//            var index = $.jqURL.get($(componente).attr("name"));
//            if(index != null && index != undefined) {
//                $(componente).val(index);
//                $(componente).change();
//                if($(componente+'_p').html() == '') {
//                    $(componente+'_p').html($.trim($(componente + ' option:selected').text()));
//                }
//                if($(componente+'_alerta').html() == '') {
//                    $(componente+'_alerta').html($.trim($(componente + ' option:selected').text()) + ' - ');
//                }
//            }
        }, 'json');
}


