$(document).ready(function () {
    /**
     * Métodos customizados
     */
    jQuery.validator.addMethod("contato", function(value,element) {
        $res = $("#EmpPessoa_telefone").val();
        $cel = $("#EmpPessoa_celular").val();

        if(!$res && !$cel) {
            return false;
        } else {
            return true;
        }
    }, "Informe ao menos um telefone para contato");

    jQuery.validator.addMethod("ano_conclusao",function(value,element,anos) {
       /* $anoInicio = $("#tb_form_academica_ano_inicio").val();
        $anoConclusao = $("#tb_form_academica_ano_conclusao").val();
        */

       $anoInicio = $(anos[0]).val();
       $anoConclusao = $(anos[1]).val();

        if($anoInicio && $anoConclusao)
            {
                if($anoConclusao < $anoInicio)
                    {
                        return false;
                    } else {
                        return true;
                    }
            }
       
            
    },"Ano de Conclus&atilde;o n&atilde;o pode ser menor que o ano de in&iacute;cio");


    $("#loginForm").validate({
        errorLabelContainer : $("div#loginFormError"),
        invalidHandler: function () {
            errodiv = $("div.yiierror").length;
            if(errodiv > 1)
                {
                    $("div.yiierror:first").remove();
                }
        },
        rules: {
            "LoginForm[username]" : "required",
            "LoginForm[password]" : "required"
        },
        messages: {
            "LoginForm[username]" : "E-Mail n&atilde;o pode estar em branco",
            "LoginForm[password]" : "CPF n&atilde;o pode estar em branco"
        }
    })

    /**
     * removendo campos gerados automaticamente pelo yii
     */

    $("#yttb_form_academica_status, #yttb_form_complementar_status").remove();

    $("#cadastroForm").validate({
        errorLabelContainer : $("div#cadastroFormError"),
        invalidHandler : function()
	{
            errodiv = $("div.yiierror").length;
            if(errodiv > 1)
                {
                    $("div.yiierror:first").remove();
                }
	    $('html, body').animate({scrollTop:110}, 'slow');
	},
        rules: {
            "EmpPessoa[nome]" : "required",
            "EmpPessoa[data_nascimento]" : "required",
            "EmpPessoa[estado_civil]" : "required",
            "EmpPessoa[uf_origem]" : "required",
			"EmpPessoa[cidade_origem]" : "required",
            "EmpPessoa[rg]" : "required",
            "EmpPessoa[orgao_emissor]" : "required",
            "EmpPessoa[ufrg]" : "required",
            "EmpPessoa[data_emissao]" : "required",
            "EmpPessoa[cpf]" : "required",
            "EmpPessoa[endereco]" : "required",
            "EmpPessoa[bairro]" : "required",
            "EmpPessoa[cidade]" : "required",
            "EmpPessoa[uf]" : "required",
            "EmpPessoa[cep]" : "required",
            "EmpPessoa[pais]" : "required",
            "EmpPessoa[telefone]" : "contato",
            "EmpPessoa[celular]" : "contato",
            "EmpPessoa[email]" : {
                "required" : true,
                "email" : true
            }
        },
        messages: {
            "EmpPessoa[nome]" : "Nome &eacute; um campo obrigat&oacute;rio",
            "EmpPessoa[data_nascimento]" : "Data de Nascimento &eacute; um campo obrigat&oacute;rio",
            "EmpPessoa[estado_civil]" : "Informe seu estado civil",
            "EmpPessoa[uf_origem]" : "Estado &eacute; um campo obrigat&oacute;rio",
			"EmpPessoa[cidade_origem]" : "Natual de &eacute; um campo obrigat&oacute;rio",
            "EmpPessoa[rg]" : "RG &eacute; um campo obrigat&oacute;rio",
            "EmpPessoa[orgao_emissor]" : "&Oacute;rg&atilde;o Emissor &eacute; um campo obrigat&oacute;rio",
            "EmpPessoa[ufrg]" : "Estado de Emiss&atilde;o do RG &eacute; um campo obrigat&oacute;rio",
            "EmpPessoa[data_emissao]" : "Data de Emiss&atilde;o &eacute; um campo obrigat&oacute;rio",
            "EmpPessoa[cpf]" : "CPF &eacute; um campo obrigat&oacute;rio",
            "EmpPessoa[endereco]" : "Endere&ccedil;o &eacute; um campo obrigat&oacute;rio",
            "EmpPessoa[bairro]" : "Bairro &eacute; um campo obrigat&oacute;rio",
            "EmpPessoa[cidade]" : "Cidade &eacute; um campo obrigat&oacute;rio",
            "EmpPessoa[uf]" : "Estado &eacute; um campo obrigat&oacute;rio",
            "EmpPessoa[cep]" : "CEP &eacute; um campo obrigat&oacute;rio",
            "EmpPessoa[pais]" : "Pais &eacute; um campo obrigat&oacute;rio",
            "EmpPessoa[email]" : {
                "required" : "E-mail &eacute; um campo obrigat&oacute;rio",
                "email" : "Por favor, informe um email v&aacute;lido"
            }
        }
    })

    $("#formacaoAcadForm").validate({
        errorLabelContainer : $("div#formacaoAcadFormError"),
        invalidHandler : function()
	{
            errodiv = $("div.yiierror").length;
            if(errodiv > 1)
                {
                    $("div.yiierror:first").remove();
                }
	    $('html, body').animate({scrollTop:110}, 'slow');
	},
        rules: {
            "EmpFormacademica[escolaridade]" : "required",
            "EmpFormacademica[instituicao]" : "required",
            "EmpFormacademica[id_curso]" : "required",
            "EmpFormacademica[ano_inicio]" : {
                "required" : true,
                "range" : [1900,2100]
            },
            "EmpFormacademica[ano_conclusao]" : {
                "required" : true,
                "ano_conclusao" : ["#EmpFormacademica_ano_inicio","#EmpFormacademica_ano_conclusao"],
                "range" : [1900,2100]
            }
        },
        messages: {
            "EmpFormacademica[escolaridade]" : "Escolaridade &eacute; um campo obrigat&oacute;rio",
            "EmpFormacademica[instituicao]" : "Institui&ccedil;&atilde;o &eacute; um campo obrigat&oacute;rio",
            "EmpFormacademica[id_curso]" : "Curso &eacute; um campo obrigat&oacute;rio",
            "EmpFormacademica[ano_inicio]" : {
                "required" : "Ano de In&iacute;cio &eacute; um campo obrigat&oacute;rio",
                "range" : "Por favor, informe um ano de in&iacute;cio v&aacute;lido"
            },
            "EmpFormacademica[ano_conclusao]" : {
                "required" : "Ano de conclus&aacute;o &eacute; um campo obrigat&oacute;rio",
                "range" : "Por favor, informe um ano de conclus&atilde;o v&aacute;lido"
            }
        }
    })

    $("#compForm").validate({
        errorLabelContainer : $("div#formacaoAcadFormError"),
        invalidHandler : function()
	{
	    $('html, body').animate({scrollTop:110}, 'slow');
            errodiv = $("div.yiierror").length;
            if(errodiv > 1)
                {
                    $("div.yiierror:first").remove();
                }
	},
        rules: {
            "EmpFormcomplementar[instituicao]" : "required",
            "EmpFormcomplementar[curso]" : "required",
            "EmpFormcomplementar[carga_horaria]" : "required",
			"EmpFormcomplementar[mes_inicio]" : "required",
            "EmpFormcomplementar[ano_inicio]" : {
				"required" : true,
                "range" : [1900,2100]
			},
			"EmpFormcomplementar[mes_conclusao]" : "required",
            "EmpFormcomplementar[ano_conclusao]" : {
                "required" : true,
                "ano_conclusao" : ["#EmpFormcomplementar_ano_inicio","#EmpFormcomplementar_ano_conclusao"],
                "range" : [1900,2100]
            }
        },
        messages: {
            "EmpFormcomplementar[instituicao]" : "Institui&ccedil;&atilde;o &eacute; um campo obrigat&oacute;rio",
            "EmpFormcomplementar[curso]" : "Curso &eacute; um campo obrigat&oacute;rio",
            "EmpFormcomplementarr[carga_horaria]" : "Carga Hor&aacute;ria &eacute; um campo obrigat&oacute;rio",
			"EmpFormcomplementar[mes_inicio]" : "M&ecirc;s de In&iacute;cio &eacute; um campo obrigat&oacute;rio",
            "EmpFormcomplementar[ano_inicio]" : "Ano de In&iacute;cio &eacute; um campo obrigat&oacute;rio",
			"EmpFormcomplementar[mes_conclusao]" : "M&ecirc;s de conclus&aacute;o &eacute; um campo obrigat&oacute;rio",
            "EmpFormcomplementar[ano_conclusao]" : {
                "required" : "Ano de conclus&aacute;o &eacute; um campo obrigat&oacute;rio",
                "range" : "Por favor, informe um ano de conclus&atilde;o v&aacute;lido"
            }
        }
    })

    $("#atuacaoForm").validate({
        errorLabelContainer:    $("div#atuacaoProfError"),
        invalidHandler : function()
	{
	    $('html, body').animate({scrollTop:110}, 'slow');
            errodiv = $("div.yiierror").length;
            if(errodiv > 1)
                {
                    $("div.yiierror:first").remove();
                }
	},
        rules: {
            "EmpAtuacaoprofissional[empresa]" : "required",
            "EmpAtuacaoprofissional[cargo]" : "required",
            "EmpAtuacaoprofissional[carga_horaria]" : {
                "required" : true,
                "number" : true
            },
            "EmpAtuacaoprofissional[ano_inicio]" : {
                "required" : true,
                "range": [1900,2100]
            },

            "EmpAtuacaoprofissional[telefone]" : "required"
        },
        messages: {
            "EmpAtuacaoprofissional[empresa]" : "Empresa &eacute; um campo obrigat&oacute;rio",
            "EmpAtuacaoprofissional[cargo]" : "Cargo &eacute; um campo obrigat&oacute;rio",
            "EmpAtuacaoprofissional[carga_horaria]" : {
                "required" : "Carga Hor&aacute;ria &eacute; um campo obrigat&oacute;rio",
                "number" : "Carga Hor&aacute;ria deve ser um n&uacute;mero"
            },
            "EmpAtuacaoprofissional[ano_inicio]" : {
                "required" : "Ano de In&iacute;cio &eacute; um campo obrigat&oacute;rio",
                "range" : "Por Favor, informe um ano de in&iacute;cio v&aacute;lido"
            },

            "EmpAtuacaoprofissional[telefone]" : "Telefone da Empresa &eacute; um campo obrigat&oacute;rio"
        }
    })

    

    $("#frmContato").validate({
        errorLabelContainer:    $("div#contatoError"),
        invalidHandler : function()
	{
	    $('html, body').animate({scrollTop:110}, 'slow');
            errodiv = $("div.yiierror").length;
            if(errodiv > 1)
                {
                    $("div.yiierror:first").remove();
                }
               
	},
        rules: {
            'tb_mensagens[nome]' : 'required',
            'tb_mensagens[email]' : {
                'required' : true,
                'email' : true
            },
            'tb_mensagens[assunto]' : 'required',
            'tb_mensagens[mensagem]' : 'required'
        },
        messages: {
            'tb_mensagens[nome]' : 'Nome &eacute; um campo obrigat&oacute;rio',
            'tb_mensagens[email]' : {
                'required' : 'E-mail &eacute; um campo obrigat&oacute;rio',
                'email' : 'Por favor, informe um E-mail v&aacute;lido'
            },
            'tb_mensagens[assunto]' : 'Assunto &eacute; um campo obrigat&oacute;rio',
            'tb_mensagens[mensagem]' : 'Mensagem &eacute; um campo obrigat&oacute;rio'
        }
    })
})


