/**
 * Valoriza checkbox
 * 
 * @param alvo Checkbox para valorizar
 * @param val Valor (true ou false)
 * @return
 */
function check ( alvo , val ) {
    
    if ( alvo ) {
        
        if ( !val ) {
            
            var val = !( $( alvo ).attr( 'checked' ) );
            
        }
        
        $( alvo ).attr( 'checked' , val );

        return val;

    }
    
    return false;
    
}

/**
 * Valoriza input
 * 
 * @param alvo
 * @param valor
 * @return
 */
function value ( alvo , valor )
{
    
    if ( alvo && valor ) {
        
        $(alvo).val(valor);
        
        return true;
        
    }
    
    return false;
    
}

/**
 * Monta query com os elementos a filtrar
 */
function makeQuery (e) {

    if (!e) return '';
    
    var ul = $('ul', e.parentNode).get(0);
    if (!ul)  return '';
    
    
    /**
     * Define query do JQuery para qual elemento buscara
     */
    if (/unico/i.test(ul.className)) {
        var jQ = 'input';
    }
    else
    if (/multiplo/i.test(ul.className)) {
        var jQ = 'input:checked';
    }
    
    /**
     * Busca os elementos selecionados
     */
    var queryAdd = '';
    if (jQ) {
        var inputs = new Array();
        var iptDom = $(""+jQ+"", e.parentNode).get();
        
        if (iptDom) {
            $.each(iptDom, function (i) {
                inputs[i] = "'" + this.name + "': '" + this.value + "'";
            });
            
            /**
             * Cria objeto e passa para funcao param do jquery
             */
            queryAdd = $.param(eval("({" + inputs.join(',') + '})'));
        }
    }

    return queryAdd;
}

/**
 * Transforma o link em ajax e efetua requisicao
 */
function linkAjaxRequestUri (link, queryAdd)
{
    
    /**
     * Configura requisicao do ajax
     */
    var uri = xajax.config.requestURI.substring( 0 , ( xajax.config.requestURI.indexOf('?') ) );


    if ( link.href.indexOf('#') >= 0 ) {

        var query = link.href.substring( ( link.href.indexOf('?') + 1 ) , link.href.indexOf('#') );

    } else {
        
        var query = link.href.substr( ( link.href.indexOf('?') + 1 ) );
    
    }
    
    xajax.config.requestURI = uri + '?' + query;
    
    if (queryAdd) {
        
        xajax.config.requestURI += '&' + queryAdd;
        
    }

    
    /**
     * QueryId
     */
    if ( ! ( /queryId=\d+/.test( xajax.config.requestURI ) ) ) {
        var queryId = $('#queryId').val();
        if ( queryId.length > 0 ) {
            xajax.config.requestURI += '&queryId=' + queryId;
        }
    }
    /**
     * SearchId
     */
    if ( ! ( /searchId=\d+/.test( xajax.config.requestURI ) ) ) {
        var searchId = $('#searchId').val();
        if ( searchId.length > 0 ) {
            xajax.config.requestURI += '&searchId=' + searchId;
        }
    }
    
    
    /**
     * Exibe o topo do resultado
     */
    link.href = '#topoResultado';
    
    /**
     * Carrega paginacao
     */
    xajax_carregaResultado();
	
	
	
	
	    /**
     * Exibe o topo do resultado
     */
    //window.location.replace('#topoResultado');
	//location.href = location.href+"#topoResultado";
	//document.title = "O maior site de an?ncios de empregos e curr?culos do Brasil - Catho Online";
    
}

/**
 * Carrega ajax para os botoes de refinar dos filtros escolhidos
 * A requisicao ? feita baseando-se no href do link
 */
