$(window).ready(function(){
	
	
	
	$("#botao-prosseguir").click(function(){
		
		$(".formulario").animate({opacity: 1},1000);
		$("#div-erro").hide("slow").html("");
		
		if(isCpf($("#cpf").val()) && isEmail($("#email").val())){
			
			$.post("promocoes.php",
					{ajax: "primeiro-passo",
					cpf: $("#cpf").val(),
					email: $("#email").val()},
					function(ajax){
						
						/*
						 * Response types:
						 * 
						 * 1- User: consta no banco como usuário, mas não participa de promoção.
						 * 2- Completed : já participa da promoção.
						 * 3- EmailFail: CPF cadastrado com outro e-mail.
						 * 4- CpfFail: e-mail cadastrado com outro CPF.
						 * 5- NotUser: dados não encontrados, pronto para cadastro. 
						 */
						
						
						response = ajax.substring(0,1);
						 
						
						if (response == 1) {
							url 		= "promocoes.php";
							data		= {	
								ajax: "segundo-passo-inscreve",
								cpf: $("#cpf").val(),
								email: $("#email").val()
							};
							callback	= function(usuario){
								$("#div-erro").append("<li>Olá, "+usuario.nome+"! Você foi inscrito na promoção com sucesso.</li>");
								$("#div-erro").show("slow");
							};
							type		= "json";
							
							$.post(url,data,callback,type);
							$(".formulario").animate({opacity: 0.2},1000);
						}else if (response == 2) {
							url 		= "promocoes.php";
							data		= {	
								ajax: "segundo-passo-getNome",
								cpf: $("#cpf").val(),
								email: $("#email").val()
							};
							callback	= function(usuario){
								$("#div-erro").append("<li>Olá, "+usuario.nome+"! Você já está inscrito nessa promoção.</li>");
								$("#div-erro").show("slow");
							};
							type		= "json";
							
							$.post(url,data,callback,type);
							$(".formulario").animate({opacity: 0.2},1000);
						}else if (response == 3) {
							$("#div-erro").append("<li>Este CPF pertence a outro e-mail.</li>");
							$("#div-erro").show("slow");
							$("#cpf").animate({opacity: 0.2},1000);
						}else if (response == 4) {
							
							$("#div-erro").append("<li>Este e-mail pertence a outro CPF.</li>");
							$("#div-erro").show("slow");
							$("#email").animate({opacity: 0.2},1000);
						}else if (response == 5) {
							
							
							
							$(".segundo-passo").fadeIn("slow");
							$("#cpf").animate({opacity: 0.2},1000);
							$("#email").animate({opacity: 0.2},1000);
							
							
							if($("#nome").val().length ||$("#telefone").val().length ||$("#celular").val().length ||$("#nascimento").val().length ){
								
								$(".formulario").animate({opacity: 0.2},1000);
								erro = false;
								
								if(!isCpf($("#cpf").val())){
									$("#div-erro").append("<li>CPF inválido.</li>");
									$("#cpf").animate({opacity: 1},500);
									erro = true;
								}

								if(!isEmail($("#email").val())){
									$("#div-erro").append("<li>E-mail inválido.</li>");
									$("#email").animate({opacity: 1},500);
									erro = true;
								}
								
								if($("#nome").val().length < 3){
									$("#div-erro").append("<li>Nome inválido.</li>");
									$("#nome").animate({opacity: 1},500);
									erro = true;
								}
								
								if(!isTelefone($("#telefone").val())){
									$("#div-erro").append("<li>Número de telefone inválido.</li>");
									$("#telefone").animate({opacity: 1},500);
									erro = true;
								}
								
								if(!isTelefone($("#celular").val()) && $("#celular").val().length != 0){
									$("#div-erro").append("<li>Número de celular inválido.</li>");
									$("#celular").animate({opacity: 1},500);
									erro = true;
								}
								
								if(!isData($("#nascimento").val())){
									$("#div-erro").append("<li>Data de nascimento inválida.</li>");
									$("#nascimento").animate({opacity: 1},500);
									erro = true;
								}
								
								$("#div-erro").show("slow");
								
								if(!erro){
									
									url 		= "promocoes.php";
									data		= {	
										ajax: "segundo-passo-cadastra",
										cpf: $("#cpf").val(),
										email: $("#email").val(),
										nome: $("#nome").val(),
										telefone: $("#telefone").val(),
										celular: $("#celular").val(),
										nascimento: $("#nascimento").val()
									};
									callback	= function(nome){
										$("#div-erro").append("<li>"+nome+", você foi inscrito na promoção com sucesso!</li>");
										$("#div-erro").show("slow");
									};
									type		= "text";
									
									$.post(url,data,callback,type);
									$(".formulario").animate({opacity: 0.2},500);
									
								}
								
							}else{
								
							}
							
						}
						
						
					},
					"json"
			);
		}else{
			
			$(".formulario").animate({opacity: 0.2},1000);
			
			if(!isCpf($("#cpf").val())){
				$("#div-erro").append("<li>CPF inválido.</li>");
				$("#cpf").animate({opacity: 1},500);
			}

			if(!isEmail($("#email").val())){
				$("#div-erro").append("<li>E-mail inválido.</li>");
				$("#email").animate({opacity: 1},500);
			}
			
			$("#div-erro").show("slow");
			
		}
		
	});
});





function isEmail(mail){
    var er = new RegExp(/^[A-Za-z0-9_\-\.]+@[A-Za-z0-9_\-\.]{2,}\.[A-Za-z0-9]{2,}(\.[A-Za-z0-9])?/);
    
	if(er.test(mail)){
		return true; 
	}else{return false;}
}


function isCpf(cpf){
	cpf = cpf.replace(/\D/g,"");
    var numeros, digitos, soma, i, resultado, digitos_iguais;
    digitos_iguais = 1;
    if (cpf.length < 11)
          return false;
    for (i = 0; i < cpf.length - 1; i++)
          if (cpf.charAt(i) != cpf.charAt(i + 1))
                {
                digitos_iguais = 0;
                break;
                }
    if (!digitos_iguais)
          {
          numeros = cpf.substring(0,9);
          digitos = cpf.substring(9);
          soma = 0;
          for (i = 10; i > 1; i--)
                soma += numeros.charAt(10 - i) * i;
          resultado = soma % 11 < 2 ? 0 : 11 - soma % 11;
          if (resultado != digitos.charAt(0))
                return false;
          numeros = cpf.substring(0,10);
          soma = 0;
          for (i = 11; i > 1; i--)
                soma += numeros.charAt(11 - i) * i;
          resultado = soma % 11 < 2 ? 0 : 11 - soma % 11;
          if (resultado != digitos.charAt(1))
                return false;
          return true;
          }
    else
          return false;
} 


function isData(data) {
	if(data.length == 10){
		return true;
	}else{
		return false;
	}
}

function isTelefone(tel){
    exp = /\(\d{2}\)\ \d{4}\-\d{4}/;
    if(!exp.test(tel))
        return false;
    else{
    	return true;
    }
}