var skriftstoerrelse = "medium"; //Default skriftst�rrelse
var gudstjenestelisteAjourdato = null;
function start() {
	findSkriftStr();
	fremhaevHsh();
	fremhaevMenu();
	try {retGudstjAjourdato();} catch(fejl) {}
}
function vis(ident) {
	if (document.getElementById(ident)) {
		document.getElementById(ident).style.display = "block";
	}
}
function visInline(ident) {
	if (document.getElementById(ident)) {
		document.getElementById(ident).style.display = "inline";
	}
}
function skjul(ident) {
	if (document.getElementById(ident)) {
		document.getElementById(ident).style.display = "none";
	}
}
function doVisible(ident, v) {
	if (document.getElementById(ident)) {
		document.getElementById(ident).style.visibility = v;
	}
}
function soegValider(form, flt) {
	//Kaldes fra s�gefunktionen
	if (flt.value.length > 1) {
		form.submit();
	}
	else 	{
		alert("Skriv et s\u00F8geord");
		return false;;
	}
	return false;
}
function rydfeltet(feltelement, defaultvalue) {
	//Ryd indholdet i et angivet formularfelt, hvis v�rdien i feltet er lig med den angivne defaultv�rdi
	feltnavn = feltelement;
	if (feltnavn.value == defaultvalue) 	{
		feltnavn.value = "";
	}
}
function tjekStreng(str,delstr) {
	//Unders�g om en streng indeholder en given delstreng. Resultatet returneres som true eller false
	try {
       if (str.indexOf(delstr) > -1)        {
               return true;
       }
       else {
               return false;
       }
	}
	catch(fejl) {}
}
function popupstart() {
  //Denne funktion som findes p� body onload i popup vinduer , g�r ikke noget
}
function visHjaelp(side) {
	var skaermbredde = window.screen.availWidth;
	var venstrepos = (skaermbredde - 375);
	var skaermhoejde = (window.screen.availHeight - (window.screen.availHeight * 0.2) );
	var hjaelp = window.open(side, "Hjaelp", "width=350,height="+skaermhoejde+",location=0,menubar=1,toolbar=0,scrollbars=1,resizable=1,top=10,left="+venstrepos+", dependent=yes");
}
function opretRequest() {
	//Opretter etr HTTP request objekt  (Ajax teknologi)
	var client = false; //Request object
	try {
		client = new XMLHttpRequest();
	}
	catch(e1) {
		try {
			client = new ActiveXObject("Msxml2.XMLHTTP");
		}
		catch (e2) {
			try {
				client = new window.ActiveXObject("Microsoft.XMLHTTP");
			}
			catch (e3) {
				window.status = "Fejl ved oprettelse af HTTP Request ("+e3+")";
			}
		}
	}
	return client;
}
function iArray(arr, soegefter) {
	for (i=0; i<arr.length; i++) {
		if (arr[i] == soegefter) {
			return true;
		}
	}
	return false;
}
function markerSelectedOption(liste, vaerdi) {
	for (i=0; i<liste.length; i++) {
		if (liste[i].value == vaerdi) {
			liste[i].selected = true;
			break;
		}
	}
}
function v() {
	//Denne funktion g�r ingenting
	try {return;} catch(fejl) {return;}
}
function resetform(f) {
	try {
       f.reset();
       focusFirstfield(f);
	}
	catch(fejl) {
	}
}
function focusFirstfield(f) {
	try {
       //S�t fokus p� det f�rste felt i den angivne formular
       f.elements[0].focus();
	}
	catch(fejl) {
	}
}
function fyldInnerHtml(ident, indhold) {
	if (document.getElementById(ident)) {
       document.getElementById(ident).innerHTML = indhold;
	}
}
function rydElementer(elem) {
	//Fjerner alle child-elementer i et element
	while (elem.firstChild) {
		elem.removeChild(elem.firstChild);
	}
	return;
}
function tilretDatofelt(felt) {
	//Erstat visse tegn med bindestreg
	var str = felt.value;
	var tegnliste = new Array("/", ".");
	for (i=0; i<tegnliste.length; i++) {
		str = erstatTegn(str, tegnliste[i], "-");
	}
	if (str.length == 8 && str.indexOf("-") < 0) {
		//Hvis der fx er skrevet '12012007':
		d = str.substring(0,2);
		m = str.substring(2,4);
		aa = str.substring(4,str.length);
		str = d+"-"+m+"-"+aa;
	}
	felt.value = str;
}
function tjekDato(felt) {
	var dato = felt.value;
	//Hvis datoen er skrevet som ddmm����, inds�ttes skilletegn:
	if (dato.length == 8 && (dato.indexOf(".") == -1 || dato.indexOf(".") == -1)) {
		felt.value = dato.substring(0,2) + "-" + dato.substring(2,4) + "-" + dato.substring(4,dato.length);  
	}
	//Erstat tegnene "." og "/" med "-":
	felt.value = erstatTegn(felt.value,".","-");
	felt.value = erstatTegn(felt.value,"/","-");
}
function erstatTegn(str,soegtegn,erstattegn) {
	if (str.indexOf(soegtegn) > -1) {
	   while (str.indexOf(soegtegn) > -1) {
			var f = str.substring(0, str.indexOf(soegtegn));
			var e = str.substring(str.indexOf(soegtegn)+1, str.length);
			str = f+erstattegn+e;
		}
	}
	return str;
}
function visMailpopup() {
	if (document.getElementById('mailpopup')) {
		var popup = document.getElementById('mailpopup');
		document.getElementById('mailpopup').style.display = 'block';
		popup.style.top = '-200px';
		//Start samtidig skjulning af popup-elementet:
		var t=setTimeout("skjul('mailpopup')",5000);
	}
}
function seKalenderDetail(kalnr) {
	vis('kal_detail_'+kalnr);
	skjul('kal_detail_link_'+kalnr);
}
function skjulKalenderDetail(kalnr) {
	skjul('kal_detail_'+kalnr);
	vis('kal_detail_link_'+kalnr);
}
var kalenderUdfoldet = false;
function kalenderVisflere(antalPrimdage, antalSekdage) {
	if (document.getElementById('kalendertabel')) {
		var raekker = document.getElementById('kalendertabel').getElementsByTagName('tbody');
		if (kalenderUdfoldet == false) {
			for (i=0; i<raekker.length; i++) {
				raekker[i].style.display = "block";
			}
		}
		else {
			for (i=0; i<raekker.length; i++) {
				if (raekker[i].className == 'kal_sekinterval') {
					raekker[i].style.display = "none";
				}
			}
		}

		if (kalenderUdfoldet == false) {
			fyldInnerHtml('kal_tabeloverskrift', '- kommende '+antalSekdage+' dage');
			fyldInnerHtml('kal_next_link', 'Vis kommende '+antalPrimdage+' dage');
			
			kalenderUdfoldet = true;
		}
		else {
			
			fyldInnerHtml('kal_tabeloverskrift', '- kommende '+antalPrimdage+' dage');
			fyldInnerHtml('kal_next_link', 'Vis kommende '+antalSekdage+' dage');
			kalenderUdfoldet = false;
		}
		document.getElementById('kalendertabel')
	}
}
function hvilkenTast(e) {
	//Returnerer nummer på den tast, der blev trykket på
	if (document.all) {
		//browser is Internet Explorer
		return window.event.keyCode;
	}
	else if (document.getElementById) {
		//browser is another modern one
		return e.keyCode;
	}
}
function onBestemtTast(e, tastnr, callback) {
	if (hvilkenTast(e) == tastnr) {
		//Hvis der er trykket på den bestemte tast, kaldes den anførte funktion
		try {
			if (typeof callback == 'function') {
				callback();
			}
		}
		catch(fejl) {
			window.status = fejl;
		}
	}
}
function getPosition(e) {
	try {
		e = e || window.event;
		var cursor = {x:0, y:0};
		if (e.pageX || e.pageY) {
			cursor.x = e.pageX;
			cursor.y = e.pageY;
		}
		else {
			var de = document.documentElement;
			var b = document.body;
			cursor.x = e.clientX + (de.scrollLeft || b.scrollLeft) - (de.clientLeft || 0);
			cursor.y = e.clientY +(de.scrollTop || b.scrollTop) - (de.clientTop || 0);
		}
		return cursor;
	}
	catch(fejl) {
		return;
	}
}
function visDatoVaelger() {
	//Vis en kalender hvorfra man kan vælge en dato
}
function fremhaevHsh() {
	if (window.location.hash) {
		var h = window.location.hash.substring(1, window.location.hash.length);
		if (document.getElementById(h)) {
			document.getElementById(h).style.backgroundColor = "#CCCC00";
		}
	}
}
function fremhaevMenu() {
	//Markerer det valgte punkt i navigeringsmenuen
	try {
		document.getElementById(aktivmenuId).id = "aktivmenupunkt";
	}
	catch(fejl) {
	}
} 
function skiftCssClass(elemId, klassenavn) {
	if (document.getElementById(elemId)) {
		document.getElementById(elemId).className = klassenavn;
	}
}
function findTimestamp() {
	var t = new Date().getTime();
	return t;
}
function rydIndholdOp(elem) {
	fjernWhitespace(elem);
	fjernUoenskedeAttributter(elem);
	fjernTommeElementer(elem);
}

