function mascara ( campo ){
	var i, a;
	a = campo.value;
	campo.value = '';
	for(i=0;i<a.length;i++){
		if(a.charAt(i) == '0' || a.charAt(i) == '1' || a.charAt(i) == '2' || a.charAt(i) == '3' || 
		a.charAt(i) == '4' || a.charAt(i) == '5' || a.charAt(i) == '6' || a.charAt(i) == '7' || 
		a.charAt(i) == '8' || a.charAt(i) == '9'){
			campo.value = campo.value + a.charAt(i);
		}
	}

	if(campo.value.length < 14){
		campo.value = campo.value.substr(0,3) + "." +
		campo.value.substr(3,3) + "." + campo.value.substr(6,3) + "-" + campo.value.substr(9,2);
	}else{
		campo.value = campo.value.substr(0,2) + "." +
		campo.value.substr(2,3) + "." + campo.value.substr(5,3) + "/" + campo.value.substr(8,4)
		+ "-" + campo.value.substr(12,4);;
	}
}

function isEmpty( campo ){
	if(campo.value == ''){
		return true;
	}
	return false;
}

function isCPFCNPJ(campo,pType){
   if( isEmpty( campo ) ){return false;}

   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) || (pType == 0)){
      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 );
}

function checkForm(){

   if(!isCPFCNPJ(document.form1.cpfcnpj.value,0)){
      alert("Por favor informe um CPF/CNPJ válido");
      document.form1.cpfcnpj.focus();
      return false;
   }

   return true;
}

function checkField(cpfCnpfField){
   if(!isCPFCNPJ(cpfCnpfField.value,0)){
      alert("Por favor informe um CPF/CNPJ válido");
      cpfCnpfField.focus();
      return false;
   }
   return true;
}

function checkNum(evt){
   var x = evt.charCode;
   if ((x<48) || (x>57))
       return false;

   return true;
}

function filterNum(campo){
	var campo_filtrado = "";
	var ch = ""; var i;
	for (i = 0; i < campo.value.length; i++){
      ch = campo.value.substring(i, i + 1);
      if (ch >= "0" && ch <= "9")
         campo_filtrado = campo_filtrado.toString() + ch.toString();
	}
	campo.value = campo_filtrado;
}