$(document).ready(function(){

    var conteudo  = '';
    var cpfExiste = '';
	var email = false;
	
    $("#txtTel").mask("(99)9999-9999");
	$("#txtCel").mask("(99)9999-9999");
	$("#txtCEP").mask("99999-999");
	$("#txtCPF").mask("999.999.999-99");
	$("#txtDataAni").mask("99/99/9999");

    $('#btnEnviar').click(function() {
        if(validar()){
			if(email == false){
        	$('#formPromo').submit();
			}
		}
    });

	$("#txtEmail").blur( function () {
		 jQuery.blockUI({
		 	message: '<h1><img src="images/waiting.gif" /> Verificando e-mail no banco de dados...</h1>',
	        css: {
	            top:  (jQuery(window).height() - 90) /2 + 'px',
	            left: (jQuery(window).width() - 550) /2 + 'px',
	            width: '550px',
	            height: '100px',
	            "line-height": '100px'
	        }
        });
		$.post("cadastro/veremail.php", { pEmail: $('#txtEmail').val() },
		function(data){
			//alert("Data Loaded: " + data);
			if(data != 'false'){
				email = true;
				$('#txtEmail').css({border: '2px solid red'});
				$.blockUI({
				 message: '<span style="color:red;"><h1><img src="images/cancel.png" /> este e-mail ja foi cadastrado...</h1></span>',
						css: {
							top:  (jQuery(window).height() - 60) /2 + 'px',
							left: (jQuery(window).width() - 550) /2 + 'px',
							width: '550px',
							height: '60px',
							"line-height": '60px'
						}
				});
				setTimeout(jQuery.unblockUI, 2000);
			}else{
				email = false;
				$('#txtEmail').css({border: '1px solid gray'});
				$.blockUI({
				 message: '<span style="color:red;"><h1><img src="images/ok.png" /> ok...</h1></span>',
						css: {
							top:  (jQuery(window).height() - 60) /2 + 'px',
							left: (jQuery(window).width() - 550) /2 + 'px',
							width: '550px',
							height: '60px',
							"line-height": '60px'
						}
				});	
				setTimeout(jQuery.unblockUI, 2000);
			}
			});
		});
	
	
	
    $("#txtCEP").blur( function () {
		 jQuery.blockUI({
		 	message: '<h1><img src="images/waiting.gif" /> Verificando CEP no banco de dados...</h1>',
	        css: {
	            top:  (jQuery(window).height() - 90) /2 + 'px',
	            left: (jQuery(window).width() - 550) /2 + 'px',
	            width: '550px',
	            height: '100px',
	            "line-height": '100px'
	        }
         });

		 $.getJSON("cadastro/cep.php?cep="+$('#txtCEP').val().replace("-",""),
		  function(json){
		    jQuery.blockUI({
		 	message: '<h1><img src="images/waiting.gif" /> Verificando CEP no banco de dados...</h1>',
	        css: {

	            top:  (jQuery(window).height() - 60) /2 + 'px',
	            left: (jQuery(window).width() - 550) /2 + 'px'
	        }
         	});
		    if(json.row0 == 1){
				jQuery.blockUI({
				 message: '<span style="color:green;"><h1><img src="images/ok.png" /> CEP Encontrado...</h1></span>',
				        css: {
				            top:  (jQuery(window).height() - 60) /2 + 'px',
				            left: (jQuery(window).width() - 350) /2 + 'px',
				            width: '350px',
				            height: '60px',
				            "line-height": '60px'
				            }
				});
			    $('#txtEndereco').val(json.row5 + " " + json.row6);
			    $('#txtBairro').val(json.row4);
			    $('#txtComplemento').focus();
			    setTimeout(jQuery.unblockUI, 1000);
			}else{
				 jQuery.blockUI({
				 message: '<span style="color:red;"><h1><img src="images/cancel.png" /> CEP n&atilde;o encontrado...</h1></span>',
				        css: {
				            top:  (jQuery(window).height() - 60) /2 + 'px',
				            left: (jQuery(window).width() - 350) /2 + 'px',
				            width: '350px',
				            height: '60px',
				            "line-height": '60px'
				            }
				});
				setTimeout(jQuery.unblockUI, 2000);
				$('#txtEndereco').val("");
			    $('#txtBairro').val("");
			}
		  }
		)
	});

    	//valida o cpf no banco de dados.
    	$('#txtCPF').blur( function () {
			if($('#txtCPF').val() != ''){
				cpfExiste = '';
				pUrl = "cadastro/pPromocao.php?action=validaCpf&cpf="+document.getElementById('txtCPF').value;
				$.get( pUrl , function(data){
					if(data != ''){
						$('#cpfExiste').text('<?=utf8_encode("O CPF informado já está cadastrado.") ?>');
						cpfExiste = data + '\n';
						$('#txtCPF').css("border","1px solid red");

					}else{
						$('#cpfExiste').text('');
						$('#txtCPF').css("border","1px solid gray");

					}
				});
			}else{
				$('#txtCPF').css("border","1px solid gray");

			}
    	});

    	//valida o cpf no banco de dados.
    	$('#txtCPF').keyup( function () {
			if(($('#txtCPF').val().replace(/(<.,+?>_)/gi, '')).length = 14){
					cpfExiste = '';
					pUrl = "cadastro/pPromocao.php?action=validaCpf&cpf="+document.getElementById('txtCPF').value;
					$.get( pUrl , function(data){
						if(data != ''){
							$('#cpfExiste').text('<?="O CPF informado já está cadastrado."; ?>');
							cpfExiste = data + '\n';
							$('#txtCPF').css("border","1px solid red");

						}else{
							$('#cpfExiste').text('');
							$('#txtCPF').css("border","1px solid gray");

						}
					});
			}else{
				$('#txtCPF').css("border","1px solid gray");

			}
    	});
    	function validar(){

    		conteudo = '' + cpfExiste;

    		if(document.getElementById('txtCPF').value != ''){
    			if(!validaCPF(document.getElementById('txtCPF').value))
    			{
    				conteudo += 'O CPF informado e invalido. \n';
    			}
    		}else{
    			conteudo = '';
    		}

    		if($('txtNome').val() == ''){
    			conteudo += 'O Nome deve ser preenchido. \n';
    		}
    		if($('#txtEmail').val() == ''){
    			conteudo += 'O Email deve ser preenchido. \n';
    		}else if(!checkMail(document.getElementById('txtEmail').value)){
    			conteudo += 'O Email deve ser válido. \n';
    		}
    		if($('#txtCEP').val() == ''){
    			conteudo += 'O CEP deve ser preenchido. \n';
    		}
    		if($('#txtEndereco').val() == ''){
    			conteudo += 'O Endereco deve ser preenchido. \n';
    		}
    		if($('#txtComplemento').val() == ''){
    			conteudo += 'O Complemento deve ser preenchido. \n';
    		}
    		if($('#txtBairro').val() == ''){
    			conteudo += 'O Bairro deve ser preenchido. \n';
    		}

    		if(($('#txtTel').val() == '') && (document.getElementById('txtCel').value == '')){
    			conteudo += 'O telefone fixo ou o celular deve ser preenchido. \n';
    		}

    		if(VerificaData($("#txtDataAni").val()) == false){
    			conteudo += 'A data(' + $("#txtDataAni").val() + ') não foi preenchida corretamente. \n';
    		}

    		//exibir erro
    		if (conteudo != ''){
    			alert(conteudo);
				return false;
    		}else{
    			return true;
    		}
    	}

    	$("#btnFechar").click(function(){
    		$('#warning').hide("slow");
    	});

		function checkMail(mail){
			var er = new RegExp(/^[A-Za-z0-9_\-\.]+@[A-Za-z0-9_\-\.]{2,}\.[A-Za-z0-9]{2,}(\.[A-Za-z0-9])?/);
			if(typeof(mail) == "string"){
			    if(er.test(mail)){ return true; }
			}else if(typeof(mail) == "object"){
			    if(er.test(mail.value)){
					return true;
			    }
			}else{
			    return false;
			}
		}

	function validaCPF(pcpf) {

		cpf = pcpf;
		cpf = cpf.replace('.','');
		cpf = cpf.replace('.','');
		cpf = cpf.replace('-','');

		erro = new String;
		if (cpf.length < 11) erro += "Sao necessarios 11 digitos para verificacao do CPF! \n\n";
		var nonNumbers = /\D/;
		if (nonNumbers.test(cpf)) erro += "A verificacao de CPF suporta apenas numeros! \n\n";
		if (cpf == "00000000000" || cpf == "11111111111" || cpf == "22222222222" || cpf == "33333333333" || cpf == "44444444444" || cpf == "55555555555" || cpf == "66666666666" || cpf == "77777777777" || cpf == "88888888888" || cpf == "99999999999"){
			  erro += "Numero de CPF invalido!"
		}
		var a = [];
		var b = new Number;
		var c = 11;
		for (i=0; i<11; i++){
			a[i] = cpf.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; }
		status = a[9] + ""+ a[10]
		if ((cpf.charAt(9) != a[9]) || (cpf.charAt(10) != a[10])){
			erro +="Digito verificador com problema!";
		}
		if (erro.length > 0){
			return false;
		}
		return true;
	}

	function VerificaData(digData)
	{
	
	if (digData == '') {
		return true;
		exit();
	}
	
    var bissexto = 0;
    var data = digData;
    var tam = data.length;
    if (tam == 10)
    {
        var dia = data.substr(0,2)
        var mes = data.substr(3,2)
        var ano = data.substr(6,4)
        if ((ano > 1900)||(ano < 2100))
        {
            switch (mes)
            {
                case '01':
                case '03':
                case '05':
                case '07':
                case '08':
                case '10':
                case '12':
                    if  (dia <= 31)
                    {
                        return true;
                    }
                    break

                case '04':
                case '06':
                case '09':
                case '11':
                    if  (dia <= 30)
                    {
                        return true;
                    }
                    break
                case '02':
                    /* Validando ano Bissexto / fevereiro / dia */
                    if ((ano % 4 == 0) || (ano % 100 == 0) || (ano % 400 == 0))
                    {
                        bissexto = 1;
                    }
                    if ((bissexto == 1) && (dia <= 29))
                    {
                        return true;
                    }
                    if ((bissexto != 1) && (dia <= 28))
                    {
                        return true;
                    }
                    break
            }
        }
    }
    return false;
}

});
