function validaData(obj) {
  var monthDays = "101010110101";
  var strData   = "";
  var strDia    = "";
  var strMes    = "";
  var strAno    = "";
  var strMesFlg = "0";

  var intDia    = 0;
  var intMes    = 0;

  strData = obj.value;

  if (strData.length == 0)
    return false;

  if (strData.length != 10) {
    alert("A data deve estar no formato dd/mm/aaaa.");
    obj.value = "";
    obj.focus();
    return false;
  }

  strDia = strData.substring(0, 02);
  strMes = strData.substring(3, 05);
  strAno = strData.substring(6, 10);

  if (isNaN(parseInt(strDia)) || isNaN(parseInt(strMes)) || isNaN(parseInt(strAno)) ) {
    alert("Dia, Męs e Ano devem ser numéricos.");
    obj.focus();
    return false;
  }

  intDia = parseInt(strDia);
  intMes = parseInt(strMes);

  if (intDia < 0 || intDia > 31) {
    alert("Dia do męs deve estar entre 1 e 31.");
    obj.focus();
    return false;
  }

  if (intMes < 1 || intMes > 12) {
    alert("Męs deve estar entre 1 e 12.");
    obj.focus();
    return false;
  }

  if (intMes == 2 && intDia > 28) {
    alert("Fevereiro possui até 28 dias.");
    obj.focus();
    return false;
  }

  strMesFlg = parseInt(monthDays.substring(intMes - 1, intMes));

  if ((strMesFlg == "0") && (intDia > 30)) {
    alert("Męs possui somente 30 dias.");
    obj.focus();
    return false;
  }

  return true;
}