// validacao e formatacao dos campos forms

function convertedata(data) {
               
   dia = data.substr(0,2);
   mes = data.substr(3,2);
   ano = data.substr(6,4);
   
   return ano + "-" + mes + "-" + dia;

}

function editadata(data) {
               
   ano = data.substr(0,4);
   mes = data.substr(5,2);
   dia = data.substr(8,2);
   
   return dia + "/" + mes + "/" + ano;

}

function validacpf(obj){                                 
// valida cpf com formatacao ou sem formatacao

   var i; 

   s = obj; 
   
   if ( s.length > 0 ) {
   
      if ( s.length == 14 ) {
     
         var c = s.substr(0,3) + s.substr(4,3) + s.substr(8,3);      
         var dv = s.substr(12,2);      
         var d1 = 0; 
         
      } else {
      
         var c = s.substr(0,3) + s.substr(3,3) + s.substr(6,3);      
         var dv = s.substr(9,2);      
         var d1 = 0;    
      }
   
        
      for (i = 0; i < 9; i++) 
        
      { 
        
      d1 += c.charAt(i)*(10-i); 
        
      } 
        
      if (d1 == 0){ 
        
         alert("CPF Invalido") ;
         obj.focus();  
         obj.select();
         return false; 
        
      } 
        
      d1 = 11 - (d1 % 11); 
        
      if (d1 > 9) d1 = 0; 
        
         if (dv.charAt(0) != d1) 
        
         { 
        
            alert("CPF Invalido") ;
            obj.focus(); 
            obj.select();
            return false; 
        
      } 
        
        
      d1 *= 2; 
        
      for (i = 0; i < 9; i++) 
        
      { 
        
         d1 += c.charAt(i)*(11-i); 
        
      } 
        
      d1 = 11 - (d1 % 11); 
        
      if (d1 > 9) d1 = 0; 
        
         if (dv.charAt(1) != d1) 
        
         { 
        
            alert("CPF Invalido"); 
            obj.focus();   
            obj.select();
            return false; 
      
          }  
   }
   
   return true; 
}

function validacnpj(obj) {
                CNPJ = obj;
                erro = new String;
                if (CNPJ.length < 18) erro += "É necessario preencher corretamente o número do CNPJ! \n\n"; 
                if ((CNPJ.charAt(2) != ".") || (CNPJ.charAt(6) != ".") || (CNPJ.charAt(10) != "/") || (CNPJ.charAt(15) != "-")){
                if (erro.length == 0) erro += "É necessário preencher corretamente o número do CNPJ! \n\n";
                }
                //substituir os caracteres que não são números
               if(document.layers && parseInt(navigator.appVersion) == 4){
                       x = CNPJ.substring(0,2);
                       x += CNPJ. substring (3,6);
                       x += CNPJ. substring (7,10);
                       x += CNPJ. substring (11,15);
                       x += CNPJ. substring (16,18);
                       CNPJ = x; 
               } else {
                       CNPJ = CNPJ.replace (".","");
                       CNPJ = CNPJ.replace (".","");
                       CNPJ = CNPJ.replace ("-","");
                       CNPJ = CNPJ.replace ("/","");
               }
               var nonNumbers = /\D/;
               if (nonNumbers.test(CNPJ)) erro += "A verificação de CNPJ suporta apenas números! \n\n"; 
               var a = [];
               var b = new Number;
               var c = [6,5,4,3,2,9,8,7,6,5,4,3,2];
               for (i=0; i<12; i++){
                       a[i] = CNPJ.charAt(i);
                       b += a[i] * c[i+1];
               }
               if ((x = b % 11) < 2) { a[12] = 0 } else { a[12] = 11-x }
               b = 0;
               for (y=0; y<13; y++) {
                       b += (a[y] * c[y]); 
               }
               if ((x = b % 11) < 2) { a[13] = 0; } else { a[13] = 11-x; }
               if ((CNPJ.charAt(12) != a[12]) || (CNPJ.charAt(13) != a[13])){
                       erro +="Dígito verificador com problema!";
               }
               if (erro.length > 0){
                       alert(erro);
                       return false;
               }
               return true;
       }





//******************************************************
function formatacpf(obj) {
// formata cpf
// formato 222.222.222-22

   var simbolos = "`~!@#$%^&*()_-+=\|]}[{;:',<.>/? abcdefghijklmnopqrstuvxzwyABCDEFGHIJKLMNOPQRSTUVXZWY";
   var s = obj.value;
   var n = s.length;

   var dig = s.substr(n-1,1);

   if ( simbolos.indexOf(dig) > 0 ) {
      obj.value = s.substr(0,n-1);
      alert('Favor digite apenas números!');
      return; 
   }

   if ( s.length > 14 ) {
      obj.value = s.substr(0,14);
      return;	
   }

   switch (obj.value.length) {
      case 3:
          obj.value = obj.value + ".";
          break;
      case 7:
          obj.value = obj.value + ".";
          break;
      case 11:
          obj.value = obj.value + "-";
          break;
      case 14:
          obj.focus();
          break;
   }
}


