
//formata de forma generica os campos
function formataCampo(campo, Mascara, evento) { 
    var boleanoMascara; 
    
    var Digitato = evento.keyCode;
    exp = /\-|\.|\/|\(|\)| /g
    campoSoNumeros = campo.value.toString().replace( exp, "" ); 
   
    var posicaoCampo = 0;     
    var NovoValorCampo="";
    var TamanhoMascara = campoSoNumeros.length;; 
    
    if (Digitato != 8) { // backspace 
        for(i=0; i<= TamanhoMascara; i++) { 
            boleanoMascara  = ((Mascara.charAt(i) == "-") || (Mascara.charAt(i) == ".")
                                || (Mascara.charAt(i) == "/")) 
            boleanoMascara  = boleanoMascara || ((Mascara.charAt(i) == "(") 
                                || (Mascara.charAt(i) == ")") || (Mascara.charAt(i) == " ")) 
            if (boleanoMascara) { 
                NovoValorCampo += Mascara.charAt(i); 
                  TamanhoMascara++;
            }else { 
                NovoValorCampo += campoSoNumeros.charAt(posicaoCampo); 
                posicaoCampo++; 
              }            
          }     
        campo.value = NovoValorCampo;
          return true; 
    }else { 
        return true; 
    }
}

//valida numero inteiro com mascara
function mascaraInteiro(){
    if (event.keyCode < 48 || event.keyCode > 57){
        event.returnValue = false;
        return false;
    }
    return true;
}

//valida o CPF digitado
function ValidarCPF(Objcpf){
      var numeros, digitos, soma, i, resultado, digitos_iguais;
	  var cpf = Objcpf.value;
	  exp = /\.|\-/g
      cpf = cpf.toString().replace( exp, "" ); 
      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;
      }    




//valida o CNPJ digitado
function ValidarCNPJ(ObjCnpj){
    var cnpj = ObjCnpj.value;
    var valida = new Array(6,5,4,3,2,9,8,7,6,5,4,3,2);
    var dig1= new Number;
    var dig2= new Number;
    
    exp = /\.|\-|\//g
    cnpj = cnpj.toString().replace( exp, "" ); 
    var digito = new Number(eval(cnpj.charAt(12)+cnpj.charAt(13)));
        
    for(i = 0; i<valida.length; i++){
        dig1 += (i>0? (cnpj.charAt(i-1)*valida[i]):0);    
        dig2 += cnpj.charAt(i)*valida[i];    
    }
    dig1 = (((dig1%11)<2)? 0:(11-(dig1%11)));
    dig2 = (((dig2%11)<2)? 0:(11-(dig2%11)));
    
    if(((dig1*10)+dig2) != digito)
	{return false;}
	return true;
        //alert('CNPJ Invalido!');
        
}

//adiciona mascara ao CPF
function MascaraCPF(cpf){
    if(mascaraInteiro(cpf)==false){
        event.returnValue = false;
    }    
    return formataCampo(cpf, '000.000.000-00', event);
}

//adiciona mascara de data
function MascaraData(data){
    if(mascaraInteiro(data)==false){
        event.returnValue = false;
    }    
    return formataCampo(data, '00/00/0000', event);
}

//adiciona mascara de cnpj
function MascaraCNPJ(cnpj){
    if(mascaraInteiro(cnpj)==false){
        event.returnValue = false;
    }    
    return formataCampo(cnpj, '00.000.000/0000-00', event);
}

//adiciona mascara de cep
function MascaraCep(cep){
        if(mascaraInteiro(cep)==false){
        event.returnValue = false;
    }    
    return formataCampo(cep, '00.000-000', event);
}

//adiciona mascara ao telefone
function MascaraTelefone(tel){    
    if(mascaraInteiro(tel)==false){
        event.returnValue = false;
    }    
    return formataCampo(tel, '0000-0000', event);
}

function validarForm(){

	if(form2.tipo.value=="0")
	{
		alert("Selecione o tipo de pessoa.");
		form2.tipo.focus();
		return false;
	}
  	if(form2.nome.value=="")
	{
		alert("Nome inválido.");
		form2.nome.focus();
		return false;
	}
	if(form2.tipo.value=="F")
	{
		var retornaCpf = ValidarCPF(form2.cpf);
		if(retornaCpf == false){
			alert("CPF inválido.")
			return false;
			form2.cpf.focus();
		}
		if(form2.rg.value==""){
			alert("RG inválido");
			return false;
			form2.rg.focus();
		}
	}
	if(form2.tipo.value=="J")
	{
		if(form2.nome_fantasia.value=="")
		{
			alert("Nome Fantasia inválido.");
			form2.nome_fantasia.focus();
			return false;
		}
		var retornaCnpj = ValidarCNPJ(form2.cnpj);
		if(retornaCnpj == false){
			alert("CNPJ inválido.")
			form2.cnpj.focus();
			return false;
		}
		if(form2.inscricao_estadual.value==""){
			alert("Inscrição Estadual inválida");
			form2.inscricao_estadual.focus();
			return false;
		}
	}
	if(form2.email.value.lastIndexOf("@") <=0)
      {
        alert("e-mail inválido.");
        document.form2.email.focus();
        document.form2.email.select();
        return false;
      }
	 
	if(form2.senha.value=="")
	{
		alert("senha inválida.");
		document.form2.senha.focus();
		return false;
	}
	if(form2.senha.value!=form2.confirmasenha.value)
	{
		alert("favor confirmar a sua senha corretamente.");
		document.form2.confirmasenha.value="";
		document.form2.confirmasenha.focus();
		return false;
	}
	
	if(form2.cep.value=="")
	{
		alert("cep inválido.")
		document.form2.cep.focus();
		return false;
	}
	
	if(form2.tipo_endereco.value=="")
	{
		alert("favor seleciona o tipo de endereço.");
		document.form2.tipo_endereco.focus();
		return false;
	}
	
	if(form2.endereco.value=="")
	{
		alert("endereço inválido.");
		document.form2.endereco.focus();
		return false;
	}
	
	if(form2.numero.value=="")
	{
		alert("número inválido.");
		document.form2.numero.focus();
		return false;
	}
	
	if(form2.bairro.value=="")
	{
		alert("bairro inválido.");
		document.form2.bairro.focus();
		return false;
	}
	
	if(form2.estado.value=="")
	{
		alert("estado inválido.");
		document.form2.estado.focus();
		return false;
	}
	
	if(form2.cidade.value=="")
	{
		alert("cidade inválida.");
		document.form2.cidade.focus();
		return false;
	}
	
	if(form2.fone.value=="" || form2.dddfone.value=="")
	{
		alert("telefone inválido.");
		document.form2.fone.focus();
		return false;
	}
	return true;
}

function validarFecharPedido()
{
	if(document.frmFecharPedido.tipo_frete.value=="")
	{
		alert("Favor calcular o valor do frete.");
		return false;
	}
	return true;
}

//validar fechar pedido corporativo
function fecharPedidoCorporativo(valor)
{
	if(document.frmFecharPedido.tipo_frete.value=="")
	{
		alert("Favor calcular o valor do frete.");
		return false;
	}
	
	if(valor < 250 )
	{
		alert('O pedido não pode ser inferior a R$ 250,00');
		return false;
	}
	
	return true;
}

//validar fechar pedido revenda
function fecharPedidoRevenda(valor)
{
	if(document.frmFecharPedido.tipo_frete.value=="")
	{
		alert("Favor calcular o valor do frete.");
		return false;
	}
	
	if(valor < 350 )
	{
		alert('O pedido não pode ser inferior a R$ 350,00');
		return false;
	}
	
	return true;
}
