addLoadListener(init);

function init() {
	if (document.forms[2]) {
		document.forms[2].onsubmit = validateFields;
	} else {
		document.forms[1].onsubmit = validateFields;
	}
	return true;
}

function validateFields() {
  
  var elements = document.forms["contactForm"].elements;
  var phonePattern1 = /^\(\d{3}\) \d{3}-\d{4}$/;
  var emailPattern = /^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*\.(\w{2}|(com|net|org|edu|int|mil|gov|arpa|biz|aero|name|coop|info|pro|museum))$/;
                  
  //var emailPattern = /^[\w\.\-]+@([\w\-]+\.)+[a-zA-Z]+$/;
  var spacePattern = /^\s+$/;

  for (var i = 0; i < elements.length; i++)
  {
    if (/(^| )checkRequired( |$)/.test(elements[i].className) && (elements[i].value == "" || spacePattern.test(elements[i].value)))
    {
      elements[i].focus();
      var thisError = elements[i].getAttribute('error');
      alert(thisError);
      return false;
    }
    
     if (/(^| )checkPhone( |$)/.test(elements[i].className))
    {
		var stripped = (elements[i].value).replace(/[\(\)\.\-\ ]/g, '');
		//strip out acceptable non-numeric characters
		if (isNaN(parseInt(stripped)) || stripped.length != 10) {
			elements[i].focus();
			var thisError = elements[i].getAttribute('error');
			alert(thisError);
			return false;
		}
    }
    
    if (/(^| )checkSelect( |$)/.test(elements[i].className) && (elements[i].selectedIndex == 0))
    {
      elements[i].focus();
      var thisError = elements[i].getAttribute('error');
      alert(thisError);
      return false;
    }
    
     

    if (/(^| )checkEmail( |$)/.test(elements[i].className) && !emailPattern.test(elements[i].value))
    {
      elements[i].focus();
      alert("Please fill in a valid e-mail address.");
      return false;
    }
  }

  var name = elements[0].value;
  var email = elements[1].value;
  var question = elements[2].value;
  
  httpRefresh('/submit.php?name=' + name + '&email=' + email + '&question=' + question,'form_container');
  return false;
}