
var openEvent;
var calendar;
var calendarPopup;
var elements;

window.addEvent("domready", function() {
	calendar = $("calendar");
	if (calendar == null) return;
	//
	elements = calendar.getElements("div");
	var picker = $$(".inp_katpicker");
	
	picker.each(function(el) {
		// Add Pickerevent
		el.addEvent("click", function(e) {
			toggleEventVisibility(el);
		});
	});


});

function toggleEventVisibility(picker) {
	var id = picker.id;
	var enable = picker.checked;
	var groups;
	var toggle;
	$("calendar").getElements("div[id^=event_]").each(function(element) {
		if (element.id.contains(id)) {
			if (!enable) {
				toggle = false;
				element.style.display = "none";
			} else {
				toggle = true;
				groups = element.id.split("-");
				for (i = 1; i < groups.length; i++) {
					if (!$(groups[i]).checked) {
						element.style.display = "none";
						toggle = false;
					}
				}
			}
			if (toggle) element.style.display = "block";
		}
	});
}

function registerUser(user_id, termin_id, phpIRegistrableClass) {
	ajaxClassCall(phpIRegistrableClass, "register", user_id+","+termin_id, "log");
}

function unregisterUser(user_id, termin_id, phpIRegistrableClass) {
	ajaxClassCall(phpIRegistrableClass, "unregister", user_id+","+termin_id, "log");
}

function fadeIn(id, phpITerminClass) {
	if (openEvent != null) return;
	//
	if ($("event_popup") == null) {
		createCalendarPopup();
	}
	$("popup_title").innerHTML = "<span id=\"popup_titlespan\"></span><a style=\" position: absolute; right: 2px; top: 2px; \" href=\"javascript:fadeOut("+id+");\"><img src=\"/resources/icons/nuvola/16x16/actions/cancel.png\" alt=\"schliessen\" /></a>";
	$("popup_text").innerHTML = "lade ...";
	ajaxClassCall(phpITerminClass, "getEventTitleById", id, "popup_titlespan");
	ajaxClassCall(phpITerminClass, "getEventContentById", id, "popup_text");
	//
	var eventOriginal = calendar.getElements("div[id^=event_"+id+"]")[0];
	calendar.setStyle("filter", 'alpha(opacity=40)');
	calendar.setStyle("-moz-opacity", '.4');
	calendar.setStyle("opacity", '.4');

	var pos = calendar.getCoordinates();
	var top_pos = Window.getScrollTop();

	if (top_pos < pos.top) {
		top_pos = 0;
	} else {
		top_pos = top_pos - pos.top;
	}

	$("event_popup").setStyle("top", (top_pos + 40)+"px");
	$("event_popup").setStyle("left", (10)+"px");
	$("event_popup").setStyle("width", (pos.width - 24)+"px");
	calendarPopup.className = "event-popup "+ eventOriginal.className;
	calendarPopup.setStyle("visibility", "visible");
	openEvent = calendarPopup;
}

function fadeOut(id) {
	if (openEvent == null) return;
	//
	calendar.setStyle("filter", 'alpha(opacity=100)');
	calendar.setStyle("-moz-opacity", '1');
	calendar.setStyle("opacity", '1');
	calendarPopup.setStyle("visibility", "hidden");
	//
	openEvent = null;
}

function createCalendarPopup() {
	var popupEl = new Element("div", { "id" : "event_popup", "class" : "event-popup" });
	var title = new Element("div", { "id" : "popup_title", "class" : "tip-title" });
	var text = new Element("div", { "id" : "popup_text", "class" : "tip-text" });
	popupEl.inject($("calendar"), "after");
	title.inject(popupEl);
	text.inject(popupEl);
	calendarPopup = popupEl;
}

