// retorna o ano corrente
function retornaAnoCorrente() {
	var d = new Date();
	var curr_year = d.getFullYear();
	return curr_year;
}

// trim para strings
String.prototype.trim = function() {
	return this.replace(/^\s+|\s+$/g,"");
}

/* compara horas */
function comparaDataHoraMinSeg(date1,hora1,date2,hora2) {

	var data1Array = date1.split("/");
	var data2Array = date2.split("/");
	
	var hora1Array = hora1.split(":");
	var hora2Array = hora2.split(":");
	
	var data1 = new Date();
	var data2 = new Date();
	
	// atribui a data
	data1.setFullYear(data1Array[2],data1Array[1]-1,data1Array[0]);
	data2.setFullYear(data2Array[2],data2Array[1]-1,data2Array[0]);
	
	// atribui a hora
	data1.setHours(hora1Array[0],hora1Array[1],hora1Array[2]);
	data2.setHours(hora2Array[0],hora2Array[1],hora2Array[2]);
	
	if (data1 < data2) {
		return -1;
	} else if (data1 > data2) {
		return 1;
	} else {
		return 0;
	}	
	
}

/* funcao para comparar datas */
function RetornaArrayData(data) {
	var array_ret = new Array(3);
	b1=data.indexOf('/');
	b2=data.indexOf('/',b1+1);
	array_ret[0]=data.substring(0,b1)*1;  // dia eh o primeiro pedaco da string passada
	array_ret[1]=data.substring(b1+1,b2)*1;  // mes eh o segundo pedaco da string passada
	array_ret[2]=data.substring(b2+1,data.length)*1;
	return array_ret;
}
function AnoMesDia(data) {
	tmp_ar=RetornaArrayData(data);
	dia=tmp_ar[0];
	mes=tmp_ar[1];
	ano=tmp_ar[2];
	if (dia < 10) {
		dia = '0'+dia;
	}
	if (mes < 10) {
		mes = '0'+mes;
	}
	return(ano+'/'+mes+'/'+dia);
}
function comparaDatas(campo_data1,campo_data2) {
	var data1 = AnoMesDia(campo_data1);
	var data2 = AnoMesDia(campo_data2);
	if (data1 < data2) {
		return -1;
	} else if (data1 > data2) {
		return 1;
	} else {
		return 0;
	}
}

/* funcao para validar numeros */
function validaNumero(numero) {
	var reTipo = /^\d+$/;
	return reTipo.test(numero);
}

/* funcao para validar emails */
function validaEmail(email) {
	var reTipo = /^[\w-]+(\.[\w-]+)*@(([A-Za-z\d][A-Za-z\d-]{0,61}[A-Za-z\d]\.)+[A-Za-z]{2,6}|\[\d{1,3}(\.\d{1,3}){3}\])$/;
	return reTipo.test(email);
}

/* funcao para validar hora:min:seg */
function validaHoraMinSeg(horaMinSeg) {
	var reTipo = /^\d+:[0-5]\d:[0-5]\d$/;
	return reTipo.test(horaMinSeg);
}

/* funcao para validar hora:min em 24 horas */
function validaHoraMin24H(horaMin24H) {
	var reTipo = /^([0-1]\d|2[0-3]):[0-5]\d:[0-5]\d$/;
	return reTipo.test(horaMin24H);
}

/* funcao para validar datas dd/mm/aaaa */
function validaData(data) {
	var reTipo = /^((0[1-9]|[12]\d)\/(0[1-9]|1[0-2])|30\/(0[13-9]|1[0-2])|31\/(0[13578]|1[02]))\/\d{4}$/;
	return reTipo.test(data);
}

/* funcao para validar cpf somente com numeros */
function validaCPF(cpf) {
	erro = new String;
	if (cpf=="") { 
		alert("Por favor informe o CPF!");
		return false;
	}
	if (cpf.length < 11) { 
		alert("São necessários 11 dígitos para o CPF!");
		return false;
	}
	var nonNumbers = /\D/;
	if (nonNumbers.test(cpf)) {
		alert("Por favor utilize somente números para o preenchimento do CPF!");
		return false;
	}
	if (cpf == "00000000000" || cpf == "11111111111" || cpf == "22222222222" || cpf == "33333333333" || cpf == "44444444444" || cpf == "55555555555" || cpf == "66666666666" || cpf == "77777777777" || cpf == "88888888888" || cpf == "99999999999"){
		alert("O CPF informado é inválido!");
		return false;
	}
	var a = [];
	var b = new Number;
	var c = 11;
	for (i=0; i<11; i++) {
		a[i] = cpf.charAt(i);
		if (i < 9) b += (a[i] * --c);
	}
    if ((x = b % 11) < 2) {
    	a[9] = 0;
    } else {
    	a[9] = 11-x;
    }
    b = 0;
    c = 11;
    for (y=0; y<10; y++) {
    	b += (a[y] * c--);
    }
    if ((x = b % 11) < 2) {
    	a[10] = 0;
    } else {
    	a[10] = 11-x;
    }
    if ((cpf.charAt(9) != a[9]) || (cpf.charAt(10) != a[10])){
    	alert("O dígito verificador do CPF informado é inválido!");
    	return false;
    }
    return true;
}

/* valida numeros reais, com decimais separados por virgulas */
function validaMoeda(numero) { 
	var reMoeda = /^\d{1,3}(\.\d{3})*\,\d{2}$/;
	return reMoeda.test(numero);
}

/* validacao do cadastro de usuarios */
function executaValidacaoCadastroUsuario() {
	if (document.principal.opcao.value=="mostraPaginaPrincipal") {
		return true;
	}
	if (!validaCPF(document.principal.cpf.value)) {
		return false;
	}
	if (document.principal.email.value=="") {
		alert("Por favor preencha o e-mail!");
		return false;
	}
	if (!validaEmail(document.principal.email.value)) {
		alert("O e-mail informado está incorreto. Por favor corrija!");
		return false;
	}
	if (document.principal.confirmaEmail.value=="") {
		alert("Por favor confirme o e-mail!");
		return false;
	}
	if (!validaEmail(document.principal.confirmaEmail.value)) {
		alert("A confirmação do e-mail informada está incorreta. Por favor corrija!");
		return false;
	}
	if (document.principal.email.value!=document.principal.confirmaEmail.value) {
		alert("Os e-mails devem ser iguais!");
		return false;
	}
	if (document.principal.senha.value=="") {
		alert("Por favor preencha a senha!");
		return false;
	}
	if (document.principal.senha.value.length < 6) { 
		alert("São necessários pelo menos 6 dígitos para a senha!");
		return false;
	}
	if (document.principal.confirmaSenha.value=="") {
		alert("Por favor confirme a senha!");
		return false;
	}
	if (document.principal.senha.value!=document.principal.confirmaSenha.value) {
		alert("As senhas devem ser iguais!");
		return false;
	}
	
	// verifica se um dos campos do telefone fixo foi preenchido
	if (document.principal.telefoneDDD.value!="" || document.principal.telefone.value!="") {
		var telefoneFixoOK = true;
	} else {
		var telefoneFixoOK = false;
	}
	
	// verifica se um dos campos do celular foi preenchido
	if (document.principal.celularDDD.value!="" || document.principal.celular.value!="") {
		var celularOK = true;
	} else {
		var celularOK = false;
	}
	
	// avisa que um dos telefones deve ser preenchido
	if (telefoneFixoOK==false && celularOK==false) {
		alert("Pelo menos um telefone fixo ou celular deve ser informado!");
		return false;
	}

	/* verifica se um dos telefones foi preenchido */
	if (telefoneFixoOK == true) {
		if (!validaNumero(document.principal.telefoneDDD.value)) {
			alert("O DDD informado do telefone está incorreto. Por favor corrija!");
			return false;
		}
		if (!validaNumero(document.principal.telefone.value)) {
			alert("O número informado do telefone fixo está incorreto. Por favor corrija!");
			return false;
		}		 
	}
	
	/* verifica se precisa verificar o celular */
	if (celularOK == true) {
		if (!validaNumero(document.principal.celularDDD.value)) {
			alert("O DDD informado do celular está incorreto. Por favor corrija!");
			return false;
		}
		if (!validaNumero(document.principal.celular.value)) {
			alert("O número informado do celular está incorreto. Por favor corrija!");
			return false;
		}	
	}
	
	return true;
	
}