function carregaJsFacets ()
{
    
    /**
     * Carrega funcionamento da selecao dos filtros
     */
    $('input:checkbox, .link-Check, .link-List', '#facets_selects').unbind('click').bind('click', function () {

        var selecionado = false;
        
        var facet = $(this).prevALL('div[id^=facet_]').get(0);

        if ( ! ( /^chk/.test(this.id) ) ) {
            
            var link = this;
            
            var checkbox = document.getElementById('chk' + this.id.substring(this.id.indexOf('_')));
            
            var input = document.getElementById('ipt' + this.id.substring(this.id.indexOf('_'), this.id.lastIndexOf('_')));
            
            if ( checkbox ) {
                
                selecionado = check( checkbox );
                
            } else if ( input ) {
                
                $('a', input.parentNode).attr('className', '');
                
                valor = this.id.substring( ( this.id.lastIndexOf('_') + 1 ) );
                
                selecionado = value( input , valor );
                
            }
            
        } else {

            var link = document.getElementById('lnk' + this.id.substring(this.id.indexOf('_')));
            
            selecionado = this.checked;
            
        }

        link.className = '';
        
        if (selecionado) {
            
            link.className = 'selected';
            
            $('.linkRefinar' , facet).show();
            
            $('.linkRefinar-Disabled' , facet).hide();
            
        } else {
            
            if ( $(this, facet).length > 0 ) {
                
                if ( $( 'input:checked' , facet ).length == 0 ) {
                    
                    $('.linkRefinar' , facet).hide();
                    
                    $('.linkRefinar-Disabled' , facet).show();
                    
                }
                
            }
            
        }

        if ( ! ( /^chk/.test(this.id) ) ) {
            
            return false; // cancela href
            
        }
        
    });

    /**
     * Carrega botao de refinar
     */
    $('.linkRefinar', '#facets').unbind('click').bind('click', function () {
        
        /**
         * Recupera lista dos valores a refinar
         */
        if ( this.id && this.id == 'busqueNoResultado' ) {
                
            var queryAdd = 'q_facet=' + $('#q_facet').val();
            
            var como_buscar_facet = $('input[name=como_buscar_facet]:checked').val();

            if ( como_buscar_facet ) {
                
                queryAdd += '&como_buscar_facet=' + como_buscar_facet;
                
            }
            
            var onde_buscar_facet = $('input[name=onde_buscar_facet]:checked').val();
            
            if ( onde_buscar_facet ) {
                
                queryAdd += '&onde_buscar_facet=' + onde_buscar_facet;
                
            }
            
            var inputs = new Array();
            
            $.each($('input:checked' , '#boxCamposEspecificosFacet').get(), function (i) {
                
                inputs[i] = "'" + this.name + "': '" + this.value + "'";
                
            });

            if ( inputs.length > 0 ) {
                
                queryAdd += '&' + $.param(eval("({" + inputs.join(',') + '})'));
                
            }

        } else if ( !this.id || this.id != 'limparBuscaNoResultado' ) {
            
            var queryAdd = makeQuery(this);

        }

        /**
         * Exibe imagem de ajax carregando
         */
        $('#centro').hide();
        $('#facets').hide();
        
        $('#centroCarregando').html($('.ajaxCarregando').html()).show();
        $('#facetsCarregando').html($('.ajaxCarregando').html()).show();
        
        /**
         * Seta esconder por default a caixa como funciona
         */
        if ( $('#cfClosed').val().length == 0 ) {
            xajax.config.defaultMode = "synchronous"; // torna requisicao sincrona
            xajax.config.waitCursor = false; // remove cursor
            xajax_setCfClosed();
            xajax.config.defaultMode = "asynchronous"; // torna requisicao assincrona (config. default)
            xajax.config.waitCursor = true; // exibe cursor (config. default)
        }
        
        /**
         * Configura e faz requisicao ajax
         */
        linkAjaxRequestUri(this, queryAdd);

        if($('.linkRefinar:visible').hasClass("exibirLayer"))
        	tb_show('Assine a busca de curr?culos', $('#layerAssine').val() ,false);
        
    });

    
    /**
     * Carrega botao de remover
     */
    $('.linkRemover', '#facets').unbind('click').bind('click', function () {
        
        /**
         * Exibe imagem de ajax carregando
         */
        $('#centro').hide();
        $('#facets').hide();
        
        $('#centroCarregando').html($('.ajaxCarregando').html()).show();
        $('#facetsCarregando').html($('.ajaxCarregando').html()).show();

        /**
         * Configura e faz requisicao ajax
         */
        linkAjaxRequestUri(this);
       
    });
    
    
    $('#boxCamposEspecificosFacet li > input').unbind('click').bind('click', function () {
        
        $('input:checkbox', this.parentNode).attr('checked', this.checked);
        
    });

    
    $('#q_facet').unbind('keyup').bind('keyup', function () {
        
        var facet = $(this).prevALL('div[id^=facet_]').get(0);
        
        if ( $(this, facet).length > 0 ) {
            
            if ( this.value == '' ) {
            
                $('.linkRefinar' , facet).hide();
                
                $('.linkRefinar-Disabled' , facet).show();
            
            } else {
                
                $('.linkRefinar' , facet).show();
                
                $('.linkRefinar-Disabled' , facet).hide();
            
            }
            
        }
        
    });
    
    /**
     * Carrega js para campos especificos (checks)
     */
    var chks_esp = $('.box-Out-Facets-input02');
    chks_esp.unbind('click').bind('click', function () {
        
        var chk = this.checked;
        var box = this.parentNode.parentNode;
        
        if ( ! chk ) {
            
            $.each( chks_esp.get() , function (i) {
                
                if ( this.parentNode.parentNode.id == box.id ) {
                    
                    if ( this.checked ) {
    
                        chk = this.checked
                        
                    }
                    
                }

            });
            
        }

        $('#' + box.id.substring( box.id.indexOf('_') + 1 )).attr('checked' , chk);
        
    });
    
    /**
     * Carrega js para onde buscar (radios)
     */
    var checkboxes = $('input:checkbox', '#boxCamposEspecificosFacet');
    checkboxes.bind('click', function () {
        
        var chk = this.checked;
        
        if ( ! chk ) {
            
            $.each( checkboxes.get() , function (i) {
                
                if ( this.checked ) {

                    chk = this.checked
                    
                }

            });
            
        }

        if ( chk ) {
            
            $('#campos_especificos_facet').attr('checked' , true);
            
        } else {
            
            $('#todo_curriculo_facet').attr('checked' , true);
            
        }
        
    });
    
    /**
     * Carrega js para onde buscar (radios)
     */
    $('#todo_curriculo_facet').bind('click', function () {
        
        $('input:checkbox', '#boxCamposEspecificosFacet').attr('checked' , false);
        
    });
    
    
    /**
     * Como funciona
     */
    var boxComoFunciona = $('#boxComoFunciona');
    boxComoFunciona.prevAll().filter('#lnk_como_funciona').unbind('click').bind('click', function () {
     
        boxComoFunciona.slideToggle();
        
        $('img', this).toggle();
        
        /**
         * Seta esconder por default a caixa como funciona
         */
        if ( $('#cfClosed').val().length == 0 ) {
            xajax.config.waitCursor = false; // remove cursor
            xajax_setCfClosed();
            xajax.config.waitCursor = true; // exibe cursor
        }
        
        
    });
    
}


