﻿/***************************************************************************************************************************************
* Register
***************************************************************************************************************************************/
function RegisterValid(isAuthenticated) {
	if (!isAuthenticated) {
		$(".validation-summary-errors").hide();
		$("#passwordRequired").hide();
		$("#passwordsDontMatch").hide();

		if ($("#Password").val().trim() == "") {
			
			$("#passwordRequired").show();
			return false;
		} // if
		else if ($("#Password").val() != $("#PasswordConfirm").val()) {
			$("#passwordsDontMatch").show();
			return false;
		} // else if
	} // if

	return true;
}

/***************************************************************************************************************************************
* EventRegistration
***************************************************************************************************************************************/
function LoadEventsDropDown(url) {

	if (typeof ($("#EventTypeId").val()) == "undefined")
		return;

	$.ajax({
		url: url,
		data: { 'eventTypeId': $("#EventTypeId").val() },
		dataType: 'json',
		type: 'POST',
		success: function (result) {
			$("#EventId option").detach();

			var dropDown = $("#EventId");

			$(result).each(function () {
				dropDown.append($("<option value=\"" + this.EventId + "\"" + (this.IsBookable ? "" : " class=\"bookedOut\"") + ">" + this.Name + "</option>"));
			});

			$("#EventId").change();
		}
	});
} // function

function ShowEventDetails(url) {
	$.ajax({
		url: url,
		data: { 'eventId': $("#EventId").val() },
		dataType: 'json',
		type: 'POST',
		success: function (event) {
			SetEventDetailsLabel("labelName", event.Name);
			SetEventDetailsLabel("labelDescription", event.Description);
			SetEventDetailsLabel("labelDate", event.DateInfo);
			SetEventDetailsLabel("labelContact", event.Contact);
			
			if(event.IsBookable)
			{
				if (event.Consent != null && event.Consent != "")
					$("#eventConsentInfo").text(event.Consent).show();
				else
					$("#eventConsentInfo").hide();

				$(".eventRegistration .save").show();
				$("#eventBookedOut").hide();
			} // if
			else
			{
				$(".eventRegistration .save, #eventConsentInfo").hide();
				$("#eventBookedOut").show();
			}

			var table = $("#eventDetails #blocks table");

			$("tbody tr", table).detach();

			if (event.Blocks == null || event.Blocks.length == 0)
				$("#eventDetails #blocks").hide();
			else {
				$("#eventDetails #blocks h3").text($("#eventDetails #blocks input[type='hidden']").val().replace("{0}", event.Name));
				var tbody = $("tbody", table);

				$(event.Blocks).each(function () {
					tbody.append($("<tr><td>" + this.TimeInfo + "</td><td>" + this.Name + "</td></tr>"));
				});

				$("#eventDetails #blocks").show();
			} // else

			$("#eventDetails").show();
		}
	});
} // function

function SetEventDetailsLabel(labelName, value) {
	var label = $("#eventDetails #" + labelName);

	if (value != null && value != "") {
		label.next().text(value);
		label.show().next().show();
	} // if
	else
		label.hide().next().hide();


} // function

function AddEventRegistration(url) {
	if ($(".isUserConfirmed").val() != "true")
		return;

	var eventId = $(".eventRegistration #EventId").val();
	var comment = $(".eventRegistration #Comment").val();

	$.ajax({
		url: url,
		data: { 'eventId': eventId, 'comment': comment },
		dataType: 'json',
		type: 'POST',
		error: function (jqXHR, textStatus, errorThrown) {
		},
		success: function (event) {
			if (event != null) {
				var table = $("#eventRegistrationList");
				var tbody = $("tbody", table);
				var deleteToolTip = $(".eventRegistration .deleteEventRegistration").val();

				tbody.append($("<tr><td>" + event.DateInfo + "</td>" +
							   "<td>" + event.Name + "</td>" +
							   "<td>" + event.EventType + "</td>" +
							   "<td><a href=\"#\" onclick=\"return DeleteEventRegistration('" + eventId + "', this);\" class=\"delete\" title=\"" + deleteToolTip + "\"></a></tr>"));

				table.show();
				$(".eventRegistration #noRegistrationsYet").hide();
			} // if
		}
	});
} // function

function DeleteEventRegistration(eventId, sender) {
	if (!confirm($(".eventRegistration .confirmDelete").val()))
		return;

	var senderTr = $(sender).parent().parent();

	$.ajax({
		url: 'EventRegistration/DeleteRegistration',
		data: { 'eventId': eventId },
		dataType: 'json',
		type: 'POST',
		success: function (success) {
			if (success) {
				senderTr.detach();
				if ($("#eventRegistrationList tbody tr").size() == 0) {
					$("#eventRegistrationList").hide();
					$(".eventRegistration #noRegistrationsYet").show();
				} // if
			} // if
		}
	});

	return false;
} // function

$(function () {
	$("#EventTypeId").change();
});