/* validacao dos dados pessoais do usuario */
function executaValidacaoDadosPessoais(nome,rg,rgOrgaoExpedidor,rgEstado,mae,pai,naturalCidade,naturalEstado,dataNascimento,senha,confirmaSenha,email,telefoneDDD,telefone,
	celular,celularDDD,endereco,bairro,cidade,cep) {
	if (nome=="") {
		alert("Por favor informe seu nome!");
		return false;
	}
	if (rg=="") {
		alert("Por favor informe seu RG!");
		return false;
	}
	if (rgOrgaoExpedidor=="") {
		alert("Por favor informe o órgão expedidor do seu RG!");
		return false;
	}
	if (rgEstado==" ") {
		alert("Por favor informe o estado do órgão expedidor do seu RG!");
		return false;
	}
	if (mae=="") {
		alert("Por favor informe o nome de sua mãe!");
		return false;
	}
	if (naturalCidade=="") {
		alert("Por favor informe a sua cidade natal!");
		return false;
	}
	if (naturalEstado==" ") {
		alert("Por favor informe o estado de sua cidade natal!");
		return false;
	}
	
	// senha
	if (senha=="") {
		alert("Por favor preencha a senha!");
		return false;
	}
	if (senha.length < 6) { 
		alert("São necessários pelo menos 6 dígitos para a senha!");
		return false;
	}
	if (confirmaSenha=="") {
		alert("Por favor confirme a senha!");
		return false;
	}
	if (senha!=confirmaSenha) {
		alert("As senhas devem ser iguais!");
		return false;
	}
	
	if (dataNascimento=="") {
		alert("Por favor informe sua data de nascimento!");
		return false;
	}		
	if (!validaData(dataNascimento)) {
		alert("A data de nascimento está incorreta! Por favor corrija!");
		return false;
	}
	if (email=="") {
		alert("Por favor preencha o e-mail!");
		return false;
	}
	if (!validaEmail(email)) {
		alert("O e-mail informado está incorreto. Por favor corrija!");
		return false;
	}
	
	// verifica se um dos campos do telefone fixo foi preenchido
	if (telefoneDDD!="" || telefone!="") {
		var telefoneFixoOK = true;
	} else {
		var telefoneFixoOK = false;
	}
	
	// verifica se um dos campos do celular foi preenchido
	if (celularDDD!="" || celular!="") {
		var celularOK = true;
	} else {
		var celularOK = false;
	}
	
	// avisa que um dos telefones deve ser preenchido
	if (telefoneFixoOK==false && celularOK==false) {
		alert("Pelo menos um telefone fixo ou celular deve ser informado!");
		return false;
	}

	/* verifica se um dos telefones foi preenchido */
	if (telefoneFixoOK == true) {
		if (!validaNumero(telefoneDDD)) {
			alert("O DDD informado do telefone está incorreto. Por favor corrija!");
			return false;
		}
		if (!validaNumero(telefone)) {
			alert("O número informado do telefone fixo está incorreto. Por favor corrija!");
			return false;
		}		 
	}
	
	/* verifica se precisa verificar o celular */
	if (celularOK == true) {
		if (!validaNumero(celularDDD)) {
			alert("O DDD informado do celular está incorreto. Por favor corrija!");
			return false;
		}
		if (!validaNumero(celular)) {
			alert("O número informado do celular está incorreto. Por favor corrija!");
			return false;
		}	
	}
	
	/* endereco */
	if (endereco=="") {
		alert("Por favor informe seu endereço!");
		return false;
	}
	/* bairro */
	if (bairro=="") {
		alert("Por favor informe seu bairro!");
		return false;
	}
	/* cidade */
	if (cidade=="") {
		alert("Por favor informe sua cidade!");
		return false;
	}
	/* cep */
	if (cep=="") {
		alert("Por favor informe seu CEP!");
		return false;
	}
	if (!validaNumero(cep)) {
		alert("O número informado do CEP está incorreto. Por favor corrija!");
		return false;
	}
	return true;
}
/* validacao dos dados pessoais de Trabalho do usuario */
function executaValidacaoDadosPessoaisTrabalho(empregador,endereco,bairro,cidade,cep,telefoneDDD,telefone){	
	/* verifica se pelo menos um campo foi preenchido antes de validar os dados */
	if ((empregador!="") || (endereco!="") || (bairro!="") || (cidade!="") || (cep!="") || (telefoneDDD!="") || (telefone!="")) {
		/* empregador */
		if (empregador=="") {
			alert("Por favor informe o nome de seu empregador!");
			return false;
		}
		/* endereco */
		if (endereco=="") {
			alert("Por favor informe o endereço!");
			return false;
		}
		/* bairro */
		if (bairro=="") {
			alert("Por favor informe o bairro!");
			return false;
		}
		/* cidade */
		if (cidade=="") {
			alert("Por favor informe a cidade!");
			return false;
		}
		/* cep */
		if (cep=="") {
			alert("Por favor informe o CEP!");
			return false;
		}
		if (!validaNumero(cep)) {
			alert("O número informado do CEP está incorreto. Por favor corrija!");
			return false;
		}
		/* telefone */
		if (telefoneDDD=="") {
			alert("Por favor preencha o DDD do telefone fixo!");	
			return false;
		}
		if (!validaNumero(telefoneDDD)) {
			alert("O DDD informado do telefone está incorreto. Por favor corrija!");
			return false;
		}
		if (telefone=="") {
			alert("Por favor preencha o número do telefone fixo!");
			return false;
		}
		if (!validaNumero(telefone)) {
			alert("O número informado do telefone fixo está incorreto. Por favor corrija!");
			return false;
		}		
		return true;
	/* se nada foi preenchido, retorna ok */
	} else {
		return true;
	}
}

/* validacao dos dados pessoais sobre a UNIFEI do usuario */
function executaValidacaoDadosPessoaisUNIFEI(alunoUNIFEI,anoConclusaoUNIFEI) {	
	/* verifica se e aluno unifei */
	if ((alunoUNIFEI=="1")) {
		/* ano conclusao */
		if (anoConclusaoUNIFEI=="") {
			alert("Por favor informe o ano de conclusão do seu último curso na UNIFEI!");
			return false;
		}
		if (!validaNumero(anoConclusaoUNIFEI)) {
			alert("O número informado no ano de conclusão está incorreto. Por favor corrija!");
			return false;
		}
		return true;
	/* se nada foi preenchido, retorna ok */
	} else {
		return true;
	}
}

/* esta funcao modifica o formulario de Dados Pessoais da UNIFEI quando se responde se é aluno da unifei */
function modificaFormularioDadosPessoaisUNIFEI() {
	/* senao zera os campos e desabilita-os */
	if (document.principal.alunoUNIFEI.value=="0") {
		document.principal.anoConclusaoUNIFEI.value="0";
		document.principal.anoConclusaoUNIFEI.disabled=true;			
	} else {
		document.principal.anoConclusaoUNIFEI.disabled=false;
		document.principal.anoConclusaoUNIFEI.value="";		
	}	
}

/* validacao dos dados pessoais sobre a Graduacao do usuario */
function executaValidacaoDadosPessoaisGraduacao(area0,licenciatura0,nomeCurso0,nomeInstituicao0,anoConclusao0,area1,licenciatura1,nomeCurso1,nomeInstituicao1,anoConclusao1,area2,licenciatura2,nomeCurso2,nomeInstituicao2,anoConclusao2) {
	if ((area0!= 0)||(licenciatura0!=0)||(nomeCurso0!="")||(nomeInstituicao0!="")||(anoConclusao0!="")){
		if (area0==0) {
			alert("Por favor informe o área do seu curso no campo 1");
			return false;
		}
		if (licenciatura0==0) {
			alert("Por favor informe a licenciatura do seu curso no campo 1");
			return false;
		}
		if (nomeCurso0=="") {
			alert("Por favor informe o nome do seu curso no campo 1");
			return false;
		}
		if (nomeInstituicao0=="") {
			alert("Por favor informe o nome da instituição que você fez seu curso no campo 1");
			return false;
		}
		if (anoConclusao0=="") {
			alert("Por favor informe o ano de conclusão do seu último curso no campo 1");
			return false;
		}
		if (!validaNumero(anoConclusao0)) {
			alert("O número informado no ano de conclusão está incorreto no campo 1. Por favor corrija!");
			return false;
		}
		if (anoConclusao0 > retornaAnoCorrente()) {
			alert("O ano de conclusão não pode ser maior do que o ano corrente no campo 1. Por favor corrija!");
			return false;
		}		
	}
	if ((area1!= 0)||(licenciatura1!=0)||(nomeCurso1!="")||(nomeInstituicao1!="")||(anoConclusao1!="")){
		if (area1==0) {
			alert("Por favor informe o área do seu curso no campo 2");
			return false;
		}
		if (licenciatura1==0) {
			alert("Por favor informe a licenciatura do seu curso no campo 2");
			return false;
		}
		if (nomeCurso1=="") {
			alert("Por favor informe o nome do seu curso no campo 2");
			return false;
		}
		if (nomeInstituicao1=="") {
			alert("Por favor informe o nome da instituição que você fez seu curso no campo 2");
			return false;
		}
		if (anoConclusao1=="") {
			alert("Por favor informe o ano de conclusão do seu último curso no campo 2");
			return false;
		}	
		if (!validaNumero(anoConclusao1)) {
			alert("O número informado no ano de conclusão está incorreto no campo 2. Por favor corrija!");
			return false;
		}
		if (anoConclusao1 > retornaAnoCorrente()) {
			alert("O ano de conclusão não pode ser maior do que o ano corrente no campo 2. Por favor corrija!");
			return false;
		}
	}
	if ((area2!= 0)||(licenciatura2!=0)||(nomeCurso2!="")||(nomeInstituicao2!="")||(anoConclusao2!="")){
		if (area2==0) {
			alert("Por favor informe o área do seu curso no campo 3");
			return false;
		}
		if (licenciatura2==0) {
			alert("Por favor informe a licenciatura do seu curso no campo 3");
			return false;
		}
		if (nomeCurso2=="") {
			alert("Por favor informe o nome do seu curso no campo 3");
			return false;
		}
		if (nomeInstituicao2=="") {
			alert("Por favor informe o nome da instituição que você fez seu curso no campo 3");
			return false;
		}
		if (anoConclusao2=="") {
			alert("Por favor informe o ano de conclusão do seu último curso no campo 3");
			return false;
		}	
		if (!validaNumero(anoConclusao2)) {
			alert("O número informado no ano de conclusão está incorreto no campo 3. Por favor corrija!");
			return false;
		}
		if (anoConclusao2 > retornaAnoCorrente()) {
			alert("O ano de conclusão não pode ser maior do que o ano corrente no campo 3. Por favor corrija!");
			return false;
		}
	}
	return true;
}

