function CloseDrawFormPopup() {
	$("#draw-popup").css("display", "none");
}

function OpenDrawFormPopup() {
	// copy form values from main form to hidden fields in popup form 
	$("#draw-popup input.hidden").each(function() {
		var equivalentField = $("#" + this.id.replace("draw-popup-", "draw-"));
		$(this).val($(equivalentField).val());
	});
	
	// show popup and focus the first textbox
	var drawPopupForm = $("#draw-popup");
	$(drawPopupForm).css("display", "block")
	//$($(drawPopupForm).find("input")[0]).focus();
	////.focus();
}

function validateEmail(email) 
{ 
	var re = /^(([^<>()[\]\\.,;:\s@\"]+(\.[^<>()[\]\\.,;:\s@\"]+)*)|(\".+\"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/ 
	return email.match(re);
}

function ValidateRequiredFields(formElement) {
	// validation - required fields
	var requiredFields = $(formElement).find(":input[value='']").filter(".required");
//	var requiredFields = $(formElement).find(".required[value=]");
	if (requiredFields.length > 0) {
		var errorMessage = "";
		for (var i = 0; i < requiredFields.length; i++) {
			var fieldName = $(formElement).find("label[for=" + requiredFields[i].id + "]").text().replace(":", "");
			errorMessage += fieldName + " is required.\n";
		}
		alert(errorMessage);
		$(requiredFields[0]).focus();
		return false;
	}
	return true;
}

function DrawFormInit() {
	var drawForm = $("#draw-form");
	
	// validation - membership number - open popup dialog if not provided
	$("#draw-submit").click(function() {
		if (!ValidateRequiredFields(drawForm))
			return false;

		if (!validateEmail($("#draw-email-address").val())) {
			alert("Please enter a valid email address.");
			$("#draw-email-address").focus();
			return false;
		}
			
		if ($(drawForm).find("#draw-membership-no").val() == "") {
			OpenDrawFormPopup();
			return false;
		}
	});
	
	$("#draw-popup-submit").click(function() {
		if (!ValidateRequiredFields($("#draw-popup")))
			return false;
	});
	
	$("#draw-popup-close").click(CloseDrawFormPopup);
}

$(document).ready(DrawFormInit);











