// FUNCAO AUXILIAR PARA REMOVER PONTUACAO
function limpa_string(S){
	// Deixa so' os digitos no numero
	var Digitos = "0123456789";
	var temp = "";
	var digito = "";

	for (var i=0; i<S.length; i++)	{
		digito = S.charAt(i);
		if (Digitos.indexOf(digito)>=0)	{
			temp=temp+digito	}
	} //for

	return temp
}
// fim da funcao

//FUNCAO QUE VALIDA CPF
function valida_CPF(s)	{
	var i;
	s = limpa_string(s);
	var c = s.substr(0,9);
	var dv = s.substr(9,2);
	var d1 = 0;
	for (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 (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;
}// valida CPF

//FUNCAO QUE VALIDA CGC
function valida_CGC(s)
{
	var i;
	s = limpa_string(s);
	var c = s.substr(0,12);
	var dv = s.substr(12,2);
	var d1 = 0;
	for (i = 0; i < 12; i++)
	{
		d1 += c.charAt(11-i)*(2+(i % 8));
	}
        if (d1 == 0) return false;
        d1 = 11 - (d1 % 11);
	if (d1 > 9) d1 = 0;
	if (dv.charAt(0) != d1)
	{
		return false;
	}

	d1 *= 2;
	for (i = 0; i < 12; i++)
	{
		d1 += c.charAt(11-i)*(2+((i+1) % 8));
	}
	d1 = 11 - (d1 % 11);
	if (d1 > 9) d1 = 0;
	if (dv.charAt(1) != d1)
	{
		return false;
	}
	return true;
}//fim funcao valida cgc


// VALIDA TAMANHO DA STRING
function WSsize(obj,size){
    var stri = new String(obj.value);
         if ( stri.length < size ){
                 return false;
         }
         return true;
}

// VALIDA NÚMEROS NA STRING
function WSnum(obj){
     var str = new String(obj.value);
     var bOk = 1;
     for (i = 0; i < str.length; i++){
             if ( str.substring(i,i+1) < "0" ||  "9" < str.substring(i,i+1) ){
                     i = str.length;
                     bOk = 0;
             }
     }
     if (bOk == 0)        {
             return false;
     }
     return true;
}

// VALIDA E-MAIL
function WSemail(obj){
     var str = new String(obj.value);
     var bOk = 0;
     for (i = 0; i < str.length; i++){
             if ( str.charAt(i) == "@" ){
                     i = str.length;
                     bOk = 1;
             }
     }
     if (bOk == 0)        {
             return false;
     }
     return true;
}

// VALIDA CPF
function WScpf(obj) {
     var soma1, soma2, s1, s2;
     var cpf = obj.value;
     var str_cpf = "";

     for (i = 0; i <= cpf.length - 1; i++)
          if ((cpf.charAt(i)).match(/\d/))
            str_cpf += cpf.charAt(i);
          else if (!(cpf.charAt(i)).match(/[\.\-]/)) {
            alert ("O campo 'CPF' apresenta caracteres inválidos");
            return false;
          }

        if (str_cpf.length != 11) {
               alert ("O campo 'CPF' deve conter 11 dígitos");
               return false;
        }

        soma1 = soma2 = 0;
        for (i = 0; i <= 8; i++) {
          soma1 += str_cpf.charAt(i) * (10-i);
          soma2 += str_cpf.charAt(i) * (11-i);
        }
        s1 = ((soma1 * 10) % 11) % 10;
        s2 = (((soma2 + (s1 * 2)) * 10) % 11) % 10;

        if ((s1 != str_cpf.charAt(9)) || (s2 != str_cpf.charAt(10))) {
               alert ("O CPF '"+cpf+"' não é válido");
               return false;
        }
        return true;
}

// VALIDA DADOS
function WSvalidadados(){
    d = document.WSdados;
	var s;
    // informações pessoais
    // NOME
    if ( !WSsize(d.nome,4) ){
        alert("Você deve informar o seu nome!");
        d.nome.focus();
        return false;
    }
    // NASCIMENTO
    if ( !WSsize(d.nascimento,10) ){
        alert("Você deve informar a sua data de nascimento!");
        d.nascimento.focus();
        return false;
    }
    // ENDEREÇO
    if ( !WSsize(d.endereco,4) ){
        alert("Você deve informar o seu endereço!");
        d.endereco.focus();
        return false;
    }
    // BAIRRO
    if ( !WSsize(d.bairro,4) ){
        alert("Você deve informar o seu bairro!");
        d.bairro.focus();
        return false;
    }
    // CEP
    if ( !WSsize(d.cep,8) ){
        alert("Você deve informar o seu CEP!\nEx.: 99999000\nNão utilize '-'");
        d.cep.focus();
        return false;
    }
    if ( !WSnum(d.cep) ){
        alert("Você deve informar o seu CEP!\nEx.: 99999000\nNão utilize '-'");
        d.cep.focus();
        return false;
    }
    // CIDADE
    if ( !WSsize(d.cidade,4) ){
        alert("Você deve informar a sua cidade!");
        d.cidade.focus();
        return false;
    }
    // ESTADO
    if( d.estado.value == "UF" ){
        alert("Você deve informar o seu Estado!");
        d.estado.focus();
        return false;
    }
    // TELEFONE
    if ( !WSsize(d.telefone,9) ){
        alert("Você deve informar o seu DDD e o telefone!");
        d.telefone.focus();
        return false;
    }
    // CELULAR
    // E-MAIL
    if ( !WSemail(d.email) ){
        alert("Você deve informar o seu e-mail!");
        d.email.focus();
        return false;
    }
	
// inicio de verificacao de cnpj ou cpf
	if (d.cpf.value.length == 0) {
		alert("O CPF é um campo obrigatório !");
		d.cpf.focus();
		return false;	}		
	s = limpa_string(d.cpf.value);	
	// checa se é cpf	
	if (s.length == 11) {
		if (valida_CPF(d.cpf.value) == false ) {
			alert("O CPF não é válido !");
			d.cpf.focus();
			return false;	}
     }
		else {
			alert("O CPF não é válido !");
			d.cpf.focus();
			return false;
		}
// final da verificacao de cnpj ou cpf


    // RG
    if ( !WSsize(d.rg,6) ){
        alert("Você deve informar o seu RG!\nNão utilize '.' ou '-'");
        d.rg.focus();
        return false;
    }
    if ( !WSnum(d.rg) ){
        alert("Você deve informar o seu RG!\nNão utilize '.' ou '-'");
        d.rg.focus();
        return false;
    }
    // SENHA
    if ( !WSsize(d.senha,3) ){
        alert("Você deve informar a sua senha!");
        d.senha.focus();
        return false;
    }

    return true;

} // wsvalidadados




// VALIDA DADOS2
function WSvalidadados2(){
    d = document.WSdados;
	var s;
    // informações pessoais
    // NOME
    if ( !WSsize(d.nome_,4) ){
        alert("Você deve informar o nome da empresa!");
        d.nome_.focus();
        return false;
    }
    // NASCIMENTO
    if ( !WSsize(d.nascimento_,4) ){
        alert("Você deve informar a pessoa para contato");
        d.nascimento_.focus();
        return false;
    }
    // ENDEREÇO
    if ( !WSsize(d.endereco_,4) ){
        alert("Você deve informar o seu endereço!");
        d.endereco_.focus();
        return false;
    }
    // BAIRRO
    if ( !WSsize(d.bairro_,4) ){
        alert("Você deve informar o seu bairro!");
        d.bairro_.focus();
        return false;
    }
    // CEP
    if ( !WSsize(d.cep_,8) ){
        alert("Você deve informar o seu CEP!\nEx.: 99999000\nNão utilize '-'");
        d.cep_.focus();
        return false;
    }
    if ( !WSnum(d.cep_) ){
        alert("Você deve informar o seu CEP!\nEx.: 99999000\nNão utilize '-'");
        d.cep_.focus();
        return false;
    }
    // CIDADE
    if ( !WSsize(d.cidade_,4) ){
        alert("Você deve informar a sua cidade!");
        d.cidade_.focus();
        return false;
    }
    // ESTADO
    if( d.estado_.value == "UF" ){
        alert("Você deve informar o seu Estado!");
        d.estado_.focus();
        return false;
    }
    // TELEFONE
    if ( !WSsize(d.telefone_,9) ){
        alert("Você deve informar o seu DDD e o telefone!");
        d.telefone_.focus();
        return false;
    }
    // CELULAR
    // E-MAIL
    if ( !WSemail(d.email_) ){
        alert("Você deve informar o seu e-mail!");
        d.email_.focus();
        return false;
    }
	
// inicio de verificacao de cnpj ou cpf
	if (d.cpf_.value.length == 0) {
		alert("O CNPJ é um campo obrigatório !");
		d.cpf_.focus();
		return false;	}		
	s = limpa_string(d.cpf_.value);	
	// checa se é cpf	
	if (s.length == 14) {
		if (valida_CGC(d.cpf_.value) == false ) {
			alert("O CNPJ não é válido !");
			d.cpf_.focus();
			return false;	}
			}
		else {
			alert("O CNPJ não é válido !");
			d.cpf_.focus();
			return false;
		}
// final da verificacao de cnpj

/*
    // RG
    if ( !WSsize(d.rg_,6) ){
        alert("Você deve informar a Insc. Est.!\nNão utilize '.' ou '-'");
        d.rg_.focus();
        return false;
    }
    if ( !WSnum(d.rg_) ){
        alert("Você deve informar a Insc. Est.!\nNão utilize '.' ou '-'");
        d.rg_.focus();
        return false;
    }
*/
    // SENHA
    if ( !WSsize(d.senha_,3) ){
        alert("Você deve informar a sua senha!");
        d.senha_.focus();
        return false;
    }

    return true;

} // wsvalidadados2



// VALIDAR DADOS DO FORMULÁRIO
function WSdadosForm(){
	
	//comentarios por mudança para apenas pessoa juridica
	/*if(document.WSdados.modo[0].checked==true){
		if ( WSvalidadados() ){
               document.WSdados.submit();
       }
	}
	else if(document.WSdados.modo[1].checked==true){*/
		if ( WSvalidadados2() ){
               document.WSdados.submit();
       }
	//}
		
       
}


function desabilita( modo ){
	d = document.WSdados;
	if( modo == 0){
		// DESABILITA 0
		d.nome.disabled = true
		d.nome.style.background='silver'
		d.nascimento.disabled = true
		d.nascimento.style.background='silver'
		d.endereco.disabled = true
		d.endereco.style.background='silver'
		d.bairro.disabled = true
		d.bairro.style.background='silver'
		d.cep.disabled = true
		d.cep.style.background='silver'
		d.cidade.disabled = true
		d.cidade.style.background='silver'
		d.estado.disabled = true
		d.estado.style.background='silver'
		d.telefone.disabled = true
		d.telefone.style.background='silver'
		d.celular.disabled = true
		d.celular.style.background='silver'
		d.email.disabled = true
		d.email.style.background='silver'
		d.cpf.disabled = true
		d.cpf.style.background='silver'
		d.rg.disabled = true
		d.rg.style.background='silver'
		d.senha.disabled = true
		d.senha.style.background='silver'
		//HABILITA 1
		d.nome_.disabled = false
		d.nome_.style.background=''
		d.nascimento_.disabled = false
		d.nascimento_.style.background=''
		d.endereco_.disabled = false
		d.endereco_.style.background=''
		d.bairro_.disabled = false
		d.bairro_.style.background=''
		d.cep_.disabled = false
		d.cep_.style.background=''
		d.cidade_.disabled = false
		d.cidade_.style.background=''
		d.estado_.disabled = false
		d.estado_.style.background=''
		d.telefone_.disabled = false
		d.telefone_.style.background=''
		d.celular_.disabled = false
		d.celular_.style.background=''
		d.email_.disabled = false
		d.email_.style.background=''
		d.cpf_.disabled = false
		d.cpf_.style.background=''
		d.rg_.disabled = false
		d.rg_.style.background=''
		d.senha_.disabled = false
		d.senha_.style.background=''
	}
	if( modo == 1){
		// DESABILITA 1
		d.nome_.disabled = true
		d.nome_.style.background='silver'
		d.nascimento_.disabled = true
		d.nascimento_.style.background='silver'
		d.endereco_.disabled = true
		d.endereco_.style.background='silver'
		d.bairro_.disabled = true
		d.bairro_.style.background='silver'
		d.cep_.disabled = true
		d.cep_.style.background='silver'
		d.cidade_.disabled = true
		d.cidade_.style.background='silver'
		d.estado_.disabled = true
		d.estado_.style.background='silver'
		d.telefone_.disabled = true
		d.telefone_.style.background='silver'
		d.celular_.disabled = true
		d.celular_.style.background='silver'
		d.email_.disabled = true
		d.email_.style.background='silver'
		d.cpf_.disabled = true
		d.cpf_.style.background='silver'
		d.rg_.disabled = true
		d.rg_.style.background='silver'
		d.senha_.disabled = true
		d.senha_.style.background='silver'
		// HABILITA 0
		d.nome.disabled = false
		d.nome.style.background=''
		d.nascimento.disabled = false
		d.nascimento.style.background=''
		d.endereco.disabled = false
		d.endereco.style.background=''
		d.bairro.disabled = false
		d.bairro.style.background=''
		d.cep.disabled = false
		d.cep.style.background=''
		d.cidade.disabled = false
		d.cidade.style.background=''
		d.estado.disabled = false
		d.estado.style.background=''
		d.telefone.disabled = false
		d.telefone.style.background=''
		d.celular.disabled = false
		d.celular.style.background=''
		d.email.disabled = false
		d.email.style.background=''
		d.cpf.disabled = false
		d.cpf.style.background=''
		d.rg.disabled = false
		d.rg.style.background=''
		d.senha.disabled = false
		d.senha.style.background=''
	}
	
	
}
