alias = 'document.Form1.';
var vHoje = new Date();

function AnoConclusaoPrevisao(combo,valor){
	var vAno = 2030
	var pObjeto = eval(alias+combo);
	if (valor==3){
		vAno = vHoje.getFullYear();
	}
	
	pObjeto.options.length = 0;
	var opcao = document.createElement("option");
	opcao.value='';
	opcao.text='- Selecione -';
	pObjeto.options.add(opcao);
	
	for (i=vAno;i>1969;i--){
		var opcao = document.createElement("option");
		opcao.value=i;
		opcao.text=i;
		pObjeto.options.add(opcao);
	}
}

function CalculaIdade(Data){
	var arrData  = Data.split("/");
	var vAnoHoje = parseInt(vHoje.getFullYear());
	var vMesHoje = parseInt(vHoje.getMonth()+1);
	var vDiaHoje = parseInt(vHoje.getDate());
	var vAnoData = parseInt(arrData[2]);
	var vMesData = parseInt(arrData[1]);
	var vDiaData = parseInt(arrData[0]);
	var vStrCalc = (vAnoHoje - vAnoData) - 1;

	if (vMesHoje > vMesData){
		vStrCalc = vStrCalc + 1;
	}
	else if (vMesHoje = vMesData){
		if (vDiaHoje >= vDiaData){
			vStrCalc = vStrCalc + 1;
		}
	}
	
	document.Form1.txtIdade.value = vStrCalc;
}

function ValidaMes(valor){
	var meses = new Array("01","02","03","04","05","06","07","08","09","10","11","12");
	var lEncontrou = 0;
	for (i=0;i<meses.length;i++){
		if (meses[i]==valor){
			lEncontrou = 1;
			break;
			}
	}
	
	if (lEncontrou==0){
		return false;
	}
	else{
		return true;
	}
}

function VerificaCPF(){
	var cpf = eval(alias+'txtCpf').value;

	if (cpf==''){
		alert('Preencha o CPF para consultar');
	}
	if (!ValidaCPF(cpf)){
		alert('CPF Inválido');
	}
	else{
		document.Form1.txtEspecial.value = '2';
		document.Form1.submit();
		}
}

function ValidaSenha(){
	var senha1 = eval(alias+'txtSenha').value;
	var senha3 = eval(alias+'txtSenha3').value;

	if (senha1!=senha3){
		alert('Código de Acesso Inválido!');
	}
	else{
		document.Form1.txtEspecial.value = '3';
		document.Form1.submit();
	}
}

function ValidaCombo(Combo){
	if (Combo.options.length>0){
		for(x=0;x<Combo.options.length;x++){
			if (Combo.options[x].selected){
				if (Combo.options[x].text.indexOf('-Selecione-') > -1){
					return false
				}
				else{
					return true
				}	
			}
		}
	}
	else{
		return false
	}
}