//******************************************************
function formatacnpj(obj) {
// formata cnpj
// formato 999.999.999/9999-99
           

   var simbolos = "`~!@#$%^&*()_-+=\|]}[{;:',<.>/? abcdefghijklmnopqrstuvxzwyABCDEFGHIJKLMNOPQRSTUVXZWY";
   var s = obj.value;
   var n = s.length;

   var dig = s.substr(n-1,1);

   if ( simbolos.indexOf(dig) > 0 ) {
      alert('Favor digite apenas números!');
      obj.value = s.substr(0,n-1);      
      return; 
   }

   if ( s.length > 18 ) {
      obj.value = s.substr(0,18);
      return;	
   }
   
   switch (obj.value.length) {
      case 2:
          obj.value = obj.value + ".";
          break;
      case 6:
          obj.value = obj.value + ".";
          break;
      case 10:
          obj.value = obj.value + "/";
          break;
      case 15:
          obj.value = obj.value + "-";
          break;
      case 18:
          obj.focus();
          break;
   }
}


//**************************************************************
function formatadata(obj) {
// formata data
// formato 22/22/2222

var simbolos = "`~!@#$%^&*()_-+=\|]}[{;:',<.>/? abcdefghijklmnopqrstuvxzwyABCDEFGHIJKLMNOPQRSTUVXZWY";
var s = obj.value;
var n = s.length;

var dig = s.substr(n-1,1);

if ( simbolos.indexOf(dig) > 0 ) {
   alert('Favor digite apenas números!');
   obj.value = s.substr(0,n-1);
   return;
}

if ( s.length > 9 ) {
   obj.value = s.substr(0,9);
   return;	
}

switch (obj.value.length) {
    case 2:
        obj.value = obj.value + "/";
        break;
    case 5:
        obj.value = obj.value + "/";
        break;
    case 10:
        obj.select();
        obj.focus();
        break;
}
}

//***************************************


function sonum(obj) {
var simbolos = "`~!@#$%^&*()_-+=\|]}[{;:',<.>/? abcdefghijklmnopqrstuvxzwyABCDEFGHIJKLMNOPQRSTUVXZWY";
var s = obj.value;
var n = s.length;

var dig = s.substr(n-1,1);

if ( simbolos.indexOf(dig) > 0 ) {      
   alert('Favor digite apenas números!');
   obj.value = s.substr(0,n-1);
   return;
}

return true;

}


//***************************************************
function formatafone(obj) {
	// formata telefone
	// formato (67) 3324-2849
	
	var simbolos = "`~!@#$%^&*()_-+=\|]}[{;:',<.>/? abcdefghijklmnopqrstuvxzwyABCDEFGHIJKLMNOPQRSTUVXZWY";
	var s = obj.value;
	var n = s.length;
	
	var dig = s.substr(n-1,1);
	
	if ( simbolos.indexOf(dig) > 0 ) {      
	   alert('Favor digite apenas números!');
	   obj.value = s.substr(0,n-1);
	   return;
	}
	if ( s.length > 15 ) {
	   obj.value = s.substr(0,15);
	   return;
	}
	switch (n) {
	    case 1:
	        obj.value =  "(" + obj.value;	
	         break;
	    case 3:
	        obj.value = obj.value + ") ";
	         break;
	    case 9:
	        obj.value = obj.value + "-";
	         break;
	    case 14:
	        obj.focus();
	        break;
	}
}

//************************************************************
function formatacep(obj) {
// formata cep
// formato 79002-100

var simbolos = "`~!@#$%^&*()_-+=\|]}[{;:',<.>/? abcdefghijklmnopqrstuvxzwyABCDEFGHIJKLMNOPQRSTUVXZWY";
var s = obj.value;
var n = s.length;

var dig = s.substr(n-1,1);

if ( simbolos.indexOf(dig) > 0 ) {
   alert('Favor digite apenas números!');
   obj.value = s.substr(0,n-1);
   return;
}

if ( s.length > 9 ) {
   obj.value = s.substr(0,9);
   return;	
}

switch (obj.value.length) {
    case 5:
        obj.value = obj.value + "-";
        break;
    case 9:
        obj.focus();
        break;
}
}
