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 please fill in the "' + fieldLabel +'" field.');
		formField.focus();
		result = false;
	}
	
	return result;
}



function validEmail(formField,fieldLabel,required)
{
	var result = true;
	
	if (formField.value == "")
	{
		result = true;
  return result;
	}

	if (((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 validInt(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 your Phone Number in this format xxx-xxx-xxxx.');
			formField.focus();		
			result = false;
		}
	} 
	
	return result;
}


function contact(formField,fieldLabel,required)
{	
	var result = true;
	if (formField.value == "")
	{
		alert('Please please Enter your Contact Preference.');
		formField.focus();
		result = false;
   return result;
	}
	
	
	if(theForm.Contact_Preference.value == "Phone")
	{
		   result = true;
   return result;
	} 

	if(theForm.Contact_Preference.value == "Fax" && theForm.Fax.value == "") 
	{
		   alert("You have selected Fax as your contact preference please type in your fax number"); 
		   theForm.Fax.focus();	
		   result = false;
   return result;
		   }
	if(theForm.Contact_Preference.value == "mail" && theForm.address.value == "" && theForm.city.value == "" && theForm.state.value == "")
	{
		   alert("You have selected Mail as your contact preference please enter your Address, City and State");
		   theForm.address.focus();
		   result = false;
   return result;
		   }
	if(theForm.Contact_Preference.value == "mail" && theForm.address.value == "" && theForm.city.value == "")
	{
		   alert("You have selected Mail as your contact preference please enter your Address and City");
		   theForm.address.focus();
		   result = false;
   return result;
		   }
	if(theForm.Contact_Preference.value == "mail" && theForm.address.value == "" && theForm.state.value == "")
	{
		   alert("You have selected Mail as your contact preference please enter your Address and State");
		   theForm.address.focus();
		   result = false;
   return result;
		   }
	if(theForm.Contact_Preference.value == "mail" && theForm.address.value == "")
	{
		   alert("You have selected Mail as your contact preference please enter your Address");
		   theForm.address.focus();
		   result = false;
   return result;
		   }
	if(theForm.Contact_Preference.value == "mail" && theForm.city.value == "" && theForm.state.value == "")
	{
		   alert("You have selected Mail as your contact preference please enter your City and State");
		   theForm.city.focus();
		   result = false;
   return result;
		   }
	if(theForm.Contact_Preference.value == "mail" && theForm.city.value == "")
	{
		   alert("You have selected Mail as your contact preference please enter your City");
		   theForm.city.focus();
		   result = false;
   return result;
		   }
	if(theForm.Contact_Preference.value == "mail" && theForm.state.value == "")
	{
		   alert("You have selected Mail as your contact preference please enter your State");
		   theForm.state.focus();
		   result = false;
   return result;
		   }
	if(theForm.Contact_Preference.value == "E-Mail" && theForm.email.value == "")
	{
		   alert("You have selected E-Mail as your contact preference please enter your E-Mail Address");
		   theForm.email.focus();
		   result = false;
   return result;
		   }
   return result;

}

function validateForm(theForm)
{
	// Customize these calls for your form


	if (!validRequired(theForm.Name,"name"))
		return false;

	if (!validEmail(theForm.Email,"email"))
		return false;

	if (!validRequired(theForm.Company,"company"))
		return false;
		
	if (!validInt(theForm.Phone,"Phone Number"))
		return false;
		
	if (!validRequired(theForm.Comments,"comments"))
		return false;

	if (!contact(theForm.Contact_Preference,"Fax"))
		return false;

	
	return true;
}

