Event.observe(window, "load", function() {
	var element = $("searchquery");
	var tag = "Stichwort";

	element.onfocus = function() {
		if (this.value == tag) this.value = "";
		this.addClassName("highlight");
	};

	element.onblur = function() {
		if (this.value == "") this.value = tag;
		this.removeClassName("highlight");
	};

	if (element.value == "") element.value = tag;
	
	element.setAttribute("autocomplete", "off");
	
	new Ajax.Autocompleter("searchquery", "autocomplete", "/lib/autocomplete.asp", {
		paramName: "query"
	});
});
Event.observe(window, "load", function() {
	var tabs = $$("#tabcontrol-trigger A");
	tabs.each(function(tab) {
		tab.onclick = function() {
			tabs.collect(function(s) {
				$(s.href.split("#")[1]).hide();
				return s.up();
			}).invoke("removeClassName", "active");
			$(tab.href.split("#")[1]).show();
			tab.up().addClassName("active");
			return false;
		}
	});
});
Event.observe(window, "load", function() {
	$$("a[rel=help]").each(function(element) {
		element.onclick = function() {
			var help = window.open(this.href, "help", "width=400,height=500,scrollbars=yes");
			help.focus();
			return false;
		};
	});
});
Event.observe(window, "load", function() {
	$$("a[rel=popup]").each(function(element) {
		element.onclick = function() {
			window.open(this.href);
			return false;
		};
	});
});

function check_entrytype(element) {
	var value = element;
	if (typeof element == "object") value = element.value;
	if (value == 1) {
		$$(".entrytype_1").invoke("show");
		$$(".entrytype_2").invoke("hide");
	} else {
		$$(".entrytype_1").invoke("hide");
		$$(".entrytype_2").invoke("show");
	}
}
function security_code_reload() {
	$("SecureCodeImage").src = "/secure.asp?" + Math.random();
	$("SecureCode").value = "";
	return false;
}
function events_check_time() {
	var hide_from = $("HideTimeFrom").checked;
	var hide_until = $("HideTimeUntil").checked;	
	$("TimeFrom_HH").disabled = hide_from;
	$("TimeFrom_MM").disabled = hide_from;
	$("TimeUntil_HH").disabled = hide_until;
	$("TimeUntil_MM").disabled = hide_until;
}
function events_check_date() {
	var days = new Array(31,28,31,30,31,30,31,31,30,31,30,31);
	var n = new Date();
	var date_dd = $("DateFrom_DD");
	var date_mm = $("DateFrom_MM");
	var date_yy = $("DateFrom_YY");
	var d = parseInt(date_dd.selectedIndex + 1);
	var m = parseInt(date_mm.selectedIndex);
	var y = parseInt(date_yy.selectedIndex) + n.getYear();
	if (y/4 == parseInt(y/4)) days[1] = 29;
	if (d > days[m]) date_dd.selectedIndex = days[m] - 1;
}
function google_maps_init(element) {
	if (GBrowserIsCompatible()) {
		map = new GMap2($(element));
		map.addControl(new GSmallMapControl());
		map.addControl(new GMapTypeControl());
		geocoder = new GClientGeocoder();
	}
}
function google_maps_load(address, element, zoom_level) {
	if (geocoder) {
		geocoder.getLatLng(
			address,
			function(point) {
				if (!point) {
					$(element).hide();
				} else {
					map.setCenter(point, zoom_level);
					var marker = new GMarker(point);
					map.addOverlay(marker);
				}
			}
		)
	}
}
function zero_pad(str) {
	return (str.length == 1) ? "0" + str : str;
}
function events_date_to_string() {
	var temp = zero_pad($F("DateFrom_DD")) + "." + zero_pad($F("DateFrom_MM")) + "." + zero_pad($F("DateFrom_YY"));

	var HideTimeFrom = $("HideTimeFrom").checked;
	var HideTimeUntil = $("HideTimeUntil").checked;

	if (HideTimeFrom && HideTimeUntil) {
		temp += " ganztägig";
	} else if (!HideTimeFrom && HideTimeUntil) {
		temp += " ab " + zero_pad($F("TimeFrom_HH")) + ":" + zero_pad($F("TimeFrom_MM")) + " Uhr";
	} else if (HideTimeFrom && !HideTimeUntil) {
		temp += " bis " + zero_pad($F("TimeUntil_HH")) + ":" + zero_pad($F("TimeUntil_MM")) + " Uhr";
	} else if ($F("TimeFrom_HH") == $F("TimeUntil_HH") && $F("TimeFrom_MM") == $F("TimeUntil_MM")) {
		temp += " um " + zero_pad($F("TimeFrom_HH")) + ":" + zero_pad($F("TimeFrom_MM")) + " Uhr";
	} else {
		temp += " von " + zero_pad($F("TimeFrom_HH")) + ":" + zero_pad($F("TimeFrom_MM")) + " bis " + zero_pad($F("TimeUntil_HH")) + ":" + zero_pad($F("TimeUntil_MM")) + " Uhr";
	}

	$("DateToString").update(temp);
}
var ListFilter = Class.create({
	initialize: function(element) {
		this.items = $(element).select("LI");
		this.criteria = [];
		$$("INPUT.filter").each(function(filter) {
			$(filter).observe("click", this.update.bind(this));
		}.bind(this));
	},
	update: function(event) {
		var box = Event.findElement(event, "INPUT");
		if (box.checked) {
			this.criteria.push(box.value);
		} else {
			this.criteria = this.criteria.without(box.value);
		}
		this.items.each(function(item) {
			if (this.criteria.size() == 0 || this.criteria.include(item.className)) {
				new Effect.Appear(item, {duration: 0.5});
				//item.show();
			} else {
				new Effect.Fade(item, {duration: 0.5});
				//item.hide();
			}
		}.bind(this));
	}
});
function UpdatePersons() {
	j = document.getElementById("NumberOfPersons").value;
	for (i=1; i<6; i++) {
		o = document.getElementById("PersonName_" + i);
		o.style.display = (i <= j) ? "block" : "none";
	}
}