function CheckNumeric() {
   // Get ASCII value of key that user pressed
   var key = window.event.keyCode;

   // Was key that was pressed a numeric character (0-9)?
   if ( key > 47 && key < 58 )
      return; // if so, do nothing
   else
      window.event.returnValue = null; // otherwise, 
	                               // discard character
}

function valida_combo(objeto, msg) {
	if (objeto.selectedIndex==0) {
		alert(msg);
		objeto.focus();
		return(false);
	}
	return(true);	
}

function valida_cep (objeto, msg) { 
	objeto = limpa_string(objeto);
	if (objeto.length < 8) {
		alert(msg);
		return false; 
   }
   return true;
}

function valida_data (objeto, msg) { 

   objeto.value = limpa_string(objeto.value);
   dia = (objeto.value.substring(0,2)); 
   mes = (objeto.value.substring(2,4)); 
   ano = (objeto.value.substring(4,8)); 

   situacao = true; 
   // verifica o dia valido para cada mes 
   if ((dia < 01)||(dia < 01 || dia > 30) && (  mes == 04 || mes == 06 || mes == 09 || mes == 11 ) || dia > 31) { 
      situacao = false; 
   } 

   // verifica se o mes e valido 
   if (mes < 01 || mes > 12 ) { 
      situacao = false; 
   } 

   // verifica se e ano bissexto 
   if (mes == 2 && ( dia < 01 || dia > 29 || ( dia > 28 && (parseInt(ano / 4) != ano / 4)))) { 
      situacao = false; 
   } 
    
   if (objeto.value == "") { 
      situacao = false; 
   } 
    
   if (situacao == false) { 
      alert(msg); 
   } 
   return situacao;
} 

function valida_email(objeto,Msg) {
   var EmailOk  = true;
   var Temp1 = objeto.value;
   if (Temp1.length != 0) {

      var Temp     = objeto;
      var AtSym    = Temp.value.indexOf('@');
      var PontoPonto    = Temp.value.indexOf('..');
      var Period   = Temp.value.lastIndexOf('.');
      var Space    = Temp.value.indexOf(' ');
      var Length   = Temp.value.length - 1 ;

      if ((AtSym < 1) || (PontoPonto >=1) || (Period <= AtSym+1) || (Period == Length ) || (Space  != -1)) {
         EmailOk = false;
         alert(Msg);
         Temp.focus();
      }
      return EmailOk

   } else {
      EmailOK = true;
      return EmailOk;
   }
	
}

function trim(objeto,trinca) {
   var semIni=true;
   var semFim=true;
   var retorno = objeto.value;
   if (objeto.value.length > 0 ) {
      while ((semIni) || (semFim)) {
         if (retorno.charAt(0)==' ') {
            retorno= retorno.substring(1,retorno.length);
         } else {
            semIni=false;
         }
         if (retorno.charAt(retorno.length-1)== ' ') {
            retorno= retorno.substring(0,retorno.length-1);
         } else {
            semFim=false;
         }	
      }
   }
   if (trinca) {
      objeto.value=retorno;
   }  
   return(retorno);
}

function valida_nulo(objeto,msg) {
	if (trim(objeto, false)=='') {
		objeto.focus();
		alert(msg);
		return(false);           			
	}
	return(true);
}

function valida_numero(objeto,msg) {
   var contador=0;
   var total=objeto.value.length;
   var bNumero=true;
   if (contador!=-1) {
   	while ((contador<total) && (bNumero)) {
   		if (isNaN(objeto.value.charAt(contador))) {
			   bNumero=false;
			   alert(msg);
			   objeto.focus();
			   return(false);  
			}
		   contador=contador+1;
		}
	}
	return(true);
}

function valida_radio(objeto,total,msg) {
   var bSelecionado=false;
   for(i=0; i<total;i++) { 
	   if (objeto[i].checked) { 
		   bSelecionado=true;
		   break;    
	   }
	}
   if (!bSelecionado) {
	   alert(msg);
	   objeto[0].focus();
	   return(false);	
	}
   return(true);	
}

function limpa_string(S){
	// Deixa so' os digitos no numero
	var Digitos = "0123456789";
	var temp = "";
	var digito = "";

	for (var i=0; i<S.length; i++)	{
		digito = S.charAt(i);
		if (Digitos.indexOf(digito)>=0)	{
			temp=temp+digito	
      }
	} //for

	return temp
}

function valida_cnpjcpf(objeto, msg){

	if (objeto.value.length == 0) {
		alert(msg);
		return false;	
   }
		
	s = limpa_string(objeto.value);
	
	// checa se é cpf	
	if (s.length == 11) {
		if (valida_CPF(objeto.value) == false ) {
			alert(msg);
			return false;	
      }
   } else if (s.length == 14) { // checa se é cnpj
		if (valida_CGC(objeto.value) == false ) {
			alert(msg);
			return false;	
      }
	} else {
		alert(msg);
		return false;
   }
   return true;

}

function valida_CPF(s)	{
	var i;
	s = limpa_string(s);
	var c = s.substr(0,9);
	var dv = s.substr(9,2);
	var d1 = 0;
	for (i = 0; i < 9; i++) {
		d1 += c.charAt(i)*(10-i);
	}
   if (d1 == 0) return false;
	d1 = 11 - (d1 % 11);
	if (d1 > 9) d1 = 0;
	if (dv.charAt(0) != d1) {
		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) {
		return false;
	}
   return true;
}

function valida_CGC(s) {
	var i;
	s = limpa_string(s);
	var c = s.substr(0,12);
	var dv = s.substr(12,2);
	var d1 = 0;
	for (i = 0; i < 12; i++) {
		d1 += c.charAt(11-i)*(2+(i % 8));
	}
   if (d1 == 0) return false;
   d1 = 11 - (d1 % 11);
	if (d1 > 9) d1 = 0;
	if (dv.charAt(0) != d1) {
		return false;
	}

	d1 *= 2;
	for (i = 0; i < 12; i++) {
		d1 += c.charAt(11-i)*(2+((i+1) % 8));
	}
	d1 = 11 - (d1 % 11);
	if (d1 > 9) d1 = 0;
	if (dv.charAt(1) != d1) {
		return false;
	}
	return true;
}