/* validacao dos dados pessoais sobre a Graduacao do usuario */
function executaValidacaoDadosPessoaisPG(area0,nomeCurso0,nomeInstituicao0,anoConclusao0,area1,nomeCurso1,nomeInstituicao1,anoConclusao1,area2,nomeCurso2,nomeInstituicao2,anoConclusao2) {
	if ((area0!= 0)||(nomeCurso0!="")||(nomeInstituicao0!="")||(anoConclusao0!="")){
		if (area0==0) {
			alert("Por favor informe o área do seu curso no campo 1");
			return false;
		}
		if (nomeCurso0=="") {
			alert("Por favor informe o nome do seu curso no campo 1");
			return false;
		}
		if (nomeInstituicao0=="") {
			alert("Por favor informe o nome da instituição que você fez seu curso no campo 1");
			return false;
		}
		if (anoConclusao0=="") {
			alert("Por favor informe o ano de conclusão do seu último curso no campo 1");
			return false;
		}
		if (!validaNumero(anoConclusao0)) {
			alert("O número informado no ano de conclusão está incorreto no campo 1. Por favor corrija!");
			return false;
		}
		if (anoConclusao0 > retornaAnoCorrente()) {
			alert("O ano de conclusão não pode ser maior do que o ano corrente no campo 1. Por favor corrija!");
			return false;
		}		
	}
	if ((area1!= 0)||(nomeCurso1!="")||(nomeInstituicao1!="")||(anoConclusao1!="")){
		if (area1==0) {
			alert("Por favor informe o área do seu curso no campo 2");
			return false;
		}
		if (nomeCurso1=="") {
			alert("Por favor informe o nome do seu curso no campo 2");
			return false;
		}
		if (nomeInstituicao1=="") {
			alert("Por favor informe o nome da instituição que você fez seu curso no campo 2");
			return false;
		}
		if (anoConclusao1=="") {
			alert("Por favor informe o ano de conclusão do seu último curso no campo 2");
			return false;
		}	
		if (!validaNumero(anoConclusao1)) {
			alert("O número informado no ano de conclusão está incorreto no campo 2. Por favor corrija!");
			return false;
		}
		if (anoConclusao1 > retornaAnoCorrente()) {
			alert("O ano de conclusão não pode ser maior do que o ano corrente no campo 2. Por favor corrija!");
			return false;
		}
	}
	if ((area2!= 0)||(nomeCurso2!="")||(nomeInstituicao2!="")||(anoConclusao2!="")){
		if (area2==0) {
			alert("Por favor informe o área do seu curso no campo 3");
			return false;
		}
		if (nomeCurso2=="") {
			alert("Por favor informe o nome do seu curso no campo 3");
			return false;
		}
		if (nomeInstituicao2=="") {
			alert("Por favor informe o nome da instituição que você fez seu curso no campo 3");
			return false;
		}
		if (anoConclusao2=="") {
			alert("Por favor informe o ano de conclusão do seu último curso no campo 3");
			return false;
		}
		if (!validaNumero(anoConclusao2)) {
			alert("O número informado no ano de conclusão está incorreto no campo 3. Por favor corrija!");
			return false;
		}
		if (anoConclusao2 > retornaAnoCorrente()) {
			alert("O ano de conclusão não pode ser maior do que o ano corrente no campo 3. Por favor corrija!");
			return false;
		}
	}
	return true;
}
/* validacao dos dados pessoais sobre a Graduacao do usuario */
function executaValidacaoDadosPessoaisCursoEAD(nomeCurso0,nomeInstituicao0,cargaHoraria0,anoConclusao0,nomeCurso1,nomeInstituicao1,cargaHoraria1,anoConclusao1,nomeCurso2,nomeInstituicao2,cargaHoraria2,anoConclusao2) {
	if ((nomeCurso0!="")||(nomeInstituicao0!="")||(cargaHoraria0!="")||(anoConclusao0!="")){
		if (nomeCurso0=="") {
			alert("Por favor informe o nome do seu curso no campo 1");
			return false;
		}
		if (nomeInstituicao0=="") {
			alert("Por favor informe o nome da instituição que você fez seu curso no campo 1");
			return false;
		}
		if (cargaHoraria0=="") {
			alert("Por favor informe a carga horária do seu último curso no campo 1");
			return false;
		}
		if (!validaNumero(cargaHoraria0)) {
			alert("O número informado na carga horária está incorreto no campo 1. Por favor corrija!");
			return false;
		}
		if (anoConclusao0=="") {
			alert("Por favor informe o ano de conclusão do seu último curso no campo 1");
			return false;
		}
		if (!validaNumero(anoConclusao0)) {
			alert("O número informado no ano de conclusão está incorreto no campo 1. Por favor corrija!");
			return false;
		}
		if (anoConclusao0 > retornaAnoCorrente()) {
			alert("O ano de conclusão não pode ser maior do que o ano corrente no campo 1. Por favor corrija!");
			return false;
		}
	}
	if ((nomeCurso1!="")||(nomeInstituicao1!="")||(cargaHoraria1!="")||(anoConclusao1!="")){
		if (nomeCurso1=="") {
			alert("Por favor informe o nome do seu curso no campo 2");
			return false;
		}
		if (nomeInstituicao1=="") {
			alert("Por favor informe o nome da instituição que você fez seu curso no campo 2");
			return false;
		}
		if (cargaHoraria1=="") {
			alert("Por favor informe a carga horária do seu último curso no campo 2");
			return false;
		}
		if (!validaNumero(cargaHoraria1)) {
			alert("O número informado na carga horária está incorreto no campo 2. Por favor corrija!");
			return false;
		}
		if (anoConclusao1=="") {
			alert("Por favor informe o ano de conclusão do seu último curso no campo 2");
			return false;
		}
		if (!validaNumero(anoConclusao1)) {
			alert("O número informado no ano de conclusão está incorreto no campo 2. Por favor corrija!");
			return false;
		}
		if (anoConclusao1 > retornaAnoCorrente()) {
			alert("O ano de conclusão não pode ser maior do que o ano corrente no campo 2. Por favor corrija!");
			return false;
		}
	}
	if ((nomeCurso2!="")||(nomeInstituicao2!="")||(cargaHoraria2!="")||(anoConclusao2!="")){
		if (nomeCurso2=="") {
			alert("Por favor informe o nome do seu curso no campo 3");
			return false;
		}
		if (nomeInstituicao2=="") {
			alert("Por favor informe o nome da instituição que você fez seu curso no campo 3");
			return false;
		}
		if (cargaHoraria2=="") {
			alert("Por favor informe a carga horária do seu último curso no campo 3");
			return false;
		}
		if (!validaNumero(cargaHoraria2)) {
			alert("O número informado na carga horária está incorreto no campo 3. Por favor corrija!");
			return false;
		}
		if (anoConclusao2=="") {
			alert("Por favor informe o ano de conclusão do seu último curso no campo 3");
			return false;
		}
		if (!validaNumero(anoConclusao2)) {
			alert("O número informado no ano de conclusão está incorreto no campo 3. Por favor corrija!");
			return false;
		}
		if (anoConclusao2 > retornaAnoCorrente()) {
			alert("O ano de conclusão não pode ser maior do que o ano corrente no campo 3. Por favor corrija!");
			return false;
		}
	}
	return true;
}

/* validacao dos dados pessoais sobre Docencia em EAD do usuario */
function executaValidacaoDadosPessoaisDocenciaEAD(nomeCurso0,nomeInstituicao0,anoInicio0,anoConclusao0,online0,nomeCurso1,nomeInstituicao1,anoInicio1,anoConclusao1,online1,nomeCurso2,nomeInstituicao2,anoInicio2,anoConclusao2,online2) {
	if ((nomeCurso0!="")||(nomeInstituicao0!="")||(anoInicio0!="")||(anoConclusao0!="")||(online0!=0)){
		if (nomeCurso0=="") {
			alert("Por favor informe o nome do seu curso no campo 1");
			return false;
		}
		if (nomeInstituicao0=="") {
			alert("Por favor informe o nome da instituição que você fez seu curso no campo 1");
			return false;
		}
		if (anoInicio0=="") {
			alert("Por favor informe o ano de inicio do seu último curso no campo 1");
			return false;
		}
		if (!validaNumero(anoInicio0)) {
			alert("O número informado na ano de inicio está incorreto no campo 1. Por favor corrija!");
			return false;
		}
		if (anoConclusao0=="") {
			alert("Por favor informe o ano de conclusão do seu último curso no campo 1");
			return false;
		}
		if (!validaNumero(anoConclusao0)) {
			alert("O número informado no ano de conclusão está incorreto no campo 1. Por favor corrija!");
			return false;
		}
		if (anoConclusao0 > retornaAnoCorrente()) {
			alert("O ano de conclusão não pode ser maior do que o ano corrente no campo 1. Por favor corrija!");
			return false;
		}
		if (anoConclusao0 < anoInicio0) {
			alert("O ano início deve ser igual ou inferior ao ano de conclusão para o campo 1!");
			return false;
		}
		if (online0==0) {
			alert("Por favor escolha uma opção na pergunta sobre curso online no campo 1");
			return false;
		}		
	}
	if ((nomeCurso1!="")||(nomeInstituicao1!="")||(anoInicio1!="")||(anoConclusao1!="")||(online1!=0)){
		if (nomeCurso1=="") {
			alert("Por favor informe o nome do seu curso no campo 2");
			return false;
		}
		if (nomeInstituicao1=="") {
			alert("Por favor informe o nome da instituição que você fez seu curso no campo 2");
			return false;
		}
		if (anoInicio1=="") {
			alert("Por favor informe a ano de inicio do seu último curso no campo 2");
			return false;
		}
		if (!validaNumero(anoInicio1)) {
			alert("O número informado na ano de inicio está incorreto no campo 2. Por favor corrija!");
			return false;
		}
		if (anoConclusao1=="") {
			alert("Por favor informe o ano de conclusão do seu último curso no campo 2");
			return false;
		}
		if (!validaNumero(anoConclusao1)) {
			alert("O número informado no ano de conclusão está incorreto no campo 2. Por favor corrija!");
			return false;
		}
		if (anoConclusao1 > retornaAnoCorrente()) {
			alert("O ano de conclusão não pode ser maior do que o ano corrente no campo 2. Por favor corrija!");
			return false;
		}
		if (anoConclusao1 < anoInicio1) {
			alert("O ano início deve ser igual ou inferior ao ano de conclusão para o campo 2!");
			return false;
		}
		if (online1==0) {
			alert("Por favor escolha uma opção na pergunta sobre curso online no campo 2");
			return false;
		}
	}
	if ((nomeCurso2!="")||(nomeInstituicao2!="")||(anoInicio2!="")||(anoConclusao2!="")||(online2!=0)){
		if (nomeCurso2=="") {
			alert("Por favor informe o nome do seu curso no campo 3");
			return false;
		}
		if (nomeInstituicao2=="") {
			alert("Por favor informe o nome da instituição que você fez seu curso no campo 3");
			return false;
		}
		if (anoInicio2=="") {
			alert("Por favor informe a ano de inicio do seu último curso no campo 3");
			return false;
		}
		if (!validaNumero(anoInicio2)) {
			alert("O número informado na ano de inicio está incorreto no campo 3. Por favor corrija!");
			return false;
		}
		if (anoConclusao2=="") {
			alert("Por favor informe o ano de conclusão do seu último curso no campo 3");
			return false;
		}
		if (!validaNumero(anoConclusao2)) {
			alert("O número informado no ano de conclusão está incorreto no campo 3. Por favor corrija!");
			return false;
		}
		if (anoConclusao2 > retornaAnoCorrente()) {
			alert("O ano de conclusão não pode ser maior do que o ano corrente no campo 3. Por favor corrija!");
			return false;
		}
		if (anoConclusao2 < anoInicio2) {
			alert("O ano início deve ser igual ou inferior ao ano de conclusão para o campo 2!");
			return false;
		}
		if (online2==0) {
			alert("Por favor escolha uma opção na pergunta sobre curso online no campo 3");
			return false;
		}
	}
	return true;
}

