//-------------------------------------------------

//          Retorna dígito da seqüência passada (Mod 11a).

//-------------------------------------------------

	function Enumero(el,elConta,elthis)
{
    
    if (isNaN(String.fromCharCode(el)))
    {
      //document.form1.txtCNPJ.value="";
      return false;
    }
   
    
}

function FormatAsNumber(OriginalNumber)
{
        //var objFocused = elthis;
        
        var Nav4 = document.layers;
        var IE4 = document.all;
        
        var PointPosition = 0;
        var CommaPosition = 0;

        var LenString = 0;

        var FormatedNumber;
        
        var objFocused = window.event.srcElement;
        while (PointPosition != -1)
        {
                PointPosition = OriginalNumber.indexOf(".");
                OriginalNumber = OriginalNumber.substring(0,PointPosition) + OriginalNumber.substring(PointPosition + 1, OriginalNumber.length);
                
        }

        CommaPosition = OriginalNumber.indexOf(",");

        if (CommaPosition != -1)
                OriginalNumber = OriginalNumber.substring(0,CommaPosition) + OriginalNumber.substring(CommaPosition + 1, OriginalNumber.length);

        LenString = OriginalNumber.length;

        if (LenString > 2)
        {
			if (LenString < 6)
			{       
              FormatedNumber = OriginalNumber.substring(0,LenString - 2) + "," + OriginalNumber.substring(LenString - 2,LenString);
            }
            else
            {
				if (LenString < 9)
				{
                  FormatedNumber = OriginalNumber.substring(0,LenString - 5) + "." + OriginalNumber.substring(LenString-5,LenString - 2) + "," + OriginalNumber.substring(LenString - 2,LenString);
                }
                else
                {
                  FormatedNumber = OriginalNumber.substring(0,LenString - 8) + "." +OriginalNumber.substring(LenString-8,LenString - 5) + "." + OriginalNumber.substring(LenString-5,LenString - 2) + "," + OriginalNumber.substring(LenString - 2,LenString);
                }
            }
        }
        else
        {
           FormatedNumber = OriginalNumber;
        }

        //return(FormatedNumber);
        objFocused.value = FormatedNumber;
}



	
	function RemoveCrEspeciais(elThis,elSoAlfa)
	{
	    //var i = document.getElementById("text1");
	    //var j = document.getElementById("text1");
		
		var i = elThis.value;
		var j = elThis.value;
		

		//i = i.value;
		//j = j.value;	
		
	    if(elSoAlfa==1)
	    {
	        var rRExp = /[^a-z & ^\s]/g;
        }
        else
        {
            //var rRExp = /[^a-z & ^0-9 & ^\s & .&\- & ,]/g;
            var rRExp = /[^a-z-., & ^0-9 & \s]/g;
        }
	    var ilw = i.toLowerCase();


	    var strRstrR = ilw.replace(rRExp,'X');
	   
	  //  alert(strRstrR + "\n" + j);		    
	
	    if(strRstrR!=j.toLowerCase())	
		{

		alert("Caracteres especiais detectados!");
		elThis.value = "";
		elThis.focus();
	
		}
		else
			{
	
				//alert("Caracteres especiais não detectados!");			
			}
    

	}


function DV(theNumber)

{

            var i = theNumber.length;

            theNumber = "000000000000000000".concat(theNumber).substring(i);

 

            var Sum = 0;                 //- soma.

            var Weight = 2;              //- peso.

            var MaxWeight = 7;  //- peso maximo

 

            for (i = 17; i >= 0; i--)  {

                        Sum += (theNumber.charAt(i) - '0') * Weight;

                        if (Weight == MaxWeight)

        {

           Weight = 1;

                        }

                        Weight++;

            }

 

            i = Sum % 11;

 

            if (i == 0)

            {

       i = 10;

            }

    else

            {

               if (i == 1)

               {

                           i = 11;

       }

    }

 

            return (11 - i);

}

 

//-------------------------------------------------

//          verifica se dígito da seqüência passada con-

//          fere, utilizando do Módulo 11a.

//-------------------------------------------------

function DigitoValido(theNumber)

