<!--

function LTrim(str) 
{ 
 for (var i=0; i < str.length && str.charAt(i) <= " "; i++);
 return str.substring(i,str.length);
}

function RTrim(str) 
{
 for (var i= str.length-1; i >= 0 && str.charAt(i) <= " "; i--);
 return str.substring(0,i+1);
}

function Trim(str) 
{
 return LTrim(RTrim(str));
}


function getAge(dob)
{
  var age        = 0;
  var dobDate    = new Date(dob);
  var dobMonth   = dobDate.getMonth() + 1;
  var dobDay     = dobDate.getDate();
  var dobYear    = dobDate.getFullYear();
  var today      = new Date();
  var todayMonth = today.getMonth() + 1;
  var todayDay   = today.getDate();
  var todayYear  = today.getFullYear();

  if (dobMonth > todayMonth)
  {
    return ((todayYear - dobYear) - 1);
  }  
  else if (dobMonth < todayMonth)
  {
    return (todayYear - dobYear);
  }
  else if (dobMonth == todayMonth)
  {
    if (dobDay > todayDay)
    {
      return ((todayYear - dobYear) - 1);
    }
    else
    {
      return (todayYear - dobYear);
    }
  }
}


function isValid(input, fieldType)
{
  switch(fieldType)
  {
    case "requiredField":
      if(input == "" | input.length < 1)
      {
        return false;
      }
      else
      {
        return true;
      }

      break;
    case "requiredInteger":
      if(input == "" | input.length < 1 | isNaN(input) == true)
      {
        return false;
      }
      else
      {
        return true;
      }

      break;
    case "firstName":
      if(input == "" | input.length < 1)
      {
        return false;
      }
      else
      {
        return true;
      }

      break;
    case "lastName":
      if(input == "" | input.length < 1)
      {
        return false;
      }
      else
      {
        return true;
      }

      break;
    case "address1":
      if(input == "" | input.length < 6 | isNaN(input) == false)
      {
        return false;
      }
      else
      {
        return true;
      }

      break;
    case "city":
      if(input == "" | input.length < 3 | isNaN(input) == false)
      {
        return false;
      }
      else
      {
        return true;
      }

      break;
    case "state":
      if(input == "")
      {
        return false;
      }
      else
      {
        return true;
      }

      break;
    case "zip":
      if(input == "" | input.length != 5 | isNaN(input) == true)
      {
        return false;
      }
      else
      {
        return true;
      }

      break;
    case "requiredPhone":
      if(input == "" | input.length != 10 | isNaN(input) == true)
      {
        return false;
      }
      else
      {
        return true;
      }

      break;
    case "optionalPhone":
      if(input != "")
      {
        if(input == "" | input.length != 10 | isNaN(input) == true)
        {
          return false;
        }
        else
        {
          return true;
        }
      }
      else
      {
        return true;
      }

      break;
    case "email":
      if(/^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,3})+$/.test(input))
      {
        return true;
      }
      else
      {
        return false;
      }

      break;
    case "dob":
      if(input == "" | input.length != 10)
      {
        return false;
      }
      else
      {
        return true;
      }

      break;
    case "heightFeet":
      if(input == "" | input.length != 1 | isNaN(input) == true | input < 2 | input > 7)
      {      
        return false;
      }
      else
      {
        return true;
      }

      break;
    case "heightInches":
      if(input == "" | isNaN(input) == true | input < 0 | input > 11)
      {
        return false;
      }
      else
      {
        return true;
      }

      break;
    case "weight":
      if(input == "" | input.length < 2 | isNaN(input) == true | input < 70 | input > 999)
      {
        return false;
      }
      else
      {
        return true;
      }

      break;
  }
}


function displayMedicareDisclaimer()
{
  var dob        = "";

  dob = Trim(document.getElementById("dobMonth").value) + "/" 
      + Trim(document.getElementById("dobDay").value) + "/"
      + Trim(document.getElementById("dobYear").value);

  if(isValid(dob, "dob"))
  {
    var age = getAge(dob);

    if (age >= 64)
    {
      document.getElementById("medicareDisclaimer").innerHTML = document.getElementById("medicareDisclaimerLabel").innerHTML;
    }
    else
    {
      document.getElementById("medicareDisclaimer").innerHTML = "";
    }
  }
}

// -->