/*Função que valida os dados de Expericencia Profissional*/
function executaValidacaoDadosExperienciaProfissional(campoAtuacao0,cargo0,funcao0,situacao0,nomeInstituicao0,anoInicio0,anoConclusao0,campoAtuacao1,cargo1,funcao1,situacao1,nomeInstituicao1,anoInicio1,anoConclusao1,campoAtuacao2,cargo2,funcao2,situacao2,nomeInstituicao2,anoInicio2,anoConclusao2) {
	if((campoAtuacao0!=0)||(cargo0!=0)||(funcao0!=0)||(situacao0!=0)||(nomeInstituicao0!="")||(anoInicio0!="")||(anoConclusao0!="")) {
		if(campoAtuacao0==0) {
			alert("Por favor informe o campo de atuação de sua expêriencia profissional no campo 1");
			return false;
		}
		if(cargo0==0) {
			alert("Por favor informe o cargo de sua expêriencia profissional no campo 1");
			return false;
		}
		if(funcao0==0) {
			alert("Por favor informe a função de sua expêriencia profissional no campo 1");
			return false;
		}
		if(situacao0==0) {
			alert("Por favor informe a situação atual de sua expêriencia profissional no campo 1");
			return false;
		}
		if(nomeInstituicao0=="") {
			alert("Por favor informe o nome da instituição de sua expêriencia profissional no campo 1");
			return false;
		}
		if(anoInicio0=="") {
			alert("Por favor informe o ano de inicio de sua expêriencia profissional no campo 1");
			return false;
		}
		if(!validaNumero(anoInicio0)) {
			alert("O número informado no ano de inicio de sua experiencia profissional está incorreto no campo 1. Por favor corrija!");
			return false;
		}
		if(anoConclusao0=="") {
			alert("Por favor informe o ano de conclusao de sua expêriencia profissional no campo 1");
			return false;
		}
		if(!validaNumero(anoConclusao0)) {
			alert("O número informado no ano de conclusão de sua experiencia profissional está incorreto no campo 1. Por favor corrija!");
			return false;
		}
		if (anoConclusao0 > retornaAnoCorrente()) {
			alert("O ano de rescisão ou atual não pode ser maior do que o ano corrente no campo 1. Por favor corrija!");
			return false;
		}
		if (anoConclusao0 < anoInicio0) {
			alert("O ano início deve ser igual ou inferior ao ano de rescisão para o campo 1!");
			return false;
		}		
	}
	if((campoAtuacao1!=0)||(cargo1!=0)||(funcao1!=0)||(situacao1!=0)||(nomeInstituicao1!="")||(anoInicio1!="")||(anoConclusao1!="")) {
		if(campoAtuacao1==0) {
			alert("Por favor informe o campo de atuação de sua expêriencia profissional no campo 2");
			return false;
		}
		if(cargo1==0) {
			alert("Por favor informe o cargo de sua expêriencia profissional no campo 2");
			return false;
		}
		if(funcao1==0) {
			alert("Por favor informe a função de sua expêriencia profissional no campo 2");
			return false;
		}
		if(situacao1==0) {
			alert("Por favor informe a situação atual de sua expêriencia profissional no campo 2");
			return false;
		}
		if(nomeInstituicao1=="") {
			alert("Por favor informe o nome da instituição de sua expêriencia profissional no campo 2");
			return false;
		}
		if(anoInicio1=="") {
			alert("Por favor informe o ano de inicio de sua expêriencia profissional no campo2");
			return false;
		}
		if(!validaNumero(anoInicio1)) {
			alert("O número informado no ano de inicio de sua experiencia profissional está incorreto no campo2. Por favor corrija!");
			return false;
		}
		if(anoConclusao1=="") {
			alert("Por favor informe o ano de conclusao de sua expêriencia profissional no campo2");
			return false;
		}
		if(!validaNumero(anoConclusao1)) {
			alert("O número informado no ano de conclusão de sua experiencia profissional está incorreto no campo2. Por favor corrija!");
			return false;
		}
		if (anoConclusao1 > retornaAnoCorrente()) {
			alert("O ano de rescisão ou atual não pode ser maior do que o ano corrente no campo 2. Por favor corrija!");
			return false;
		}
		if (anoConclusao1 < anoInicio1) {
			alert("O ano início deve ser igual ou inferior ao ano de rescisão para o campo 2!");
			return false;
		}
	}
	if((campoAtuacao2!=0)||(cargo2!=0)||(funcao2!=0)||(situacao2!=0)||(nomeInstituicao2!="")||(anoInicio2!="")||(anoConclusao2!="")) {
		if(campoAtuacao2==0) {
			alert("Por favor informe o campo de atuação de sua expêriencia profissional no campo 3");
			return false;
		}
		if(cargo2==0) {
			alert("Por favor informe o cargo de sua expêriencia profissional no campo 3");
			return false;
		}
		if(funcao2==0) {
			alert("Por favor informe a função de sua expêriencia profissional no campo 3");
			return false;
		}
		if(situacao2==0) {
			alert("Por favor informe o cargo de sua expêriencia profissional no campo 3");
			return false;
		}
		if(nomeInstituicao2=="") {
			alert("Por favor informe o nome da instituição de sua expêriencia profissional no campo 3");
			return false;
		}
		if(anoInicio2=="") {
			alert("Por favor informe o ano de inicio de sua expêriencia profissional no campo 3");
			return false;
		}
		if(!validaNumero(anoInicio2)) {
			alert("O número informado no ano de inicio de sua experiencia profissional está incorreto no campo 3. Por favor corrija!");
			return false;
		}
		if(anoConclusao2=="") {
			alert("Por favor informe o ano de conclusao de sua expêriencia profissional no campo 3");
			return false;
		}
		if(!validaNumero(anoConclusao2)) {
			alert("O número informado no ano de conclusão de sua experiencia profissional está incorreto no campo 3. Por favor corrija!");
			return false;
		}
		if (anoConclusao2 > retornaAnoCorrente()) {
			alert("O ano de rescisão ou atual não pode ser maior do que o ano corrente no campo 3. Por favor corrija!");
			return false;
		}
		if (anoConclusao2 < anoInicio2) {
			alert("O ano início deve ser igual ou inferior ao ano de rescisão para o campo 3!");
			return false;
		}
	}
	return true;
}

function executaValidacaoDadosPolo(opcao,usuarioResponsavel,email,telefone,telefoneDDD,celular,celularDDD,endereco,bairro,cidade,cep,estado) {
		if (opcao=="mostraPaginaGerenciamentoPolo") {
		return true;
		}
		if (usuarioResponsavel=="")	{
			alert("Por favor selecione o usuário responsável pelo pólo!");
			return false;
		}
		if (!validaCPF(usuarioResponsavel)) {			
			return false;
		}
		if (cidade=="")	{
			alert("Por favor informe a cidade do Polo");
			return false;
		}
		if (endereco=="") {
			alert("Por favor informe o endereço do Polo");
			return false;
		}
		if (bairro=="")	{
			alert("Por favor informe o bairro do Polo");
			return false;
		}
		if (cep=="") {
			alert("Por favor informe o cep do Polo");
			return false;
		}
		if(!validaNumero(cep)) {
			alert("Apenas números são aceitos para o CEP");
			return false;
		}
		if(estado==" ") {
			alert("Por favor informe o estado do da cidade do Polo");
			return false;
		}
		if (email=="") {
			alert("Por favor informe o email referente ao Polo");
			return false;
		}
		if(!validaEmail(email))	{
			alert("O e-mail informado está incorreto. Por favor corrija!");
			return false;
		}
		if (telefoneDDD=="") {
			alert("Por favor informe o DDD do telefone referente ao Polo");
			return false;
		}
		if(!validaNumero(telefoneDDD)) {
			alert("Apenas números são aceitos no campo de DDD do telefone");
			return false;
		}
		if (telefone=="") {
			alert("Por favor informe o telefone referente ao Polo");
			return false;
		}
		if(!validaNumero(telefone))	{
			alert("Apenas números são aceitos no campo de telefone");
			return false;
		}
		if(!validaNumero(celularDDD)) {
			alert("Apenas números são aceitos no campo de DDD do Fax");
			return false;
		}
		if(!validaNumero(celular)) {
			alert("Apenas números são aceitos no campo de Fax");
			return false;
		}
		return true;		
}

