// função para iniciarmos o Ajax no browser do cliente.
function criaAJAX() 
{

	var ajax;
	
	try
	{
		
		//tenta criar ajax
		ajax = new XMLHttpRequest();
		
	}
	catch(e){
		
		var XMLHttpVersoes = ["MSXML2.XMLHttp.6.0", "MSXML2.XMLHttp.5.0", "MSXML2.XMLHttp.4.0", "MSXML2.XMLHttp.3.0", "MSXML2.XMLHttp", "Microsoft.XMLHttp"];	

		//procura a melhor versao pra IE
		for(var i = 0; i < XMLHttpVersoes.length; i++)
		{
			

			try
			{
			
				//tenta criar objeto XMLHttpRequest
				ajax = new ActiveXObject(XMLHttpVersoes[i]);
			
			}
			catch(e) {}
			
		}
		
	}
	
	//retorna o objeto criado ou um erro
	if(!ajax)
		alert("Erro ao tentar criar o objeto XMLHttpRequest.");
	 else 
		return ajax;
	
	//caso chegue ate aqui
	return false
	
}

//extrai o script de um responseText
function extraiScript(texto)
{

	// inicializa o inicio 
    var ini = 0;
	
    // loop enquanto achar um script
    while (ini!=-1)
	{
		
        // procura uma tag de script
        ini = texto.indexOf('<script', ini);
		
        // se encontrar
        if (ini >=0)
		{
			
            // define o inicio para depois do fechamento dessa tag
            ini = texto.indexOf('>', ini) + 1;
			
            // procura o final do script
            var fim = texto.indexOf('</script>', ini);
			
            // extrai apenas o script
            codigo = texto.substring(ini,fim);
			
			//cria o script
            novo = document.createElement("script")
            novo.text = codigo;
            document.body.appendChild(novo);

            // executa o script
            // eval(codigo);

        }
		
    }
	
}

//funcao que abre conteudo ajax em uma div
function abre(div, url)
{	

	// inicia o ajax
	var ajax = criaAJAX(); 
	
	//aponta arquivo
	ajax.open("GET", url, true); 
	
	//executa acao conforme carregamento
	ajax.onreadystatechange = mostraResultado;
	
	//submete dados ao servidor
	ajax.send(null); 
	
	
	//funcao executada ao terminar de caregar o ajax
	function mostraResultado() {
	
		// Quando estiver tudo pronto.
		if(ajax.readyState == 4) { 
	
			if(ajax.status == 200) {
			
				var resultado = ajax.responseText; // Coloca o resultado (da busca) retornado pelo Ajax nessa variável (var resultado).
				
				//mostra resulado
				document.getElementById(div).innerHTML = resultado;
				
				//valida javascript q contiver no arquivo aberto
				extraiScript(resultado);
			
			} else alert("erro")
		
		}
	
	}

}

// Função que pega dados do formulario
function DadosForm(idForm)
{
   
	var elementosFormulario = document.getElementById(idForm).elements;
    var qtdElementos = elementosFormulario.length;
    var queryString = "";
    var elemento;
	
	// cria uma funcao interna para concatenar os elementos do form
	this.ConcatenaElemento = function(nome,valor) 
	{

		if (queryString.length>0) 
			queryString += "&";

		queryString += encodeURIComponent(nome) + "=" + encodeURIComponent(valor);
		
	}
	
	// loop para percorrer todos os elementos
	for (var i=0; i<qtdElementos; i++) 
	{

		//Pega o elemento
		elemento = elementosFormulario[i];
		
		if (!elemento.disabled) 
		{
		
			//Trabalha com o elemento caso ele nao esteja desabilitado
			switch(elemento.type) 
			{

				//Realiza a acao dependendo do tipo de elemento
				case 'text': case 'password': case 'hidden': case 'textarea':
				
					this.ConcatenaElemento(elemento.name,elemento.value);
					
				break;
				
				case 'select-one':
					if (elemento.selectedIndex>=0) 
						this.ConcatenaElemento(elemento.name,elemento.options[elemento.selectedIndex].value);
	
				break;
	
				case 'select-multiple':
				
					for (var j=0; j<elemento.options.length; j++) 
					{
	
						if (elemento.options[j].selected)
							this.ConcatenaElemento(elemento.name,elemento.options[j].value);
							
					}
		
				break;
	
				case 'checkbox': case 'radio':
	
					if (elemento.checked) 
						this.ConcatenaElemento(elemento.name,elemento.value);
	
				break;
			
			}
		
		}
	
	}
	
	return queryString;

}

