// form validation

function isEmailAddr(email)
  {
    var result = false;
    var theStr = new String(email);
    var index = theStr.indexOf("@");
    if (index > 0)
    {
      var pindex = theStr.indexOf(".",index);
      if ((pindex > index+1) && (theStr.length > pindex+1))
    result = true;
    }
    return result;
  }

  function validRequired(formField,fieldLabel)
  {
    var result = true;

    if (formField.value == "")
    {
      alert('Please enter a value for the "' + fieldLabel +'" field.');
      formField.focus();
      result = false;
    }

    return result;
  }

  function validEmail(formField,fieldLabel,required)
  {
    var result = true;

    if (required && !validRequired(formField,fieldLabel))
      result = false;

    if (result && ((formField.value.length < 3) || !isEmailAddr(formField.value)) )
    {
      alert("Please enter a complete email address in the form: yourname@yourdomain.com");
      formField.focus();
      result = false;
    }

    return result;

  }


  function validNum(formField,fieldLabel,required)
  {
    var result = true;

    if (required && !validRequired(formField,fieldLabel))
      result = false;

     if (result)
     {
       var num = parseInt(formField.value,10);
       if (isNaN(num))
       {
         alert('Please enter a number for the "' + fieldLabel +'" field.');
        formField.focus();
        result = false;
      }
    }

    return result;
  }

  function validDate(formField,fieldLabel,required)
  {
    var result = true;

    if (required && !validRequired(formField,fieldLabel))
      result = false;

     if (result)
     {
       var elems = formField.value.split("/");

       result = (elems.length == 3); // should be three components

       if (result)
       {
         var month = parseInt(elems[0],10);
          var day = parseInt(elems[1],10);
         var year = parseInt(elems[2],10);
        result = !isNaN(month) && (month > 0) && (month < 13) &&
              !isNaN(day) && (day > 0) && (day < 32) &&
              !isNaN(year) && (elems[2].length == 4);
       }

        if (!result)
       {
         alert('Please enter a date in the format MM/DD/YYYY for the "' + fieldLabel +'" field.');
        formField.focus();
      }
    }

    return result;
  }

  function validateForm(theForm)
  {
    // Customize these calls for your form

    // Start ------->
    if (!validRequired(theForm.name,"Name"))
      return false;

	   if (!validRequired(theForm.company,"Company"))
	        return false;

	 if (!validRequired(theForm.street,"Street"))
      return false;

	   if (!validRequired(theForm.city,"City"))
	        return false;
 		if (!validRequired(theForm.state,"State"))
      return false;
		 if (!validRequired(theForm.zip,"Zip"))
      return false;


    if (!validEmail(theForm.email,"Email Address",true))
      return false;

   // if (!validDate(theForm.date,"Date",true))
    //  return false;

    if (!validNum(theForm.phone,"Phone",true))
      return false;
	   if (!validRequired(theForm.product,"Product/process"))
	        return false;
 	if (!validRequired(theForm.technology,"NASA technology or assistance utilized"))
      return false;

 	if (!validRequired(theForm.antispam,"antispam"))
      return false;


    // <--------- End

    return true;
  }
