// David M Rautert
// October 2, 2007
// Form Validation


/*
** Configuration Directives
*/

var effects = false;


function validForm() {
	if (!document.getElementsByTagName){ return; }
	
	// fname
	var fname = document.signup_form.person_firstName.value;
	if(fname == null || fname == "") {
		popUpMessage("Please enter your first name.");
		return false;
	}
	
	// lname
	var lname = document.signup_form.person_lastName.value;
	if(lname == null || lname == "") {
		popUpMessage("Please enter your last name.");
		return false;
	}
	
	//selection - professional designation
	var profdesign = document.signup_form.professional_designation.value;
	if (profdesign == 1){
		popUpMessage("Please select your professional designation.");	
		return false;
	}
	
	//selection - specialty
	var spec = document.signup_form.specialty.value;
	if (spec == 1){
		popUpMessage("Please select your specialty.");	
		return false;
	}
	
	// Email validation
	var emailAddress = document.signup_form.person_email.value;
	var filter  = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/;
	if(!filter.test(emailAddress)) {
		popUpMessage("Please enter a valid email address.");
		return false;
	}
	
	// street address
	var streetaddr = document.signup_form.person_homeAddress_street1.value;
	if(streetaddr == null || streetaddr == "") {
		popUpMessage("Please enter your street address.");
		return false;
	}
	
	// Zip Code validation
	var zipCode = document.signup_form.person_homeAddress_zipcode.value;
	var re = /^\d{5}([\-]\d{4})?$/;
	if(!re.test(zipCode)) {
		popUpMessage("Please enter a valid zip code.");
		return false;
	}
	
	//selection - birthYear
	var birthYearValue = document.signup_form.person_birthYear.value;
	if (birthYearValue == 1){
		popUpMessage("Please select your year of birth.");	
		return false;
	}
	
	
	// Checkbox validation
	var checkbox = document.signup_form.agreeTerms;
	if(checkbox.checked != true) {
		popUpMessage("You must agree to the terms of use before proceeding.");
		return false;
	}
	
	return true;
	
}

function validForm2() {
	if (!document.getElementsByTagName){ return; }
	
	// fname
	var fname = document.signup_form.person_firstName.value;
	if(fname == null || fname == "") {
		popUpMessage("Please enter your first name.");
		return false;
	}
	
	// lname
	var lname = document.signup_form.person_lastName.value;
	if(lname == null || lname == "") {
		popUpMessage("Please enter your last name.");
		return false;
	}
	
	// Email validation
	var emailAddress = document.signup_form.person_email.value;
	var filter  = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/;
	if(!filter.test(emailAddress)) {
		popUpMessage("Please enter a valid email address.");
		return false;
	}
	
	// street address
	var streetaddr = document.signup_form.person_homeAddress_street1.value;
	if(streetaddr == null || streetaddr == "") {
		popUpMessage("Please enter your street address.");
		return false;
	}
	
	// Zip Code validation
	var zipCode = document.signup_form.person_homeAddress_zipcode.value;
	var re = /^\d{5}([\-]\d{4})?$/;
	if(!re.test(zipCode)) {
		popUpMessage("Please enter a valid zip code.");
		return false;
	}
	
	//selection - birthYear
	var birthYearValue = document.signup_form.person_birthYear.value;
	if (birthYearValue == 1){
		popUpMessage("Please select your year of birth.");	
		return false;
	}
	
	
	// gender buttons 
	var form = $('signup_form');
	var buttons = form.getInputs('radio', 'person_gender');
	for(i=0; i<buttons.length; i++) {
		if(buttons[i].checked == true) {
			var somethingIsChecked = true;	
		}
	}	
	if((somethingIsChecked != true) && (buttons.length > 0)) {
		popUpMessage("Please select your gender.");
		return false;
	}
	
	
	// Checkbox validation
	var checkbox = document.signup_form.agreeTerms;
	if(checkbox.checked != true) {
		popUpMessage("You must agree to the terms of use before proceeding.");
		return false;
	}
	
	return true;
	
}

function popUpMessage(myMessage) {
	if(effects == true) {
		new Effect.Appear('d3', { duration: 1.0, queue: 'front' });
		new Effect.Fade('d2', { duration: 4.0, queue: 'end' });
	} else {
		alert(myMessage);	
	}
}