/**
 * Carrega ajax para os links de troca de pagina
 * 
 * Pega parametros da propriedade href do link,
 * monta requisicao ajax e executa funcao de retorno
 *
 * A requisicao ? feita baseando-se no href do link
 */
function carregaJsPaginacao ()
{

    $('a', '.paginas, .pnPage').unbind('click').bind('click', function () {
        
        /**
         * Exibe imagem de ajax carregando
         */
        $('#centro').html($('.ajaxCarregando').html());

        /**
         * Configura e faz requisicao ajax
         */
        linkAjaxRequestUri(this);
        
    });
    
}

/**
 * Requisicao ajax para localidade
 * @return
 */
function ajaxLocalidade ()
{
 
    if ( document.getElementById('localidadeAlterada').value == 'true' ) {
       
        document.getElementById('localidadeAlterada').value = false;
        
        xajax_changeLocalidade( xajax.getFormValues( 'formBusca1' , true ) );
        
        $( '#localidade' ).html( $( 'div.ajaxCarregando' ).html() );
        
    }
    
}

/**
 * Esconde selects abertos de acordo com o alvo
 * @param alvo Recebe select(elemento div) para esconder
 * @return
 */
function hiddenSelect ( alvo )
{
    
    if ( !alvo ) {
        
        var alvo = 'div.comboBox > div[id^=comboBox]';
        
    }
    
    $(alvo).hide();

    /**
     * Executa ajax para localidade
     */
    ajaxLocalidade();

}

