// Set up name space
if (typeof TX_MRCALANONYMOUS == 'undefined') TX_MRCALANONYMOUS = {};

TX_MRCALANONYMOUS.reservations = {
	eID: 'tx_mrcalanonymous_reservations',
	ajaxUrl: '',

	/**
	 * Initialize this class.
	 */
	init: function() {
		var self = this;
		this.ajaxUrl = $("input#tx_mrcalanonymous_ajaxUrl").val();

		// Register handler for toggling select blocks
		var toggleState = "NONE";
		$.each($("input[name='tx_mrcalanonymous_toggle']"), function() {
			$(this).click(function() {
				var newState = toggleState == "ALL" ? "NONE" : "ALL";
				$.each($("input[name='tx_mrcalanonymous_event[]']"), function() {
					$(this).attr("checked", newState == "ALL");
				});
				toggleState = newState;
				return false;
			});
		});

		// Register handler for validating the selected events
		$("#tx_mrcalanonymous_reservation_validate").click(function() {
			var events = [];
			$.each($("input[name='tx_mrcalanonymous_event[]']"), function() {
				if ($(this).attr("checked")) {
					events.push($(this).val());
				}
			});
			if (events.length == 0) {
				alert('Aucun évènement sélectionné');
				return;
			}

			$.getJSON(
				self.ajaxUrl,
				{
					eID: self.eID,
					action: "validate",
					events: events.join(',')
				},
				function (response) {
					if (response.success) {
						window.location.reload();
					} else {
						alert('Une erreur est apparue : ' + response.errors[0]);
					}
				}
			);
		});

		// Register handler for validating the selected events
		$("#tx_mrcalanonymous_reservation_delete").click(function() {
			var events = [];
			$.each($("input[name='tx_mrcalanonymous_event[]']"), function() {
				if ($(this).attr("checked")) {
					events.push($(this).val());
				}
			});
			if (events.length == 0) {
				alert('Aucun évènement sélectionné');
				return;
			} else if (!confirm('Êtes-vous sûr(e) de vouloir supprimer les évènements sélectionnés')) {
				return;
			}

			$.getJSON(
				self.ajaxUrl,
				{
					eID: self.eID,
					action: "delete",
					events: events.join(',')
				},
				function (response) {
					if (response.success) {
						window.location.reload();
					} else {
						alert('Une erreur est apparue : ' + response.errors[0]);
					}
				}
			);
		});
	}
};

$(document).ready(function() {
	TX_MRCALANONYMOUS.reservations.init();
});

