// JavaScript Document


/* 
	Função para formatar valores monetários 
   	Modelo de uso : onKeyUp="cpfcnpj()" 
*/
function cpfcnpj()
{
    if($('cliente_cpf_cnpj').value.length == 3){
        $('cliente_cpf_cnpj').value = $('cliente_cpf_cnpj').value + '.';
        return false;
    }
    if($('cliente_cpf_cnpj').value.length == 7){
        $('cliente_cpf_cnpj').value = $('cliente_cpf_cnpj').value + '.';
        return false;
    }
    if($('cliente_cpf_cnpj').value.length == 11){
        $('cliente_cpf_cnpj').value = $('cliente_cpf_cnpj').value + '-';
        return false;
    }
    if($('cliente_cpf_cnpj').value.length == 15){
        p0=$('cliente_cpf_cnpj').value.charAt(0);
        p1=$('cliente_cpf_cnpj').value.charAt(1);
        p2=$('cliente_cpf_cnpj').value.charAt(2);
        p3=$('cliente_cpf_cnpj').value.charAt(4);
        p4=$('cliente_cpf_cnpj').value.charAt(5);
        p5=$('cliente_cpf_cnpj').value.charAt(6);
        p6=$('cliente_cpf_cnpj').value.charAt(8);
        p7=$('cliente_cpf_cnpj').value.charAt(9);
        p8=$('cliente_cpf_cnpj')..value.charAt(10);
        p9=$('cliente_cpf_cnpj').value.charAt(12);
        p10=$('cliente_cpf_cnpj').value.charAt(13);
        p11=$('cliente_cpf_cnpj').value.charAt(14);
        $('cliente_cpf_cnpj').value = '';
        $('cliente_cpf_cnpj').value = p0 + p1 + '.' + p2 + p3 + p4 + '.' + p5 + p6 + p7 + '/' + p8 + p9 + p10 + p11 + '-';
        p0='';
        p1='';
        p2='';
        p3='';
        p4='';
        p5='';
        p6='';
        p7='';
        p8='';
        p9='';
        p10='';
        p11='';
        return false;
    }
}


function validarDoc(obj) 
{ 	// recebe um objeto
	var s = (obj.value).replace(/\D/g,'');
    var tam=(s).length; 
    if (!(tam==11 || tam==14)){ 
        alert("O CPF/CNPJ não é válido!" ); 
        return false;
    }
    
	// se for CPF
    if (tam==11 ){
        if (!validaCPF(s)){ 
            alert("O CPF informado : '"+maskCPF(s)+"', não é válido!" ); 
            obj.select();  
            return false;
        }
		
        obj.value=maskCPF(s);    
        return true;
    }
    
// se for CNPJ            
    if (tam==14){
        if(!validaCNPJ(s)){ 
            alert("O CNPJ informado : '"+maskCNPJ(s)+"', não é válido!" ); 
            obj.select();   
            return false;            
        }
        
        obj.value=maskCNPJ(s);    
        return true;
    }
}



function validaCPF(s) 
{
    var c = s.substr(0,9);
    var dv = s.substr(9,2);
    var d1 = 0;
    for (var i=0; i<9; i++) {
        d1 += c.charAt(i)*(10-i);
     }
    if (d1 == 0) return false;
    d1 = 11 - (d1 % 11);
    if (d1 > 9) d1 = 0;
    if (dv.charAt(0) != d1){
        return false;
    }
    d1 *= 2;
    for (var i = 0; i < 9; i++)    {
         d1 += c.charAt(i)*(11-i);
    }
    d1 = 11 - (d1 % 11);
    if (d1 > 9) d1 = 0;
    if (dv.charAt(1) != d1){
        return false;
    }
    return true;
}

// Função que valida CNPJ
// O algorítimo de validação de CNPJ é baseado em cálculos
// para o dígito verificador (os dois últimos)
// Não entrarei em detalhes de como funciona
function validaCNPJ(CNPJ) 
{
    var a = new Array();
    var b = new Number;
    var c = [6,5,4,3,2,9,8,7,6,5,4,3,2];
    for (i=0; i<12; i++){
        a[i] = CNPJ.charAt(i);
        b += a[i] * c[i+1];
    }
    if ((x = b % 11) < 2) { a[12] = 0 } else { a[12] = 11-x }
    b = 0;
    for (y=0; y<13; y++) {
        b += (a[y] * c[y]);
    }
    if ((x = b % 11) < 2) { a[13] = 0; } else { a[13] = 11-x; }
    if ((CNPJ.charAt(12) != a[12]) || (CNPJ.charAt(13) != a[13])){
        return false;
    }
    return true;
}


    // Função que permite apenas teclas numéricas
    // Deve ser chamada no evento onKeyPress desta forma
    // return (soNums(event));
function soNums(e)
{
    if (document.all){var evt=event.keyCode;}
    else{var evt = e.charCode;}
    if (evt <20 || (evt >47 && evt<58)){return true;}
    return false;
}

