var Register = {
	theForm: null,
	membershipTypeField: null,
	
	addMembershipTypeListener: function() {
		Register.membershipTypeField = $("#membership_typeField");
		Register.membershipTypeField.change(Register.updateExpiryDate);
	},
	
	updateExpiryDate: function(event) {
		var expiryDateLabel = $("#expiryDate");
		var today = jQuery.strftime("%m-%d", new Date());
		var expiryYear = null;
		var expiryDate = null;
		
		if (Register.membershipTypeField.val() == 13 || Register.membershipTypeField.val() == 14 || Register.membershipTypeField.val() == 49) expiryYear = new Date().getFullYear() + 5;
		else										  expiryYear = new Date().getFullYear() + 1;
		
		if (today > "07-01") expiryDate = new Date(expiryYear, 8, 30);
		else				 expiryDate = new Date(expiryYear, 2, 31);
		expiryDate = jQuery.strftime("%B %d, %Y", expiryDate);
		
		if (expiryDateLabel.html != expiryDate) {
			expiryDateLabel.html(expiryDate);
		}
	},
	
	setupForm: function(formId) {
		Register.theForm = $("#"+formId);
		Register.addMembershipTypeListener();
	}
}

var validateHighlightFunction = function(element, errorClass) {
	element = $(element);
	
	if (element.attr("type") == "radio" || element.attr("type") == "checkbox") {
		$(element).addClass(errorClass);
		$(element.form).find("label[for=" + element.attr("name") + "Field]").addClass(errorClass).show();
	} else {
		$(element).addClass(errorClass);
		$(element.form).find("label[for=" + element.attr("id") + "]").addClass(errorClass).show();
	} 
};

var validateUnhighlightFunction = function(element, errorClass) {		
	element = $(element);
	
	if (element.attr("type") == "radio" || element.attr("type") == "checkbox") {
		$(element).removeClass(errorClass);
		$(element.form).find("label[for=" + element.attr("name") + "Field]").removeClass(errorClass).show();
	} else {
		$(element).removeClass(errorClass);
		$(element.form).find("label[for=" + element.attr("id") + "]").removeClass(errorClass).show();
	}
}