/*
 * Ext JS Library 1.0.1
 * Copyright(c) 2011
 * fabio@megafour.com.br
 *
 * Validações específicas para o cliente Erdos
 */


function validaCPF(cpf,pType){
 
     
 
    var cpf_filtrado = "", valor_1 = " ", valor_2 = " ", ch = "";
 
    var valido = false;
 
     
 
    for (i = 0; i < cpf.length; i++){
 
    ch = cpf.substring(i, i + 1);
 
    if (ch >= "0" && ch <= "9"){
 
    cpf_filtrado = cpf_filtrado.toString() + ch.toString()
 
    valor_1 = valor_2;
 
    valor_2 = ch;
 
    }
 
    if ((valor_1 != " ") && (!valido)) valido = !(valor_1 == valor_2);
 
    }
 
     
 
    if (!valido) cpf_filtrado = "12345678912";
 
     
 
    if (cpf_filtrado.length < 11){
 
    for (i = 1; i <= (11 - cpf_filtrado.length); i++){cpf_filtrado = "0" + cpf_filtrado;}
 
    }
 
     
 
    if(pType <= 1){
 
    if ( ( cpf_filtrado.substring(9,11) == checkCPF( cpf_filtrado.substring(0,9) ) ) && ( cpf_filtrado.substring(11,12)=="") ){return true;}
 
    }
 
     
 
    if((pType == 2) || (pType == 0)){
 
    if (cpf_filtrado.length >= 14){
 
    if ( cpf_filtrado.substring(12,14) == checkCNPJ( cpf_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 );
}