function ValidaDados(){
	StrError = '';
	for (i=0;i<document.Form1.elements.length;i++){
		if (document.Form1.elements[i].alt!=''){
			if (document.Form1.elements[i].type=='text' || document.Form1.elements[i].type=='select'){
				if (document.Form1.elements[i].value==''){
					StrError = StrError + '\n- '+document.Form1.elements[i].alt;
				}
			}
		}
	}
	
	if (!ValidaCPF(eval(alias+'txtCpf').value)){
		StrError = StrError + '\n- CPF Inválido';
	}
	if (eval(alias+'txtCNH').value!=''){
		if (!ValidaCombo(eval(alias+'ddlCategoriaCNH'))){
			StrError = StrError + '\n- Categoria CNH';
		}
	}
	if (ValidaCombo(eval(alias+'ddlCategoriaCNH'))){
		if (eval(alias+'txtCNH').value==''){
			StrError = StrError + '\n- No. CNH';
		}
	}
	if (eval(alias+'ddlEstadoCivil').value==''){
		StrError = StrError + '\n- Estado Civil';
	}
	if (eval(alias+'ddlPretensaoProfissional').value==''){
		StrError = StrError + '\n- Pretensão Profissional';
	}
    if (eval(alias+'ddlTrabalhouDeicmar').value=='S'){
		if (eval(alias+'txtPeriodoDeicmar').value==''){
			StrError = StrError + '\n- Período de Trabalho na Deicmar';
			}
		if (eval(alias+'txtCargoDeicmar').value==''){
			StrError = StrError + '\n- Último Cargo na Deicmar';
			}
		if (eval(alias+'txtChefiaDeicmar').value==''){
			StrError = StrError + '\n- Última Chefia na Deicmar';
			}
	}

	/* Graduação */
	if (eval(alias+'ddlEscolBasica').value!='1'){
		if (eval(alias+'ddlStatusEscolBasica').value==''){
			StrError = StrError + '\n- Status da Graduação Básica da Formação Acadêmica';
			}
	}
	if (eval(alias+'ddlEscolBasica').value=='4'){
		if (eval(alias+'ddlCursoEscolBasica').value=='' && eval(alias+'txtOutroCursoEscolBasica').value==''){
			StrError = StrError + '\n- Descrição do Outro Curso Superior Inválida';
		}
		if (eval(alias+'ddlAnoFormacaoEscolBasica').value==''){
			StrError = StrError + '\n- Ano de Conclusão para Formação Básica Concluída';
		}
		if (eval(alias+'ddlStatusEscolBasica').value=='3'){
			if (eval(alias+'ddlAnoFormacaoEscolBasica').value>vHoje.getFullYear()){
				StrError = StrError + '\n- Ano de Conclusão da Graduação Básica Maior que Ano Atual';
			}
		}
		else{
			if (eval(alias+'ddlAnoFormacaoEscolBasica').value<vHoje.getFullYear()){
				StrError = StrError + '\n- Ano de Conclusão da Graduação Básica Menor que Ano Atual';
			}
		}
	}	
	if (eval(alias+'txtInstEscolComplementar').value!='' || eval(alias+'txtCursoEscolComplementar').value!=''){
		if (eval(alias+'txtInstEscolComplementar').value==''){
			StrError = StrError + '\n- Instituição do Curso Formação Complementar Inválida';
		}
		if (eval(alias+'txtCursoEscolComplementar').value==''){
			StrError = StrError + '\n- Descrição do Curso Formação Complementar Inválida';
		}
		if (eval(alias+'ddlStatusEscolComplementar').value==''){
			StrError = StrError + '\n- Status da Graduação Complementar deve Ser Informada';
		}
		if (eval(alias+'ddlStatusEscolComplementar').value=='3'){
			if (eval(alias+'ddlAnoFormacaoEscolComplementar').value==''){
				StrError = StrError + '\n- Ano de Conclusão para Formação Complementar Concluída';
			}
			else{
				eval(alias+'ddlAnoFormacaoEscolComplementar').options[0].value = '0';
			}
		}
		if (eval(alias+'ddlStatusEscolComplementar').value=='3'){
			if (eval(alias+'ddlAnoFormacaoEscolComplementar').value>vHoje.getFullYear()){
				StrError = StrError + '\n- Ano de Conclusão da Graduação Básica Maior que Ano Atual';
			}
		}
		else{
			if (eval(alias+'ddlAnoFormacaoEscolComplementar').value<vHoje.getFullYear()){
				StrError = StrError + '\n- Ano de Conclusão da Graduação Básica Menor que Ano Atual';
			}
		}
	}

	/* Idiomas */
	if (eval(alias+'ddlIdioma1').value!=''){
		if (eval(alias+'ddlNivelIdioma1').value==''){
			StrError = StrError + '\n- Selecione Nível do Idioma Informado';
		}
	else{
		eval(alias+'ddlNivelIdioma1').options[0].value = '';
		}
	}
	if (eval(alias+'ddlIdioma2').value!=''){
		if (eval(alias+'ddlNivelIdioma2').value==''){
			StrError = StrError + '\n- Selecione Nível do Idioma Informado!';
		}
	else{
		eval(alias+'ddlNivelIdioma2').options[0].value = '';
		}
	}
	if (eval(alias+'ddlIdioma3').value!=''){
		if (eval(alias+'ddlNivelIdioma3').value==''){
			StrError = StrError + '\n- Selecione Nível do Idioma Informado!';
		}
	else{
		eval(alias+'ddlNivelIdioma3').options[0].value = '';
		}
	}

	/* Últimas Empresas */
	// Se ddlPretensaoProfissional = 3, valida o restante abaixo
	if (eval(alias+'ddlPretensaoProfissional').value=='3'){
		if (eval(alias+'txtEmpresa1').value==''){
			if (eval(alias+'txtEmpresa2').value!='' || eval(alias+'txtEmpresa3').value!='' || eval(alias+'txtEmpresa4').value!=''){
				StrError = StrError + '\n- Utilize os campos para os Empregos Anteriores do Último para os Primeiros na Ordem!';
			}
		}
		if (eval(alias+'txtEmpresa1').value==''){
			StrError = StrError + '\n- Informe Empresa Último/Atual Emprego!';
		}
		if (eval(alias+'txtEmpresa1').value!=''){
			if (eval(alias+'txtPeriodoDe1').value=='' || eval(alias+'txtCargo1').value=='' || eval(alias+'txtAtribuicoes1').value==''){
				StrError = StrError + '\n- Informe Período, Cargo e Atribuições para o Último/Atual Emprego!';
			}
			if (!ValidaFormatoDataDetalhado('01/'+eval(alias+'txtPeriodoDe1').value)){
				StrError = StrError + '\n- Mês/Ano Inicial do Período de Trabalho do Último/Atual Emprego Inválido!';
			}
			if (eval(alias+'txtEmailEmpresa1').value!=''){
				if (!ValidaEmail(eval(alias+'txtEmailEmpresa1'))){
					StrError = StrError + '\n- E-mail do Último/Atual Emprego Inválido';
				}
			}
		}
		if (eval(alias+'txtPeriodoAte1').value!=''){
			if (!ValidaFormatoDataDetalhado('01/'+eval(alias+'txtPeriodoAte1').value)){
				StrError = StrError + '\n- Mês/Ano Final do Periodo de Trabalho do Último/Atual Emprego Inválido!';
			}
			if (eval(alias+'txtUltimoSalario1').value=='' || eval(alias+'txtMotivoSaida1').value==''){
				StrError = StrError + '\n- Último Salário e Motivo de Saida do Último/Atual Emprego Inválido';
			}
		}
		if (eval(alias+'txtEmpresa2').value!=''){
			if (eval(alias+'txtPeriodoDe2').value=='' || eval(alias+'txtCargo2').value=='' || eval(alias+'txtAtribuicoes2').value==''){
				StrError = StrError + '\n- Informe Período, Cargo e Atribuições para o Penúltimo Emprego!';
			}
			if (!ValidaFormatoDataDetalhado('01/'+eval(alias+'txtPeriodoDe2').value)){
				StrError = StrError + '\n- Mês/Ano Inicial do Período de Trabalho do Penúltimo Emprego Inválido!';
			}
			if (eval(alias+'txtEmailEmpresa2').value!=''){
				if (!ValidaEmail(eval(alias+'txtEmailEmpresa2'))){
					StrError = StrError + '\n- E-mail do Penúltimo Emprego Inválido';
				}
			}
			if (eval(alias+'txtPeriodoAte2').value!=''){
				if (!ValidaFormatoDataDetalhado('01/'+eval(alias+'txtPeriodoAte2').value)){
					StrError = StrError + '\n- Mês/Ano Final do Periodo de Trabalho do Penúltimo Emprego Inválido!';
				}
				if (eval(alias+'txtUltimoSalario2').value=='' || eval(alias+'txtMotivoSaida2').value==''){
					StrError = StrError + '\n- Último Salário e Motivo de Saida do Penúltimo Emprego Inválido';
				}
			}
		}
		if (eval(alias+'txtEmpresa3').value!=''){
			if (eval(alias+'txtPeriodoDe3').value=='' || eval(alias+'txtCargo3').value=='' || eval(alias+'txtAtribuicoes3').value==''){
				StrError = StrError + '\n- Informe Período, Cargo e Atribuições para o Antepenúltimo Emprego!';
			}
			if (!ValidaFormatoDataDetalhado('01/'+eval(alias+'txtPeriodoDe3').value)){
				StrError = StrError + '\n- Mês/Ano Inicial do Período de Trabalho do Antepenúltimo Emprego Inválido!';
			}
			if (eval(alias+'txtEmailEmpresa3').value!=''){
				if (!ValidaEmail(eval(alias+'txtEmailEmpresa3'))){
					StrError = StrError + '\n- E-mail do Antepenúltimo Emprego Inválido';
				}
			}
			if (eval(alias+'txtPeriodoAte3').value!=''){
				if (!ValidaFormatoDataDetalhado('01/'+eval(alias+'txtPeriodoAte3').value)){
					StrError = StrError + '\n- Mês/Ano Final do Periodo de Trabalho do Antepenúltimo Emprego Inválido!';
				}
				if (eval(alias+'txtUltimoSalario3').value=='' || eval(alias+'txtMotivoSaida3').value==''){
					StrError = StrError + '\n- Último Salário e Motivo de Saida do Antepenúltimo Emprego Inválido';
				}
			}
		}
		if (eval(alias+'txtEmpresa4').value!=''){
			if (eval(alias+'txtPeriodoDe4').value=='' || eval(alias+'txtCargo4').value=='' || eval(alias+'txtAtribuicoes4').value==''){
				StrError = StrError + '\n- Informe Período, Cargo e Atribuições para o Anterior Emprego!';
			}
			if (!ValidaFormatoDataDetalhado('01/'+eval(alias+'txtPeriodoDe4').value)){
				StrError = StrError + '\n- Mês/Ano Inicial do Período de Trabalho do Anterior Emprego Inválido!';
			}
			if (eval(alias+'txtEmailEmpresa4').value!=''){
				if (!ValidaEmail(eval(alias+'txtEmailEmpresa4'))){
					StrError = StrError + '\n- E-mail do Anterior Emprego Inválido';
				}
			}
			if (eval(alias+'txtPeriodoAte4').value!=''){
				if (!ValidaFormatoDataDetalhado('01/'+eval(alias+'txtPeriodoAte4').value)){
					StrError = StrError + '\n- Mês/Ano Final do Periodo de Trabalho do Anterior Emprego Inválido!';
				}
				if (eval(alias+'txtUltimoSalario4').value=='' || eval(alias+'txtMotivoSaida4').value==''){
					StrError = StrError + '\n- Último Salário e Motivo de Saida do Anterior Emprego Inválido';
				}
			}
		}
	}

	/* Anos Incompatíveis com Datas de Nascimento */
    Ano = eval(alias+'txtDtNascimento').value.substr(6,4);        
	if (eval(alias+'ddlAnoFormacaoEscolBasica').value!='' && eval(alias+'ddlAnoFormacaoEscolBasica').value <= Ano){
		StrError = StrError + '\n- Ano de Conclusão da Formação Acadêmica Básica Incompatível com Data Nascimento';
	}
	if (eval(alias+'ddlAnoFormacaoEscolComplementar').value!='' && eval(alias+'ddlAnoFormacaoEscolComplementar').value <= Ano){
		StrError = StrError + '\n- Ano de Conclusão da Formação Acadêmica Complementar Incompatível com Data Nascimento';
	}
	if (eval(alias+'ddlAnoConclusao1').value!='' && eval(alias+'ddlAnoConclusao1').value <= Ano){
		StrError = StrError + '\n- Ano de Conclusão do 1o. Curso Complementar Incompatível com Data Nascimento';
	}
	if (eval(alias+'ddlAnoConclusao2').value!='' && eval(alias+'ddlAnoConclusao2').value <= Ano){
		StrError = StrError + '\n- Ano de Conclusão do 2o. Curso Complementar Incompatível com Data Nascimento';
	}
	if (eval(alias+'ddlAnoConclusao3').value!='' && eval(alias+'ddlAnoConclusao3').value <= Ano){
		StrError = StrError + '\n- Ano de Conclusão do 3o. Curso Complementar Incompatível com Data Nascimento';
	}
	if (eval(alias+'ddlAnoConclusao3').value!='' && eval(alias+'ddlAnoConclusao3').value <= Ano){
		StrError = StrError + '\n- Ano de Conclusão do 3o. Curso Complementar Incompatível com Data Nascimento';
	}
	
	if (eval(alias+'ddlPretensaoProfissional').value=='3'){
		if (eval(alias+'txtEmpresa1').value!=''){		
			if (eval(alias+'txtPeriodoDe1').value!='' && eval(alias+'txtPeriodoDe1').value.substr(3,4) <= Ano){
				StrError = StrError + '\n- Ano de Entrada do Ultimo/Atual Emprego Incompatível com Data Nascimento';
			}
			if (!ValidaMes(eval(alias+'txtPeriodoDe1').value.substr(0,2))){
				StrError = StrError + '\n- Mês de Entrada do Ultimo/Atual Emprego Inválido';
			}
		}
		
		if (eval(alias+'txtEmpresa2').value!=''){
			if (eval(alias+'txtPeriodoDe2').value!='' && eval(alias+'txtPeriodoDe2').value.substr(3,4) <= Ano){
				StrError = StrError + '\n- Ano de Entrada do Penultimo Emprego Incompatível com Data Nascimento';
			}
			if (!ValidaMes(eval(alias+'txtPeriodoDe2').value.substr(0,2))){
				StrError = StrError + '\n- Mês de Entrada do Penultimo Emprego Inválido';
			}
		}
		
		if (eval(alias+'txtEmpresa3').value!=''){
			if (eval(alias+'txtPeriodoDe3').value!='' && eval(alias+'txtPeriodoDe3').value.substr(3,4) <= Ano){
				StrError = StrError + '\n- Ano de Entrada do Ante-Penultimo Emprego Incompatível com Data Nascimento';
			}
			if (!ValidaMes(eval(alias+'txtPeriodoDe3').value.substr(0,2))){
				StrError = StrError + '\n- Mês de Entrada do Ante-Penultimo Emprego Inválido';
			}
		}
		
		if (eval(alias+'txtEmpresa4').value!=''){
			if (eval(alias+'txtPeriodoDe4').value!='' && eval(alias+'txtPeriodoDe4').value.substr(3,4) <= Ano){
				StrError = StrError + '\n- Ano de Entrada do Emprego Anterior Incompatível com Data Nascimento';
			}
			if (!ValidaMes(eval(alias+'txtPeriodoDe4').value.substr(0,2))){
				StrError = StrError + '\n- Mês de Entrada do Emprego Anterior Inválido';
			}
		}
		
		if (eval(alias+'txtEmpresa1').value!=''){
			if (eval(alias+'txtPeriodoAte1').value!='' && eval(alias+'txtPeriodoAte1').value.substr(3,4) <= Ano){
				StrError = StrError + '\n- Ano de Saida do Ultimo Emprego Incompatível com Data Nascimento';
			}		
			if (eval(alias+'txtPeriodoAte1').value!=''){
				if (!ValidaMes(eval(alias+'txtPeriodoAte1').value.substr(0,2))){
					StrError = StrError + '\n- Mês de Saida do Ultimo/Atual Emprego Inválido';
				}
			}
		}
		
		if (eval(alias+'txtEmpresa2').value!=''){
			if (eval(alias+'txtPeriodoAte2').value!='' && eval(alias+'txtPeriodoAte2').value.substr(3,4) <= Ano){
				StrError = StrError + '\n- Ano de Saida do Penultimo Emprego Incompatível com Data Nascimento';
			}
			if (!ValidaMes(eval(alias+'txtPeriodoAte2').value.substr(0,2))){
				StrError = StrError + '\n- Mês de Saida do Penultimo Emprego Inválido';
			}
		}
		
		if (eval(alias+'txtEmpresa3').value!=''){
			if (eval(alias+'txtPeriodoAte3').value!='' && eval(alias+'txtPeriodoAte3').value.substr(3,4) <= Ano){
				StrError = StrError + '\n- Ano de Saida do Ante-Penultimo Emprego Incompatível com Data Nascimento';
			}
			if (!ValidaMes(eval(alias+'txtPeriodoAte3').value.substr(0,2))){
				StrError = StrError + '\n- Mês de Saida do Ante-Penultimo Emprego Inválido';
			}
		}
		
		if (eval(alias+'txtEmpresa4').value!=''){
			if (eval(alias+'txtPeriodoAte4').value!='' && eval(alias+'txtPeriodoAte4').value.substr(3,4) <= Ano){
				StrError = StrError + '\n- Ano de Saida do Emprego Anterior Incompatível com Data Nascimento';
			}
			if (!ValidaMes(eval(alias+'txtPeriodoAte4').value.substr(0,2))){
				StrError = StrError + '\n- Mês de Saida do Emprego Anterior Inválido';
			}
		}
	}

	/* Finaliza */
	if (StrError.length>0){
		alert('Os seguintes campos são obrigatórios:'+StrError);
	}else{
		document.Form1.txtEspecial.value = '1';
		document.Form1.submit();
	}
}