/**
 * Desmarca todos os checkboxes dentro do alvo
 * 
 * @param alvo Recebe elemento que contem os checks
 * @param context Utilizado para limitar a busca pelo ultimo campo(usado em localidade)
 * @param input Utilizado para atualizar o valor do input que controla a requisicao ajax(usado em localidade)
 * @return
 */
function uncheckAll ( alvo , context , input )
{
    
    if (alvo) {
        
        if ( context ) {
        
            if ( $( alvo , context ).length > 0 ) {
                
                var ultimo = $( alvo ).prevALL( '.ultimo' ).get(0);
                   
                if ( input ) {
                    
                    var val = (ultimo) ? !( /ultimo/.test( ultimo.className ) ) : true;
                    
                    $(input).val( val );
                    
                    $('.btn-Find').hide().filter('img').show();
                    
                }
                
            }
                        
        }
            
        $( 'input:checkbox' , alvo ).attr( {checked: false} );
        
    }
    
    return;
    
}

/**
 * Muda o valor do select unico
 * 
 * @param link Recebe o elemento clicado (link)
 * @return
 */
function changeSelectUnico ( link )
{

    if ( link ) {
        
        var selTit = $( link ).prevALL('.title').get(0);
        
        var input = $( selTit ).prevALL('input').get(0);
        
        input.value = document.getElementById( link.innerHTML ).innerHTML;
        
        selTit.innerHTML = link.innerHTML;
        
        /**
         * Corrige problema no IE
         */
        selTit.style.height = '1%';
        
        hiddenSelect();
        
    }
    
    return;
    
}

/**
 * Muda o valor do select multiplo
 * 
 * @param alvo Recebe o elemento div que contem os checks
 * @return
 */
function changeSelectMultiplo ( alvo )
{
    
    if ( alvo ) {
        
        var checks = $( 'input:checkbox' , alvo );
        
        var checks_sel = checks.filter(':checked');

        var checks_sel_not_cap = checks_sel.not('input[id*=_0]');
        
        var selTit = $( alvo ).prevALL('.title').get(0);
        
        if ( checks_sel_not_cap.length > 1 ) {
            
            if(alvo.id == 'comboBox3' || alvo.id == 'comboBox4'){
                selTit.innerHTML = checks_sel_not_cap.length + ' selecionadas';
            }
            else{
                selTit.innerHTML = checks_sel_not_cap.length + ' selecionados';
            }
            
        } else if ( checks_sel_not_cap.parent().text() ) {
            
            selTit.innerHTML = checks_sel_not_cap.parent().text();
            
        } else {
             
            selTit.innerHTML = 'Indiferente';
                
        }
        

        /**
         * Colore checks selecionados
         */
        if ( alvo.id == 'comboBox_areap' ) {
            
            /**
             * Descolore todos os checks
             */
            checks.nextAll('a').removeClass('selected');
            
            checks_sel.nextAll('a').addClass('selected');
        
        } else {

            /**
             * Descolore todos os checks
             */
            checks.parent().removeClass('selected');
            
            checks_sel.parent().addClass('selected');
            
        }
            
    }
    
    return;
    
}