// validacao para a pagina de gerenciamento de polo
function gerenciaPolo() {
	var retorno;
	if(document.principal.opcao.value == "mostraPaginaAdministrador") {
		return true;
	}
	if((document.principal.opcao.value == "mostraPaginaCadastraPolo")&&(document.principal.oidPolo.value=="nenhum")) {
		return true;
	}
	if((document.principal.oidPolo.value == "nenhum")||(!document.principal.oidPolo.value)) {
		alert("Não há nenhum pólo cadastrado");
		return false;
	}
	if (document.principal.opcao.value == "excluiPolo") {
		retorno = confirm("Todos os processos relativos a esse pólo serão excluídos!\n\nDeseja realmente excluir este pólo?");
		if (!retorno) {
			return false;
		}
		else {
			return true;
		}
	}
	return true;
}

// validacao para a pagina de gerencia de disciplina
function gerenciaDisciplina() {
	var retorno;
	if (document.principal.opcao.value == "mostraPaginaPrincipalUsuario") {
		return true;
	}	
	if (document.principal.oidDisciplina.value == "nenhum") {
		if (document.principal.opcao.value == "mostraPaginaEditaDisciplina") {
			alert("Não há nenhuma disciplina cadastrada para editar!");
			return false;
		}
		if (document.principal.opcao.value == "excluiDisciplina") {
			alert("Não há nenhuma disciplina cadastrada para excluir!");
			return false;
		}
	}
	if (document.principal.opcao.value == "excluiDisciplina") {
		retorno = confirm("Deseja realmente excluir a disciplina?");
		if (!retorno) {
			return false;
		}
		else {
			return true;
		}
	}
	return true;
}

// valida os dados no momento do cadastro de uma disciplina
function executaValidacaoDadosDisciplina() {
	if (document.principal.opcao.value == "mostraPaginaGerenciamentoDisciplina") {
		return true;
	}
	if (document.principal.nome.value == "") {
		alert("Por favor informe o nome da disciplina!");
		return false;
	}
	if (document.principal.valorCobrado.value == "")	{
		alert("Por favor informe o valor da disciplina!");
		return false;
	}
	if (!validaMoeda(document.principal.valorCobrado.value)) {
		alert("O valor fornecido é incorreto. Informe um número com os centavos separados por vírgula!");
		return false;
	}
	return true;
}

// calcula a nota total do perfil a ser considerado no processo seletivo
function calculaTotalPerfil() {
	
	var nivelInformatica = parseInt(document.formulario.porcentagemNivelInformatica.value);
	var graduacoes = parseInt(document.formulario.porcentagemGraduacoes.value);
	var especializacoes = parseInt(document.formulario.porcentagemEspecializacoes.value);
	var mestrados = parseInt(document.formulario.porcentagemMestrados.value);
	var doutorados = parseInt(document.formulario.porcentagemDoutorados.value);
	var posDoutorados = parseInt(document.formulario.porcentagemPosDoutorados.value);
	var cursosEAD = parseInt(document.formulario.porcentagemCursosEAD.value);
	var docenciasEAD = parseInt(document.formulario.porcentagemDocenciasEAD.value);
	var experienciasProfissionais = parseInt(document.formulario.porcentagemExperienciasProfissionais.value);
	var justificativa = parseInt(document.formulario.porcentagemJustificativa.value);
	
	var subtotal = nivelInformatica+graduacoes+especializacoes+mestrados+doutorados+posDoutorados+cursosEAD+docenciasEAD+experienciasProfissionais+justificativa;
	
	document.getElementById('subtotalDiv').innerHTML = "Subtotal / total da nota: "+subtotal+"% / 100%";
	
	document.formulario.subtotal.value = subtotal;
	
}

