function validate() {
var df = document.thisForm;
//name empty?
if (df.realname.value == "")
{
alert("You must enter your name");
df.realname.focus();
return false;
}
//email empty?
if (df.email.value == "")
{
alert("You must enter your email address");
df.email.focus();
return false;
}
//email valid?
var email = df.email.value;
var invalidChars = " /:,;"
// does it contain any invalid characters?
for (i=0; i<invalidChars.length; i++) 
{	
var badChar = invalidChars.charAt(i)
if (email.indexOf(badChar,0) > -1) 
{
alert("You must enter a valid email\nwith no invalid characters\n i.e. info@RCIAfallriver.com");
df.email.focus();
return false;
}
}
// there must be one "@" symbol
var atPos = email.indexOf("@",1)			
if (atPos == -1) 
{
alert("You must enter a valid email\nwith at least one '@' symbol\n i.e. info@RCIAfallriver.com");
df.email.focus();
return false;
}
// and only one "@" symbol
if (email.indexOf("@",atPos+1) != -1) 
{
alert("You must enter a valid email\nand only one '@' symbol\n i.e. info@RCIAfallriver.com");
df.email.focus();	
return false;
}
// and at least one "." after the "@"
var periodPos = email.indexOf(".",atPos)
if (periodPos == -1) 
{
alert("You must enter a valid email\nand at least one '.' after the '@'\n i.e. info@RCIAfallriver.com");
df.email.focus();					
return false;
}
// must be at least 2 characters after the "."
if (periodPos+3 > email.length)	
{
alert("You must enter a valid email\nand there must be at least 2 characters after the '.'\n i.e. info@RCIAfallriver.com");
df.email.focus();		
return false;
}

//phone empty?
if (df.phone.value == "")
{
alert("You must enter a phone number");
df.phone.focus();
return false;
}
//best time empty?
if (df.bestContactTime.value == "")
{
alert("You must enter a best time for contact");
df.bestContactTime.focus();
return false;
}
//street address empty?
if (df.street1.value == "")
{
alert("You must enter a street address");
df.street1.focus();
return false;
}
//city empty?
if (df.city.value == "")
{
alert("You must enter a city");
df.city.focus();
return false;
}
//state empty?
if (df.state.options[df.state.selectedIndex].value == "")
{
alert("You must enter a state");
df.state.focus();
return false;
}
//zip empty?
if (df.zip.value == "")
{
alert("You must enter a zip code");
df.zip.focus();
return false;
}
return true;
}