{

            var i = theNumber.length;

            theNumber = "000000000000000000".concat(theNumber).substring(i);

 

            var theDigit = theNumber.charAt(17);      //- 18a. pos.

            theNumber = theNumber.substring(0, 17);           //- 17 bytes

 

            var Sum = 0;                 //- soma.

            var Weight = 2;              //- peso.

            var MaxWeight = 7;  //- peso maximo

 

            for (i = 16; i >= 0; i--)  {

                        Sum += (theNumber.charAt(i) - '0') * Weight;

                        if (Weight == MaxWeight)

        {

           Weight = 1;

                        }

                        Weight++;

            }

 

            i = Sum % 11;

 

            if (i == 0)

            {

       i = 10;

            }

    else

            {

               if (i == 1)

               {

                           i = 11;

       }

    }

 

            return (String(11 - i) == theDigit);

}

 

//-------------------------------------------------

//          verifica se dígito da seqüência passada con-

//          fere, utilizando do Módulo 10.

//-------------------------------------------------

function CalculaDVMod10(strCampo)

{

            var DVMod10 = 0;

            var Peso = 1;

 

            var i = strCampo.length;

            var ByteAtual = "";

 

            var Soma = 0, SomaTotal = 0;

 

            //== Aplicação do peso em cada um dos dígitos do

            //          campo do código de barras passado, da direita

            //          para a esquerda, aplicando o peso 1 e 2

            //          sucessivamente (começando pelo "1").

            for (i = strCampo.length; i >= 1; i--)

            {

                        //-- pega o número corrente, da direita para a esquerda.

                        ByteAtual = strCampo.substring(i-1, i);

                        //-- aplica o peso em cada um dos dígitos do campo.

                        Soma = parseInt(ByteAtual) * Peso;

 

                        //-- quando "Soma" > 9, nove fora (subtrai 9 da soma).

                        if (Soma > 9) Soma -= 9;

 

                        //-- adiciona a soma ao total.

                        SomaTotal += Soma;

 

                        //-- alterna peso entre 1 e 2, começando por 1.

                        if (Peso == 1) Peso = 2;

                        else Peso = 1;

            }

 

            DVMod10 = SomaTotal / 10;      //-- DV = Somatória / 10 (Módulo 10!).

            if ((SomaTotal % 10) == 0)         //-- Se resto = 0, ótimo! Bateu o DV!

                        return true;

            else

                        return false;

}

 

//-------------------------------------------------

//          verifica se dígito da seqüência passada con-

//          fere, utilizando do Módulo 11b.

//-------------------------------------------------

function CalculaDVCCor(strCampo, strDVMod11)
{

            var DVMod11 = 0;

            var Peso = 2;
            //alert(strCampo + " " + strDVMod11)
 

            var i = strCampo.length;

            var ByteAtual = "";

 

            var Soma = 0, SomaTotal = 0;

 

            //== Aplicação do peso em cada um dos dígitos do

            //          campo do código de barras passado, da direita

            //          para a esquerda, aplicando o peso 2 a 7

            //          sucessivamente (começando pelo "2").

            for (i = strCampo.length; i >= 1; i--)

            {

                        //-- pega o número corrente, da direita para a esquerda.

                        ByteAtual = strCampo.substring(i-1, i);

                        //-- aplica o peso em cada um dos dígitos do campo.

                        Soma = parseInt(ByteAtual) * Peso;

 

                        //-- adiciona a soma ao total.

                        SomaTotal += Soma;

 

                        //-- acerta o peso (de 2 a 9).

                        if (Peso == 7) Peso = 2;

                        else Peso++;

 

            }

            if (SomaTotal == 0)
            {
                if(strDVMod11 == 0)
                {
                    return true;
                }
                else
                {
                    return false;
                }
            }
             //alert(SomaTotal);
            DVMod11 = SomaTotal % 11;
            
 
//            if (DVMod11 == 1) 
//                {
//                    
//                    DVMod11 == 0
//                }
//            
            DVMod11 = 11 - DVMod11;     
            
            if(DVMod11==11)
                DVMod11=1;
            else if(DVMod11==10)
                DVMod11=0;
            
//            if ((DVMod11 == 0) ||                       
//                        (DVMod11 == 10))                     //-- Se Resto = 0, 1 ou 10, DV = 1;

//                        DVMod11 = 1;

//            else                                                                  //-- DV = 11 - Resto.

            
            
 
                     
            if (strDVMod11 == String(DVMod11))

                        return true;

            else

                        return false;


}
function CalculaDVMod11(strCampo, strDVMod11)