// executa a validacao do cadastro de processo seletivo
function executaValidacaoCadastroProcesso() {
	if(document.formulario.opcao.value == "mostraPaginaGerenciamentoProcessoSeletivo") {
		return true;
	}
	// nome
	if (document.formulario.nome.value == "")	{
		alert("Por favor informe o nome do processo seletivo!");
		return false;
	}
	// cpf do responsavel
	if (!validaCPF(document.formulario.cpfResponsavel.value)) {
		return false;
	}	
	// qtde vagas
	if (document.formulario.quantidadeVagas.value == "") {
		alert("Por favor informe a quantidade de vagas!");
		return false;
	}
	if(!validaNumero(document.formulario.quantidadeVagas.value)) {
		alert("Apenas números são aceitos para a quantidade de vagas!");
		return false;
	}
	// qtde disciplinas
	if (document.formulario.quantidadeDisciplinas.value == "") {
		alert("Por favor informe a quantidade de disciplinas!");
		return false;
	}
	if(!validaNumero(document.formulario.quantidadeDisciplinas.value)) {
		alert("Apenas números são aceitos para a quantidade de disciplinas!");
		return false;
	}
	// data e hora inscricao
	if (document.formulario.dataInicioInscricao.value == "") {
		alert("Por favor informe a data do início do período de inscrições!");
		return false;
	}
	if(!validaData(document.formulario.dataInicioInscricao.value)) {
		alert("Apenas data é aceita para a data do início do período de inscrições!");
		return false;
	}
	if (document.formulario.horaInicioInscricao.value == "") {
		alert("Por favor informe a hora do início do período de inscrições!");
		return false;
	}
	if(!validaHoraMin24H(document.formulario.horaInicioInscricao.value)) {
		alert("Apenas um horário é aceito para a hora do início do período de inscrições!");
		return false;
	}
	if (document.formulario.dataFimInscricao.value == "") {
		alert("Por favor informe a data do fim do período de inscrições!");
		return false;
	}
	if(!validaData(document.formulario.dataFimInscricao.value)) {
		alert("Apenas data é aceita para a data do fim do período de inscrições!");
		return false;
	}
	if (document.formulario.horaFimInscricao.value == "") {
		alert("Por favor informe a hora do fim do período de inscrições!");
		return false;
	}
	if(!validaHoraMin24H(document.formulario.horaFimInscricao.value)) {
		alert("Apenas um horário é aceito para a hora do fim do período de inscrições!");
		return false;
	}
	if (comparaDataHoraMinSeg(document.formulario.dataInicioInscricao.value,document.formulario.horaInicioInscricao.value,document.formulario.dataFimInscricao.value,document.formulario.horaFimInscricao.value)!=-1) {
		alert("A data de início deve anteceder a data do fim para o período das inscrições!");
		return false;	
	}
	// data e hora julgamento
	if (document.formulario.dataInicioJulgamento.value == "") {
		alert("Por favor informe a data do início do período de julgamento!");
		return false;
	}
	if(!validaData(document.formulario.dataInicioJulgamento.value)) {
		alert("Apenas data é aceita para a data do início do período de julgamento!");
		return false;
	}
	// verifica se os períodos não estão batendo entre si
	if (comparaDataHoraMinSeg(document.formulario.dataFimInscricao.value,document.formulario.horaFimInscricao.value,document.formulario.dataInicioJulgamento.value,document.formulario.horaInicioJulgamento.value)!=-1) {
		alert("A data de início do período de julgamento deve ser maior do que a data de fim do período de inscrições!");
		return false;
	}
	if (document.formulario.horaInicioJulgamento.value == "") {
		alert("Por favor informe a hora do início do período de julgamento!");
		return false;
	}
	if(!validaHoraMin24H(document.formulario.horaInicioJulgamento.value)) {
		alert("Apenas um horário é aceito para a hora do início do período de julgamento!");
		return false;
	}
	if (document.formulario.dataFimJulgamento.value == "") {
		alert("Por favor informe a data do fim do período de julgamento!");
		return false;
	}
	if(!validaData(document.formulario.dataFimJulgamento.value)) {
		alert("Apenas data é aceita para a data do fim do período de julgamento!");
		return false;
	}
	if (document.formulario.horaFimJulgamento.value == "") {
		alert("Por favor informe a hora do fim do período de julgamento!");
		return false;
	}
	if(!validaHoraMin24H(document.formulario.horaFimJulgamento.value)) {
		alert("Apenas um horário é aceito para a hora do fim do período de julgamento!");
		return false;
	}
	if (comparaDataHoraMinSeg(document.formulario.dataInicioJulgamento.value,document.formulario.horaInicioJulgamento.value,document.formulario.dataFimJulgamento.value,document.formulario.horaFimJulgamento.value)!=-1) {
		alert("A data de início deve anteceder a data do fim para o período de julgamento!");
		return false;	
	}
	// data e hora listas
	if (document.formulario.dataInicioListas.value == "") {
		alert("Por favor informe a data do início do período de divulgação de listas!");
		return false;
	}
	if(!validaData(document.formulario.dataInicioListas.value)) {
		alert("Apenas data é aceita para a data do início do período de divulgação de listas!");
		return false;
	}
	// verifica se os períodos não estão batendo entre si
	if (comparaDataHoraMinSeg(document.formulario.dataFimJulgamento.value,document.formulario.horaFimJulgamento.value,document.formulario.dataInicioListas.value,document.formulario.horaInicioListas.value)!=-1) {
		alert("A data de início do período de divulgação de listas deve ser maior do que a data de fim do período de julgamento!");
		return false;
	}
	if (document.formulario.horaInicioListas.value == "") {
		alert("Por favor informe a hora do início do período de divulgação de listas!");
		return false;
	}
	if(!validaHoraMin24H(document.formulario.horaInicioListas.value)) {
		alert("Apenas um horário é aceito para a hora do início do período de divulgação de listas!");
		return false;
	}
	if (document.formulario.dataFimListas.value == "") {
		alert("Por favor informe a data do fim do período de divulgação de listas!");
		return false;
	}
	if(!validaData(document.formulario.dataFimListas.value)) {
		alert("Apenas data é aceita para a data do fim do período de divulgação de listas!");
		return false;
	}
	if (document.formulario.horaFimListas.value == "") {
		alert("Por favor informe a hora do fim do período de divulgação de listas!");
		return false;
	}
	if(!validaHoraMin24H(document.formulario.horaFimListas.value)) {
		alert("Apenas um horário é aceito para a hora do fim do período de divulgação de listas!");
		return false;
	}
	if (comparaDataHoraMinSeg(document.formulario.dataInicioListas.value,document.formulario.horaInicioListas.value,document.formulario.dataFimListas.value,document.formulario.horaFimListas.value)!=-1) {
		alert("A data de início deve anteceder a data do fim para o período de divulgação de listas!");
		return false;
	}
	// verifica dados bancarios
	// agencia
	if (document.formulario.boletoNumeroAgencia.value == "") {
		alert("Por favor informe o número da agência, sem dígitos!");
		return false;
	}
	if(!validaNumero(document.formulario.boletoNumeroAgencia.value)) {
		alert("Apenas números são aceitos para o número da agência!");
		return false;
	}
	// conta
	if (document.formulario.boletoNumeroConta.value == "") {
		alert("Por favor informe o número da conta, sem dígitos!");
		return false;
	}
	if(!validaNumero(document.formulario.boletoNumeroConta.value)) {
		alert("Apenas números são aceitos para o número da conta!");
		return false;
	}
	// convenio
	if (document.formulario.boletoNumeroConvenio.value == "") {
		alert("Por favor informe o número do convênio!");
		return false;
	}
	if(!validaNumero(document.formulario.boletoNumeroConvenio.value)) {
		alert("Apenas números são aceitos para o número do convênio!");
		return false;
	}
	// contrato
	if (document.formulario.boletoNumeroContrato.value == "") {
		alert("Por favor informe o número do contrato!");
		return false;
	}
	if(!validaNumero(document.formulario.boletoNumeroContrato.value)) {
		alert("Apenas números são aceitos para o número do contrato!");
		return false;
	}
	
	// recolhimento gru inscricao
	if (document.formulario.inscricaoCodigoRecolhimento.value == "") {
		alert("Por favor informe o código de recolhimento da taxa de inscrição pela GRU!");
		return false;
	}
	// referencia gru inscricao
	if (document.formulario.inscricaoNumeroReferencia.value == "") {
		alert("Por favor informe o número de referência da taxa de inscrição pela GRU!");
		return false;
	}	
	
	// valor boleto
	if (document.formulario.boletoValorCobrado.value == "") {
		alert("Por favor informe o valor a ser cobrado no boleto!");
		return false;
	}
	if(!validaMoeda(document.formulario.boletoValorCobrado.value)) {
		alert("Apenas números (com casas decimais separadas por vírgulas) são aceitos para o valor do boleto!");
		return false;
	}
	
	// recolhimento gru prematricula
	if (document.formulario.prematriculaCodigoRecolhimento.value == "") {
		alert("Por favor informe o código de recolhimento da taxa de pré-matrícula pela GRU!");
		return false;
	}	
	// referencia gru prematricula
	if (document.formulario.prematriculaNumeroReferencia.value == "") {
		alert("Por favor informe o número de referência da taxa de pré-matrícula pela GRU!");
		return false;
	}
	
	// valor boleto GRU pre-matricula
	if (document.formulario.valorGRUPreMatricula.value == "") {
		alert("Por favor informe o valor a ser cobrado na GRU da pré-matrícula!");
		return false;
	}
	if(!validaMoeda(document.formulario.valorGRUPreMatricula.value)) {
		alert("Apenas números (com casas decimais separadas por vírgulas) são aceitos para o valor da GRU!");
		return false;
	}
	// valida arquivos
	if (document.formulario.arquivoInformacoes.value == "") {
		alert("Por favor selecione um arquivo que contém as informações do processo seletivo!");
		return false;
	}
	if (document.formulario.arquivoEdital.value == "") {
		alert("Por favor selecione um arquivo que contém o edital do processo seletivo!");
		return false;
	}
	if (document.formulario.arquivoRegulamento.value == "") {
		alert("Por favor selecione um arquivo que contém o regulamento do processo seletivo!");
		return false;
	}
	if (document.formulario.arquivoCalendario.value == "") {
		alert("Por favor selecione um arquivo que contém o calendário do curso ofertado pelo processo seletivo!");
		return false;
	}
	if (document.formulario.arquivoInformacoes.value == document.formulario.arquivoEdital.value) {
		alert("Os arquivos de Informação e de Edital são iguais");
		return false;
	} 
	if (document.formulario.arquivoInformacoes.value == document.formulario.arquivoRegulamento.value) {
		alert("Os arquivos de Informação e de Regulamento são iguais");
		return false;
	}
	if (document.formulario.arquivoInformacoes.value == document.formulario.arquivoCalendario.value) {
		alert("Os arquivos de Informação e de Calendário são iguais");
		return false;
	}
	if (document.formulario.arquivoEdital.value == document.formulario.arquivoRegulamento.value) {
		alert("Os arquivos de Edital e de Regulamento são iguais");
		return false;
	}
	if (document.formulario.arquivoEdital.value == document.formulario.arquivoCalendario.value) {
		alert("Os arquivos de Edital e de Calendário são iguais");
		return false;
	}
	if (document.formulario.arquivoRegulamento.value == document.formulario.arquivoCalendario.value) {
		alert("Os arquivos de Regulamento e de Calendáriosão iguais");
		return false;
	}
	// se nada deu problema, retorna true
	return true;
}

// validacao do formulario do gerenciamento de processo
function gerenciaProcesso(opcao,nomePolo,nomeProcesso) {
var retorno;
	if(opcao == "mostraPaginaAdministrador") {
		return true;
	}
	if(nomePolo == "nenhum") {
		alert("Não há nenhum pólo cadastrado!\n\nPrimeiro cadastre um pólo antes de cadastrar um processo seletivo!");
		return false;
	}
	if(nomeProcesso == "nenhum" && (opcao == "excluiProcessoSeletivo" || opcao == "mostraPaginaEdicaoProcessoSeletivo")) {
		alert("Não há nenhum processo cadastrado para que seja feita uma operação nele!");
		return false;
	} else if (nomeProcesso != "nenhum" && opcao == "excluiProcessoSeletivo") {
		retorno = confirm("ATENÇÃO: TODOS OS DADOS DO PROCESSO SERÃO EXCLUÍDOS.\n\nDeseja realmente continuar?");
		if (!retorno) {
			return false;
		}
		else {
			return true;
		}
	}
	return true;
}

