$(function() {
	// $("iframe").hide();
	var requiredTextFields = new Array("name", "email", "event-name", "event-descrip");
	var requiredDropdowns = new Array("start-month", "start-day", "start-year", "end-month", "end-day", "end-year");
	var form = $("#submitEvent");
	if(form.length > 0) {
		form.submit(function(event) {
			event.preventDefault();

			form.children().removeClass("error");
			$("#formFeedback").remove();

			var validated = true;
			var inputs = form.serialize();
			var inputElts = form.find("input, select, textarea");
			inputElts.each(function(idx) {
				var elt = $(this);
				if($.inArray(elt.attr("name"), requiredTextFields) != -1) {
					var value = $.trim(elt.val());
					if(value == "") {
						validated = false;
						elt.addClass("error");
						$("label[for='" + elt.attr("name") + "']").addClass("error");
					}
				} else if($.inArray(elt.attr("name"), requiredDropdowns) != -1) {
					var value = elt.val();
					if(value == "--") {
						validated = false;
						elt.addClass("error");
						$("label[for='" + elt.attr("name") + "']").addClass("error");
					}
				}
			});
			if(validated) {
				form.children().removeClass("error");
				$("#formFeedback").remove();

				$.post("/assets/php/cpc_mailer.php", inputs, function(data) {
					var form = $("#submitEvent");
					if(data.length > 0) {
						if(data[0] == "send-failure") {
							appendMessage("There was an error trying to submit your event. Please try again.", true);
						} else {
							for(var i = 0; i < data.length; i++) {
								form.find("[name='"+data[i]+"']").addClass("error");
								form.find("label[for='"+data[i]+"']").addClass("error");
							}
							appendMessage("Please fill in the marked fields.", true);
						}
					} else {
						appendMessage("Thank you! Your event has been submitted for review.", false);
						form.find("input[type='text'], textarea").val('');
					}
					Recaptcha.reload();
				}, "json");
			} else {
				appendMessage("Please fill in the marked fields.", true);
			}
		});


		form.find("input, select, textarea").focus(function(event) {
			var elt = $(event.target);
			elt.removeClass("error");
			$("label[for='" + elt.attr("name") + "']").removeClass("error");
		});
	}
});

function appendMessage(message, isError) {
	var form = $("#submitEvent");
	var msg = $("<p id='formFeedback' class='message'></p>").text(message).hide();
	if(isError) { msg.addClass("error"); }
	form.find("fieldset").first().append(msg);
	msg.slideDown();
}

