function submitForm()
{
  var form = document.myForm;

  var emailAtPos = document.getElementById("email").value.indexOf("@");
  var emailDotPos = -1;
  if (emailAtPos > -1)
  {
    emailDotPos = document.getElementById("email").value.indexOf(".", emailAtPos + 1);
  }
  var emailSpacePos = document.getElementById("email").value.indexOf(" ");
  var emailLength = document.getElementById("email").value.length;

  if (
    (emailAtPos == -1) ||
    (emailAtPos == 0) ||
    (emailDotPos == -1) ||
    (emailDotPos == emailLength - 1) ||
    (emailDotPos < 2 + emailAtPos) ||
    (emailSpacePos != -1)
    )
  {
    alert("Please enter a valid email address.");
    return;
  }

  var properPhone = "";
  for (var idx = 0; idx < document.getElementById("phone").value.length; ++idx)
  {
    var ch = document.getElementById("phone").value.substring(idx, idx + 1);
    if (
      (ch != "+") &&
      (ch != "-") &&
      (ch != "(") &&
      (ch != ")") &&
      (ch != " ") &&
      ((ch < "0") || (ch > "9"))
      )
    {
      alert("Please enter a valid phone number.");
      return;
    }
    else if ((ch >= "0") && (ch <= "9"))
    {
      properPhone = properPhone + ch;
    }
  }
  if (properPhone.length < 10)
  {
    alert("Please enter a ten digit phone number.");
    return;
  }
  document.getElementById("phone").value = properPhone;

  var source = document.getElementById("source").value;
  if (source == "select")
  {
    alert("Please let us know how you found our site.");
    return;
  }

  var xmlHttp;
  try
  {
    // Firefox, Opera 8.0+, Safari
    xmlHttp=new XMLHttpRequest();
  }
  catch (e)
  {
    // Internet Explorer
    try
    {
      xmlHttp=new ActiveXObject("Msxml2.XMLHTTP");
    }
    catch (e)
    {
      try
      {
        xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
      }
      catch (e)
      {
        alert("Your browser does not support AJAX! Please mail info@jpollackphoto.com with your contact information.");
        return false;
      }
    }
  }
  xmlHttp.onreadystatechange=function()
  {
    if(xmlHttp.readyState==4)
    {
      form.innerHTML=xmlHttp.responseText;
    }
  }

  var query = "";
  for (var idx = 0; idx < form.length; ++idx)
  {
    query = query + "&" + form.elements[idx].name + "=" + escape(encodeURI(form.elements[idx].value));
  }

  xmlHttp.open("POST", "contact.php", true);
  xmlHttp.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
  xmlHttp.setRequestHeader("Content-length", query.length);
  xmlHttp.setRequestHeader("Connection", "close");
  xmlHttp.send(query);
}
