//Pesquisa veterano padrinho
function pesquisa_veterano (){
	nome = document.getElementById('nome_vet_id').value;
	ajax('n='+nome,'ajax_pesquisa_veterano.php','ajax_veterano','Carregando... por favor, aguarde!');
}

//Ajax veterano padrinho
function ajax(valor, url, div, loader) {

	$.ajax({
		type: "POST",	
		url: url,
	   	data: valor,
		beforeSend: function() {
			$('#'+div).html(loader);
		},
		success: function(txt) {
			$('#'+div).html(txt);
		},
		error: function() {
			alert('Erro ao Executar o Ajax');
		}
	});
}

//Confirma veterano padrinho
function confirma_veterano(codigo, nome){
	var pergunta = confirm('Confirma este aluno da URCAMP como seu veterano padrinho ?');
	
	document.getElementById('ncc_veterano_id').value = codigo;
	
	if(pergunta){
		ajax('n='+nome+'','ajax_confirma_veterano.php','ajax_veterano','Carregando... por favor, aguarde!');
	}
}


//Abre pop-up
function  abrir_pop(url,altura,largura,scroll){
   window.open(url,'','width='+largura+', height='+altura+', top='+(screen.height - altura) / 2+', left='+(screen.width - largura) / 2+', scrollbars='+scroll+', status=no, toolbar=no,location=no, directories=no, menubar=no, resizable=no, fullscreen=no');
} 

//Fonte acessibilidade
var tamanho = 11;

function altera_fonte(variacao){

  if(variacao == 'mais'){
    if(tamanho < 19){
    	tamanho += 2 ;    			 
    }
  }else if (variacao == 'menos' ){
    if(tamanho > 9){
    	tamanho -= 2 ;
    }
  }else if (variacao == 'padrao'){
  	tamanho = 11;
  }

  if(document.getElementById('fonte_acessibilidade') ){
  	altera_fonte_Recursiva(variacao,document.getElementById('fonte_acessibilidade'));
  }
}

function altera_fonte_Recursiva(variacao,domElement){		

  for(var x = 0; x < domElement.childNodes.length ; x++ ){
    altera_fonte_Recursiva(variacao,domElement.childNodes.item(x));
  }

  if(domElement.style){
  	domElement.style.fontSize = tamanho+'px';
  }
  
}

//Validações, Mascaras e Funções dos Formulários
//Validar formulario Inscrição
function ValidaInscricao(formulario){
	//Inicializa variaveis
	  status_validacao = true;
      msg = "";
    
    //Remove mascara para validação
      formulario.cpf.value = formulario.cpf.value.replace(/\D/g,"");
      formulario.cep.value = formulario.cep.value.replace(/\D/g,"");
    	  
    for(var i=0; i < formulario.length; i++){
        formulario.elements[i].className = formulario.elements[i].className.replace(/ erro/,"");
      	
        if(formulario.elements[i].className != "fieldset"){ //Pula trim dos fieldsets
        	formulario.elements[i].value = trim(formulario.elements[i].value);	
        }
         
        if(formulario.elements[i].value == "" && 
           formulario.elements[i].name != "cpf" && 
           formulario.elements[i].name != "nome_abrv" && 
           formulario.elements[i].name != "nome_vet" && 
           formulario.elements[i].name != "ncc_veterano"
           
           ){
            formulario.elements[i].className += " erro";
            status_validacao = false;
        }
    }
    
    if(!status_validacao){
    	msg += "- Preencha corretamente os campos destacados\n";
    }
        
    if(formulario.email.value != ""){
	    if(!validaEmail(formulario.email)){
	        msg += "- E-mail inválido\n";
	        formulario.email.className += " erro";
	        status_validacao = false;
		}
    }

    /*if(formulario.cpf.value != ""){   
	    if(!validaCPF(formulario.cpf)){
	        msg += "- CPF inválido\n";
	        formulario.cpf.className += " erro";
	        status_validacao = false;
	    }else{
	    	formulario.cpf.className += " correto";
	    }
    }*/
    
    if(formulario.nascimento.value.length != ""){
	    if(!validaData(formulario.nascimento)){
	        msg += "- Data de nascimento inválida\n";
	        formulario.nascimento.className += " erro";
	        status_validacao = false;
	    }
    }
    
    if(formulario.cep.value.length != ""){
	    if(formulario.cep.value.length != 8){
			msg += "- CEP precisa ter oito dígitos (apenas números)";
			formulario.cep.className += " erro";
			status_validacao = false;
	    }
    }

    if((formulario.opc1.value == formulario.opc2.value ||
       formulario.opc1.value == formulario.opc3.value) ||
       
       (formulario.opc2.value == formulario.opc1.value ||
       formulario.opc2.value == formulario.opc3.value) ||

       (formulario.opc3.value == formulario.opc1.value ||
       formulario.opc3.value == formulario.opc2.value)){
     		msg += "- Suas opções de curso não podem ser iguais";
			formulario.opc1.className += " erro";
			formulario.opc2.className += " erro";
			formulario.opc3.className += " erro";
			status_validacao = false;
    }
     
    if(msg != ""){
    	alert("Por favor, corrija os seguintes problemas:\n" + msg);
	}
    
	return status_validacao;
}

