var xmlHttp;
var cpfTeste;
var reEmail3 = /^[\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}\])$/;
var reEmail = reEmail3;
var cpfTT;

function verCampo(cp, em, se, co, no, dt, tc, tr, rg, ct, en, ci, ba, ce, na, ec, sx, np, nm, di, ins, cu, pa, tu, ma, ea, es, ta, ts, non, ton){
	alert("CPF: " + cp + "\n" + "E-MAIL: " + em + "\n" + "SENHA: " + se + "\n" + "CONFIRMAÇÃO: " + co + "\n" + "NOME: " + no + "\n" + "DATA NASCIMENTO: " + dt + "\n" + "TELEFONE CELULAR: " + tc + "\n" + "TELEFONE RESIDENCIAL: " + tr + "\n" + "RG: " + rg + "\n" + "CARTEIRA DE TRABALHO: " + ct + "\n" + "ENDERECO: " + en + "\n" + "CIDADE: " + ci + "\n" + "BAIRRO: " + ba + "\n" + "CEP: " + ce + "\n" + "NATURALIDADE: " + na + "\n" + "ESTADO CIVIL: " + ec + "\n" + "SEXO: " + sx + "\n" + "NOME DO PAI: " + np + "\n" + "NOME DA MÃE: " + nm + "\n" + "DISPONIBILIDADE: " + di + "\n" + "INSTITUIÇÃO: " + ins + "\n" + "CURSO: " + cu + "\n" + "PERIODO ATUAL: " + pa + "\n" + "TURNO: " + tu + "\n" + "MATRICULA: " + ma + "\n" + "ENTRADA ANO: " + ea + "\n" + "ENTRADA SEMESTRE: " + es + "\n" + "TERMINO ANO: " + ta + "\n" + "TERMINO SEMESTRE: " + ts + "\n" + "NOME DO CONTATO: " + non + "\n" + "TELFONE DO CONTATO: " + ton);
}

function mascara(o,f){
    v_obj=o
    v_fun=f
    setTimeout("execmascara()",1)
}

function execmascara(){
    v_obj.value=v_fun(v_obj.value)
}

function mData(v){
    v=v.replace(/\D/g,"")                    //Remove tudo o que não é dígito
    v=v.replace(/(\d{2})(\d)/,"$1/$2")       //Coloca um ponto entre o terceiro e o quarto dígitos
    v=v.replace(/(\d{2})(\d)/,"$1/$2")       //Coloca um ponto entre o terceiro e o quarto dígitos
                                             //de novo (para o segundo bloco de números)
    return v
}

function cep(v){
    v=v.replace(/\D/g,"")                //Remove tudo o que não é dígito
    v=v.replace(/^(\d{5})(\d)/,"$1-$2") //Esse é tão fácil que não merece explicações
    return v
}

function telefone(v){
    v=v.replace(/\D/g,"")                 //Remove tudo o que não é dígito
    v=v.replace(/^(\d\d)(\d)/g,"($1) $2") //Coloca parênteses em volta dos dois primeiros dígitos
    v=v.replace(/(\d{4})(\d)/,"$1-$2")    //Coloca hífen entre o quarto e o quinto dígitos
    return v
}

function validar(){
	//  alert('teste');
	var formulario = document.formEtapa2;
	if((validarNome(formulario.nomeEst.value)) && (validarData(formulario.dtnsEst.value)) && (validarRg(formulario.rgEst.value))){
    	return true;
	} else {
    	return false;
	}		
}

function validarEt3(){
	//  alert('teste');
	var formulario = document.formEtapa3;
	if((validarEndereco(formulario.endEst.value)) && (validarCidade(formulario.cidades.value)) && (validarBairro(formulario.bairros.value)) && (validarCEP(formulario.cepEst.value)) && (validarNaturalidade(formulario.naturalidade.value)) && (validarEstaCiv(formulario.estadoCivil.value)) && (validarSexo(formulario.sexo.value)) && (validarNomePai(formulario.nomePai.value)) && (validarNomeMae(formulario.nomeMae.value)) && (validarDisponibilidade(formulario.disp1.value, formulario.disp2.value, formulario.disp3.value))){
    	return true;
	} else {
    	return false;
	}		
}

function validarEt4(){
	//  alert('teste');
	var formulario = document.formEtapa4;
	if((validarInstituicao(formulario.instituicoes.value)) && (validarCurso(formulario.cursos.value)) && (validarPAtual(formulario.pAtual.value)) && (validarTurno(formulario.turn1.value, formulario.turn2.value, formulario.turn3.value)) && (validarAnoEntrada(formulario.eAno.value)) && (validarSemestreEntrada(formulario.eSemestre.value)) && (validarAnoTermino(formulario.tAno.value)) && (validarSemestreTermino(formulario.tSemestre.value))){
    	return true;
	} else {
    	return false;
	}		
}