function cadastroCurriculum()
{
	
	var ChecaFrom = checa_curriculum('fcadastro');
	
	if(ChecaFrom== true){
	
		var parametros = DadosForm('fcadastro');
		
		// inicia o ajax
		var ajax = criaAJAX(); 
	
		//aponta arquivo
		ajax.open("GET", "curriculum/recebeCadastrarCurriculum.php?" + parametros, true); 
		
		ajax.onreadystatechange = function(){
		
			
			if(ajax.readyState == 1) 	
				document.getElementById('curriculum').innerHTML = "<br><br><br><center><img src='gif/loading_ani.gif' border='0' /><br><h4>Carregando...</h4></center><br><br><br><br><br><br><br><br><br>";
			
			// Quando estiver tudo pronto.
				if(ajax.readyState == 4) { 
				
					if(ajax.status == 200) {
					
						document.getElementById('curriculum').innerHTML = ajax.responseText;
					
					} else alert("erro")
				
				} 
			
			}
		
		//submete dados ao servidor
		ajax.send(null); 
	}
}

function checa_curriculum(formulario)
{
	
	var cad = document.getElementById(formulario);
		
	if (cad.enome.value == ""){
		alert("Campo NOME sem informação! Campo Obrigatório");
		cad.enome.focus();
		return (false);
	}
	
	if (cad.ecpf.value == ""){
	
		alert("Por favor preencha o campo CPF !");
		cad.ecpf.focus();
		return false;
	} else {
	
		// teste se usuário digitou apenas número
		var reDigits = /^\d+(,\d+)?$/;
		if (!reDigits.test(cad.ecpf.value)) {
	
				alert("Por favor, digite apenas números no campo CPF !");
				cad.ecpf.focus();
				return false;
				
		} else {
	
			s = cad.ecpf.value;
			
			var i;
			var c = s.substr(0,9);
			var dv = s.substr(9,2);
			var d1 = 0;
			
			for (i = 0; i < 9; i++)
			{
				d1 += c.charAt(i)*(10-i);
			}
			
			if (d1 == 0){
				alert("Por favor, verifique o CPF digitado !")
				return false;
			}
			
			d1 = 11 - (d1 % 11);
			if (d1 > 9) 
			{
				d1 = 0;
			}
			
			if (dv.charAt(0) != d1)
			{
				alert("Por favor, verifique o CPF digitado !")
				return false;
			}
		
			d1 *= 2;
			for (i = 0; i < 9; i++)
			{
				d1 += c.charAt(i)*(11-i);
			}
		
			d1 = 11 - (d1 % 11);
			if (d1 > 9)
			{
				d1 = 0;
			}
			
			if (dv.charAt(1) != d1)
			{
				alert("Por favor, verifique o CPF digitado !")
				return false;
			}
			
		}
	}
	
	
	if (cad.enascimento.value == ""){
		alert("Campo DATA DE NASCIMENTO sem informação! Campo Obrigatório");
		cad.enascimento.focus();
		return (false);
	}
	if (cad.efone1.value == ""){
		alert("Campo TELEFONE 1 sem informação! Campo Obrigatório");
		cad.efone1.focus();
		return (false);
	}
	if (cad.erua.value == ""){
		alert("Campo RUA sem informação! Campo Obrigatório");
		cad.erua.focus();
		return (false);
	}
	if (cad.enumero.value == ""){
		alert("Campo NUMERO sem informação! Campo Obrigatório");
		cad.enumero.focus();
		return (false);
	}
	if (cad.ebairro.value == ""){
		alert("Campo BAIRRO sem informação! Campo Obrigatório");
		cad.ebairro.focus();
		return (false);
	}
		if (cad.ecidade.value == ""){
		alert("Campo CIDADE sem informação! Campo Obrigatório");
		cad.ecidade.focus();
		return (false);
	}
	  if (cad.eemail.value == "") {
		alert("Campo E-MAIL sem informação! Por favor, preencha corretamente.");
		cad.eemail.focus();
		cad.eemail.select();
		return false;
	  } else {
			prim = cad.eemail.value.indexOf("@")
			if(prim < 2) {
				alert("O e-mail informado parece não estar correto.");
				cad.eemail.focus();
				cad.eemail.select();
				return false;
			}
			if(cad.eemail.value.indexOf(".") < 1) {
				alert("O e-mail informado parece não estar correto.");
				cad.eemail.focus();
				cad.eemail.select();
				return false;
			}
			if(cad.eemail.value.indexOf(" ") != -1) {
				alert("O e-mail informado parece não estar correto.");
				cad.eemail.focus();
				cad.eemail.select();
				return false;
			}
			if(cad.eemail.value.indexOf("zipmeil.com") > 0) {
				alert("O e-mail informado parece não estar correto.");
				cad.eemail.focus();
				cad.eemail.select();
				return false;
			}
			if(cad.eemail.value.indexOf("hotmeil.com") > 0) {
				alert("O e-mail informado parece não estar correto.");
				cad.eemail.focus();
				cad.eemail.select();
				return false;
			}
			if(cad.eemail.value.indexOf(".@") > 0) {
				alert("O e-mail informado parece não estar correto.");
				cad.eemail.focus();
				cad.eemail.select();
				return false;
			}
			if(cad.eemail.value.indexOf("@.") > 0) {
				alert("O e-mail informado parece não estar correto.");
				cad.eemail.focus();
				cad.eemail.select();
				return false;
			}
			if(cad.eemail.value.indexOf(".com.br.") > 0) {
					alert("O e-mail informado parece não estar correto.");
					cad.eemail.focus();
					cad.eemail.select();
					return false;
			}
			if(cad.eemail.value.indexOf("/") > 0) {
				alert("O e-mail informado parece não estar correto.");
				cad.eemail.focus();
				cad.eemail.select();
				return false;
			}
			if(cad.eemail.value.indexOf("[") > 0) {
				alert("O e-mail informado parece não estar correto.");
				cad.eemail.focus();
				cad.eemail.select();
				return false;
			}
			if(cad.eemail.value.indexOf("]") > 0) {
				alert("O e-mail informado parece não estar correto.");
				cad.eemail.focus();
				cad.eemail.select();
				return false;
			}
			if(cad.eemail.value.indexOf("(") > 0) {
				alert("O e-mail informado parece não estar correto.");
				cad.eemail.focus();
				cad.eemail.select();
				return false;
			}
			if(cad.eemail.value.indexOf(")") > 0) {
				alert("O e-mail informado parece não estar correto.");
				cad.eemail.focus();
				cad.eemail.select();
				return false;
			}
			if(cad.eemail.value.indexOf("..") > 0) {
				alert("O e-mail informado parece não estar correto.");
				cad.eemail.focus();
				cad.eemail.select();
				return false;
			}
	}
	if (cad.eescolaridade.value == ""){
		alert("Campo ESCOLARIDADE sem informação! Campo Obrigatório");
		cad.eescolaridade.focus();
		return (false);
	}
	if (cad.esenha.value == ""){
		alert("Campo SENHA sem informação! Campo Obrigatório");
		cad.esenha.focus();
		return (false);
	}else{
  
	var comprimento = (cad.esenha.value).length
	
	  if (comprimento<6){
		alert("SENHA COM MENOS DE 6 DIGITOS! Por favor, preencha corretamente.");
		cad.esenha_cad.focus();
		return (false);
	  
	  }
	}

	return (true);

}