// validacao da edicao do processo
function executaValidacaoEdicaoProcesso() {
	if(document.formulario.opcao.value == "mostraPaginaGerenciamentoProcessoSeletivo") {
		return true;
	}
	// qtde vagas
	if (document.formulario.quantidadeVagas.value == "") {
		alert("Por favor informe a quantidade de vagas!");
		return false;
	}
	if(!validaNumero(document.formulario.quantidadeVagas.value)) {
		alert("Apenas números são aceitos para a quantidade de vagas!");
		return false;
	}
	// qtde disciplinas
	if (document.formulario.quantidadeDisciplinas.value == "") {
		alert("Por favor informe a quantidade de disciplinas!");
		return false;
	}
	if(!validaNumero(document.formulario.quantidadeDisciplinas.value)) {
		alert("Apenas números são aceitos para a quantidade de disciplinas!");
		return false;
	}
	// data e hora inscricao
	if (document.formulario.dataInicioInscricao.value == "") {
		alert("Por favor informe a data do início do período de inscrições!");
		return false;
	}
	if(!validaData(document.formulario.dataInicioInscricao.value)) {
		alert("Apenas data é aceita para a data do início do período de inscrições!");
		return false;
	}
	if (document.formulario.horaInicioInscricao.value == "") {
		alert("Por favor informe a hora do início do período de inscrições!");
		return false;
	}
	if(!validaHoraMin24H(document.formulario.horaInicioInscricao.value)) {
		alert("Apenas um horário é aceito para a hora do início do período de inscrições!");
		return false;
	}
	if (document.formulario.dataFimInscricao.value == "") {
		alert("Por favor informe a data do fim do período de inscrições!");
		return false;
	}
	if(!validaData(document.formulario.dataFimInscricao.value)) {
		alert("Apenas data é aceita para a data do fim do período de inscrições!");
		return false;
	}
	if (document.formulario.horaFimInscricao.value == "") {
		alert("Por favor informe a hora do fim do período de inscrições!");
		return false;
	}
	if(!validaHoraMin24H(document.formulario.horaFimInscricao.value)) {
		alert("Apenas um horário é aceito para a hora do fim do período de inscrições!");
		return false;
	}
	if (comparaDataHoraMinSeg(document.formulario.dataInicioInscricao.value,document.formulario.horaInicioInscricao.value,document.formulario.dataFimInscricao.value,document.formulario.horaFimInscricao.value)!=-1) {
		alert("A data de início deve anteceder a data do fim para o período das inscrições!");
		return false;	
	}
	// data e hora julgamento
	if (document.formulario.dataInicioJulgamento.value == "") {
		alert("Por favor informe a data do início do período de julgamento!");
		return false;
	}
	if(!validaData(document.formulario.dataInicioJulgamento.value)) {
		alert("Apenas data é aceita para a data do início do período de julgamento!");
		return false;
	}
	// verifica se os períodos não estão batendo entre si
	if (comparaDataHoraMinSeg(document.formulario.dataFimInscricao.value,document.formulario.horaFimInscricao.value,document.formulario.dataInicioJulgamento.value,document.formulario.horaInicioJulgamento.value)!=-1) {
		alert("A data de início do período de julgamento deve ser maior do que a data de fim do período de inscrições!");
		return false;
	}
	if (document.formulario.horaInicioJulgamento.value == "") {
		alert("Por favor informe a hora do início do período de julgamento!");
		return false;
	}
	if(!validaHoraMin24H(document.formulario.horaInicioJulgamento.value)) {
		alert("Apenas um horário é aceito para a hora do início do período de julgamento!");
		return false;
	}
	if (document.formulario.dataFimJulgamento.value == "") {
		alert("Por favor informe a data do fim do período de julgamento!");
		return false;
	}
	if(!validaData(document.formulario.dataFimJulgamento.value)) {
		alert("Apenas data é aceita para a data do fim do período de julgamento!");
		return false;
	}
	if (document.formulario.horaFimJulgamento.value == "") {
		alert("Por favor informe a hora do fim do período de julgamento!");
		return false;
	}
	if(!validaHoraMin24H(document.formulario.horaFimJulgamento.value)) {
		alert("Apenas um horário é aceito para a hora do fim do período de julgamento!");
		return false;
	}
	if (comparaDataHoraMinSeg(document.formulario.dataInicioJulgamento.value,document.formulario.horaInicioJulgamento.value,document.formulario.dataFimJulgamento.value,document.formulario.horaFimJulgamento.value)!=-1) {
		alert("A data de início deve anteceder a data do fim para o período de julgamento!");
		return false;	
	}
	// data e hora listas
	if (document.formulario.dataInicioListas.value == "") {
		alert("Por favor informe a data do início do período de divulgação de listas!");
		return false;
	}
	if(!validaData(document.formulario.dataInicioListas.value)) {
		alert("Apenas data é aceita para a data do início do período de divulgação de listas!");
		return false;
	}
	// verifica se os períodos não estão batendo entre si
	if (comparaDataHoraMinSeg(document.formulario.dataFimJulgamento.value,document.formulario.horaFimJulgamento.value,document.formulario.dataInicioListas.value,document.formulario.horaInicioListas.value)!=-1) {
		alert("A data de início do período de divulgação de listas deve ser maior do que a data de fim do período de julgamento!");
		return false;
	}
	if (document.formulario.horaInicioListas.value == "") {
		alert("Por favor informe a hora do início do período de divulgação de listas!");
		return false;
	}
	if(!validaHoraMin24H(document.formulario.horaInicioListas.value)) {
		alert("Apenas um horário é aceito para a hora do início do período de divulgação de listas!");
		return false;
	}
	if (document.formulario.dataFimListas.value == "") {
		alert("Por favor informe a data do fim do período de divulgação de listas!");
		return false;
	}
	if(!validaData(document.formulario.dataFimListas.value)) {
		alert("Apenas data é aceita para a data do fim do período de divulgação de listas!");
		return false;
	}
	if (document.formulario.horaFimListas.value == "") {
		alert("Por favor informe a hora do fim do período de divulgação de listas!");
		return false;
	}
	if(!validaHoraMin24H(document.formulario.horaFimListas.value)) {
		alert("Apenas um horário é aceito para a hora do fim do período de divulgação de listas!");
		return false;
	}
	if (comparaDataHoraMinSeg(document.formulario.dataInicioListas.value,document.formulario.horaInicioListas.value,document.formulario.dataFimListas.value,document.formulario.horaFimListas.value)!=-1) {
		alert("A data de início deve anteceder a data do fim para o período de divulgação de listas!");
		return false;
	}
	// verifica dados bancarios
	// agencia
	if (document.formulario.boletoNumeroAgencia.value == "") {
		alert("Por favor informe o número da agência, sem dígitos!");
		return false;
	}
	if(!validaNumero(document.formulario.boletoNumeroAgencia.value)) {
		alert("Apenas números são aceitos para o número da agência!");
		return false;
	}
	// conta
	if (document.formulario.boletoNumeroConta.value == "") {
		alert("Por favor informe o número da conta, sem dígitos!");
		return false;
	}
	if(!validaNumero(document.formulario.boletoNumeroConta.value)) {
		alert("Apenas números são aceitos para o número da conta!");
		return false;
	}
	// convenio
	if (document.formulario.boletoNumeroConvenio.value == "") {
		alert("Por favor informe o número do convênio!");
		return false;
	}
	if(!validaNumero(document.formulario.boletoNumeroConvenio.value)) {
		alert("Apenas números são aceitos para o número do convênio!");
		return false;
	}
	// contrato
	if (document.formulario.boletoNumeroContrato.value == "") {
		alert("Por favor informe o número do contrato!");
		return false;
	}
	if(!validaNumero(document.formulario.boletoNumeroContrato.value)) {
		alert("Apenas números são aceitos para o número do contrato!");
		return false;
	}
	
	// recolhimento gru inscricao
	if (document.formulario.inscricaoCodigoRecolhimento.value == "") {
		alert("Por favor informe o código de recolhimento da taxa de inscrição pela GRU!");
		return false;
	}
	// referencia gru inscricao
	if (document.formulario.inscricaoNumeroReferencia.value == "") {
		alert("Por favor informe o número de referência da taxa de inscrição pela GRU!");
		return false;
	}
	
	// valor boleto
	if (document.formulario.boletoValorCobrado.value == "") {
		alert("Por favor informe o valor a ser cobrado no boleto!");
		return false;
	}
	if(!validaMoeda(document.formulario.boletoValorCobrado.value)) {
		alert("Apenas números (com casas decimais separadas por vírgulas) são aceitos para o valor do boleto!");
		return false;
	}
	
	// recolhimento gru prematricula
	if (document.formulario.prematriculaCodigoRecolhimento.value == "") {
		alert("Por favor informe o código de recolhimento da taxa de pré-matrícula pela GRU!");
		return false;
	}	
	// referencia gru prematricula
	if (document.formulario.prematriculaNumeroReferencia.value == "") {
		alert("Por favor informe o número de referência da taxa de pré-matrícula pela GRU!");
		return false;
	}
	
	// valor boleto GRU pre-matricula
	if (document.formulario.valorGRUPreMatricula.value == "") {
		alert("Por favor informe o valor a ser cobrado na GRU da pré-matrícula!");
		return false;
	}
	if(!validaMoeda(document.formulario.valorGRUPreMatricula.value)) {
		alert("Apenas números (com casas decimais separadas por vírgulas) são aceitos para o valor da GRU!");
		return false;
	}
	// se nada deu problema, retorna true
	return true;
}

// valida dados no momento da inscricao
function validaInscricao(graduacoes,especializacoes,mestrados,doutorados,posDoutorados,cursosEAD,docenciasEAD,experienciasProfissionais) {

	// string
	var texto = new String(document.principal.pergunta.value);
	
	// aviso 1
	var aviso1 = "ATENÇÃO:\n\n";
	
	var item11 = "Você preencheu seu perfil com:\n\n";
	
	var item12 = graduacoes + " de 3 graduações\n";
	var item13 = especializacoes + " de 3 especializações\n";
	var item14 = mestrados + " de 3 mestrados\n";
	var item15 = doutorados + " de 3 doutorados\n";
	var item16 = posDoutorados + " de 3 pós-doutorados\n";
	var item17 = cursosEAD + " de 3 cursos em EAD\n";
	var item18 = docenciasEAD + " de 3 docências em EAD\n";
	var item19 = experienciasProfissionais + " de 3 experiências profissionais\n\n";
	
	var item110 = "VOCÊ ACHA QUE SEU PERFIL ESTÁ BEM PREENCHIDO PARA PARTICIPAR DA SELEÇÃO?";
	
	// aviso 2
	var aviso2 = "SOMENTE CONFIRME A INSCRIÇÃO APÓS LER COM CUIDADO AS INFORMAÇÕES ABAIXO:\n";
	
	var item21 = "1) A prestação de informações falsas, incompletas ou incorretas no perfil\n";
	var item22 = "do candidato implicará a nulidade da inscrição para todos os seus efeitos,\n";
	var item23 = "não cabendo qualquer espécie de recurso administrativo.\n";
	
	var item24 = "2) A posterior apresentação de documentos na fase de pré-matrícula ou\n";
	var item25 = "matrícula não condizentes com os exigidos neste edital e em desacordo\n";
	var item26 = "com o perfil preenchido pelo candidato implicará a nulidade da inscrição e\n";
	var item27 = "seleção para todos os seus efeitos, não cabendo qualquer espécie\n";
	var item28 = "de recurso administrativo nem devolução de qualquer valor.\n";
	
	var item29 = "3) A inscrição do candidato implica na aceitação total e incondicional\n";
	var item210 = "das normas constantes neste processo de seleção.\n";
	
	var item211 = "4) Todos os dados preenchidos deverão ter documentos comprobatórios e os\n";
	var item212 = "cursos preenchidos no formulário deverão ter os respectivos diplomas\n";
	var item213 = "reconhecidos pelo MEC, a serem apresentados no momento da pré-matrícula.\n";
	var item214 = "A existência de qualquer item no perfil do candidato não comprovado\n";
	var item215 = "devidamente, eliminará o candidato do processo de pré-matrícula ou de matrícula.\n";
	
	var item216 = "5) A confirmação do pagamento da inscrição estará disponível neste\n";
	var item217 = " sistema, a medida que for processada. Caso a confirmação não\n";
	var item218 = "apareça até 3 dias úteis antes do final do período de inscrições,\n";
	var item219 = "o candidato deverá entrar em contato com o suporte pelo telefone\n";
	var item220 = "(35) 3629-1407 ou pelo email suporte_ead@unifei.edu.br\n";
	
	var item221 = "6) Não há restrição para um candidato fazer inscrição em mais de um Pólo ou\n";
	var item222 = "em mais de um curso da UAB da UNIFEI. Mas qualquer inscrito no processo\n";
	var item223 = "seletivo da UAB da UNIFEI, se classificado em mais de um Curso ou mais de\n";
	var item224 = "Pólo da UAB da UNIFEI poderá cursar somente um dos Cursos da UAB da UNIFEI\n";
	var item225 = "e num único Pólo. Ao fazer a pré-matrícula em um deles, a sua inscrição em\n";
	var item226 = "outros cursos e/ou outros pólos ficam inválidas sem que tenha direito a\n";
	var item227 = "qualquer restituição.\n";
	var item228 = "Da mesma forma, qualquer um que já seja aluno de algum curso da UAB da\n";
	var item229 = "UNIFEI terá sua inscrição no processo seletivo invalidada, sem direito a\n";
	var item230 = "qualquer restituição.\n";
	
	var item231 = "7) Os casos omissos serão resolvidos pela Coordenação da Educação a Distância da UNIFEI.\n";
	
	var item232 = "DIANTE DAS INFORMAÇÕES ACIMA, VOCÊ CONCORDA EM REALIZAR A INSCRIÇÃO?";
	
	if(document.principal.opcao.value == "mostraPaginaPrincipalUsuario") {
		return true;
	}
	if(document.principal.oidPolo.value == "" || document.principal.oidProcesso.value == "") {
		alert("Você deve selecionar um processo seletivo para se inscrever!");
		return false;
	}
	if(texto.trim() == "") {
		alert("Você deve escrever uma justificativa sobre o por que de fazer este curso com até 2000 caracteres!");
		return false;
	}
	// apresenta os textos de instrucoes
	retorno1 = confirm(aviso1+item11+item12+item13+item14+item15+item16+item17+item18+item19+item110);
	if (!retorno1) {
		return false;
	}
	// apresenta a confirmação
	retorno2 = confirm(aviso2+item21+item22+item23+item24+item25+item26+item27+item28+item29+item210+item211+item212+item213+item214+item215+item216+item217+item218+item219+item220+item221+item222+item223+item224+item225+item226+item227+item228+item229+item230+item231+item232);
	if (!retorno2) {
		return false;
	}
	return true;
}

