function doSubmit() {
	
 var f=document.getElementById("newsletter_registration");
 var dob,theMonth,theDay;
 
 if (f.first.value == "") { 
	 alert('Please enter your first name.');
	 f.first.focus();
	 return false;
 }
 
 if (f.last.value == "") { 
	 alert('Please enter your last name.');
	 f.last.focus();
	 return false;
 }

 if (!f.email.value.match(/^\S+@\S+\.\S+$/)) {
   alert('Please enter a valid e-mail address.');
   f.email.select();
   f.email.focus();
   return false;
 }
   
 if ((f.zip.value == "") || (!f.zip.value.match(/\d{5}/))) { 
	 alert('Please enter a valid zip code.');
	 f.zip.focus();
	 return false;
 }

 if (!f.gender[0].checked && !f.gender[1].checked) { 
	if (f.gender.value == "") { alert('Please select your gender.'); return; }
 }
  
 /* Validate month: check for digits, then check:  1 <= month <= 12 */
 if(f.dob_month.value.match(/\d{1,2}/)) {
   theMonth = eval(f.dob_month.value);		
   if(!(theMonth <= 12 && theMonth >= 1)){
     alert('Please enter a valid month of birth.');
     f.dob_month.focus();
     return false; 
  }
 } 
 else {
  alert('Please enter a valid month of birth.');
  f.dob_month.focus();
  return false; 
 }
  
 /* Validate day: check for digits, then check:  1 <= day <= 31 */
 if(f.dob_day.value.match(/\d{1,2}/)) {
   theDay = eval(f.dob_day.value);
   if(!(theDay >= 1 && theDay <= 31)) {
      alert('Please enter a valid day of birth.'); 
      f.dob_day.focus(); 
      return false; 
   }
 }
 else {
   alert('Please enter a valid day of birth.'); 
   f.dob_day.focus(); 
   return false; 
 }

 if(!f.dob_year.value.match(/\d{4}/) || f.dob_year.value=="0000") { 
    alert('Please enter a valid year of birth (xxxx).'); 
    f.dob_year.focus(); 
    return false; 
 }
 
}

$(document).ready(function() {
	var newsletter_registration = document.getElementById('newsletter_registration');
    newsletter_registration.onsubmit = function(){
		return doSubmit();
	}

});