function validarEt6(){
	//  alert('teste');
//   	alert('Cadastro concluído com sucesso! Agora você ja pode concorrer as vagas de estágio ofertadas pelo IEL/PE.');	
   	return true;
}

function validarData(campo){
	var expReg = /^(([0-2]\d|[3][0-1])\/([0]\d|[1][0-2])\/[1-2][0-9]\d{2})$/;
	var formulario = document.formEtapa2;
	if (formulario.dtnsEst.value == ""){
    	alert('O campo Data é obrigatório.');
    	formulario.dtnsEst.focus();
    	return false;				
	}else{
		if (formulario.dtnsEst.value.match(expReg)){
        	var dia = formulario.dtnsEst.value.substring(0,2);
			var mes = formulario.dtnsEst.value.substring(3,5);
			var ano = formulario.dtnsEst.value.substring(6,10);
			if((mes==4 || mes==6 || mes==9 || mes==11) && (dia > 30)){
				alert("Dia incorreto !!! O mês especificado contém no máximo 30 dias.");
				formulario.dtnsEst.focus();
				return false;					
			}else{
				if(ano%4!=0 && mes==2 && dia>28){
					alert("Data incorreta!! O mês especificado contém no máximo 28 dias.");
			    	formulario.dtnsEst.focus();				
					return false;							
				} else {
					if(ano%4==0 && mes==2 && dia>29){
						alert("Data incorreta!! O mês especificado contém no máximo 29 dias.");
						formulario.dtnsEst.focus();					
						return false;									
					} else {
						if(formulario.dtnsEst.value.match(expReg)==false){
							alert('O campo Data é orbigatório.');
							formulario.dtnsEst.focus();
							return false;			
						} else {
							if(verificaNasc(formulario.dtnsEst.value) == false){
								alert("Idade abaixo de 16");
								formulario.dtnsEst.focus();
								return false;
							} else {
								return true;
							}
						}
					}
				}
			}
		} else {
			alert('Formato inválido de data.');
			formulario.dtnsEst.focus();					
			return false;											
		}
	}
}

function validarNome(campo){
	var formulario = document.formEtapa2;
	if(formulario.nomeEst.value==''){
		alert('O campo Nome é obrigatório.');
		formulario.nomeEst.focus();
		return false;				
	} else {
		return true;
	}
}	

function validarCidade(campo){
	var formulario = document.formEtapa3;
	if(formulario.cidades.value=='NDA'){
		alert('O campo CIDADE é obrigatório. Selecione a cidade referente ao seu endereço.');
		formulario.cidades.focus();
		return false;				
	} else {
		return true;
	}
}	

function validarBairro(campo){
	var formulario = document.formEtapa3;
	if(formulario.bairros.value==''){
		alert('O campo BAIRRO é obrigatório. Selecione o bairro referente ao seu endereço.');
		formulario.cidades.focus();
		return false;				
	} else {
		return true;
	}
}	

function validarNaturalidade(campo){
	var formulario = document.formEtapa3;
	if(formulario.naturalidade.value=='NDA'){
		alert('O campo NATURALIDADE é obrigatório. Selecione sua naturalidade.');
		formulario.naturalidade.focus();
		return false;				
	} else {
		return true;
	}
}	

function validarEstaCiv(campo){
	var formulario = document.formEtapa3;
	if(formulario.estadoCivil.value=='NDA'){
		alert('O campo ESTADO CIVIL é obrigatório. Selecione seu estado civil.');
		formulario.estadoCivil.focus();
		return false;				
	} else {
		return true;
	}
}	

function validarSexo(campo){
	var formulario = document.formEtapa3;
	if(formulario.sexo.value=='NDA'){
		alert('O campo SEXO é obrigatório.');
		formulario.sexo.focus();
		return false;				
	} else {
		return true;
	}
}	

function validarNomePai(campo){
	var formulario = document.formEtapa3;
	if(formulario.nomePai.value==''){
		alert('O campo NOME DO PAI é obrigatório.');
		formulario.nomePai.focus();
		return false;				
	} else {
		return true;
	}
}	

function validarNomeMae(campo){
	var formulario = document.formEtapa3;
	if(formulario.nomeMae.value==''){
		alert('O campo NOME DA MÃE é obrigatório.');
		formulario.nomeMae.focus();
		return false;				
	} else {
		return true;
	}
}	

function validarDisponibilidade(campo1, campo2, campo3){
	var formulario = document.formEtapa3;
	if((formulario.disp1.checked == false) && (formulario.disp2.checked == false) && (formulario.disp3.checked == false)){
		alert('Campo DISPONIBILIDADE é obrigatório. Selecione pelo menos uma opção para disponibilidade de estágio.');
		formulario.disp1.focus();
		return false;
	} else {
		return true;
	}
}	

