var makeDialog = makeDialog || function() {};
var bgAction = bgAction || function() {};

if (jQuery.fn.fullCalendar) $(document).ready(function() {

	var edit_event = makeDialog({
		width: 500,
		on_form_save: function(data) {
			$('#calendar').fullCalendar("refetchEvents");
		}
	});

	var delete_event = bgAction("delete", {
		confirm: true
	});

	var open_event = function(event) {
		$("<div></div").load("/event.html", {id: event.id}, function() {
			$(this).dialog({
				autoOpen: true,
				bgiframe: true,
				modal: true,
				title: "View event",
				width: 400,
				position:'center',
				buttons: {
					Close: function() { $(this).dialog("close") }
				}
			}).each(function() {
				if (admin) {
					$this = $(this);
					$this.dialog("option", "buttons", $.extend($this.dialog("option", "buttons"), {
						Delete: function() {
							delete_event(event.id, {
								onsuccess: function() {
									$this.dialog("close");
									$('#calendar').fullCalendar("refetchEvents");
								}
							});
						}
					}));
				}
			});
		});
	};

	if (document.location.hash.length > 1)
		open_event({id: document.location.hash.substring(1)});

    $('#calendar').fullCalendar({
		dayClick: function(date) {
			if (admin) {
				edit_event({
					date: date.getFullYear() + "/" + String(Number(date.getMonth()+1)) + "/" + date.getDate()
				})
			}
		},
		eventClick: open_event,
		eventSources: [
			"/fetch-events"
		]
    });

});

if (typeof makeDialog != "undefined") {
	var edit_cms = makeDialog({
		url: "/cms",
		on_form_save: function(data) {
			if (data.success) {
				$("#cms-content").html(data.content);
			}
		}
	});

	var edit_member = makeDialog({
		url: "/edit-member",
		width: 700,
		on_form_save: function(data) {
			if (data.success) {
				$("#cms-content").html(data.content);
			}
		}
	});
	var delete_member = bgAction("delete", { confirm: true, url: "/edit-member" });

	var edit_news = makeDialog({
		on_form_save: function() {
			$("#object-search").submit();
		}
	});

	var delete_news = bgAction("delete", { confirm: true });

	var edit_publication = makeDialog({
		on_form_save: function() {
			$("#object-search").submit();
		}
	});
	var delete_publication = bgAction("delete", { confirm: true });
}

