function ValidateRequired(lElement,lErrorMsg)
{
  lRetval = true;
  lValue = lElement.value;
  if ((lValue == null) || (typeof(lValue) == "undefined") || (lValue == ""))
    {
	  lElement.focus();
      alert(lErrorMsg);
	  lRetval = false;
	}
  return lRetval;
}

function ValidateEMail(lForm)
{
  lElement = lForm.elements["email"];
  lRetval = ValidateRequired(lElement,'Please enter your e-mail address');
  if (lRetval)
    {
      lValue = lElement.value;
	  lFilter = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/;
  	  if (! lFilter.test(lValue))
	    {
	      lElement.focus();
          alert('The e-mail address you entered is not valid.  Please enter a valid e-mail address.');
	      lRetval = false;
		}
	}
  return lRetval;
}

function ValidateSurvey(lForm)
{
  lRetval = true;
  lFirstBad = null;
  for (ldex=0;ldex<lForm.elements["questioncount"].value;ldex++)
    {
	  lElement = lForm.elements["q"+ldex];
	  if (lElement != null)
	    {
          lRetval = lRetval && (lElement.value != "");
	      if ((!lRetval) && (lFirstBad == null))
		    lFirstBad = lElement;
		}
	}
  if (lFirstBad != null)
    lFirstBad.focus();
  if (! lRetval)
    alert('Please make a selection from each drop-down list');
  return lRetval;
}

function Validate()
{
  lForm = document.forms["survey"];
  lRetval = ValidateRequired(lForm.elements["firstname"],'Please enter your first name');
  if (lRetval)
    lRetval = ValidateRequired(lForm.elements["lastname"],'Please enter your last name');
  if (lRetval)
    lRetval = ValidateEMail(lForm);
  if (lRetval)
    lRetval = ValidateRequired(lForm.elements["contestcode"],'Please enter a contest code.  If you do not have a WinCard number or a Contest Code from one of our advertisements, use code: WEB04');
  if (lRetval)
    lRetval = ValidateSurvey(lForm);
  return lRetval;
}
