var form = "loyalty_form";

validate = function() {
    for(i=0; i<document.getElementById(form).elements.length; i++) {
		var target = document.getElementById(form).elements[i];
       	if (target.value == "" && Element.next(target.id).nodeName == "SPAN") {
			var revalidate = true;
			setAsInvalid(target);
       	} else {
			document.getElementById(form).elements[i].style.backgroundColor = "white";
		}
    }
	if (revalidate) { 
		alert("Please fill in all the required fields");
		return false;
	} else if (!validEmail($('f_email').getValue())){
		alert("The email address provided is not valid");
		setAsInvalid($('f_email'));
		return false;
	} else if ($('f_email').getValue() != $('f_confirm_email').getValue()){
		alert("The email addresses provided do not match");
		setAsInvalid($('f_confirm_email'));
		return false;
	} else if (document.getElementById("f_agree_terms").checked == false) {
		alert("To proceed you have to agree to the Mirvac Privacy Policy");
		return false;
	} else {
		if(document.getElementById("f_dob") && document.getElementById("f_dob_day")){
			$('f_dob').setAttribute('value', $('f_dob_year').getValue() + "-" + $('f_dob_month').getValue() + "-" + $('f_dob_day').getValue());
		}
		document.getElementById(form).submit;
	}
}
Event.observe(window, 'load', function() { document.getElementById(form).onsubmit = validate; }, false);

function validEmail(data) {
	return /^([a-zA-Z0-9_.-])+@([a-zA-Z0-9_\.\-])+\.([a-zA-Z])+([a-zA-Z])+/.test(data);
}

function setAsInvalid(target) {
	target.style.backgroundColor = "#EC7E44";
	target.onfocus = function() {
		this.style.backgroundColor = 'white';
	}
}