function carregaJsComboBox ( alvo )
{
    
    if ( !alvo ) {
        
        return;
        
    }
    
    /**
     * Abre/fecha select ao clicar no comboBox
     */
    $( 'div[id^=comboBox]' , alvo ).parent().unbind('click').bind( 'click' , function (e) {

        if ( e.target.parentNode == this || e.target == this) {
            
            var comboBox = $( 'div[id^=comboBox]' , this );
            
            if ( !comboBox.css('display') || comboBox.css('display') == 'none' ) {
                
                hiddenSelect();
                
                comboBox.show();
            
            } else {
                
                comboBox.hide();
                
                ajaxLocalidade();
                
            }
            
        }
                
    });
    
    /**
     * Muda valor selecionado do select
     */
    $( 'ul li' , alvo ).unbind('click').bind( 'click' , function () {
        
        var comboBox = $(this).prevALL( 'div[id^=comboBox]' ).get(0);

        if ( $( this , comboBox ).length > 0 ) {

            if ( alvo == '#localidade' ) {
                
                /**
                 * Se o objeto estiver marcado como ultimo
                 * nao deve recarregar a localidade
                 * Portanto: localidade nao alterada(localidadeAlterada = false)
                 */
                localidadeAlterada = $('#localidadeAlterada');
                if ( localidadeAlterada.length > 0 ) {
    
                    if ( !( /ultimo/.test( comboBox.parentNode.className ) ) && localidadeAlterada.val() != 'true' ) {
                        
                        localidadeAlterada.val( true );
                    
                        $('.btn-Find').hide().filter('img').show();
                    
                    }
                    
                }
                
            }
            
            /**
             * Muda select multiplo ou unico
             */
            if ( $( 'input:checkbox, a' , this ).length > 0 ) {
                
                if ( $( 'input' , this ).length > 0 ) {
    
                    if ( alvo == '#localidade' ) {
                        
                        var objCheck = $( 'input' , this ).get(0);
                        
                        if ( objCheck.id.indexOf( '_0' ) > 0 ) {
                            
                            var id = objCheck.id.replace( '_0' , '_' );
        
                            check( '#' + id , objCheck.checked );
                            
                        } else {
                           
                            var id = ( '0' + objCheck.id.split( '_' ).reverse().join( '_' ) ).split( '_' ).reverse().join( '_' );
        
                            check( '#' + id , objCheck.checked );
                            
                        }
                        
                    }
                    
                    changeSelectMultiplo( comboBox );
                    
                } else {
                    
                    if ( /^comboBox_idioma/.test( comboBox.id ) ) {
                        
                        var valor = document.getElementById( $( 'a' , this ).get(0).innerHTML ).innerHTML;
                        
                        var niveis = $( 'input[id^=idiomaNivel_]' , comboBox.parentNode.parentNode );

                        if ( valor == '' || valor == '-1' ) {

                            check( niveis , false );
                            
                            niveis.attr( 'disabled' , true );
                            
                            check( niveis.get(2) , false ); // corrige problema ao desmarcar todos radios
                            
                            
                        } else {

                            niveis.attr( 'disabled' , false );
                            
                            if ( !( niveis.get(0).checked || niveis.get(1).checked || niveis.get(2).checked ) ) {
                                
                                check( niveis.get(0) , true );
                                
                            }
                            
                        }
                        
                    }
                    
                    changeSelectUnico( $( 'a' , this ).get(0) );
                    
                    return false; // cancela href(selects unicos)
                    
                }
            
            }
            
        }

    });
    
    /**
     * Botao OK
     */
    $( 'img.comboBoxBotao' , alvo ).unbind('click').bind( 'click' , function () {
        
        var comboBox = $(this).prevALL( 'div[id^=comboBox]' ).get(0);
        
        if ( $( this , comboBox ).length > 0 ) {
            
            hiddenSelect( comboBox );
        
        }
        
    });

    /**
     * Link desmarcar todos
     */
    $( 'a.desmarcar' , alvo ).unbind('click').bind( 'click' , function () {
        
        var comboBox = $(this).prevALL( 'div[id^=comboBox]' ).get(0);
        
        if ( $( this , comboBox ).length > 0 ) {
            
            if ( alvo == '#localidade') {
                
                uncheckAll( comboBox , '#boxLocalidade' , '#localidadeAlterada' );
                
            } else {
                
                uncheckAll( comboBox , '#boxFiltrosAvancados' );
                
            }
            
            changeSelectMultiplo( comboBox );
        
        }
        
        return false; // cancela href
        
    });
    
    
    $( 'a[id^=label_]' , alvo ).unbind('click').bind( 'click' , function () {
        
        var check_id = this.id.substr(this.id.indexOf('_') + 1);
        
        check( '#' + check_id);
        
    });
    

    return;
    
}


