//form validation
function valButton1(btn) {
	var cnt = -1;
    for (var i=btn.length-1; i > -1; i--) {
        if (btn[i].checked) {cnt = i; i = -1;}
    }
    if (cnt > -1) return btn[cnt].value;
    else return null;
}
 
function validateform() {
    valid = true;
	errormsg = "Please complete the following fields: \n";
	var formName = validateform.arguments[0];
	for(i=1; i < validateform.arguments.length; i=i+2) {
    	var fieldName = validateform.arguments[i];
		var displayName = validateform.arguments[i+1];
		//alert (eval("document."+formName+"."+fieldName+".type"));
		if ((eval("document."+formName+"."+fieldName+".type") == "text") || (eval("document."+formName+"."+fieldName+".type") == "select-one")) {
			if (eval("document."+formName+"."+fieldName+".value") == "") {
				valid = false;
				errormsg += displayName + "\n";
			}
			
			//Check to ensure a valid email address has been entered
			if (fieldName == "email") {
				var emailFilter = /^.+@.+\..{2,3}$/;
				var illegalChars = /[\(\)\<\>\,\;\:\\\/\"\[\]]/;
				emailAddress = eval("document."+formName+"."+fieldName+".value");
				if (!(emailFilter.test(emailAddress))) { 
					valid = false;
					errormsg += "Please Enter a Valid Email Address\n";
				}
				if (emailAddress.match(illegalChars)) {
					valid = false;
					errormsg += "Please Check your email address, it contains illegal characters.\n";
				}
			}
			//Check for valid second email address matches first email address
			if (fieldName == "email2") {
				emailAddress2 = eval("document."+formName+"."+fieldName+".value");
				if (!(emailAddress2 == emailAddress)) { 
					valid = false;
					errormsg += "Please ensure your confirmation email address matches your email address.\n";
				}
			}
		} else {
			var btn = valButton1(eval("document."+formName+"."+fieldName+""));
			if (btn == null) {
				valid = false;
				errormsg += displayName + "\n";
			} else {
				//alert('Button value ' + btn + ' selected'); 
			}
		}
	}
	

	//Custom validation for registration types!!
	if(get_radio_value(document.registration.reg_type) == 'member_day' || get_radio_value(document.registration.reg_type) == 'member_day_early'){
		if(get_radio_value(document.registration.member_day_select) == undefined){
			valid = false;
			errormsg += "Pick Tuesday or Wednesday.\n";
		}
	}

	if(get_radio_value(document.registration.reg_type) == 'nonmember_day' || get_radio_value(document.registration.reg_type) == 'nonmember_day_early'){
		if(get_radio_value(document.registration.nonmember_day_select) == undefined){
			valid = false;
			errormsg += "Pick Tuesday or Wednesday.\n";
		}
	}




	if(get_radio_value(document.registration.partners_1) == 'early' || get_radio_value(document.registration.partners_1) == 'normal' || get_radio_value(document.registration.partners_2) == 'early' || get_radio_value(document.registration.partners_2) == 'normal'){
		if(document.registration.partner_first.value == '' || document.registration.partner_last.value == '' || document.registration.partner_email.value == ''){
			valid = false;
			errormsg += "Enter Participants Information.\n";
		}
	}



	if(get_radio_value(document.registration.member) == 'AUMA Member' || get_radio_value(document.registration.member) == 'Life Member'){
		if(get_radio_value(document.registration.reg_type) == 'nonmember_early' || get_radio_value(document.registration.reg_type) == 'nonmember' || get_radio_value(document.registration.reg_type) == 'nonmember_day_early' || get_radio_value(document.registration.reg_type) == 'nonmember_day'){
			valid = false;
			errormsg += "Your Registration does not match your Member Selection.\n";
		}
	}



/////  || get_radio_value(document.registration.member) == 'Other'
	if(get_radio_value(document.registration.member) == 'Non-Member'){
		if(get_radio_value(document.registration.reg_type) == 'member_early' || get_radio_value(document.registration.reg_type) == 'member' || get_radio_value(document.registration.reg_type) == 'member_day_early' || get_radio_value(document.registration.reg_type) == 'member_day'){
			valid = false;
			errormsg += "Your Registration does not match your Member Selection.\n";
		}
	}





	// End Custom Dependant
	if (valid == false) {
		alert(errormsg);
	}
    	return valid;
}

function get_radio_value(name){
	form_element = name;
	for (var i=0; i < form_element.length; i++){
	   if (form_element[i].checked){
			  var rad_val = form_element[i].value;
		}
	}
	return rad_val;
}