// conta caracteres da pergunta
function contaCaracteres() {
	numCaracteres = document.principal.pergunta.value.length;
    document.principal.quantidadeCaracteres.value = numCaracteres;
    if (numCaracteres > 2000) {
    	alert("O texto ultrapassou 2000 caracteres! Por favor diminuia a quantidade de caracteres.");
    }
}

// verifica se o arquivo de retorno esta sendo enviado corretamente
function verificaArquivoRetorno() {
	if(document.principal.opcao.value == "mostraPaginaAdministrador") {
		return true;
	}
	if(document.principal.arquivoRetornoBB.value == "") {
		alert("Você deve selecionar um arquivo de retorno antes de processá-lo!");
		return false;
	}
	return true;
}

// valida formulario na criacao de uma nova lista de divulgacao
function validaNovaLista() {
	var dataInicio = document.principal.dataInicio.value;
	var horaInicio = document.principal.horaInicio.value;
	var dataFim = document.principal.dataFim.value;
	var horaFim = document.principal.horaFim.value;
	var ultimaDataFim = document.principal.ultimaDataFim.value;
	var ultimaHoraFim = document.principal.ultimaHoraFim.value;
	var opcao = document.principal.opcao.value;
	if (opcao=="mostraPaginaPrincipalUsuario") {
		return true;
	}
	if (dataInicio == "") {
	 alert("Você deve informar a data de início da vigência da lista!");
	 return false;
	}
	if (!validaData(dataInicio)) {
		alert("A data de início está incorreta! Por favor corrija!");
		return false;
	}
	if (horaInicio == "") {
	 alert("Você deve informar a hora de início da vigência da lista!");
	 return false;
	}
	if(!validaHoraMin24H(horaInicio)) {
		alert("A hora de início está incorreta! Por favor corrija!");
		return false;
	}
	if (dataFim == "") {
	 alert("Você deve informar a data de término da vigência da lista!");
	 return false;
	}
	if (!validaData(dataFim)) {
		alert("A data de término está incorreta! Por favor corrija!");
		return false;
	}
	if (horaFim == "") {
	 alert("Você deve informar a hora do término da vigência da lista!");
	 return false;	 
	}
	if(!validaHoraMin24H(horaFim)) {
		alert("A hora de término está incorreta! Por favor corrija!");
		return false;
	}
	if (comparaDataHoraMinSeg(ultimaDataFim,ultimaHoraFim,dataInicio,horaInicio) != -1 ) {
		alert("A data de início da nova lista deve ser maior do que a data de término da última lista divulgada!");
		return false;
	}
	if (comparaDataHoraMinSeg(dataInicio,horaInicio,dataFim,horaFim) != -1 ) {
		alert("A data de término deve ser maior do que a data de início!");
		return false;
	}
	return true;
}

// passa valores para mostrar a lista de convocados
function passaValoresMostrarListaConvocados(oidPolo,oidProcesso,oidLista) {
	document.convocados.oidPolo.value = oidPolo;
	document.convocados.oidProcesso.value = oidProcesso;
	document.convocados.oidLista.value = oidLista;	
}

// passa valores para mostrar a lista final de pré-aprovados
function passaValoresMostrarListaFinalPreAprovados(oidPolo,oidProcesso) {
	document.finalPreAprovados.oidPolo.value = oidPolo;
	document.finalPreAprovados.oidProcesso.value = oidProcesso;
}

// funcao que valida a documentacao do usuario
function validaDocumentacao() {
	if (document.principal.opcao.value=="mostraPaginaPrincipalUsuario") {
		return true;
	}
	retorno = confirm("ATENÇÃO\n\nAO GRAVAR AS INFORMAÇÕES, VOCÊ NÃO PODERÁ ALTERAR NOVAMENTE.\nO CANDIDATO ENTÃO SERÁ APROVADO OU REPROVADO.\n\nDESEJA REALMENTE CONTINUAR?");
	if (!retorno) {
		return false;
	} else {
		return true;
	}
}

// envia valores para a pagina do boleto
function enviaValores(dataVencimento,dataEmissao,valorBoleto,sacado,endereco1,endereco2,nomeProcesso,nossoNumero,numeroDocumento) {
	document.principal.dataVencimento.value = dataVencimento;
	document.principal.dataEmissao.value = dataEmissao;
	document.principal.valorBoleto.value = valorBoleto; 
	document.principal.sacado.value = sacado; 
	document.principal.endereco1.value = endereco1; 
	document.principal.endereco2.value = endereco2; 
	document.principal.nomeProcesso.value = nomeProcesso; 
	document.principal.nossoNumero.value = nossoNumero; 
	document.principal.numeroDocumento.value = numeroDocumento; 
	return true;
}

// envia valores para o formulario no momento da inscricao do usuario num processo
function enviaValoresInscricaoProcesso(oidPolo,oidProcesso) {
	mostraDiv("justificativa");
	document.principal.oidPolo.value = oidPolo;
	document.principal.oidProcesso.value = oidProcesso;
}

//expande contrai div com javascript
function expandeContraiDivClasse(nomeClasse) {
	var elements = document.getElementsByTagName("div");
	var tag = document.getElementById("tag"+nomeClasse);
	var imagem = document.getElementById("imagem"+nomeClasse);
	if (tag.value == "f") {
		imagem.src = "visao/imagens/icone_caixa_aberta.png";
		for (var i = 0, len = elements.length; i < len; i++) {
			if (elements[i].className == nomeClasse) {
				elements[i].style.display="";
			}
		}
		tag.value = "a";
	} else if (tag.value == "a") {
		imagem.src = "visao/imagens/icone_caixa_fechada.png";
		for (var i = 0, len = elements.length; i < len; i++) {
			if (elements[i].className == nomeClasse) {
				elements[i].style.display="none";
			}
		}
		tag.value = "f";
	}
}

// esconde div com javascript
function escondeDiv(nomeDiv) {
	document.getElementById(nomeDiv).style.display="none";
}

// mostra div com javascript
function mostraDiv(nomeDiv) {
	document.getElementById(nomeDiv).style.display="";
}

// valida envio de email para candidatos
function validaEnvioEmailCandidatos() {
	if (document.principal.opcao.value == "mostraPaginaPrincipalUsuario") {
		return true;
	}
	if (document.principal.assunto.value == "") {
	 alert("Você deve informar o assunto do e-mail!");
	 return false;
	}	
	if (document.principal.textoEmail.value == "") {
	 alert("Você deve informar o texto do e-mail!");
	 return false;
	}	
	return true;
}

/* funcao para validar numero com mensagem */
function validaGerenciaNumeroMatricula(numero) {
	var reTipo = /^\d+$/;
	if (numero=="") {
		return true;
	} else {
		if (reTipo.test(numero)==false) {
			alert("Por favor utilize somente números!");
			return false;
		} else {
			return true;
		}
	}
}

// verifica se os dados em CSV da GRU estão sendo enviados corretamente
function verificaEnvioGRU() {
	if(document.principal.opcao.value == "mostraPaginaAdministrador") {
		return true;
	}
	if(document.principal.dadosCSV.value == "") {
		alert("Você deve copiar e colar os dados das GRUs em CSV na caixa de texto antes de enviar!");
		return false;
	}
	return true;
}
