var formatoData = 'd/m/Y';
var mensagemErro = '<div class="msg_erro"><h4>Campos em destaque contém valores inválidos ou sem preenchimento (*)</h4>';
var mensagemErroEmail = '<div class="msg_erro"><h4>E-mail inválido</h4>';
var exp = 0;
var htmlExp = "";
var edu = 0;
var htmlEdu = "";
var idi = 0;
var htmlIdi = "";

/* Validacao de formulario */
(function($) {
    $.fn.validate = function(args) {
        var options = $.extend({}, $.fn.validate.defaults, args);
        var jQ = $;
        return this.each(function() {
            jQ(this).submit(function() {
                var valid=true;
                var msg;
                var label;
                var qtdCar;
                var campo1;
                var campo2;
                jQ(this).find(".validate").each(function() {
                    el = jQ(this);
                    var filtro = false;
                    if('filtro_' == el[0].name.substr(0, 7)) {
                        filtro = true;
                    }
                    qtdCar = $('#'+el[0].name).prev("span").prev("label").text().length;
                    label = $('#'+el[0].name).prev("span").prev("label").text().substr(0, qtdCar-6);
                    el[0].setAttribute("style", "color: #000000");
                    if(el.hasClass("required")) {
                        if(!valid_required(el.val())) {
                            msg = '"' + label + '" obrigatório';
                            add_error(el,filtro,msg);
                            valid=false;
                        }else{
                            sub_error(el);
                            if(el.hasClass("required") && el.hasClass("email")) {
                                if(!valid_email(el.val())) {
                                    msg = '"' + label + '" é invalido';
                                    add_error(el,filtro,msg);
                                    valid=false;
                                }else{
                                    sub_error(el);
                                }
                            }
                            if(el.hasClass("required") && el.hasClass("date")) {
                                if(!valid_date(el.val(), formatoData)) {
                                    msg = '"' + label + '" é invalido';
                                    add_error(el,filtro,msg);
                                    valid=false;
                                }else if(el.hasClass("birthday")){
                                    if(!valid_date_birthday(el.val())){
                                        msg = '"' + label + '" é invalido';
                                        add_error(el,filtro,msg);
                                        valid=false;
                                    }
                                }else{
                                    sub_error(el);
                                }
                            }
                            if(el.hasClass("required") &&  el.hasClass("number")) {
                                if(!valid_number(el.val())) {
                                    msg = '"' + label + '" é invalido';
                                    add_error(el,filtro,msg);
                                    valid=false;
                                }else{
                                    sub_error(el);
                                }
                            }
                            if(el.hasClass("required") &&  el.hasClass("cpf")) {
                                if(!valid_cpf(el.val())){
                                    msg = '"' + label + '" é invalido';
                                    add_error(el,filtro,msg);
                                    valid=false;
                                }else{
                                    sub_error(el);
                                }
                            }
                            if(el.hasClass("required") &&  el.hasClass("cnpj")) {
                                if(!valid_cnpj(el.val())){
                                    msg = '"' + label + '" é invalido';
                                    add_error(el,filtro,msg);
                                    valid=false;
                                }else{
                                    sub_error(el);
                                }
                            }
                            if(el.hasClass("required") &&  el.hasClass("aceite")) {
                                if(!valid_checked(el[0].name)) {
                                    msg = 'Você não concordou com os termos apresentados';
                                    add_error(el,filtro,msg);
                                    valid=false;
                                }
                            }
                            if(el.hasClass("required") &&  el.hasClass("primary")) {
                                campo1 = el.val();
                            }
                            if(el.hasClass("required") &&  el.hasClass("second")) {
                                campo2 = el.val();
                                if(!valid_senha(campo1, campo2)){
                                    msg = 'Senhas se diferem';
                                    add_error(el,filtro,msg);
                                    valid=false;
                                }else{
                                    sub_error(el);
                                }
                            }
                        }
                    }
                });
                if(valid == false) {
                    $("#mensagem_erro").html(mensagemErro);
                    $("#mensagem_erro").attr("style", "color:#FF0000; font-weight:bold; font-size:16px; display: block");
                    $('html, body').animate({
                        scrollTop: $(".error").offset().top
                    }, 1500);
                }
                return valid;
            });
        });
    };
    function sub_error(el) {
        $('#erro-'+el[0].name).html('');
    }
    function add_error(el,filtro,msg) {
        if(!filtro) {
            $('#erro-'+el[0].name).html(msg);
            el[0].setAttribute("style", "border: 1px solid red !important; color: #FF0000 !important; -moz-border-radius: 3px 3px 3px 3px !important");
        }
    }
    function valid_email(email) {
        var email_pattern  = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/;
        if(email.match(email_pattern)) return true;
        if(email == '') {
            return false;
        }
        return false;
    }
    function valid_number(number) {
        var number_pattern = /^([0-9\s])+$/;
        if(number.match(number_pattern)) {
            return true;
        }
        if(number == '') {
            return true;
        }
        return false;
    }
    function valid_required(val) {
        val = $.trim(val);
        if(val.length>0) {
            return true;
        }else{
            return false;
        }
    }
    function valid_checked(id) {
        if( $('#'+id).is(":checked") == true ){
            return true;
        }else{
            return false;
        }
    }
    function valid_date(date_passed, date_format, birthday) {
        var date_pattern;
        if(date_format == "m/d/Y") date_pattern  = /(0[1-9]|1[012])+\/(0[1-9]|[12][0-9]|3[01])+\/(19|20)\d\d/;
        if(date_format == "m-d-Y") date_pattern  = /(0[1-9]|1[012])+\/(0[1-9]|[12][0-9]|3[01])+\/(19|20)\d\d/;
        if(date_format == "d/m/Y") date_pattern  = /(0[1-9]|[12][0-9]|3[01])+\/(0[1-9]|1[012])+\/(19|20)\d\d/;
        if(date_format == "d-m-Y") date_pattern  = /(0[1-9]|[12][0-9]|3[01])+\/(0[1-9]|1[012])+\/(19|20)\d\d/;
        if(date_passed.match(date_pattern)) return true;
        if(date_passed == '') {
            return true;
        }
        return false;
    }
    function valid_date_birthday(date_passed) {
        var data = new Date();
        var txtData = date_passed;
        if(Date.parse(data)>Date.parse(txtData.split("/").reverse().join("/"))){
            return true;
        }else{
            return false;
        }
    }
    function valid_senha(campo1,campo2) {
        if(campo1 == campo2){
            return true;
        }else{
            return false;
        }
    }
    function valid_cpf(cpf) {
        if ( cpf != '' ) {
            var soma;
            var multiplicador;
            var dig1 = 0;
            var dig2 = 0;
            var verifica;
            var ExpReg = /^(\d{3}).(\d{3}).(\d{3})-(\d{2})$/;
            if ( cpf.search(ExpReg) == -1 ) {
                return false;
            }
            cpf = cpf.replace("\.","");
            cpf = cpf.replace("\.","");
            cpf = cpf.replace("-","");
            if(cpf.match("11111111111")!=null) {
                return false
            } else if(cpf.match("22222222222")!=null) {
                return false
            } else if(cpf.match("33333333333")!=null) {
                return false
            } else if(cpf.match("44444444444")!=null) {
                return false;
            } else if(cpf.match("55555555555")!=null) {
                return false;
            } else if(cpf.match("66666666666")!=null) {
                return false;
            } else if(cpf.match("77777777777")!=null) {
                return false;
            } else if(cpf.match("88888888888")!=null) {
                return false;
            } else if(cpf.match("99999999999")!=null) {
                return false;
            }
            verifica = cpf.match("00000000000");
            if ( verifica == null ) {
                soma = 0;
                multiplicador = 10;
                for ( i = 0; i < 9; i++ ) {
                    soma += parseInt(cpf.substr(i,1) * multiplicador);
                    multiplicador--;
                }
                dig1 = parseInt(11 - (soma % 11));
                if ( dig1 == 11 || dig1 == 10 )
                    dig1 = 0;
                soma = 0;
                multiplicador = 11;
                for ( i = 0; i < 10; i++ ) {
                    soma += parseInt(cpf.substr(i,1) * multiplicador);
                    multiplicador--;
                }
                dig2 = parseInt(11 - (soma % 11));
                if ( dig2 == 11 || dig2 == 10 )
                    dig2 = 0;
                if ( !( ( dig1 == parseInt(cpf.substr(9,1)) ) && ( dig2 == parseInt(cpf.substr(10,1)) ) ) ) {
                    return false;
                }
            }
            else {
                return false;
            }
            return true;
        }
    }
    function valid_cnpj(valor) {
        valor = valor.replace("\.","");
        valor = valor.replace("\.","");
        valor = valor.replace(".","");
        valor = valor.replace("/","");
        valor = valor.replace("-","");
        var erro = false;
        if ( valor != '' ) {
            if ( valor.length != 14 )
                erro = true;
            var numeros = valor.split('');
            var igual = true;
            for ( j = 1; j < 14; j++ ) {
                if ( numeros[j] != numeros[0] ) {
                    igual = false;
                    break;
                }
            }
            if ( igual )
                erro = true;
            var soma = 0;
            var fator = 5;
            for ( j = 0; j < 12 ; j++ ) {
                soma += fator * numeros[j];
                fator--;
                if ( fator == 1 )
                    fator = 9;
            }
            var resultado = soma % 11;
            if ( resultado == 1 || resultado == 0 ) {
                if ( numeros[12] != 0 )
                    erro = true;
            }
            else {
                if ( numeros[12] != 11 - resultado )
                    erro = true;
            }
            soma = 0;
            fator = 6;
            for ( j = 0; j < 13 ; j++ ) {
                soma += fator * numeros[j];
                fator--;
                if ( fator == 1 )
                    fator=9;
            }
            resultado = soma%11;
            if ( resultado == 1 || resultado == 0 ) {
                if ( numeros[13] != 0 )
                    erro = true;
            }
            else {
                if ( numeros[13] != 11 - resultado )
                    erro = true;
            }
            if ( erro == true ) {
                return false;
            }
            return true;
        }
    }
})($);