function ValidaSocioEconomico(formulario){
	//Inicializa variaveis
	  status_validacao = true;
      msg = "";
    
    for(var i=0; i < formulario.length; i++){
        formulario.elements[i].className = formulario.elements[i].className.replace(/ erro/,"");
      	
        if(formulario.elements[i].className != "fieldset"){ //Pula trim dos fieldsets
        	formulario.elements[i].value = trim(formulario.elements[i].value);	
        }
         
        if(formulario.elements[i].value == "" && 
           formulario.elements[i].name != "soc_codigo" && 
           formulario.elements[i].name != "opc1"){
            formulario.elements[i].className += " erro";
            status_validacao = false;
        }
    }
    
    if(!status_validacao){
    	msg += "- Preencha corretamente os campos destacados\n";
    }
        
    if(msg != ""){
    	alert("Por favor, corrija os seguintes problemas:\n" + msg);
	}
    
	return status_validacao;
}

//Invocador
function mascara(objeto,funcao){
    var_objeto = objeto;
    var_funcao = funcao;
    setTimeout("executa_mascaras()",1)
}

function executa_mascaras(){
    var_objeto.value = var_funcao (var_objeto.value);
}

function somente_numeros(valor){
    return valor.replace(/\D/g,"");
}

function masc_cpf(valor){
    valor = valor.replace(/\D/g,"");                    //Remove tudo o que não é dígito
    valor = valor.replace(/(\d{3})(\d)/,"$1.$2");       //Coloca um ponto entre o terceiro e o quarto dígitos
    valor = valor.replace(/(\d{3})(\d)/,"$1.$2");       //Coloca um ponto entre o terceiro e o quarto dígitos
                                       			        //de novo (para o segundo bloco de números)
    valor = valor.replace(/(\d{3})(\d{1,2})$/,"$1-$2"); //Coloca um hífen entre o terceiro e o quarto dígitos
    return valor;
}

function masc_data(valor){
    valor = valor.replace(/\D/g,"");                    //Remove tudo o que não é dígito
    valor = valor.replace(/(\d{2})(\d)/,"$1/$2");       //Coloca um ponto entre o terceiro e o quarto dígitos
    valor = valor.replace(/(\d{2})(\d)/,"$1/$2");       //Coloca um ponto entre o terceiro e o quarto dígitos
    return valor;
}

function masc_cep(valor){
    valor = valor.replace(/D/g,"");                //Remove tudo o que não é dígito
    valor = valor.replace(/^(\d{5})(\d)/,"$1-$2"); //Esse é tão fácil que não merece explicações
    return valor;
}


//Validação de CPF
function validaCPF(campo) {
				 
   cpfN = campo.value;
	                               
   erro = new String;
					                     
   var a = [];
   var b = new Number;
   var c = 11;
   for (i=0; i<11; i++){
           a[i] = cpfN.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 ((cpfN.charAt(9) != a[9]) || (cpfN.charAt(10) != a[10])){
           erro +=' Digito verificador com problema!';
   }
   
   if (erro.length > 0){
       return false;
   }
   
   return true;
}

//Validação de E-mail
function validaEmail(campo){
	if (/^([\w\.\-])+\@(([\w\-])+\.)+([\w ]{2,4})$/.test(campo.value) == false){
	      return false;
	}
	
	return true;
}

//Valida data
function validaData(campo){
	var date = campo.value;
	var array_data = new Array;
	var ExpReg = new RegExp("(0[1-9]|[12][0-9]|3[01])/(0[1-9]|1[012])/[12][0-9]{3}");
	array_data = date.split("/");
	erro = false;
	if ( date.search(ExpReg) == -1 )
		erro = true;
	else if ( ( ( array_data[1] == 4 ) || ( array_data[1] == 6 ) || ( array_data[1] == 9 ) || ( array_data[1] == 11 ) ) && ( array_data[0] > 30 ) )
		erro = true;
	else if ( array_data[1] == 2 ) {
		if ( ( array_data[0] > 28 ) && ( ( array_data[2] % 4 ) != 0 ) )
			erro = true;
		if ( ( array_data[0] > 29 ) && ( ( array_data[2] % 4 ) == 0 ) )
			erro = true;
	}
	if ( erro ) {
		return false;
	}
	return true;
}


//Trim no Javascript
function trim(campo){
	return campo.replace(/^\s+|\s+$/g,"");
}

//Mascara de telefone
function masc_telefone(valor){
    valor = valor.replace(/\D/g,"")                 //Remove tudo o que não é dígito
    valor = valor.replace(/^(\d\d)(\d)/g,"($1) $2"); //Coloca parênteses em volta dos dois primeiros dígitos
    valor = valor.replace(/(\d{4})(\d)/,"$1-$2");    //Coloca hífen entre o quarto e o quinto dígitos
    return valor;
}

