var defaultEmptyOK = false
var whitespace = " \t\n\r";
var decimalPointDelimiter = "."

function isEmpty(s)
{   return ((s == null) || (s.length == 0))
}
function isWhitespace (s)
{   var i;
    if (isEmpty(s)) return true;
    for (i = 0; i < s.length; i++)
    {   
        var c = s.charAt(i);

        if (whitespace.indexOf(c) == -1) return false;
    }
    return true;
}
function isCPF(st) {
	if (st=="") 
		return (true);

	if (isNaN(st))
		return (false);

	l = st.length;
	st2 = "";
	for (i = 0; i < l; i++) {
		caracter = st.substring(i,i+1)
		if ((caracter >= '0') && (caracter <= '9'))
			st2 = st2 + caracter;
	}
   if ((st2.length > 11) || (st2.length < 10))
   	return (false);
	if (st2.length==10)
		st2 = '0' + st2;
	digito1 = st2.substring(9,10)
	digito2 = st2.substring(10,11)

	digito1 = parseInt(digito1,10)
	digito2 = parseInt(digito2,10)

	sum = 0; mul = 10;
	for (i = 0; i < 9 ; i++) {
   	digit = st2.substring(i,i+1);
		tproduct = parseInt(digit ,10)*mul;
      sum += tproduct;
		mul--;
   }

	dig1 = ( sum % 11 )

	if ( dig1==0 || dig1==1 )
		dig1=0;
	else
		dig1 = 11 - dig1

	if (dig1!=digito1)
		return (false);

	sum = 0; mul = 11;
	for (i = 0; i < 10 ; i++) {
   	digit = st2.substring(i,i+1);
		tproduct = parseInt(digit ,10)*mul;
      sum += tproduct;
		mul--;
	}
	dig2 = (sum % 11)

	if ( dig2==0 || dig2==1 )
		dig2=0;
	else
		dig2 = 11 - dig2;

	if (dig2!=digito2)
		return (false);
	return (true)
}

function isCNPJ(x)
{
	strNum=""
	if (x=="") 
		return (true);
		
	if (isNaN(x))
		return (false);
			
	l = x.length;
	for (i = 0; i < l; i++) {
		caracter = x.substring(i,i+1)
		if ((caracter >= '0') && (caracter <= '9'))
			strNum = strNum + caracter;
        }
	
		  strMul = "6543298765432"
        iValido = 1
        if(strNum.length != 14)
          {
          return(false)
          }
        iSoma = 0
        strNum_base = strNum.substring(0,12) 
        iLenNum_base = strNum_base.length - 1
        iLenMul = strMul.length - 1
        for(i=0;i<12;i++)
           {
           iSoma = iSoma + parseInt(strNum_base.substring((iLenNum_base-i),(iLenNum_base-i)+1),10) * parseInt(strMul.substring((iLenMul-i),(iLenMul-i)+1),10)
           }
        
        iSoma = 11 - (iSoma - Math.floor(iSoma/11) * 11)
        if(iSoma == 11 || iSoma == 10)
          {
          iSoma = 0
          }
        
        strNum_base = strNum_base + iSoma 
        iSoma = 0
        iLenNum_base = strNum_base.length - 1
        for(i=0;i<13;i++)
           {
           iSoma = iSoma + parseInt(strNum_base.substring((iLenNum_base-i),(iLenNum_base-i)+1),10) * parseInt(strMul.substring((iLenMul-i),(iLenMul-i)+1),10)
           }
        
        iSoma = 11 - (iSoma - Math.floor(iSoma/11) * 11)
        if(iSoma == 11 || iSoma == 10)
          {
          iSoma = 0
          }
        
        strNum_base = strNum_base + iSoma 
        if(strNum != strNum_base)
          {
          return(false)
          }
        
        return(true)
}


function alerta(msg) {

	alert("ATENÇÃO!\n\n" + msg);
}

function ValidaCPF(Valor) 
{
	vAux = Valor;
	vAux2 = ".;/\-_;!@#$%";
	l = vAux.length;
	l2 = vAux2.length;
	vDoc   = "";
		
	if (l==11)
	{
		for (i = 0; i < l; i++) 
		{
			caracter = vAux.substring(i,i+1);	
			for (j = 0; j<l2; j++)
			{
				caracter = caracter.replace(vAux2.substring(j,j+1),"");	
			}
			vDoc = vDoc + caracter;
		}	
				
		if (!isCPF(vDoc))
		{
			return (false)
		}
		else
		{
			return (true);
		}	
	}
	else
	{
		return (false);
	}	
}

function ValidaCNPJ(Valor) 
{
	vAux = Valor;
	vAux2 = ".;/\-_;!@#$%";
	l = vAux.length;
	l2 = vAux2.length;
	vDoc   = "";
		
	
	if (l==14)
	{
		for (i = 0; i < l; i++) 
		{
			caracter = vAux.substring(i,i+1);	
			for (j = 0; j<l2; j++)
			{
				caracter = caracter.replace(vAux2.substring(j,j+1),"");	
			}
			vDoc = vDoc + caracter;
		}	
			
		if (!isCNPJ(vDoc))
		{
			return (false)
		}
		else
		{
			return (true);
		}	
	}
	else
	{
		return (false);
	}	
}