function autentica()
{

	var parametros = DadosForm('flogin');
	
	// inicia o ajax
	var ajax = criaAJAX(); 

	//aponta arquivo
	ajax.open("GET", "curriculum/recebeLoginCurriculum.php?" + parametros, true); 
	
	ajax.onreadystatechange = function(){
	
		
		if(ajax.readyState == 1) 	
			document.getElementById('curriculum').innerHTML = "<br><br><br><center><img src='gif/loading_ani.gif' border='0' /><br><h4>Carregando...</h4></center><br><br><br><br><br><br><br><br><br>";
		
		// Quando estiver tudo pronto.
			if(ajax.readyState == 4) { 
			
				if(ajax.status == 200) {
				
					if(ajax.responseText=="ok"){
						
						abre('curriculum','curriculum/alt_cadastro.php')
						
					}else 
					{
						abre('curriculum','curriculum/login.php')
						alert(ajax.responseText);
					}
				
				
				} else alert("erro")
			
			} 
		
		}
	
	//submete dados ao servidor
	ajax.send(null); 

}

function altCurriculum()
{
	var parametros = DadosForm('falterar');
	
	var ChecaFrom = checa_curriculum('falterar');
	
	if(ChecaFrom== true)
	{
	
		// inicia o ajax
		var ajax = criaAJAX(); 
	
		//aponta arquivo
		ajax.open("GET", "curriculum/recebeAlteraCurriculum.php?" + parametros, true); 
		
		ajax.onreadystatechange = function(){
		
			
			if(ajax.readyState == 1) 	
				document.getElementById('curriculum').innerHTML = "<br><br><br><center><img src='gif/loading_ani.gif' border='0' /><br><h4>Carregando...</h4></center><br><br><br><br><br><br><br><br><br>";
			
			// Quando estiver tudo pronto.
				if(ajax.readyState == 4) { 
				
					if(ajax.status == 200) {
					
						if(ajax.responseText=="ok"){
							
							alert('Suas altereções ocorreram com sucesso');
							abre('curriculum','curriculum/alt_cadastro.php');
							
						}else 
						{
							abre('curriculum','curriculum/alt_cadastro.php');
							alert(ajax.responseText);
						}
					
					
					} else alert("erro")
				
				} 
			
			}
		
		//submete dados ao servidor
		ajax.send(null); 
	}
}

