// validate the query/comment form
function validateEmail(email)
{
    if(email.length <= 0)
	{
	  return true;
	}
    var splitted = email.match("^(.+)@(.+)$");
    if(splitted == null) return false;
    if(splitted[1] != null )
    {
      var regexp_user=/^\"?[\w-_\.]*\"?$/;
      if(splitted[1].match(regexp_user) == null) return false;
    }
    if(splitted[2] != null)
    {
      var regexp_domain=/^[\w-\.]*\.[A-Za-z]{2,4}$/;
      if(splitted[2].match(regexp_domain) == null) 
      {
	    var regexp_ip =/^\[\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}\]$/;
	    if(splitted[2].match(regexp_ip) == null) return false;
      }// if
      return true;
    }
return false;
}

function validate_required(field,alerttxt)
{
	with (field)
	{
		if (value==null||value=="")
		  {alert(alerttxt);return false}
		else {return true}
	}
}

function validate_numeric(field,alerttxt)
{
	var notanum = false;
	
	with (field)
	{
		var charpos = value.search("[^0-9]"); 
		if(value.length > 0 &&  charpos >= 0) 
		{
			alert(alerttxt);
			return false;
		}
		else 
		{
			return true;
		}
	}
}

function validate_form(thisform)
{
	with (thisform)
	{
		// If an item other than 0 has been chosen
		if (validate_required(sender,"Please enter your name")==false)
		  {
		  sender.focus();
		  return false;
		  }
		if (validate_required(senderemail,"Please enter an email address.")==false)
		  {
		  senderemail.focus();
		  return false;
		  }
		if (validateEmail(senderemail.value) == false)
		  {
		  alert("\nPlease enter a valid email address.");
		  senderemail.focus();
		  return false;
		  }
		if (validate_required(phone,"Please enter a contact telephone number.")==false)
		  {
		  phone.focus();
		  return false;
		  }
		if (contact.selectedIndex <1 )
		  {
		  alert("\nPlease select a type of query");
		  contact.focus();
		  return false;
		  }
		if (validate_required(contacttext,"Please enter your query or comment")==false)
		  {
		  contacttext.focus();
		  return false;
		  }
	}
	
	return true
}
