function mailinglist ( form )
{
  // ** START **
  if (form.firstname.value == "") {
    alert( "Please fill in the First Name field." );
    form.firstname.focus();
    return false ;
  }
	  if (form.lastname.value == "") {
    alert( "Please fill in the Last Name field." );
    form.lastname.focus();
    return false ;
  }
	 if (form.address.value == "") {
    alert( "Please fill in the Address field." );
    form.address.focus();
    return false ;
  }
	 if (form.city.value == "") {
    alert( "Please fill in the City field." );
    form.city.focus();
    return false ;
  }
	 if (form.state.value == "Pick One") {
    alert( "Please fill in the State field." );
    form.state.focus();
    return false ;
  }
	 if (form.zip.value == "") {
    alert( "Please fill in the Zip field." );
    form.zip.focus();
    return false ;
  }
	 
   var emailFilter=/^.+@.+\..{2,3}$/;
    if (!(emailFilter.test(form.email.value))) { 
      alert("Please enter a valid email address.");
				form.email.focus();
    return false ;
    }
    else {
//test email for illegal characters
       var illegalChars= /[\(\)\<\>\,\;\:\\\"\[\]]/
         if (form.email.value.match(illegalChars)) {
          alert("The email address contains illegal characters.");
										form.email.focus();
    return false ;
       }
    }
				
					
 		
 var illegalChars = /[\W_]/; // allow only letters and numbers
    
    if ((form.password.value.length < 6)) {
      alert("The password must contain at least 6 characters.\n");
						 form.password.focus();
    return false ;
    }
    else if (illegalChars.test(form.password.value)) {
      alert("The password contains illegal characters.");
						 form.password.focus();
    return false ;
    } 
    else if (!((form.password.value.search(/(a-z)+/)) && (form.password.value.search(/(A-Z)+/)) && (form.password.value.search(/(0-9)+/)))) {
       alert("The password must contain at least one uppercase letter, one lowercase letter, and one numeral.");
    }  
    

    
	 if (form.cctype.value == "Pick One") {
    alert( "Please fill in the Credit Card Type field." );
    form.cctype.focus();
    return false ;
  }
	 if (form.ccnum.value == "") {
    alert( "Please fill in the Credit Card Number field." );
    form.ccnum.focus();
    return false ;
  }
		 if (form.ccexpmo.value == "Pick One") {
    alert( "Please fill in the Credit Card Expiration Month field." );
    form.ccexpmo.focus();
    return false ;
  }
		if (form.ccexpyr.value == "Pick One") {
    alert( "Please fill in the Credit Card Expiration Year field." );
    form.ccexpyr.focus();
    return false ;
  }
	 if (form.subscribe.checked == false) {
	  alert( "You must check sign up agreement to become a member." );
	return false;
}
 
  // ** END **
  return true ;
}