{

            var DVMod11 = 0;

            var Peso = 2;
//            alert(strCampo + " " + strDVMod11)
 

            var i = strCampo.length;

            var ByteAtual = "";

 

            var Soma = 0, SomaTotal = 0;

 

            //== Aplicação do peso em cada um dos dígitos do

            //          campo do código de barras passado, da direita

            //          para a esquerda, aplicando o peso 2 a 9

            //          sucessivamente (começando pelo "2").

            for (i = strCampo.length; i >= 1; i--)

            {

                        //-- pega o número corrente, da direita para a esquerda.

                        ByteAtual = strCampo.substring(i-1, i);

                        //-- aplica o peso em cada um dos dígitos do campo.

                        Soma = parseInt(ByteAtual) * Peso;

 

                        //-- adiciona a soma ao total.

                        SomaTotal += Soma;

 

                        //-- acerta o peso (de 2 a 9).

                        if (Peso == 9) Peso = 2;

                        else Peso++;

 

            }

            if (SomaTotal == 0)
            {
                if(strDVMod11 == 0)
                {
                    return true;
                }
                else
                {
                    return false;
                }
            }
             //alert(SomaTotal);
            DVMod11 = SomaTotal % 11;
            
 
//            if (DVMod11 == 1) 
//                {
//                    
//                    DVMod11 == 0
//                }
//            
            DVMod11 = 11 - DVMod11;     
            
            if(DVMod11==11)
                DVMod11=1;
            else if(DVMod11==10)
                DVMod11=0;
            
//            if ((DVMod11 == 0) ||                       
//                        (DVMod11 == 10))                     //-- Se Resto = 0, 1 ou 10, DV = 1;

//                        DVMod11 = 1;

//            else                                                                  //-- DV = 11 - Resto.

            
            
 
                     
            if (strDVMod11 == String(DVMod11))

                        return true;

            else

                        return false;

}

 

    // Verifica se o digito do número passado é válido, usando o módulo

    // passado ciclando o peso até o peso máximo, se o digito for maior 

    // ou igual à 10 ele é convertido para 0

            function VerificaDigA(numero, modulo, PesoMax, onze)

                        {

                        var soma, tamanho, algarismo, peso, digito;

                        tamanho = numero.length - 2; // menos o digito e ajusta para primeiro elemento em 0

                        

                        soma = 0;

                        peso = 2;

                        

                        while(tamanho >= 0)

                                    {

                                    algarismo = numero.substr(tamanho, 1);

                                    soma += algarismo * peso;

                                    peso++;

                                    if(peso > PesoMax)

                                                { peso = 2; }

                                                

                                    tamanho--;

                                    }

                        

                        digito = modulo - (soma % modulo)

                        

                        if(onze == 0)

                                    {

                                    if( digito >= 10 )

                                                {

                                                digito = 0;

                                                }

                                    }

                        else

                                    {

                                    if( digito >= 10 )

                                                {

                                                digito = digito % 10;

                                                }

                                    }

 

                        if(digito == parseInt(numero.substr(numero.length - 1, 1), 10) )

                                    {

                                    return true;

                                    }

                        return false;

                        }

            

            // Usa a função VerificaDigA para verificar se o primeiro e o segundo

            // digito são válidos.

            function VerificaDigB(numero, modulo)

                        {

                        if( VerificaDigA(numero, modulo, numero.length, 1) )

                                    {

                                    if( VerificaDigA(numero.substr(0, numero.length - 1), modulo, (numero.length - 1), 1) )

                                                {

                                                return true;

                                                }

                                    }

                        return false;

                        }

 

            // Verifica o digito do SQL para pagamento de IPTU

            // segundo a regra. Peso de 2 à 10 volta para 1

            // se resto = 0 dv = 0, se resto = 1 dv = 1

            

            function DACIPTU(numero)

                        {

                        var soma, tamanho, algarismo, peso, digito;

                        tamanho = numero.length - 2; // menos o digito e ajusta para primeiro elemento em 0

                        

                        soma = 0;

                        peso = 2;

                        

                        while(tamanho >= 0)

                                    {

                                    algarismo = numero.substr(tamanho, 1);

                                    soma += algarismo * peso;

                                    peso++;

                                    if(peso > 10)

                                                { peso = 1; }

                                                

                                    tamanho--;

                                    }

                        

                        digito = 11 - (soma % 11)

                        

                        if( digito >= 10 )

                                    {

                                    digito = 1 - (digito % 10);

                                    }

 

                        if(digito == parseInt(numero.substr(numero.length - 1, 1), 10) )

                                    {

                                    return true;

                                    }

                        return false;

                        }