function logout()
{
	
	// inicia o ajax
	var ajax = criaAJAX(); 

	//aponta arquivo
	ajax.open("GET", "logout.php", true); 
	
	ajax.onreadystatechange = function(){
	
		
		if(ajax.readyState == 1) 	
			document.getElementById('curriculum').innerHTML = "<br><br><br><center><img src='gif/loading_ani.gif' border='0' /><br><h4>Carregando...</h4></center><br><br><br><br><br><br><br><br><br>";
		
		// Quando estiver tudo pronto.
			if(ajax.readyState == 4) { 
			
				if(ajax.status == 200) {
				
						abre('curriculum','curriculum/login.php');
				
				} else alert("erro")
			
			} 
		
		}
	
	//submete dados ao servidor
	ajax.send(null); 
	
}

function recuperaSenha()
{
	
	var parametros = DadosForm('frecuperaSenha');
	
	// inicia o ajax
	var ajax = criaAJAX(); 

	//aponta arquivo
	ajax.open("GET", "curriculum/recebeRecuperaSenha.php?" + parametros, true); 
	
	ajax.onreadystatechange = function(){
	
		
		if(ajax.readyState == 1) 	
			document.getElementById('curriculum').innerHTML = "<br><br><br><center><img src='gif/loading_ani.gif' border='0' /><br><h4>Carregando...</h4></center><br><br><br><br><br><br><br><br><br>";
		
		// Quando estiver tudo pronto.
			if(ajax.readyState == 4) { 
			
				if(ajax.status == 200) {

					abre('curriculum','curriculum/envia_senha.php');
					alert(ajax.responseText);
				
				
				} else alert("erro")
			
			} 
		
		}
	
	//submete dados ao servidor
	ajax.send(null); 
	
}
	
	
	
	
	
