// Checagem de emails
function checkEmailAddress(field) {

// Note: The next expression must be all on one line...
//       allow no spaces, linefeeds, or carriage returns!
var goodEmail = field.value.match(/\b(^(\S+@).+((\.com)|(\.net)|(\.edu)|(\.mil)|(\.gov)|(\.org)|(\..{2,2}))$)\b/gi);

if (goodEmail){
   enviaNews();
} else {
   alert('Porfavor entre com um endereço de email válido.')
   field.focus()
   field.select()
   good = false
   }
}

function validaNews(form) {
	if (form.nome.value == '') {
		alert('O Campo Nome precisa ser preenchido.');
		return false;
	} 
	
	if (form.datanas.value == '') {
		alert('O Campo Nascimento precisa ser preenchido.');
		return false;
	}
	
	/*var regex = new RegExp(/^\d{2}\/\d{2}\/\d{4}$/);
	if (!regex.test(form.datanas.value)) {
		alert('O Formato do Nascimento está inválido!');
		return false;
	}*/
	
	if (!isDate(form.datanas.value))
	{
		return false;
	}
	
	anoNas = form.datanas.value.substr(6,4);
	data = new Date();
	anoAtual = data.getYear();
	if (anoNas >= anoAtual) {
		alert('O ano de nascimento não pode ser igual ou maior que o ano atual.');
		return false;
	}
	
	return true;
}

/****************************************************
* Descricao: Verifica se os carateres da data 		*
* informada são validos 							*
* Funcao inserida por: Greice Mesquita				*
* Data: 10/07/2003									*
* Parâmetros: 										*
* 	str = data					  					*
* Retorno:											*	
* 	 true = datas válidas							*
* 	 false = datas inválidas						*
*****************************************************/	
function isDate(str) 
{
	var data = str;

	//*** Verifica se a data possui o número de caracteres desejado ***

	if ((data.length < 10) || (data.length > 10))
    { alert("A data deve ser digitada com 10 caracteres no formato: DD/MM/YYYY.");
	  return (false);
	}
	
	//*** Verifica se o separador de data é "/" ****

	for (j=0; j < data.length; j++) 
  	{
    	if ((j == 2) || (j == 5)) 
	 	{
      		if (data.charAt(j) != "/") 
			{ 
				alert("A data deve ser digitada no formato: DD/MM/YYYY.");
				return (false);
		 	}
     	} 
	  
	  	//*** Verifica se os dados são numéricos ***
	 	else 
		{
			if ((data.charAt(j) < "0") || (data.charAt(j) > "9")) 
			{ 
				alert("Data inválida. Esse campo só aceita números e o caracter '/'.");
				return (false);
			}
		}
	}
  
	//*** Separa as substrings da data em dia,mes e ano ***
    var dia = data.charAt(0) == "0"?parseInt(data.substring(1,2)):parseInt(data.substring(0,2));	
    var mes = data.charAt(3) == "0"?parseInt(data.substring(4,5)):parseInt(data.substring(3,5));
    var begin = data.charAt(6) == "0"?(data.charAt(7) == "0"?(data.charAt(8) == "0" ? 9 : 8) : 7) : 6;
    var ano = parseInt(data.substring(begin, 10));

	//*** Testa a validade das substrings dia,mes,ano ***

  	if (dia == 0) 
   	{ 
		alert("Dia inválido.")
		return false 
   	}
  
  	if (mes == 0 || mes > 12) 
  	{ 
		alert("Mes inválido.") 
		return false 
  	}
  
  	if (mes == 1 || mes == 3 || mes == 5 || mes == 7 || mes == 8 || mes == 10 || mes == 12) 
	{
    	if (dia > 31) 
		{
	  		alert("Dia inválido. O dia não pode ser maior que 31") 
	  		return false 
	 	}
   	} 
   	else 
	{
		if (mes == 4 || mes == 6 || mes == 9 || mes == 11) 
		{
			if (dia > 30) 
			{
				alert("Dia inválido. Esse mês possui apenas 30 dias")
				return false 
			}
		} 
		else 
		{
			if (ano % 4 != 0 && ano % 100 == 0 || ano % 400 != 0) 
			{
				if (dia > 28) 
				{ 
					alert("Dia inválido. O dia não pode ser maior que 28.")
					return false 
				}
			} 
			else 
			{
				if (dia > 29) 
				{ 
					alert("Dia inválido. O dia não pode ser maior que 29.")
					return false 
				}
			}
		}
	}
  return true;
}