function validarCEP(campo){
	var formulario = document.formEtapa3;
	tCep = formulario.cepEst.value;
	tCep = tCep.replace(' ', '');
	if(tCep == ''){
		alert('O campo CEP é obrigatório.');
		formulario.cepEst.focus();
		return false;				
	} else {
		if(tCep.toString().length <= 8){
			alert('O campo CEP é obrigatório. Verifique o CEP digitado.');
			formulario.cepEst.focus();
			return false;
		} else {
			return true;
		}
	}
}	

function validarEndereco(campo){
	var formulario = document.formEtapa3;
	if(formulario.endEst.value==''){
		alert('O campo ENDEREÇO é obrigatório.');
		formulario.endEst.focus();
		return false;				
	} else {
		return true;
	}
}	

function validarRg(campo){
	var formulario = document.formEtapa2;
	if(formulario.rgEst.value==''){
		alert('O campo RG é obrigatório.');
		formulario.rgEst.focus();
		return false;				
	} else {
		return true;
	}
}	

function validarInstituicao(campo){
	var formulario = document.formEtapa4;
	if(formulario.instituicoes.value=='NDA'){
		alert('O campo INSTITUIÇÃO é obrigatório. Selecione a sua Instituição de Ensino.');
		formulario.instituicoes.focus();
		return false;				
	} else {
		return true;
	}
}	

function validarCurso(campo){
	var formulario = document.formEtapa4;
	if(formulario.cursos.value==''){
		alert('O campo CURSO é obrigatório. Selecione o curso referente a sua Instituição de Ensino.');
		formulario.cursos.focus();
		return false;				
	} else {
		return true;
	}
}	

function validarTurno(campo1, campo2, campo3){
	var formulario = document.formEtapa4;
	if((formulario.turn1.checked == false) && (formulario.turn2.checked == false) && (formulario.turn3.checked == false)){
		alert('Campo TURNO é obrigatório. Selecione pelo menos uma opção para turno do curso.');
		formulario.turn1.focus();
		return false;
	} else {
		return true;
	}
}	

function validarPAtual(campo){
	var formulario = document.formEtapa4;
	if(formulario.pAtual.value==''){
		alert('O campo PERIODO ATUAL é obrigatório.');
		formulario.pAtual.focus();
		return false;				
	} else {
		return true;
	}
}	

function validarAnoEntrada(campo){
	var formulario = document.formEtapa4;
	if(formulario.eAno.value==''){
		alert('O campo ANO DE ENTRADA é obrigatório.');
		formulario.eAno.focus();
		return false;				
	} else {
		return true;
	}
}	

function validarSemestreEntrada(campo){
	var formulario = document.formEtapa4;
	if(formulario.eSemestre.value==''){
		alert('O campo SEMESTRE DE ENTRADA é obrigatório.');
		formulario.eSemestre.focus();
		return false;				
	} else {
		return true;
	}
}	

function validarAnoTermino(campo){
	var formulario = document.formEtapa4;
	if(formulario.tAno.value==''){
		alert('O campo ANO DE TÉRMINO é obrigatório.');
		formulario.tAno.focus();
		return false;				
	} else {
		return true;
	}
}	

function validarSemestreTermino(campo){
	var formulario = document.formEtapa4;
	if(formulario.tSemestre.value==''){
		alert('O campo SEMESTRE DE TÉRMINO é obrigatório.');
		formulario.tSemestre.focus();
		return false;				
	} else {
		return true;
	}
}	

function calculaIdade(data,dataHoje){
	x = data.split("/");
    h = dataHoje.split("/");
	datA = x[2] + x[1] + x[0];
	datB = h[2] + h[1] + h[0];	
	dIdade = datB - datA;
	if(dIdade.toString().length == 5){
		idEst = dIdade.toString().substring(0, 1);
	} else {
		if(dIdade.toString().length == 6){
			idEst = dIdade.toString().substring(0, 2);
		}
	}
    return idEst;
}

function verificaNasc(dtNs){
	var dtHj = new Date();
	var diaHj = dtHj.getDate();
	var mesHj = dtHj.getMonth()+1;
	var anoHj = dtHj.getYear();
	if(diaHj == 1 || diaHj == 2 || diaHj == 3 || diaHj == 4 || diaHj == 5 || diaHj == 6 || diaHj == 7 || diaHj == 8 || diaHj == 9){
		diaHj = '0' + diaHj.toString();
	}
	if(mesHj == 1 || mesHj == 2 || mesHj == 3 || mesHj == 4 || mesHj == 5 || mesHj == 6 || mesHj == 7 || mesHj == 8 || mesHj == 9){
		mesHj = '0' + mesHj.toString();
	}
	var datHj = diaHj + '/' + mesHj + '/' + anoHj;
	var idade = calculaIdade(dtNs, datHj);
	if(idade >= 16){
		return true;
	}else{
		return false;
	}
}

