	var globalMenuHide;
	var globalTimer;
    function adjustFocusAreaText(elem) {
		var topVal = Math.round((elem.parentNode.scrollHeight/2)-(elem.scrollHeight/2))+'px';
		elem.style.top=topVal;
	}
	function menuShow(elem, show) {
		if (show) {
			if (globalMenuHide && elem!=globalMenuHide) hideMenu();
			elem.getElementsByTagName('ul')[0].style.display='block';
			clearTimeout(globalTimer);
		}
		else {
			globalMenuHide=elem;
			globalTimer = setTimeout(hideMenu,100);
		}
	}
	function hideMenu() {
		elem=globalMenuHide;
		elem.getElementsByTagName('ul')[0].style.display='none';
	}
	
	function focusmenu() {
		var elements = document.getElementById('focusmenu').getElementsByTagName('li');
		for (i=0;i<elements.length;i++) adjustFocusAreaText(elements[i].firstChild);
	}
	
	function karrusel(elem) {
		var myObj = document.createElement('object');
		myObj.data = data="/fileadmin/webelementer/karrusel/karrusel.swf";
		myObj.type="application/x-shockwave-flash";
		myObj.id="forside_flash";
		myObj.width="734";
		myObj.height="202";
	
		var param1 = document.createElement('param');
		param1.name = "wmode";
		param1.value = "transparent";
		var param2 = document.createElement('param');
		param2.name = "movie";
		param2.value = "/fileadmin/webelementer/karrusel/karrusel.swf";
		
		var myEmbed = document.createElement('embed');
		myEmbed.src = "/fileadmin/webelementer/karrusel/karrusel.swf";
		myEmbed.width = '734';
		myEmbed.height = '202';
		
		myObj.appendChild(param1);
		myObj.appendChild(param2);
		document.getElementById('karrusel').appendChild(myObj);
	}

	function writeWaitWhileSavingNotice2() {
		var myObj = document.createElement('object');
		myObj.data = data="/fileadmin/template/AjaxIcon.swf";
		myObj.type="application/x-shockwave-flash";
		myObj.id="forside_flash";
		myObj.width="200";
		myObj.height="220";
	
		var param1 = document.createElement('param');
		param1.name = "wmode";
		param1.value = "transparent";
		var param2 = document.createElement('param');
		param2.name = "movie";
		param2.value = "/fileadmin/template/AjaxIcon.swf";
		
		var myEmbed = document.createElement('embed');
		myEmbed.src = "/fileadmin/template/AjaxIcon.swf";
		myEmbed.width = '200';
		myEmbed.height = '220';
		
		
		myObj.appendChild(param1);
		myObj.appendChild(param2);
		return myObj;

	}
	
	function writeWaitWhileSavingNotice() {
		var waitBox = document.createElement('div');
		waitBox.id = 'ajaxPopup';

		waitBox.style.height = getDocHeight()+'px';
		waitBox.style.display = 'none';
		var ajaxIcon = document.createElement('img');
		ajaxIcon.src = '/fileadmin/template/AjaxIconBW.gif';
//		waitBox.appendChild(writeWaitWhileSavingNotice2());
		waitBox.appendChild(ajaxIcon);
//		waitBox.appendChild(document.createTextNode('Vent'));
		document.body.appendChild(waitBox);
	
	}
	
	function waitWhileSavingNotice(submitter) {
		if (submitter) submitter.parentNode.removeChild(submitter);
		if (document.getElementById('ajaxPopup')) {
//		alert('test');
			document.getElementById('ajaxPopup').style.display = 'block';
		}
		else {
			writeWaitWhileSavingNotice();
			document.getElementById('ajaxPopup').style.display = 'block';
/*			var waitBox = document.createElement('div');
			waitBox.id = 'ajaxPopup';
	
			waitBox.style.height = getDocHeight()+'px';
	
			var ajaxIcon = document.createElement('img');
			ajaxIcon.src = '/fileadmin/template/AjaxIconBW.gif';
			waitBox.appendChild(ajaxIcon);
			document.body.appendChild(waitBox);
*/		}
//		return true;
	}
	
	function getDocHeight() {
		var myWidth = 0, myHeight = 0;
		if (document.documentElement.clientHeight>document.body.clientHeight) myHeight=document.documentElement.clientHeight;
		else myHeight=document.body.clientHeight;
		return myHeight;
	}
	
	
	// Lokalereservation
	function validateTime(elem) {
		var val="";
		if (!/[0-2]\d:[0-5]\d$/.test(elem.value)) { // Hvis ikke indtastningen er korrekt
			if (/([0-2]?\d)[,|.|;|/]([0-5]\d)/.test(elem.value)) val = elem.value.replace(/(\d?\d)[,|.|;|/](\d\d)/, "$1:$2");
			else if (/(\d?\d)[,|.|;|/](\d\d)/.test(elem.value)) val = elem.value.replace(/(\d?\d)[,|.|;|/](\d\d)/, "$1:$2");
			else if (/(\d)[,|.|;|/|:](\d\d)/.test(elem.value)) val = elem.value.replace(/(\d)[,|.|;|/|:](\d\d)/, "0$1:$2");
			else if (elem.value.length==1) val="0"+elem.value+":00";
			else if (elem.value.length==2) val=elem.value+":00";
			else if (elem.value.length==3) val="0"+elem.value.substring(0,1)+":"+elem.value.substring(1);
			else if (elem.value.length==4) val=elem.value.substring(0,2)+":"+elem.value.substring(2);
			else val=elem.value;
			if (!/[0-2]\d:[0-5]\d$/.test(val) || parseFloat(val.substring(0,2))>24 || parseFloat(val.substring(0,2))<8 || (val.substring(0,2)=="24" && val.substring(3,5)!="00")) { // Hvis indtastningen stadig ikke er korrekt
				alert("Tidspunkt skal vÃ¦re mellem 08:00 og 24:00");
				val = "Ugyldig tidspunkt: "+val;
			}
			elem.value=val;
		}
		else if (parseFloat(elem.value.substring(0,2))>24 || parseFloat(elem.value.substring(0,2))<8 || (elem.value.substring(0,2)=="24" && elem.value.substring(3,5)!="00")){
			elem.value = "Ugyldigt tidspunkt: "+elem.value;
			alert("Tidspunkt skal vÃ¦re mellem 08:00 og 24:00");
		}
	}
	function validateDate(elem) {
		var val=elem.value;
		val = val.replace(/(\d?\d)[,|.|;|:|/|-](\d?\d)[,|.|;|:|/|-](2?0?\d\d)/, "$1/$2/$3");
		if (/\d?\d\/\d?\d\/\d\d$/.test(val)) { // Hvis Ã¥r kun er tocifret - rettes til 20xx
			val = val.replace(/(\d?\d\/\d?\d)\/(\d\d)/, "$1/20$2");
		}
		if (!/[0-3]?\d\/[0-1]?\d\/2?0?\d\d$/.test(val)) { // Hvis ikke indtastningen er korrekt
			alert("Ukendt dato. Indtast dato på formen DD/MM-YYYY");
			elem.value="";
		}
		else {
			var valArr = val.split("/");

			testDate = new Date(valArr[2], valArr[1]-1, valArr[0]);
			var testDay = testDate.getDate();
			if(testDay<10) testDay="0"+testDay;
			var testMonth = testDate.getMonth()+1;
			if (testMonth<10) testMonth="0"+testMonth;
			var testYear = testDate.getFullYear();
			val = testDay+"/"+testMonth+"-"+testYear;
			elem.value=val;
		}
	}
	
	function addReservationTime(elem) {
		elem = elem.parentNode.parentNode.parentNode;
		
		elem.parentNode.style.borderCollapse = 'collapse';
		elem.style.borderBottom = '1px solid #000';
		elem.style.borderTop = '1px solid #000';
		var newElem = elem.cloneNode(true);
		
		// replace ids in clone
		tstamp = new Date();
		tstamp = tstamp.getTime();

		var myElems = newElem.getElementsByTagName('select');
		var oldElems = elem.getElementsByTagName('select');
		for (i=0;i<myElems.length;i++) {
			myElems[i].id = myElems[i].id+tstamp;
			myElems[i].selected = oldElems[i].selected;
			myElems[i].selectedIndex = oldElems[i].selectedIndex
			//if (oldElems[i].options.selected) alert(i);
		}
		var myElems = newElem.getElementsByTagName('input');
		for (i=0;i<myElems.length;i++) {
			myElems[i].id = myElems[i].id+tstamp;
		}
		var myElems = newElem.getElementsByTagName('label');
		for (i=0;i<myElems.length;i++) {
			myElems[i].htmlFor = myElems[i].htmlFor+tstamp;
		}
		var myElems = newElem.getElementsByTagName('a');
		for (i=0;i<myElems.length;i++) {
			if (myElems[i].id=="create_extra") myElems[i].parentNode.removeChild(myElems[i]);
		}
		
		elem.parentNode.insertBefore(newElem, elem);
		return false;
	}
	function appendOptionLast(elem, optVal, val, sel)
	{
	  var elOptNew = document.createElement('option');
	  elOptNew.text = val;
	  elOptNew.value = optVal;
	  if (sel) elOptNew.selected= 'selected';
	
	  try {
		elem.add(elOptNew, null); // standards compliant; doesn't work in IE
	  }
	  catch(ex) {
		elem.add(elOptNew); // IE only
	  }
	}
	
	function removeOptionLast(elem)
		{
			if (elem.length > 0)
			{
				elem.remove(elem.length - 1);
			}
		}
	function removeAllOptions(elem) {
		while (elem.length > 0)
		{
			removeOptionLast(elem);
		}
	}
	function updateRoomList(path) {
		new Ajax.Updater('rslokaleoversigt_wrap', path, { method: 'get' });
	}
	function popupalertAjax(path) {
		createAjaxPopupInfoBox();
		new Ajax.Updater('popupbox', path, { 
			method: 'get',
			insertion: Insertion.Bottom
			});
	}
	function createAjaxPopupInfoBox() {
		if (popupId) {
			clearInterval(popupId);
		}
		if ($('popupbox')) $('popupbox').parentNode.removeChild($('popupbox'));

		var elem = document.createElement('div');
		elem.id = "popupbox";
		elem.style.minHeight="100px";
		elem.style.width="400px";
		elem.style.marginLeft="-200px";
		elem.style.top = document.documentElement.scrollTop+"px";
		elem.style.background="#efefef";
		
		var popupclose = document.createElement("p");
		popupclose.style.cssFloat='right';
		//popupclose.id = "popupclose";
		popupclose.style.margin='-10px -10px 0 0';
		popupclose.style.padding='2px 5px 2px 5px';
		popupclose.style.backgroundColor='#aaa';

		
		var popupcloselink = document.createElement("a");
		popupcloselink.href = "#";
		popupcloselink.setAttribute("onclick", "this.parentNode.parentNode.parentNode.removeChild(this.parentNode.parentNode);return false");
		popupcloselink.style.color='#000';

		popupcloselink.appendChild(document.createTextNode("Luk"));
		popupclose.appendChild(popupcloselink);

		elem.appendChild(popupclose);
		document.getElementById('rslokaleoversigt_wrap').appendChild(elem);

	}
	var popupId = 0;
	function popupWin(myHTML) {
		if (!$('popupbox')) {
			var elem = document.createElement('div');
			elem.id = "popupbox";
			elem.style.opacity="1";
			//elem.style.top="300px";
			elem.style.top = document.documentElement.scrollTop+"px";
			elem.style.minHeight="100px";
			elem.style.background="#dcdcdc";
			elem.innerHTML = myHTML;
			document.body.appendChild(elem);
		}
		else $('popupbox').innerHTML = myHTML;
		if (popupId) clearInterval(popupId);
		popupId = setInterval("hidePopupWin()", 100);
	}
	function hidePopupWin() {
		if ($('popupbox').style.opacity<=0) {
			clearInterval(popupId);
			$('popupbox').parentNode.removeChild($('popupbox'));
		}
		else if ($('popupbox').style.opacity>0.6) {
			$('popupbox').style.opacity = $('popupbox').style.opacity-0.01;
		}
		else {
			$('popupbox').style.opacity = $('popupbox').style.opacity-0.02;
		}
	}
