///funções em javascript

//apenas números
function isNumberKey(evt) {
    var charCode = (evt.which) ? evt.which : event.keyCode
    if (charCode > 31 && (charCode < 48 || charCode > 57))
        return false;
    return true;
}
//fim de apenas números


//valida cpf/cnpj (função "encadeada")

function isCPFCNPJ(campo, pType) {

    var campo_filtrado = "", valor_1 = " ", valor_2 = " ", ch = "";
    var valido = false;

    for (i = 0; i < campo.length; i++) {
        ch = campo.substring(i, i + 1);
        if (ch >= "0" && ch <= "9") {
            campo_filtrado = campo_filtrado.toString() + ch.toString()
            valor_1 = valor_2;
            valor_2 = ch;
        }
        if ((valor_1 != " ") && (!valido)) valido = !(valor_1 == valor_2);
    }
    if (!valido) campo_filtrado = "12345678912";

    if (campo_filtrado.length < 11) {
        for (i = 1; i <= (11 - campo_filtrado.length); i++) { campo_filtrado = "0" + campo_filtrado; }
    }

    if (pType <= 1) {
        if ((campo_filtrado.substring(9, 11) == checkCPF(campo_filtrado.substring(0, 9))) && (campo_filtrado.substring(11, 12) == "")) { return true; }
    }

    if ((pType == 2) || (pType == 0)) {
        if (campo_filtrado.length >= 14) {
            if (campo_filtrado.substring(12, 14) == checkCNPJ(campo_filtrado.substring(0, 12))) { return true; }
        }
    }

    return false;
}

function checkCNPJ(vCNPJ) {
    var mControle = "";
    var aTabCNPJ = new Array(5, 4, 3, 2, 9, 8, 7, 6, 5, 4, 3, 2);
    for (i = 1; i <= 2; i++) {
        mSoma = 0;
        for (j = 0; j < vCNPJ.length; j++)
            mSoma = mSoma + (vCNPJ.substring(j, j + 1) * aTabCNPJ[j]);
        if (i == 2) mSoma = mSoma + (2 * mDigito);
        mDigito = (mSoma * 10) % 11;
        if (mDigito == 10) mDigito = 0;
        mControle1 = mControle;
        mControle = mDigito;
        aTabCNPJ = new Array(6, 5, 4, 3, 2, 9, 8, 7, 6, 5, 4, 3);
    }
    return ((mControle1 * 10) + mControle);
}

function checkCPF(vCPF) {
    var mControle = ""
    var mContIni = 2, mContFim = 10, mDigito = 0;
    for (j = 1; j <= 2; j++) {
        mSoma = 0;
        for (i = mContIni; i <= mContFim; i++)
            mSoma = mSoma + (vCPF.substring((i - j - 1), (i - j)) * (mContFim + 1 + j - i));
        if (j == 2) mSoma = mSoma + (2 * mDigito);
        mDigito = (mSoma * 10) % 11;
        if (mDigito == 10) mDigito = 0;
        mControle1 = mControle;
        mControle = mDigito;
        mContIni = 3;
        mContFim = 11;
    }
    return ((mControle1 * 10) + mControle);
}


//fim validação cpf/cnpj

//valida apenas documento
function validaDocumento()
    {
        //documento
        if (document.frmAutentica.txtDocumentoAutentica.value == '') 
        {
            window.alert('Por favor preencha o documento. O mesmo é utilizado para fins de autenticação.');
            document.frmAutentica.txtDocumentoAutentica.focus();
            return false;
        }

        if (document.frmAutentica.txtDocumentoAutentica.value.length>11) 
        {
            window.alert('Por favor preencha apenas se o documento for CPF.');
        }
        else 
        {
            if (!isCPFCNPJ(document.frmAutentica.txtDocumentoAutentica.value, '')) 
            {
                window.alert('Documento inválido. Por favor preencha um CPF válido.');
                document.frmAutentica.txtDocumentoAutentica.focus();
                return false;
            }
        }
    }
//fim de validação apenas de documento



//valida campos do formulário
function validaCampos()
{
    //documento
    if (document.frmCadastro.txtDocumento.value == '') {
        window.alert('Por favor preencha o documento. O mesmo é utilizado para fins de autenticação.');
        document.frmCadastro.txtDocumento.focus();
        return false;
    }

    if (!isCPFCNPJ(document.frmCadastro.txtDocumento.value, '')) {
        window.alert('Documento inválido. Por favor preencha um CPF ou CNPJ válido');
        document.frmCadastro.txtDocumento.focus();
        return false;
    }
    //fim de documento            

    //nome
    if(document.frmCadastro.txtNome.value=='')
        {
            window.alert('Por favor preencha um nome ou razão social.');
            document.frmCadastro.txtNome.focus();
            return false;
        }    
    
    if(document.frmCadastro.txtNome.value.length<3)        
        {
            window.alert('Por favor preencha um nome ou razão social com mais de três caracteres.');
            document.frmCadastro.txtNome.focus();
            return false;
        }
    //fim de nome


        //ddd
        if (document.frmCadastro.nrDDDTelefone.value == '') {
            window.alert('Por favor preencha o DDD.');
            document.frmCadastro.nrDDDTelefone.focus();
            return false;
        }

        if (document.frmCadastro.nrDDDTelefone.value.length < 2) {
            window.alert('Por favor preencha o ddd com mais de dois caracteres.');
            document.frmCadastro.nrDDDTelefone.focus();
            return false;
        }
        //fim de ddd

        //telefone
        if (document.frmCadastro.nrTelefone.value == '') {
            window.alert('Por favor preencha o telefone.');
            document.frmCadastro.nrTelefone.focus();
            return false;
        }

        if (document.frmCadastro.nrTelefone.value.length < 6) {
            window.alert('Por favor preencha o telefone com mais de seis caracteres.');
            document.frmCadastro.nrTelefone.focus();
            return false;
        }
        //fim de telefone

        

    //email
	var emailID=document.frmCadastro.txtEmail
	
	if ((emailID.value==null)||(emailID.value=="")){
		window.alert("Por favor informe seu e-mail.")
		emailID.focus();
		return false;
	}
	if (echeck(emailID.value)==false){
		emailID.value=""
		emailID.focus();
		return false;
	}    
    //fim de email

	//cep
	if (document.frmCadastro.txtCep.value=='') {
	    window.alert("Por favor preencha o CEP")
	    document.frmCadastro.txtCep.focus();
	    return false;
	}
	
	
	//fim de cep
            

    
    //estado(UF)
    if(document.frmCadastro.nrUF.selectedIndex==0)
        {
        window.alert('Por favor preencha a UF.');
        document.frmCadastro.nrUF.focus();
        return false;
        }        
    //fim estado(UF)


}
//fim valida campos formulário


