	function validaGeral(validacaoCampos)
	{
		var msgErro = ''; // Variavel de retorno de erro.

		for (var i = 0 ; i < validacaoCampos.length; i++)
		{
			
			if (validacaoCampos[i]['campo'] != '' && validacaoCampos[i]['campo'] != 'undefined')
			{
				//------------------------------------------------------------------------------
				// Verifica se o objeto informado para a validação é um objeto
				//------------------------------------------------------------------------------
				
									

				if ( document.getElementById(validacaoCampos[i]['campo']) == null )
				{	
					alert('Objeto "'+validacaoCampos[i]['campo']+'" indefinido.');
					return false;
				}


				//------------------------------------------------------------------------------
				// Verificando se o campo não esta vazio
				//------------------------------------------------------------------------------
				if ( document.getElementById(validacaoCampos[i]['campo']).value == '')	
				{
					
					// Verifica se existe mensagem de retorno
					if (validacaoCampos[i]['nome'] != '')
						msgErro = validacaoCampos[i]['nome'];
					else
						msgErro = 'Preenchimento do campo é obrigatório.';
				}
					
				
				//------------------------------------------------------------------------------
				// Validando tamanho Máximo do campo
				//------------------------------------------------------------------------------
				if (!msgErro)//verificando se ja retornou algum erro
				{
					if (validacaoCampos[i]['maximo'] > 0)// Verifica se vai validar o tamanho
						if (document.getElementById(validacaoCampos[i]['campo']).value.length > validacaoCampos[i]['maximo'] )
							if (validacaoCampos[i]['nome'] != '')
								msgErro = 'Preenchimento do campo "'+validacaoCampos[i]['nome']+'" é de no máximo "'+validacaoCampos[i]['maximo']+'" caracteres.';
							else
								msgErro = 'Preenchimento do campo é de no máximo "'+validacaoCampos[i]['maximo']+'" caracteres.';
				}
				
				//------------------------------------------------------------------------------
				// Validando tamanho Mínimo do campo
				//------------------------------------------------------------------------------
				if (!msgErro)//verificando se ja retornou algum erro
				{
					if (validacaoCampos[i]['minimo'] > 0)// Verifica se vai validar o tamanho
						if (document.getElementById(validacaoCampos[i]['campo']).value.length < validacaoCampos[i]['minimo'] )
							if (validacaoCampos[i]['nome'] != '')
								msgErro = 'Preenchimento do campo "'+validacaoCampos[i]['nome']+'" é de no mínimo "'+validacaoCampos[i]['minimo']+'" caracteres.';
							else
								msgErro = 'Preenchimento do campo é de no mínimo "'+validacaoCampos[i]['minimo']+'" caracteres.';
				}
				
				//------------------------------------------------------------------------------
				// Validandoo tipo do campo
				//------------------------------------------------------------------------------
				if (!msgErro)//verificando se ja retornou algum erro
				{
					if (validacaoCampos[i]['tipo'])// Verifica se vai validar o tipo de dados
					{
						eval('msgErro = valida_'+validacaoCampos[i]['tipo']+'(\''+document.getElementById(validacaoCampos[i]['campo']).value+'\');');
					}
				}
				
		
				//------------------------------------------------------------------------------
				// Verifica se gerou erro ou não
				//------------------------------------------------------------------------------
				if (msgErro)
				{
					alert(msgErro);
					document.getElementById(validacaoCampos[i]['campo']).focus();
					return false;
				}
			}
		}
		return true;
	}
	
		
	function valida_email(email)
	{
		if (email.indexOf("@")==-1 || email.indexOf(".")==-1)
		return "Preencha corretamente o campo E-mail!";
	}
	
	 function valida_cpf(cpf)
	 {
	  var ponto, traco;
	  var POSICAO, I, SOMA, DV, DV_INFORMADO;
	  var DIGITO = new Array(10);
	
	  //CPF não pode ser vazio----------------------------
	  if(cpf.length != 11)
	  {
	   return 'Cpf informado inválido.';
	  }
	  //-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
	
	  //CPF não pode ser 11 números iguais----------------
	  if(cpf == "00000000000" || cpf == "11111111111" || cpf == "22222222222" || cpf == "33333333333" || cpf == "44444444444" || cpf == "55555555555" || cpf == "66666666666" || cpf == "77777777777" || cpf == "88888888888" || cpf == "99999999999")
	  {
	   return 'Cpf informado inválido.';
	  }
	  //-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
	  
	  //CPF não pode conter pontos ou traços--------------
	  if((cpf.indexOf(".") != -1) || (cpf.indexOf("-") != -1)) return true;
	  //-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
	
	  DV_INFORMADO = cpf.substr(9, 2);
	
	  for(I = 0; I <= 8; I++)
	  {
	   DIGITO[I] = cpf.substr(I, 1);
	  }
	  
	  POSICAO = 10;
	  SOMA = 0;
	  for(I = 0; I <= 8; I++)
	  {
	   SOMA = SOMA + DIGITO[I] * POSICAO;
	   POSICAO = POSICAO - 1;
	  }
	  DIGITO[9] = SOMA % 11;
	  if(DIGITO[9] < 2)
	  {
	   DIGITO[9] = 0;
	  }
	  else
	  {
	   DIGITO[9] = 11 - DIGITO[9];
	  }
	  
	  POSICAO = 11;
	  SOMA = 0;
	  for(I = 0; I <= 9; I++)
	  {
	   SOMA = SOMA + DIGITO[I] * POSICAO;
	   POSICAO = POSICAO - 1;
	  }
	  DIGITO[10] = SOMA % 11;
	  if(DIGITO[10] < 2)
	  {
	   DIGITO[10] = 0;
	  }
	  else
	  {
	   DIGITO[10] = 11 - DIGITO[10];
	  }
	  
	  DV = DIGITO[9] * 10 + DIGITO[10];
	  if(DV != DV_INFORMADO)
	  {    
	   return 'Cpf informado inválido.';
	  }
	  
	  return false;
	 }
	 
	 function valida_numero(data)
	 {
	  var reNumero = /^\d+$/;
	
	  if(reNumero.test(data)) return false;
	  else return 'Campo aceita somente números.';
	 }
	 
	 function valida_data(data)
	 {
	  var reDate = /^((0?[1-9]|[12]\d)\/(0?[1-9]|1[0-2])|30\/(0?[13-9]|1[0-2])|31\/(0?[13578]|1[02]))\/(19|20)\d{2}$/;
	
	  if(reDate.test(data))
	  {
	   return false;
	  }
	  else
	  {
	   return 'Data informada inválida.';
	  }
	 }
	
	

