meses	=	new	Array(12);
meses	=	[31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31];

function ReloadMe(Formulario,ActionForm)
{
	Formulario.action = ActionForm;
	Formulario.submit();
}

function checkMaxLength (textarea, evt, maxlimit) {
	if (textarea.selected && evt.shiftKey)
    	// ignore shift click
    	return true;
  	var allowKey = false;
  	if (textarea.selected && textarea.selectedLength > 0)
    	allowKey = true;
  	else {
    	var keyCode = document.layers ? evt.which : evt.keyCode;
	if ((keyCode < 32 || keyCode == 46 || (keyCode >= 37 && keyCode <= 40)) && (keyCode != 13))
      		allowKey = true;
    	else
      		allowKey = textarea.value.length < maxlimit;

  	}
  textarea.selected = false;
  return allowKey;
}

function textCounter(field,evt, maxlimit) {
	var allowKey = false;
  if (field.value.length >= maxlimit){
  	var keyCode = document.layers ? evt.which : evt.keyCode;
	if ((keyCode < 32 || keyCode == 46 || (keyCode >= 37 && keyCode <= 40)) && (keyCode != 13))
      		allowKey = true;
   else
   			field.value = field.value.substring(0, maxlimit);
   }
   return allowKey;
}

function validaCPF(s)	{

	var	varFirstChr	=	s.charAt(0); 
	var vaCharCPF;
	for	(	var	i=0; i<=10;	i++	)	{	 
		var	c	=	s.charAt(i); 
		if(	!	(c>="0")&&(c<="9") ) return	false; 
		if(	c!=varFirstChr ) vaCharCPF = true;	
	}	 
	if(	!vaCharCPF	)	return false;	
	soma=0;	
	for	(	i=0; i<9;	i++	)	soma +=	(10-i) * ( eval(s.charAt(i)) );	 
	digito_verificador = 11-(soma	%	11); 
	if ( (soma % 11) < 2 ) digito_verificador	=	0; 
	if ( eval(s.charAt(9)) !=	digito_verificador ) return	false;
	soma=0;	
	for	(	i=0; i<9;	i++	)	soma +=	(11-i) * ( eval(s.charAt(i)) );
	soma +=	2	*	(	eval(s.charAt(9))	); 
	digito_verificador = 11-(soma	%	11); 
	if ( (soma % 11) < 2 ) digito_verificador	=	0; 
	if ( eval(s.charAt(10))	!= digito_verificador	)	return false;
	return true; 
}

function eh_bissexto(ano)	{
	if (((ano - 1996) % 4) == 0)	return true;
	return false;
}

