$(document).ready(function()
{

	//valida formulário de identificação do cliente
	$("#formIdentificacao").submit(function()
	{	
		var opcao = $("input[@type='radio']:checked").val();	
		if(!checkMail($("input[name='email']").val()))
		{
			alert('E-mail Inválido');
			$("input[name='email']").focus();
			return false;
		}
		switch(opcao)
		{
			case 'criar_conta':
				if(!$("input[name='cep']").val())
				{
					alert('Por favor preencha o campo CEP.');
					$("input[name='cep']").focus();
					return false;
				}
			break;
			
			case 'login':
				if(!$("input[name='senha']").val())
				{
					alert('Por favor preencha o campo senha.');
					$("input[name='senha']").focus();
					return false;
					break;
				}
			break;
			
			case 'enviar_senha':
				if(!$("input[name='reset_email']").is(":checked"))
					$("input[name='reset_email']").attr("checked",true);
			break;
			
			default:
				alert('Selecione uma opção.');
				return false;
			break;
		}
		
	})
	
	function validaCadastro()
	{
		//nome
		if(!$("#nome_cobranca").val())
		{
			alert('Por favor preencha o campo Nome.');
			$("#nome_cobranca").focus();
			return false;
		}
		//cpf
		if(!validaCPF($("#cpf_cobranca").val()))
		{
			alert('CPF inválido. Por favor preencha novamente.');
			$("#cpf_cobranca").focus();
			return false;
		}
		//data de nascimento
		if(!$("#data_nasc_cobranca").val())
		{
			alert("Por favor preencha o campo Data de Nascimento.");
			$("#data_nasc_cobranca").focus();
			return false;
		}
		//endereco de cobranca
		if(!$("#endereco_cobranca").val())
		{
			alert('Por favor preencha o campo Endereço.');
			$("#endereco_cobranca").focus();
			return false;
		}
		//numero 
		if(!$("#numero_cobranca").val())
		{
			alert("Por favor preencha o campo Número.");
			$("#numero_cobranca").focus();
			return false;
		}
		if(!$("#bairro_cobranca").val())
		{
			alert('Por favor preencha o campo Bairro.');
			$("#bairro_cobranca").focus();
			return false;			
		}
		if(!$("#cep_cobranca").val())
		{
			alert('Por favor preencha o campo CEP.');
			$("#cep_cobranca").focus();
			return false;
		}
		if(!$("#cidade_cobranca").val())
		{
			alert('Por favor preencha o campo Cidade.');
			$("#cidade_cobranca").focus();
			return false;
		}
		if(!$("#estado_cobranca").val())
		{
			alert('Por favor preencha o campo Estado');
			$("#estado_cobranca").focus();
			return false;
		}
		return true;
	}
	
	$("#formConfirmaPedido").submit(function()
	{
		return validaCadastro();
	})
	
	//valida cadastro / edição do cliente
	$("#formCadastroCliente").submit(function()
	{ 
		if(!$("#id").val())
		{
			if(!$("#senha").val())
			{
				alert('Por favor preencha o campo senha.');
				$("#senha").focus();
				return false;
			}
			if($("#senha").val() != $("#senha2").val())
			{
				alert('As senhas digitadas não conferem. Por favor tente novamente.');
				$("#senha").focus();
				return false;
			}
		}
			
		if(!validaCadastro())
			return false;
		
		//verifica se a opçao endereço de entrega está marcado
		if($("#opcao_endereco_entrega").is(":checked"))
		{			
			//nome
			if(!$("#nome_entrega").val())
			{
				alert('Por favor preencha o campo Nome.');
				$("#nome_entrega").focus();
				return false;
			}
			//cpf
			if(!validaCPF($("#cpf_entrega").val()))
			{
				alert('CPF inválido. Por favor preencha novamente.');
				$("#cpf_entrega").focus();
				return false;
			}
			//data de nascimento
			if(!$("#data_nasc_entrega").val())
			{
				alert("Por favor preencha o campo Data de Nascimento.");
				$("#data_nasc_entrega").focus();
				return false;
			}
			//endereco de cobranca
			if(!$("#endereco_entrega").val())
			{
				alert('Por favor preencha o campo Endereço.');
				$("#enderero_entrega").focus();
				return false;
			}
			//numero 
			if(!$("#numero_entrega").val())
			{
				alert("Por favor preencha o campo Número.");
				$("#numero_entrega").focus();
				return false;
			}
			if(!$("#bairro_entrega").val())
			{
				alert('Por favor preencha o campo Bairro.');
				$("#bairro_entrega").focus();
				return false;			
			}
			if(!$("#cep_entrega").val())
			{
				alert('Por favor preencha o campo CEP.');
				$("#cep_entrega").focus();
				return false;
			}
			if(!$("#cidade_entrega").val())
			{
				alert('Por favor preencha o campo Cidade.');
				$("#cidade_entrega").focus();
				return false;
			}
			if(!$("#estado_entrega").val())
			{
				alert('Por favor preencha o campo Estado');
				$("#estado_entrega").focus();
				return false;
			}
			if(!checkMail($("input[id='email_entrega']").val()))
			{
				alert('E-mail Inválido');
				$("input[id='email_entrega']").focus();
				return false;
			}
		}
	})
	
	//função para validar processo de checkout
	$("#formProximoPasso").submit(function()
	{ 
		//verifica se o frete foi selecionado
		if($("input[name='opcao_frete[]']:checked").length - 1)
		{
			alert('Por favor selecione uma modalidade de Frete.');
			return false;
		}
		//verifica se o modo de pagamento foi selecionado
		if($("input[name='opcao_pagamento[]']:checked").length -1)
		{
			alert('Por favor selecione um modo de pagamento.');
			return false;
		}
	})	
	
	//função para validar a troca de senha na página minha conta
	$("#formSenha").submit(function()
	{ 
		if(!$("#senha1").val())
		{
			alert('Por favor preencha o campo Senha.');
			$("#senha1").focus();
			return false;
		}
		if($("#senha1").val() != $("#senha2").val())
		{
			alert('As senhas digitadas não conferem. Por favor tente novamente.');
			return false;
		}
		return true;
	})
	
	//valida formlário de trabalhe conosco
	$("#formTrabalheConosco").submit(function()
	{
		if($("input[type='radio']:checked").val() == 'Pessoa Física')
		{
			if(!$("#nome").val())
			{
				alert('Por favor preencha o campo Nome.');
				$("#nome").focus();
				return false;
			}			
		}
		else if($("input[type='radio']:checked").val() == 'Pessoa Jurídica')
		{
			if(!$("#razao_social").val())
			{
				alert('Por favor preencha o campo Razão Social.');
				$("#razao_social").focus();
				return false;
			}
			if(!$("#cnpj").val())
			{
				alert('Por favor preencha o campo CNPJ.');
				$("#cnpj").focus();
				return false;
			}
			if(!$("#contato").val())
			{
				alert('Por favor preencha o campo Contato.');
				$("#contato").focus();
				return false;
			}
			if(!$("#ramo_atividade").val())
			{
				alert('Por favor preencha o campo Ramo de Atividade.');
				$("#ramo_atividade").focus();
				return false;
			}
		}
		//outras validações
		
		if(!checkMail($("#email").val()))
		{
			alert('O e-mail não é válido. Por favor tente novamente.');
			$("#email").focus();
			return false;
		}
		if(!$("#telefone").val())
		{
			alert('Por favor preencha o campo Telefone.');
			$("#telefone").focus();
			return false;
		}
		if(!$("#cidade").val())
		{
			alert('Por favor preencha o campo Cidade.');
			$("#cidade").focus();
			return false;
		}
		if(!$("#regiao").val())
		{
			alert('Por favor preencha o campo Região.');
			$("#regiao").focus();
			return false;
		}
		return true;
	});
	
	//valida formulário de contato
	$("#formContato").submit(function()
	{
		if(!$("#nome").val())
		{
			alert('Por favor preencha o campo Nome.');
			$("#nome").focus();
			return false;
		}
		
		if(!checkMail($("#email").val()))
		{
			alert('E-mail inválido. Por favor tente novamente.');
			$("#email").focus();
			return false;
		}
		if(!$("#outras_informacoes").val())
		{
			alert('Por favor preencha o campo Comentário');
			$("#outras_informacoes").focus();
			return false;
		}
		return true;
	});
	
	$("#formNaoDisponivel").submit(function()
	{
		if(!checkMail($("#email_usuario").val()))
		{
			alert('E-mail não é válido.');
			$("#email_usuario").focus();
			return false;
		}
		
		//variáveis
		var email = $("#email_usuario").val();
		var id_produto = $("input[name='id']").attr("value");
		var id_quantidade = $("#id_produto_quantidade").val();
		var obj = 'painel-admin/AjaxRequest/Nao-Disponivel/setNaoDisponivel.php?produto=' + id_produto + '&produto_quantidade=' + id_quantidade + '&email=' + email;
					
		
		 // Aqui exibimos um texto na div #resposta assim que a requisição é iniciada
        $(this).ajaxStart(function() {
               $("#msg_upper").html("'<b>Processando...</b>").show();
        });
        
        // opções a serem enviadas pela função
        var options = {
               target: "#msg_upper", // destino: onde será exibida a resposta da página requisitada, no caso a div #resposta
               url: obj, // aqui a página que será requisitada
               type: "post", // metodo de envio, post ou get
               // caso a função tenha sucesso
               success: function(resposta) {
                   // mostra a resposta na div resposta e exibe a div
                   $("#msg_upper").html('<b>' + resposta + '</b>').show();
               }
           }
          
        // aqui eu envio os dados com as opções
        $(this).ajaxSubmit(options); 
        //$("#email_usuario").attr("value",'');
        return false;
		
	})

	
	///função para validar e-mail
	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;
        
	}
	
	//função de validação de cpf
	function validaCPF(cpf) 
	{        
        erro = new String;
        if (cpf.length < 11) erro += "São necessários 11 dígitos para verificação do CPF!";
        var nonNumbers = /\D/;
        if (nonNumbers.test(cpf)) erro += "A verificação de CPF suporta apenas numeros!";
        if (cpf == "00000000000" || cpf == "11111111111" || cpf == "22222222222" || cpf == "33333333333" || cpf == "44444444444" || cpf == "55555555555" || cpf == "66666666666" || cpf == "77777777777" || cpf == "88888888888" || cpf == "99999999999")
        {
            erro += " Número de CPF inválido!"
        }
        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; }
        if ((cpf.charAt(9) != a[9]) || (cpf.charAt(10) != a[10]))
        {
            erro +=" Dígito verificador com problema!";
        }
        if (erro.length > 0)
           return false;
        else           
        	return true;
    }
})