function Enviar(){
	email = document.formEtapa1.emailEst.value;
	cpf = document.formEtapa1.cpfEst.value;
	senha = document.formEtapa1.senhaEst.value;
	confirma = document.formEtapa1.confEst.value;
	if(email == ""){
		alert("Campo obrigatório: Digite seu E-MAIL, o mesmo será utlizado para recuperação de sua senha e para contato sobre vagas de estágio.");
		document.formEtapa1.emailEst.focus();
		return false;
	} else {
		if(doEmail(email) == false){
			alert("E-mail digitado de forma incorreta. Redigite seu E-MAIL.");
			document.formEtapa1.emailEst.focus();
			return false;
		} else {	
			if(cpf == ""){
				alert("Campo obrigatório: Digite seu CPF, contendo apenas os números.");
				document.formEtapa1.cpfEst.focus();
				return false;
			} else {
				if(VerificaCPF(cpf) == false){
					alert("O CPF digitado não é válido! Redigite novamente.");			
					document.formEtapa1.cpfEst.focus();
					return false;
				} else {					
					if(senha == ""){
						alert("Campo obrigatório: Digite sua SENHA e logo em seguida confirme no campo abaixo!");
						document.formEtapa1.senhaEst.focus();
						return false
					} else {
						if(confirma != senha){
							alert("Campo obrigatório: O campo não confere com a senha digitada, confirme sua senha novamente.");
							document.formEtapa1.confEst.focus();
							return false;
						} else {
							if(testeCpf(cpf) == false){
								alert("O CPF ja consta em nossa base de dados!");
								document.formEtapa1.cpfEst.focus();
								return false;
							} else {
								return true;
							}
						}
					}
				}
			}
		}
	}
}	


function doEmail(pStr)
{
	eval("reEmail = reEmail");
	if (reEmail.test(pStr)) {
//		alert(pStr + " é um endereço de e-mail válido.");
		return true;
	} else if (pStr != null && pStr != "") {
//		alert(pStr + " NÃO é um endereço de e-mail válido.");
		return false;
	}
} 

function SoNumeros(){ 
	var carCode = event.keyCode; 
	if ((carCode < 48) || (carCode > 57)) { 
		event.cancelBubble = true;
		event.returnValue = false;
	}
}

function VerificaCPF(scpf){
	if (vercpf(scpf)){
		return true;
	}else{
		return false;
	}
}

function vercpf(cpf){
	if (cpf.length != 11 || cpf == "00000000000" || cpf == "11111111111" || cpf == "22222222222" || cpf == "33333333333" || cpf == "44444444444" || cpf == "55555555555" || cpf == "66666666666" || cpf == "77777777777" || cpf == "88888888888" || cpf == "99999999999") return false;
	add = 0;
	for (i=0; i < 9; i ++) add += parseInt(cpf.charAt(i)) * (10 - i);
	rev = 11 - (add % 11);
	if (rev == 10 || rev == 11) rev = 0;
	if (rev != parseInt(cpf.charAt(9))) return false;
	add = 0;
	for (i = 0; i < 10; i ++) add += parseInt(cpf.charAt(i)) * (11 - i);
	rev = 11 - (add % 11);
	if (rev == 10 || rev == 11) rev = 0;
	if (rev != parseInt(cpf.charAt(10))) return false;
	return true;
}


// ajax - inicio

function showUser(str){
	if (str.length == 0){
		document.getElementById("txtHint").innerHTML="";
		return;
	}
	xmlHttp = GetXmlHttpObject()	
	if (xmlHttp == null){
		alert("Seu browser não suporta AJAX!!");
		return;
	}
	var url = "consultaCpf.php";
	url = url + "?q=" + str;
//	url = url + "$sid=" + Math.random();
	xmlHttp.onreadystatechange = stateChanged;
	xmlHttp.open("GET", url, true);	
	xmlHttp.send(null);
}

function stateChanged(){
if (xmlHttp.readyState == 4){
		document.getElementById("txtHint").innerHTML = xmlHttp.responseText;
		cpfTT = xmlHttp.responseText;
	}
}

function testeCpf(cpT){	
	showUser(cpT);
	var cpfTTTT = document.getElementById("txtHint").innerHTML;
	if(cpfTTTT == 'N'){
		return false;
	}else{
		if(cpfTTTT == 'S'){		
			return true;
		}
	}
}
	

function GetXmlHttpObject(){
	var xmlHttp = null;
	try{
		//Firefox, Opera 8.0+, Safari
		xmlHttp = new XMLHttpRequest();
	} catch (e) {
		//Internet Explorer
		try{
			xmlHttp = ActiveXObject("Msxml2.XMLHTTP");
		} catch (e) {
			xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
		}
	}
	return xmlHttp;
}				

// ajax - fim 