//validação de e-mail
function echeck(str) {

		var at="@"
		var dot="."
		var lat=str.indexOf(at)
		var lstr=str.length
		var ldot=str.indexOf(dot)
		if (str.indexOf(at)==-1){
		   window.alert("E-mail inválido. Por favor preencha seu e-mail corretamente");
		   return false;
		}

		if (str.indexOf(at)==-1 || str.indexOf(at)==0 || str.indexOf(at)==lstr){
		   window.alert("E-mail inválido. Por favor preencha seu e-mail corretamente");
		   return false;
		}

		if (str.indexOf(dot)==-1 || str.indexOf(dot)==0 || str.indexOf(dot)==lstr){
		    window.alert("E-mail inválido. Por favor preencha seu e-mail corretamente");
		    return false;
		}

		 if (str.indexOf(at,(lat+1))!=-1){
		    window.alert("E-mail inválido. Por favor preencha seu e-mail corretamente");
		    return false;
		 }

		 if (str.substring(lat-1,lat)==dot || str.substring(lat+1,lat+2)==dot){
		    window.alert("E-mail inválido. Por favor preencha seu e-mail corretamente");
		    return false;
		 }

		 if (str.indexOf(dot,(lat+2))==-1){
		    window.alert("E-mail inválido. Por favor preencha seu e-mail corretamente");
		    return false;
		 }
		
		 if (str.indexOf(" ")!=-1){
		    window.alert("E-mail inválido. Por favor preencha seu e-mail corretamente");
		    return false;
		 }

 		 return true					
	}
	//fim de validação de e-mail


		//seleciona múltiplos checkboxes
		function checkAll(form, cName, status) {
		    for (i = 0, n = form.elements.length; i < n; i++)
		        if (form.elements[i].className.indexOf(cName) != -1) {
		        form.elements[i].checked = status;
		    }
		}
		//fim de seleção



		function validaCamposOpcoes(form) {
		    var input = document.getElementsByTagName("input");
		    for (var i = 0; i < input.length; i++) {
		        if (input[i].checked == true) {
		            i = input.length - 1;
		            form.action = "opcoesPro.asp";
		            //form.submit();
		        }
		        else if (i < input.length - 1);
		        else alert("Por favor escolha pelo menos uma opção.");
		    }
		}


		function validaCamposOpcoesAltera(form) {
		    var input = document.getElementsByTagName("input");
		    for (var i = 0; i < input.length; i++) {
		        if (input[i].checked == true) {
		            i = input.length - 1;
		            form.action = "opcoesAlteraPro.asp";
		            //form.submit();
		        }
		        else if (i < input.length - 1);
		        else alert("Por favor escolha pelo menos uma opção.");
		    }
		}

		
//valida campos de autenticação
		function validaCamposAutentica() {
		    //nome
		    if (document.frmAutentica.txtNomeAutentica.value == '')
		        {
		            window.alert('Por favor preencha o nome.');
		            document.frmAutentica.txtNomeAutentica.focus();
		            return false;
		        }

		    if (document.frmAutentica.txtNomeAutentica.value.length<=3)
                {
		            window.alert('Por favor preencha o nome com mais de três caracteres.');
		            document.frmAutentica.txtNomeAutentica.focus();
		            return false;
		        }
		    //fim nome

		    //email
		        var emailID = document.frmAutentica.txtEmailAutentica

		        if ((emailID.value == null) || (emailID.value == "")) {
		            window.alert("Por favor informe seu e-mail.")
		            emailID.focus();
		            return false;
		        }
		        if (echeck(emailID.value) == false) {
		            emailID.value = ""
		            emailID.focus();
		            return false;
		        }
		    //fim de email

	        //documento
	        if (document.frmAutentica.txtDocumentoAutentica.value == '') {
	            window.alert('Por favor preencha o documento para finalizar sua autenticação.');
	            document.frmAutentica.txtDocumentoAutentica.focus();
	            return false;
	        }

	        if (!isCPFCNPJ(document.frmAutentica.txtDocumentoAutentica.value, '')) {
	            window.alert('Documento inválido. Por favor preencha um CPF ou CNPJ válido');
	            document.frmAutentica.txtDocumentoAutentica.focus();
	            return false;
	        }
	        //fim de documento                    
                            
		
		}
		//fim de validação de campos de autenticação


		function confirmaExclusao() {
		    if (window.confirm("Deseja realmente inativar sua conta?")) {
		        document.frmExclusao.action = 'cadastroExclui.asp';
		        document.frmExclusao.submit();
		    }
		}    
