function validadata(data)
{
	var v_dia, v_mes, v_ano, v_data;
	var mascara = '##/##/####'
	
	for (var i=0;i<data.value.length;i++)
	{
		a = data.value.substring(i,i+1)
		if (mascara.substring(i,i+1) == '#' && (a<"0" || a>"9") && a !=" " )
		{
			alert('Data inválida');
			data.focus();
			return false;
		}
	}
			
	v_data = data.value
			
	v_dia = v_data.substring(0,2);
	v_mes = v_data.substring(3,5);
	v_ano = v_data.substring(6,10);
			
	if ((v_ano < 1900) && (v_ano.length != 0))
	{
		alert('Ano inválido');
		data.focus();
		return false;
	}

	if (v_dia > 31)
	{
		alert('Dia inválido');
		data.focus();
		return false;
	}
			
	if (v_mes > 12)
	{
		alert('Męs inválido');
		data.focus();
		return false;
	}
			
	if (v_dia == "31") 
	{
		if ((v_mes == "04") || (v_mes == "06") || (v_mes == "09") || (v_mes == "11"))
		{
		   alert('Dia inválido');
			data.focus();
			return false;
		}
	}
		
	if (v_mes == "02")
	{
		if (!(v_ano%4)) 
		{
			if (v_dia > 29)
			{
			   alert('Dia inválido');
				data.focus();
				return false;
			}
		}
		else if (v_dia > 28)
		{
		   alert('Dia inválido');
			data.focus();
		   return false;
		}
	}
			
	//o -if- abaixo testa se algum campo foi preenchido e outro deixado em branco deixando a data incompleta

	if (((v_dia != "") || (v_mes != "") || (v_ano != "")) && ((v_dia == "") || (v_mes == "") || (v_ano == "")))
	{
		alert('Data inválida');
		data.focus();
		return false;
	}
			
	return true;
}