//    função que mascara o CPF
function maskCPF(CPF){
    return CPF.substring(0,3)+"."+CPF.substring(3,6)+"."+CPF.substring(6,9)+"-"+CPF.substring(9,11);
}

//    função que mascara o CNPJ
function maskCNPJ(CNPJ){
    return CNPJ.substring(0,2)+"."+CNPJ.substring(2,5)+"."+CNPJ.substring(5,8)+"/"+CNPJ.substring(8,12)+"-"+CNPJ.substring(12,14);    
}


function validaFormPrincipal()
{
	if($('cliente_email').value == "")
	{
		alert("Preencha o campo E-mail");
		$('cliente_email').focus();
		return false;
	}

	if($('cliente_cpf_cnpj').value == "")
	{
		alert("Preencha o campo CNPJ");
		$('cliente_cpf_cnpj').focus();
		return false;
	}
	
	if(!validarDoc($('cliente_cpf_cnpj')))
	{
		return false;
	}
	
	$('form_principal').submit();
	return true;
}


function validaFormClientePJ()
{
	// Nome
	if(document.form_principal.cliente_nome.value == "")
	{
		alert("Preencha o campo Razão Social");
		document.form_principal.cliente_nome.focus();
		return false;
	}
	
	if(document.form_principal.cliente_nome_contato.value == "")
	{
		alert("Preencha o campo Nome do Contato");
		document.form_principal.cliente_nome_contato.focus();
		return false;
	}

	// Validar doc cpf
	if(document.form_principal.cliente_cpf_cnpj.value == "")
	{
		alert("Preencha o campo CPF/CNPJ");
		document.form_principal.cliente_cpf_cnpj.focus();
		return false;
	}
	
	// Validar doc cpf
	if(document.form_principal.cliente_insc_estadual.value == "")
	{
		alert("Preencha o campo Inscrição Estadual");
		document.form_principal.cliente_insc_estadual.focus();
		return false;
	}
	
	// Validar email -- mais
	if(document.form_principal.cliente_email.value == "")
	{
		alert("Preencha o campo Email");
		document.form_principal.cliente_email.focus();
		return false;
	}
	
	// Validar senha
	if(document.form_principal.cliente_senha.value == "")
	{
		alert("Preencha o campo Senha");
		document.form_principal.cliente_senha.focus();
		return false;
	}
	
	// Validar senha
	if(document.form_principal.cliente_conf_senha.value == "")
	{
		alert("Preencha o campo Confirmar Senha");
		document.form_principal.cliente_conf_senha.focus();
		return false;
	}
	
	// Validar senha conf_senha
	if(document.form_principal.cliente_conf_senha.value == "")
	{
		alert("Preencha o campo Confirmar Senha");
		document.form_principal.cliente_conf_senha.focus();
		return false;
	}
	
	
	
	// Validar tipo ender
	if(document.form_principal.cliente_ender_tipo.value == "")
	{
		alert("Preencha o campo Tipo do Endereço");
		document.form_principal.cliente_ender_tipo.focus();
		return false;
	}
	
	// Validar endereco
	if(document.form_principal.cliente_endereco.value == "")
	{
		alert("Preencha o campo Endereço");
		document.form_principal.cliente_endereco.focus();
		return false;
	}
	
	// Validar ender num
	if(document.form_principal.cliente_ender_num.value == "")
	{
		alert("Preencha o campo Número");
		document.form_principal.cliente_ender_num.focus();
		return false;
	}
	
	// Validar compl ender
	if(document.form_principal.cliente_ender_compl.value == "")
	{
		alert("Preencha o campo Complemento do Endereço");
		document.form_principal.cliente_ender_compl.focus();
		return false;
	}
	
	// Validar bairro
	if(document.form_principal.cliente_ender_bairro.value == "")
	{
		alert("Preencha o campo Bairro");
		document.form_principal.cliente_ender_bairro.focus();
		return false;
	}
	
	// Validar cidade
	if(document.form_principal.cliente_ender_cidade.value == "")
	{
		alert("Preencha o campo Cidade");
		document.form_principal.cliente_ender_cidade.focus();
		return false;
	}
	
	// Validar estado
	if(document.form_principal.cliente_ender_estado.value == "")
	{
		alert("Preencha o campo Estado");
		document.form_principal.cliente_ender_estado.focus();
		return false;
	}
	
	// Validar ddd1
	if(document.form_principal.cliente_ddd_1.value == "")
	{
		alert("Informe o DDD");
		document.form_principal.cliente_ddd_1.focus();
		return false;
	}
	
	// Validar tel 1
	if(document.form_principal.cliente_tel_1.value == "")
	{
		alert("Informe o Telefone 1");
		document.form_principal.cliente_tel_1.focus();
		return false;
	}
	
	// Validar ref entrega
	if(document.form_principal.cliente_ref_entrega.value == "")
	{
		alert("Informe uma Referência para entrega");
		document.form_principal.cliente_ref_entrega.focus();
		return false;
	}
	
						
	document.form_principal.submit();
	return true;
}