/**
 * Carrega js para localidade
 * 
 * @return
 */
function carregaJsLocalidade ()
{

    carregaJsComboBox( '#localidade' );
    
}


/**
 * Carrega js para filtros avancados
 * 
 * @return
 */
function carregaJsFiltrosAvancados ()
{
    
    carregaJsComboBox( '#boxFiltrosAvancados' );
    
    /**
     * Adicionar idioma
     */
    $( '#addIdioma' ).unbind( 'click' ).click( function () {
        
        var boxIdioma = $( $( '.box-idiomas' ).slice( -1 ) );
        
        var newBoxIdioma = boxIdioma.clone().appendTo( '#boxIdiomas' );
        
        var numBox = parseInt( newBoxIdioma.attr( 'id' ).substr( 10 ) ) + 1;

        newBoxIdioma.attr( 'id' , ( newBoxIdioma.attr( 'id' ).substr( 0 , 10 ) + numBox ) );
        
        var comboBox = $( newBoxIdioma.children().get(0) );
        
        newBoxIdioma.css('z-index' , ( parseInt( newBoxIdioma.css( 'z-index' ) ) - 1 ) );
        
        comboBox.css('z-index' , ( parseInt( comboBox.css( 'z-index' ) ) - 1 ) );
        
        comboBox.children().each( function ( ) {
            
            if ( this.type == 'hidden' ) {
                
                this.name = 'idioma[' + numBox + ']';
                
                this.id = 'idioma_' + numBox;
                
                this.value = '';
                
            } else if ( /title/.test( this.className ) ) {
                    
                this.innerHTML = 'Indiferente';
                    
            } else {
                
                this.id = this.id.substring( 0 , this.id.lastIndexOf('_') + 1 ) + numBox;
                
                $( 'a' , this ).each( function () {
                    
                    this.href = this.href.substring( 0 , this.href.indexOf('[') + 1 )
                              + numBox
                              + this.href.substring( this.href.indexOf(']') );
                              
                });
                
            }
             
            
        });
        
        var nivelIdioma = $( newBoxIdioma.children().get(1) );
        
        $( 'input' , nivelIdioma ).each( function ( ) {
            
            /**
             * Ate o ie 8 nao era possivel mudar os nomes de radios
             * dinamicamente por script.
             * O metodo abaixo recria o elemento radio com o novo nome.
             */
            if ( $.browser.msie && parseInt( $.browser.version ) < 8 ) {
                
                var nivel = this.id.substr( this.id.lastIndexOf('_') + 1 );
                
                var value = ( nivel == 'basico' ? '1' : ( nivel == 'intermediario' ? '2' : '3' ) );
                
                var radio = document.createElement('<input name="idiomaNivel[' + numBox + ']" type="radio" value="' + value + '" id="idiomaNivel_' + numBox + '_' + nivel + '" disabled="true" />');
                
                this.parentNode.insertBefore( radio , this );
                
                this.parentNode.removeChild( this );

            }
            
            this.name = 'idiomaNivel[' + numBox + ']';
            
            this.id = 'idiomaNivel_' + numBox + '_' + this.id.substr( this.id.lastIndexOf('_') + 1 );
            
            if ( this.checked ) {
                
                $( '#idiomaNivel_' + ( parseInt(this.id.substring( this.id.indexOf('_') + 1 , this.id.lastIndexOf('_') ) ) - 1 ) + this.id.substr( this.id.lastIndexOf('_') ) ).attr('checked', true); 
                
            }
            
            this.checked = false;
            
            this.disabled = true;
            
        });
        
        $( 'label' , nivelIdioma ).each( function ( i ) {
            
            var forId = $( this ).attr( 'for' );
            
            $( this ).attr( 'for' , 'idiomaNivel_' + numBox + '_' + forId.substr( forId.lastIndexOf('_') + 1 ) );
            
        })
        
        
        carregaJsComboBox( '#boxFiltrosAvancados' );
        
    });
    
}