function Valida_form(form) {
	//alert(document.form1.nome.value);
	var index = 0;

	if (form.nome.value=="") {
		alert("Você esqueceu de preencher o seu nome.");
		form.nome.focus();
		return false;
	}

	if (form.cpf.value=="")	{
		alert("Você esqueceu de preencher o CPF.");
		form.cpf.focus();
		return false;
	}
	else if	(!validaCPF(form.cpf.value)) {
		alert("CPF inválido.");
		form.cpf.focus();
		return false;
	}

	if (form.senha.value=="")	{
		alert("Você esqueceu de informar a sua senha.");
		form.senha.focus();
		return false;
	}else if (form.senha.value != form.ConfSenha.value){
		alert("A confirmação de senha está diferente da senha informada.");
		form.ConfSenha.focus();
		return false;
	}
	
	var nasc = form.nascimento.value;
	if (nasc=="")	{
		alert("Você esqueceu de preencher a Data de Nascimento.");
		form.nascimento.focus();
		return false;
	}
	else {
		aux	=	nasc;
		barras = 0;
		erro = 0;
		dia	=	0;
		mes	=	0;
		ano	=	0;
		eh_barra = 1;

		for	(var i=0;	(i<aux.length) &&	(erro==0); i++)	{
			if (aux.charAt(i)=='/')	{
				if (eh_barra==0) {
					barras++;
					eh_barra = 1;
				}
				else erro	=	1;
			}
			else {
				a	=	parseInt(aux.charAt(i),	10);
				if (isNaN(a))	erro = 1;
				eh_barra = 0;
			}
		}
		if (barras !=	2) erro	=	1;
				
		if (erro==0) {
			pos	=	aux.indexOf("/");
			pos2 = aux.indexOf("/",	pos+1);
			dia	=	parseInt(aux.substring(0,	pos),	10);
			mes	=	parseInt(aux.substring(pos+1,	pos2), 10);
			ano	=	parseInt(aux.substring(pos2+1, aux.length),	10);

			if (ano<1900 ||	ano>2050)	erro = 1;
			else {
				if (eh_bissexto(ano))	meses[1] = 29;
				else meses[1]	=	28;
				if (mes<1	|| mes>12) erro	=	1;
				else if	(dia<1 ||	dia>meses[mes-1])	erro = 1;
			}
		}
		if (erro==1) {
			alert("Data de Nascimento preenchida incorretamente.");
			form.nascimento.focus();
			return false;
		}
	}
	
	if (form.telefone.value=="") {
		alert("Você esqueceu de preencher o telefone de contato.");
		form.telefone.focus();
		return false;
	}	
	
	//alert("Chegou no endereço.");
	if (form.endereco.value=="") {
		alert("Você esqueceu de preencher o endereco.");
		form.endereco.focus();
		return false;
	}
	//alert("Passou do endereço.");
	
	if (form.bairro.value=="") {
		alert("Você esqueceu de preencher o bairro.");
		form.bairro.focus();
		return false;
	}	
	
	if (form.cidade.value=="") {
		alert("Você esqueceu de preencher a cidade.");
		form.cidade.focus();
		return false;
	}
	
	if (form.estado.options[form.estado.selectedIndex].value=="") {
		alert("Você esqueceu de	escolher o estado.");
		form.estado.focus();
		return false;
	}	
	
	if (form.cep.value=="")	{
		alert("Você esqueceu de preencher o CEP.");
		form.cep.focus();
		return false;
	}

	if (form.email.value=="")	{
		alert("Você esqueceu de preencher o e-mail.");
		form.email.focus();
		return false;
	}
	
	index = form.Faculdade.selectedIndex;
	if (form.Faculdade.options[index].value == "" || (form.Faculdade.options[index].value == "Outra" && form.Faculdade_Outra.value == ""))	{
		alert("Você esqueceu de preencher a instituição de ensino.");		
		if (form.Faculdade.options[index].value == "")
			form.Faculdade.focus();
		else
			form.Faculdade_Outra.focus();
		return false;
	}
	
	if (form.MesAnoFormatura.options[form.MesAnoFormatura.selectedIndex].value != form.MesAnoFormaturaConf.options[form.MesAnoFormaturaConf.selectedIndex].value)
	{
		alert("A confirmação de Previsão de Formatura está diferente da Previsão de Formatura informada.");
		form.MesAnoFormaturaConf.focus();
		return false;
	}

	index = form.Curso.selectedIndex;
	if (form.Curso.options[index].value == "")	{
		alert("Você deve obrigatoriamente selecionar um curso.");		
		form.Curso.focus();
		return false;
	}

	index = form.Area1.selectedIndex;
	if (form.Area1.options[index].value == "")	{
		alert("Você deve obrigatoriamente selecionar a sua primeira área de interesse.");		
		form.Area1.focus();
		return false;
	}

	index = form.Periodo.selectedIndex;
	if (form.Periodo.options[index].value == "")	{
		alert("Você deve obrigatoriamente selecionar um período.");		
		form.Periodo.focus();
		return false;
	}

	index = form.cmbFicouSabendo.selectedIndex;
	if (form.cmbFicouSabendo.options[index].value == "Outra" && form.txtFicouSabendo.value == "")	{
		alert("Você esqueceu de preencher como ficou sabendo do Programa.");	
		form.txtFicouSabendo.focus();	
		return false;
	}

	if (form.Parente[0].checked && form.DadosParente.value=="")	{
		alert("Você esqueceu de preencher os dados do seu parente.");
		form.DadosParente.focus();
		return false;
	}

	if (form.Deficiente[0].checked && form.DadosDeficiencia.value=="")	{
		alert("Você esqueceu de preencher os dados da sua deficiência.");
		form.DadosDeficiencia.focus();
		return false;
	}

	return true
}	

function VerificaFaculdade(form){	
	if (form.Faculdade.options[form.Faculdade.selectedIndex].value == 'Outra')
	{
		form.Faculdade_Outra.disabled = false;
		form.Faculdade_Outra.focus();
	}
	else
	{
		form.Faculdade_Outra.disabled = true;
		form.Faculdade_Outra.value = "";
	}
}

function VerificaParente(form){	

	if (form.Parente[0].checked)
	{
		form.DadosParente.disabled = false;
		form.DadosParente.focus();
	}
	else
	{
		form.DadosParente.disabled = true;
		form.DadosParente.value = "";
	}
}

function VerificaDeficiente(form){	

	if (form.Deficiente[0].checked)
	{
		form.DadosDeficiencia.disabled = false;
		form.DadosDeficiencia.focus();
	}
	else
	{
		form.DadosDeficiencia.disabled = true;
		form.DadosDeficiencia.value = "";
	}
}

function VerificaFicouSabendo(form){	

	if (form.cmbFicouSabendo.options[form.cmbFicouSabendo.selectedIndex].text == 'Outra')
	{
		form.txtFicouSabendo.disabled = false;
		form.txtFicouSabendo.focus();
	}
	else
	{
		form.txtFicouSabendo.disabled = true;
		form.txtFicouSabendo.value = "";
	}
}