/**
 * ENVIA VOTO PARA A ENQUETE
 */
function votaEnquete(formEnquete){
    var pk = 0;
    var urlPadrao = URL_BASE+"index/ajax.votaenquete";
    var form = document.getElementById(formEnquete);
    for(i=0;i<form.length;i++){
        if(form[i].type == 'radio'){
            if(form[i].checked == true)
                pk = form[i].value;
        }
    }
    $.post(urlPadrao, {
        'pk':pk,
        'enquete':document.getElementById('enqueteId').value
    }, function(data) {
        $("#opcoesEnquete").html(data);
        $("#opcoesEnquete").removeClass('enquete');
        $("#opcoesEnquete").addClass('enquete_result');
    });
}

/*
 * BUSCA ENQUETE ATIVA
 */
function buscaEnquete(){
    jQuery.post(URL_BASE+"index/ajax.buscaenquete", {
        }, function(data) {
            return $('.box_enquete').html(data);
        });
}

$(document).ready(function(){

    $('html,body').keypress(function(evento){
        if($('#boxAceiteBack').css("display") != "none"){
            if(evento.keyCode == 27){
                $('#boxAceiteBack').fadeOut('slow');
                $('#divAceite').fadeOut('slow');
            }
        }
    });

    $('#boxAceiteBack').live('click', function() {
        $('#boxAceiteBack').fadeOut('slow');
        $('#divAceite').fadeOut('slow');
        return false;
    })

    $('a.close-box-aceite').live('click', function() {
        $('#boxAceiteBack').fadeOut('slow');
        $('#divAceite').fadeOut('slow');
        return false;
    })

    $('#mostraDicas').click(function(){
        $('#listaNotDicas').show();
        $('#listaNotGerais').hide();
        $('#listaNotGerais').hide();
        $('.box1 h2').addClass('ativo');
        $('.box2 h2').removeClass('ativo');
    });
    $('#mostraGerais').click(function(){
        $('#listaNotGerais').show();
        $('#listaNotDicas').hide();
        $('.box2 h2').addClass('ativo');
        $('.box1 h2').removeClass('ativo');
    });
    $('#cadNews').click(function(){
        var validate = true;
        if($('#nomeNews').val() == "" || $('#nomeNews').val() == "Digite o seu nome"){
            $("#nomeNews").attr("style", "border: 1px solid #D83A3A !important; color: #D83A3A !important; -moz-border-radius: 3px 3px 3px 3px !important");
            $('#retCadNews').addClass("msg_erro");
            $('#retCadNews').html("<h4>(*)Preenchimento obrigatório.</h4>");
            validate = false;
        }else{
            $("#nomeNews").attr("style", "color: #000000");
        }
        if($('#emailNews').val() == "" || $('#emailNews').val() == "Digite o seu e-mail"){
            $("#emailNews").attr("style", "border: 1px solid #D83A3A !important; color: #D83A3A !important; -moz-border-radius: 3px 3px 3px 3px !important");
            $('#retCadNews').addClass("msg_erro");
            $('#retCadNews').html("<h4>(*)Preenchimento obrigatório.</h4>");
            validate = false;
        }else{
            if(!validaEmail($('#emailNews').val())){
                $("#emailNews").attr("style", "border: 1px solid #D83A3A !important; color: #D83A3A !important; -moz-border-radius: 3px 3px 3px 3px !important");
                $('#retCadNews').addClass("msg_erro");
                $('#retCadNews').html("<h4>E-mail inválido.</h4>");
                validate = false;
            }else{
                $('#retCadNews').removeClass("msg_erro");
                $("#emailNews").attr("style", "color: #000000");
            }
        }
        if(validate == false){
            return false;
        }else{
            $('#retCadNews').html('<img src="'+URL_BASE+'src/img/base/ajax-loader.gif">');
            var url = LINK_BASE+"/index/ajax.cadastronews";
            jQuery.post(url, {
                nomeNews:$('#nomeNews').val(),
                emailNews:$('#emailNews').val()
            },
            function(data) {
                eval('data = '+data);
                if(data.ret == 'ok'){
                    $('#retCadNews').addClass("msg_sucesso");
                    $("#retCadNews").html(data.html);
                    $('#retCadNews').show();
                    $('#nomeNews').val('');
                    $('#emailNews').val('');
                }else{
                    $('#retCadNews').addClass("msg_erro");
                    $("#retCadNews").html(data.html);
                    $('#retCadNews').show();
                }
            });
        }
    });

    $('#loginRestrita').click(function(){
        var validate = true;
        if($('#email').val() == ""){
            $('#emailSpan').html("(*)E-mail é obrigatório!");
            validate = false;
        }else{
            if(!validaEmail($('#email').val())){
                $('#emailSpan').html("(*)E-mail inválido");
                validate = false;
            }else{
                $('#emailSpan').hide();
            }
        }
        if($('#senha').val() == ""){
            $('#senhaSpan').html("(*)Senha é obrigatório!");
            validate = false;
        }else{
            $('#senhaSpan').hide();
        }
        if(validate == false){
            return false;
        }else{
            $('#retLogin').html('<img src="'+URL_BASE+'src/img/base/ajax-loader.gif">');
            var url = LINK_BASE+"restrita/ajax.login";
            jQuery.post(url, {
                email:$('#email').val(),
                senha:$('#senha').val()
            },
            function(data) {
                eval('data = '+data);
                if(data.ret == 'ok'){
                    document.location.href = URL_BASE+"noticias/index/categoria/7";
                    return false;
                }
                if(data.ret == 'erro'){
                    $('#retLogin').html('<span class="ajuda alerta_erro" id="senhaSpan">'+data.html+'</span>');
                }
                if(data.ret == 'erro Unauthorized'){
                    $('#retLogin').html('<span class="ajuda alerta_erro" id="senhaSpan">Web Service não responde<br>tente mais tarde!</span>');
                }
                if(data.ret == 'aceite'){
                    $('#retLogin').html('Termo Aceite');
                    $('#boxAceiteBack').fadeIn('slow');
                    $('#divAceite').html(data.html);
                    $('#divAceite').fadeIn('slow');
                }
            });
        }
    });

    $('#add_experiencia').click(function(){
        var url = LINK_BASE+"/curriculo/ajax.experiencia";
        jQuery.post(url, {
            add: exp++
        },
        function(data) {
            if(data){
                htmlExp += data;
                $("#add_exp_view").html(htmlExp);
            }
        });
    });
    
    $('#add_curso').click(function(){
        var url = LINK_BASE+"/curriculo/ajax.educacao";
        jQuery.post(url, {
            add: edu++
        },
        function(data) {
            if(data){
                htmlEdu += data;
                $("#add_curso_view").html(htmlEdu);
            }
        });
    });

    $('#add_idioma').click(function(){
        var url = LINK_BASE+"/curriculo/ajax.idioma";
        jQuery.post(url, {
            add: idi++
        },
        function(data) {
            if(data){
                htmlIdi += data;
                $("#add_idi_view").html(htmlIdi);
            }
        });
    });

    $("#estado_fk").change(function(){
        $("#cidade_fk").html('<option value="" selected="selected">Aguarde...</option>');
        var url = LINK_BASE+"/curriculo/ajax.cidades";
        jQuery.post(url, {
            estado_fk: $("#estado_fk option:selected").val()
        },
        function(data) {
            if(data){
                $("#cidade_fk").html(data);
            }
        });
    });

    $("#btEsqueci").fancybox({
        'scrolling'	: 'no',
        'titleShow'	: false,
        'onClosed'	: function() {
            $("#msgRetEsqueci").hide();
        }
    });

    $("#formEsqueci").bind("submit", function() {
        if ($("#email_usuario").val().length < 1 || $("#email_usuario").val().length < 1 || $("#email_usuario").val().length < 1 || $("#email_usuario").val().length < 1) {
            $("#msgRetEsqueci").html('<p class="msg_erro"><span>&nbsp;</span> Preencha todos os campos obrigatórios (*)</p>');
            $("#msgRetEsqueci").show();
            $.fancybox.resize();
            return false;
        }else{
            if(!validaEmail($("#email_usuario").val())){
                $("#msgRetEsqueci").html('<p class="msg_erro"><span>&nbsp;</span> E-mail inválido!</p>');
                return false;
            }
            $("#msgRetEsqueci").hide();
            $.fancybox.showActivity();
            $.ajax({
                type   : "POST",
                cache  : false,
                url    : LINK_BASE+"esqueci",
                data   : $(this).serializeArray(),
                success: function(data) {
                    $("#formEsqueci")[0].reset();
                    $("#fancybox-loading").hide();
                    $("#msgRetEsqueci").html(data);
                    $("#msgRetEsqueci").show();
                }
            });
            return false;
        }
    });

    $("#btAlterar").fancybox({
        'scrolling'	: 'no',
        'titleShow'	: false,
        'onClosed'	: function() {
            $("#msgRetEsqueci").hide();
        }
    });

    $("#formAlterar").bind("submit", function() {
        if ($("#senha_atual").val().length < 1 || $("#nova_senha").val().length < 1 || $("#nova_senha_confirma").val().length < 1) {
            $("#msgRetAlterar").html('<p class="msg_erro"><span>&nbsp;</span> Preencha todos os campos obrigatórios (*)</p>');
            $("#msgRetAlterar").show();
            $.fancybox.resize();
            return false;
        }else{
            if($("#nova_senha").val() != $("#nova_senha_confirma").val()){
                $("#msgRetAlterar").html('<p class="msg_erro"><span>&nbsp;</span> As senhas se diferem!</p>');
                return false;
            }
            $("#msgRetAlterar").hide();
            $.fancybox.showActivity();
            $.ajax({
                type   : "POST",
                cache  : false,
                url    : LINK_BASE+"index/ajax.alterasenha",
                data   : $(this).serializeArray(),
                success: function(data) {
                    $("#formAlterar")[0].reset();
                    $("#fancybox-loading").hide();
                    $("#msgRetAlterar").html(data);
                    $("#msgRetAlterar").show();
                }
            });
            return false;
        }
    });

});

function validaEmail(email) {
    if(email == '') {
        return false;
    }else{
        var email_pattern  = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/;
        if(email.match(email_pattern)) return true;
        return false;
    }
}

function limparPadrao(campo) {
    if (campo.value == campo.defaultValue) {
        campo.value = "";
    }
}

function escreverPadrao(campo) {
    if (campo.value == "") {
        campo.value = campo.defaultValue;
    }
}

function somente_numero(campo){
    var digits="0123456789"
    var campo_temp
    for (var i=0;i<campo.value.length;i++){
        campo_temp=campo.value.substring(i,i+1)
        if (digits.indexOf(campo_temp)==-1){
            campo.value = campo.value.substring(0,i);
        }
    }
}