function carregaJsPerfil ()
{   

    $("a[id^=aperfil_id]").unbind('click').bind('click', function () {
        
        perfil_id = this.id.split('_').reverse()[0];
        document.getElementById('perfil_id').value = perfil_id;
        
        
        $("span[id^=sperfil_id]").css('display', 'none');
        $("a[id^=aperfil_id]").css('display', 'inline');
        $("span[id^=barraPerfilId]").css('display', 'inline');
        
        
        spnPerfil = $('#sperfil_id_'+perfil_id).get(0);
        
        lnkPerfil = $('#aperfil_id_'+perfil_id).get(0);
        
        if ( lnkPerfil && spnPerfil ) {
        
            spnPerfil.style.display = 'inline';
            
            lnkPerfil.style.display = 'none';

            $('#selected_perfil').html(lnkPerfil.innerHTML);
        
        }
        
        
        
        xajax_carregaPerfilAreaNivel(xajax.getFormValues('formBusca1',true));

        
        if ( /^busca_area_nivel/.test(document.getElementById('tipoBusca').value) ) {
            
            ajaxC = $("div.ajaxCarregando").html();
        
            boxArea = document.getElementById('area');
            if (boxArea)
                $('.box-List-Area', boxArea).html(ajaxC);
        
            boxNivel = document.getElementById('nivel');
            if (boxNivel)
                $('.box-List-Level', boxNivel).html(ajaxC);

        }
        
        return false; //cancela href
        
    });
}


function carregaJsAreaNivel ( alvo )
{
    
    if ( !alvo ) {
        
        var alvo = '#area, #nivel';
        
    }
 
    /**
     * Muda valor selecionado do select
     */
    $( 'div.areaItem li, div.box-List-Level li' , alvo ).unbind('click').bind( 'click' , function () {
        
        var checks = $( 'input:checkbox' , alvo );
        
        var checks_sel = checks.filter(':checked');
        
        /**
         * Descolore todos os checks
         */
        checks.parent().removeClass('selected');
        
        /**
         * Colore checks selecionados
         */
        checks_sel.parent().addClass('selected');

    });
    
    
    $( 'a[id^=label_]' , alvo ).unbind('click').bind( 'click' , function () {
        
        var check_id = this.id.substr(this.id.indexOf('_') + 1);
        
        check( '#' + check_id);
        
    });
    
}


/**
 * Esconde selects(multiplos e unicos) a partir do click
 * em qualquer lugar da pagina com excessao do click no
 * proprio select(comboBox)
 */
function hiddenSelectsByClick ()
{
    
    $(document).unbind('click').bind('click', function (e) {

        var comboBox = $( e.target ).prevALL( '.comboBox' ).get();

        if ( comboBox.length == 0 || e.target == document ) {
            
            hiddenSelect();
            
        }
            
    });
    
}


/**
 * Carrega js para o formulario
 * @return
 */