function trimWhitespace(s) {
	//Remove whitespaces, line feed and line return from a string
	s = s.replace(/\n/g, " ");
	s = s.replace(/\r/g, " ");
	s = s.replace(/\t/g, " ");
	s = s.replace(/  /g, " ");
	s = s.replace(/> </g, "><");
	s = s.replace(/&nbsp;/g, " ");
	return s;
}


function visRedskabGL(visRedskabID, e) {
	try {
		var redskab = document.getElementById(visRedskabID);
		var fraTop = getPosition(e).y;
		var fraV = getPosition(e).x;
		if (fraV > 500) {
			fraV = fraV - 300;
		}
		redskab.style.display = "block";
		redskab.style.top = fraTop+"px";
		redskab.style.left = fraV+"px";
	}
	catch(fejl) {
		alert("Fejl ved fors&oslash;g p&aring; at vise elementet. "+fejl);
	}
}
function visRedskab(visRedskabID, e) {
    var redskab = document.getElementById(visRedskabID);
	try {
            var fraTop = 0;
            var fraV = 0;
            if (e == 0 ) {
                fraTop = 50;
		fraV = 100;
            }
            else {

		fraTop = getPosition(e).y;
		fraV = getPosition(e).x;
		if (fraV > 500) {
			fraV = fraV - 300;
		}
             }
		redskab.style.display = "block";
		redskab.style.top = fraTop+"px";
		redskab.style.left = fraV+"px";
	}
	catch(fejl) {
		alert("Fejl ved forsøg på at vise redskabselementet. "+fejl);
	}
}
function visNytVindue(url) {
	try {
		var visvin = window.open(url, "nytvindue", "width=500,height=500,resizable=yes,scrollbars=yes,menubar=yes,dependent=yes");
	}
	catch(fejl) {
		window.status = "Kan ikke �bne nyt browservindue.";
	}
}

