
	function validate_calendar_lamp(f)
	{
 		if (!validateText(f.StartDate.value, "Du måste ange ett startdatum") || !validateDate(f.StartDate.value, "Felaktigt startdatum"))
 		{
	 		f.StartDate.focus();
 			return false;
		}

 		if (!isValidText(f.StopDate.value))
 			f.StopDate.value = f.StartDate.value;

 		if (!validateDate(f.StopDate.value, "Felaktigt stoppdatum"))
 		{
	 		f.StopDate.focus();
			return false;
		}

 		if (f.StartDate.value > f.StopDate.value)
 		{
 			alert("Du kan inte ange ett stoppdatum som inträffar före startdatum");
	 		f.StartDate.focus();
 			return false;
 		}

 		if (!validateText(f.StartTime.value, "Du måste ange en tidpunkt") || !validateTime(f.StartTime.value, "Felaktig tidpunkt"))
 		{
	 		f.StartTime.focus();
 			return false;
		}

 		if (!isValidText(f.StopTime.value))
 			f.StopTime.value = f.StartTime.value;

		if (!validateText(f.header.value, "Du måste ange en rubrik"))
		{
			f.header.focus();
 			return false;
		}

		return true;
	}

	function validate_calendar(f)
	{
 		if (!validateText(f.StartDate.value, "Du måste ange ett startdatum") || !validateDate(f.StartDate.value, "Felaktigt startdatum"))
 		{
	 		f.StartDate.focus();
 			return false;
		}

 		if (!isValidText(f.StopDate.value))
 			f.StopDate.value = f.StartDate.value;

 		if (!validateDate(f.StopDate.value, "Felaktigt stoppdatum"))
 		{
	 		f.StopDate.focus();
			return false;
		}

 		if (f.StartDate.value > f.StopDate.value)
 		{
 			alert("Du kan inte ange ett stoppdatum som inträffar före startdatum");
	 		f.StartDate.focus();
 			return false;
 		}

 		if (!validateText(f.time.value, "Du måste ange en tidpunkt") || !validateTime(f.time.value, "Felaktig tidpunkt"))
 		{
	 		f.time.focus();
 			return false;
		}

		if (!validateText(f.header.value, "Du måste ange en rubrik"))
		{
			f.header.focus();
 			return false;
		}

		return true;
	}

	function enter_cal_stopdate(f)
	{
		var start = document.getElementById("StartDate");
		if (!start) return;

		if (f.value.replace(/[ ]/g,"").length == 0)
			f.value = start.value;
	}

	function enter_cal_time(f)
	{
		var myRegex = new RegExp("^hh:mm$");

		if (f.value.match(myRegex))
			f.value = "";
	}

	function enter_cal_stoptime(f)
	{
		var start = document.getElementById("StartTime");
		if (!start) return;

		if (f.value.replace(/[ ]/g,"").length == 0)
			f.value = start.value;
	}

	function format_cal_time(f)
	{
		var myRegex = new RegExp("^[0-9]*$");

		if (f.value.match(myRegex))
		{
			if (f.value.length == 3)
				f.value = "0" + f.value.substring(0,1) + ":" + f.value.substring(1);

			else if (f.value.length == 4)
				f.value = f.value.substring(0,2) + ":" + f.value.substring(2);
		}

		if (f.value.replace(/[ ]/g,"").length == 0)
			f.value = "";
	}

	function calendar(id, year, month, day)
	{
		var cal = document.getElementById(id);
		if (!cal) return;

		var request = getHTTPObject();
		url = "ajax/calendar.php?id=" + id;
		if (year != undefined)
			url = url + "&Year=" + year;
		if (month != undefined)
			url = url + "&Month=" + month;
		if (day != undefined)
			url = url + "&Day=" + day;
		url = url + "&" + Math.random();
		request.open("GET", url, true);
		request.onreadystatechange = function () {
			if (request.readyState == 4)
			{
				var calendar = request.responseXML.getElementsByTagName('calendar').item(0);
				var calendar_parts = calendar.getElementsByTagName('item');

				cal_html = "";
				for (i = 0; i < calendar_parts.length; i++)
				{
					var part = calendar_parts.item(i);
					var profile_text = part.firstChild.nodeValue;
					cal_html = cal_html + profile_text;
				}
				cal.innerHTML = cal_html;
			}
		}
		request.send(null);
	}

	function calendar_lamp(ths, year, month, day, modID)
	{
		var div_form = find_parent_node(ths, 'FORM');

		var div_id = div_form.parentNode.parentNode.getAttribute("id");

		var param_txt = "";
		if (year != undefined)
			param_txt = param_txt + "&Year=" + year;
		if (month != undefined)
			param_txt = param_txt + "&Month=" + month;
		if (day != undefined)
			param_txt = param_txt + "&Day=" + day;

		module_ajax(div_id, modID, param_txt, true);
	}