function carregaJsFormulario ()
{
    
    /**
     * Carrega js para perfil
     */
    carregaJsPerfil();
        
    /**
     * Carrega js para area e nivel (se houver)
     */
    if ( $('#areaNivel').length > 0 ) {
        
        carregaJsAreaNivel();
        
    }

    /**
     * Carrega js para localidade
     */
    carregaJsLocalidade();
    
    
    carregaJsFiltrosAvancados();
    
    
    /**
     * Campo onde buscar
     */
    $('input[name=onde_buscar]').unbind('click').bind('click', function () {

        /**
         * Mostra ou esconde os campos especificos do formulario
         */
        if ( this.value == 'todo_curriculo') {
			
			$('#boxCamposEspecificos').slideUp("", function(){ $('#boxLabelEspecif').removeClass("box-Especif"); });
            
        } else {
			
			$('#boxLabelEspecif').addClass("box-Especif");

            $('#boxCamposEspecificos').slideDown();
        
        }
        
    });
    
    
    $('#boxCamposEspecificos li > input:first-child').bind('click', function () {
        
        $('input:checkbox', this.parentNode.parentNode).attr('checked', this.checked);
        
    });
    

    /**
     * Carrega js para campos especificos (checks)
     */
    var chks_esp = $('.box-Especif-input');
    chks_esp.unbind('click').bind('click', function () {
        
        var chk = this.checked;
        var box = this.parentNode.parentNode;
        
        if ( ! chk ) {
            
            $.each( chks_esp.get() , function (i) {
                
                if ( this.parentNode.parentNode.id == box.id ) {
                    
                    if ( this.checked ) {
    
                        chk = this.checked
                        
                    }
                    
                }

            });
            
        }

        $('#' + box.id.substring( box.id.indexOf('_') + 1 )).attr('checked' , chk);
        
    });
    
    /**
     * Carrega js para onde buscar (radios)
     */
    var checkboxes = $('input:checkbox', '#boxCamposEspecificos');
    checkboxes.bind('click', function () {
        
        var chk = this.checked;
        
        if ( ! chk ) {
            
            $.each( checkboxes.get() , function (i) {
                
                if ( this.checked ) {

                    chk = this.checked
                    
                }

            });
            
        }

        if ( chk ) {
            
            $('#campos_especificos').attr('checked' , true);
            
        }
        
    });
    
    /**
     * Carrega js para onde buscar (radios)
     */
    $('#todo_curriculo').bind('click', function () {
        
        $('input:checkbox', '#boxCamposEspecificos').attr('checked' , false);
        
    });
    
}

/**
 * Carrega js para os resultados
 * @return
 */
function carregaJsResultado () 
{
    
    /**
     * Carrega js de Paginacao
     */
    carregaJsPaginacao();
    
    /**
     * Carrega js de Facets
     */
    carregaJsFacets();
    
    
    /**
     * Botao detalhar curriculo
     * Para os curriculos ja visualizados
     */
    $('.btVisualizar').unbind('click').bind('click', function () {
        
        var curId = this.id.match(/(\d+)/)[1];
        
        var curDesc = $('#boxDetalhesCv_' + curId);
        
        if ( curDesc.css('display') == 'none' || !curDesc.css('display') ) {
            
            curDesc.css('display', 'block');
            
        } else {
            
            curDesc.css('display', 'none');
            
        }
        
    });

    $('#btnRefazerBusca').unbind('click').bind('click', function () {
        
        /**
         * Direciona para o topo da pagina
         */
        window.location.replace('#topoBusca');
        
    });
    
    /**
     * Direciona para o topo do resultado
     */
    window.location.replace('#topoResultado');
	//location.href = location.href+"#topoResultado";
	//document.title = "O maior site de an?ncios de empregos e curr?culos do Brasil - Catho Online";

    /**
     * Help
     */
    $('.tooltip').tooltip({ 
        track: true, 
        delay: 0, 
        showURL: false,
        extraClass: "boxTooltip", 
        fixPNG: true,
        left: -96,
        top: -82,
        bodyHandler: function() { 
            return this.tooltipText; 
        }
    });
    

	$("a.verMais").click(function() {
		$(this).next("span.completo").css({"display": "inline"});
		$(this).prev("span.resumo").css({"display": "none"});
		$(this).css({"display": "none"});
		
	}); 
	
	$("a.icoLupa").hover(function() {
		$(this).children(".exp").css({"display": "block"});
		}, function() {
		$(this).children(".exp").css({"display": "none"});
	}); 
    
}

/**
 * Aplica JS na leitura da pagina
 */
$(document).ready(function(){

    /**
     * Esconde todos os selects ao clicar na pagina
     */
    hiddenSelectsByClick();

    /**
     * Carrega js para o formulario
     */
    carregaJsFormulario();

    /**
     * Carrega js dos resultados (divs de curriculos)
     */
    if ( $('#resultado').length > 0 ) {
        
        carregaJsResultado();
    
    } else {

        /**
         * Help
         */
        $('.tooltip').tooltip({ 
            track: true, 
            delay: 0, 
            showURL: false,
            extraClass: "boxTooltip", 
            fixPNG: true,
            left: -96,
            top: -82,
            bodyHandler: function() { 
                return this.tooltipText; 
            }
        });
        
    }
});