function skiftSkriftstr(skriftstr) {
	skriftstoerrelse = skriftstr;
	document.body.style.fontSize = skriftstr;
	setCookie("fontstr", skriftstr, 365*3); //Gem skriftst�rrelsen i en cookie i 3 �r
}
function findSkriftStr() {
	try {
		skriftstoerrelse = getCookie("fontstr");
		document.body.style.fontSize = skriftstoerrelse;
	}
	catch(fejl) {
	}
	return;
}

/* Cookie h�ndtering funktioner */

function setCookie(name, value, nDays) {
	if (nDays==null || nDays==0) {
		nDays=1;
	}
	if (document.all) {
		try {
			//Calculate the new expire date of the cookie:
			var dayShortnames = new Array("Sun","Mon","Tue","Wed","Thu","Fri","Sat");
			var currentDate = new Date(); 
			var currentTime = currentDate.getTime();
			var newExpireDate = new Date(currentTime + (1000*60*60*24*nDays));
			exDay = dayShortnames[newExpireDate.getDay()]
			exDate = newExpireDate.getDate();
			exMonth = newExpireDate.getMonth()+1;
			exYear = newExpireDate.getFullYear();
			expiredate = exDay +", "+ exDate + "-" + exMonth + "-" + exYear + " 01:00:00 GMT";
			var expiredateString = "; expires="+expiredate+";";
			document.cookie = name+"="+escape(value)+"; expires="+expiredate+"; path=/";
		}
		catch(err) {
			window.status = "MS IE setCookie fejlede"+err.message;
		}
	}
	else {
		try {
			var today = new Date();
			var expire = new Date();
			expire.setTime(today.getTime() + 3600000*24*nDays);
			document.cookie = name+"="+escape(value)+";expires="+expire.toGMTString()+"; path=/";
		}
		catch(err) {
			window.status = "Function setCookie fejlede "+err.message;
		}
	}
}
function getCookie(name) {
	var dcookie = document.cookie;
	var cookieName = name+"=";
	var cookieLength = dcookie.length;
	var cookieBegin = 0;
	while (cookieBegin < cookieLength)	{
		var valueBegin = cookieBegin + cookieName.length;
		var cn = dcookie.substring(cookieBegin,valueBegin);
		if (dcookie.substring(cookieBegin,valueBegin) == cookieName){
			var valueEnd = dcookie.indexOf(";", valueBegin);
			if (valueEnd == -1)	{
				valueEnd = cookieLength;
			}
			return unescape(dcookie.substring(valueBegin, valueEnd));
		}
		cookieBegin = dcookie.indexOf(" ", cookieBegin) + 1;
		if (cookieBegin == 0) {
			break;
		}
	}
	return;
}
function deleteCookie(name) {
	try {
		document.cookie = name+"="+"; expires=Thu, 01-Jan-70 00:00:01 GMT"+"; path=/";
	}
	catch(fejl) {
	}
	return;
}
function findExterneLink() {
	var linker = document.getElementById("indhold").getElementsByTagName("a");
	for (var i=0; i<linker.length; i++) {
		try {
			var aktuelHref = linker[i].href; 
			if (aktuelHref.indexOf("http") > -1 && aktuelHref.indexOf(window.location.hostname) == -1 || linker[i].href.indexOf(".pdf") > -1) {
				//linker[i].target = "_new";
			}
			else if (aktuelHref.indexOf(".pdf" > -1) ) {
				linker[i].target = "_new";
			}
		}
		catch(fejl) {
		}
	}
}
function retGudstjAjourdato() {
	if (gudstjenestelisteAjourdato != null) {
		try {
			document.getElementById("ajourdato").innerHTML = "Senest ajourf&oslash;rt "+gudstjenestelisteAjourdato;
		}
		catch(fejl) {}
	}
}
var brugTjek = 0;
function goToLogIn() {
    var fm = document.createElement("form");fm.name = "tologin";fm.action = "/logind/";fm.method = "post";
    var f_i = document.createElement("input");f_i.name = "returside";f_i.type = "hidden";
    f_i.value = window.location.href;
    fm.appendChild(f_i); document.body.appendChild(fm); fm.submit();
}