function validaFormClientePF()
{
	// Nome
	if(document.form_principal.cliente_nome.value == "")
	{
		alert("Preencha o campo Nome");
		document.form_principal.cliente_nome.focus();
		return false;
	}
	
	var nome = document.form_principal.cliente_nome.value;
	var tmp  = "";
	
	if(nome.indexOf(" ") == -1)
	{
		alert("Informe seu Nome Completo");
		document.form_principal.cliente_nome.focus();
		return false;
	}		
	
	else 
	{
		tmp     = nome.toString().split(" ");
		
		if(tmp[1].toString().length <= 2 && tmp.length < 3)
		{
			alert("Informe seu Nome Completo");
			document.form_principal.cliente_nome.focus();
			return false;
		}
		
		else if((tmp[1].toString().length == 2 && tmp[2].toString().length < 3))
		{
			alert("Informe seu Nome Completo");
			document.form_principal.cliente_nome.focus();
			return false;
		}
	
	}
	
	// Validar rg
	if(document.form_principal.cliente_rg.value == "")
	{
		alert("Preencha o campo RG");
		document.form_principal.cliente_rg.focus();
		return false;
	}
	
	// Validar data nasc
	if(document.form_principal.cliente_data_nasc.value == "")
	{
		alert("Preencha o campo Data Nascimento");
		document.form_principal.cliente_data_nasc.focus();
		return false;
	}
	
	//onBlur="return validaData(document.form_principal,'cliente_data_nasc', this)"	
	if(!validaData(document.form_principal, 'cliente_data_nasc', document.form_principal.cliente_data_nasc))	
	{
		return false;
	}

	// Validar doc cpf
	if(document.form_principal.cliente_cpf_cnpj.value == "")
	{
		alert("Preencha o campo CPF/CNPJ");
		document.form_principal.cliente_cpf_cnpj.focus();
		return false;
	}
	
	
	// Validar email -- mais
	if(document.form_principal.cliente_email.value == "")
	{
		alert("Preencha o campo Email");
		document.form_principal.cliente_email.focus();
		return false;
	}
	
	// Validar senha
	if(document.form_principal.cliente_senha.value == "")
	{
		alert("Preencha o campo Senha");
		document.form_principal.cliente_senha.focus();
		return false;
	}
	
	// Validar senha
	if(document.form_principal.cliente_conf_senha.value == "")
	{
		alert("Preencha o campo Confirmar Senha");
		document.form_principal.cliente_conf_senha.focus();
		return false;
	}
	
	
	// Validar senha conf_senha
	if(document.form_principal.cliente_senha.value != document.form_principal.cliente_conf_senha.value)
	{
		alert("A senha informada e sua confirmação não conferem");
		document.form_principal.cliente_senha.focus();
		return false;
	}
	
	
	// Validar tipo ender
	if(document.form_principal.cliente_ender_tipo.value == "")
	{
		alert("Preencha o campo Tipo do Endereço");
		document.form_principal.cliente_ender_tipo.focus();
		return false;
	}
	
	// Validar tipo ender
	if(document.form_principal.cliente_endereco.value == "")
	{
		alert("Preencha o campo Endereço");
		document.form_principal.cliente_endereco.focus();
		return false;
	}
	
	// Validar tipo ender
	if(document.form_principal.cliente_ender_num.value == "")
	{
		alert("Preencha o campo Número");
		document.form_principal.cliente_ender_num.focus();
		return false;
	}
	
	// Validar tipo ender
	if(document.form_principal.cliente_ender_compl.value == "")
	{
		alert("Preencha o campo Complemento do Endereço");
		document.form_principal.cliente_ender_compl.focus();
		return false;
	}
	
	// Validar tipo bairro
	if(document.form_principal.cliente_ender_bairro.value == "")
	{
		alert("Preencha o campo Bairro");
		document.form_principal.cliente_ender_bairro.focus();
		return false;
	}
	
	// Validar tipo cidade
	if(document.form_principal.cliente_ender_cidade.value == "")
	{
		alert("Preencha o campo Cidade");
		document.form_principal.cliente_ender_cidade.focus();
		return false;
	}
	
	// Validar tipo cidade
	if(document.form_principal.cliente_ender_estado.value == "")
	{
		alert("Preencha o campo Estado");
		document.form_principal.cliente_ender_estado.focus();
		return false;
	}
	
	// Validar tipo cidade
	if(document.form_principal.cliente_ddd_1.value == "")
	{
		alert("Informe o DDD");
		document.form_principal.cliente_ddd_1.focus();
		return false;
	}
	
	// Validar tipo cidade
	if(document.form_principal.cliente_tel_1.value == "")
	{
		alert("Informe o Telefone 1");
		document.form_principal.cliente_tel_1.focus();
		return false;
	}
	
	// Validar tipo cidade
	if(document.form_principal.cliente_ref_entrega.value == "")
	{
		alert("Informe uma Referência para entrega");
		document.form_principal.cliente_ref_entrega.focus();
		return false;
	}
	
						
	document.form_principal.submit();
	return true;
}
