	function getSel(){
		range = document.selection.createRange();
		txt = range.text;
		if (!txt)
			return false;
		else
			return true;
		//range.text = "(BibelverseStart: 12, 12, 12 )" + txt + "( /BibelverseEnd)";
	}

	function transform(trans){
		sstyle=new Array(3);
		sstyle[0]="B>";
		sstyle[1]="U>";
		sstyle[2]="I>";
		if (getSel()){
			range.text = "<" + sstyle[trans] + txt + "</" + sstyle[trans];
			document.formedit.textedit.focus();
		}
	}

	function centerText(){
		getSel();
		range.text = "<Div Align=Center>" + txt + "</Div>";
		document.formedit.textedit.focus();
	}
	
	function article_headline(){
		getSel();
		range.text = "<div align=\"center\"><b>" + txt + "</b></div>";
		document.formedit.textedit.focus();
	}

	function subSUP(tag){
		if (getSel()){
			if (tag==1)
				range.text = "<Sub>" + txt + "</Sub>";
			else
				range.text = "<Sup>" + txt + "</Sup>";
			document.formedit.textedit.focus();
		}
	}

	function ul(type){
		if (getSel()){
			lines = txt.split("\n");
			txt="";
			for (g=0; g<=lines.length-1; g++){
				test=lines[g].replace(/\n/,"");
				if (test.length > 1)
					txt = txt + "<Li>" + lines[g];
				else
					txt = txt + lines[g];

			}
			range.text = "<Ul" + type + ">" + txt + "</Ul>";
			document.formedit.textedit.focus();
		}
	}

	function indent(){
		if (getSel()){
			divStart = /<Div Style=\"padding-left:([0-9]*)\">/
			divEnd = /<\/Div>/
			indentNum = divStart.exec(txt);
			if (indentNum)
				indentNum = indentNum[1] * 2/2+10;
			else
				indentNum = 10

			txt = txt.replace(divStart,"");
			txt = txt.replace(divEnd,"");
			txt = "<Div Style=\"padding-left:" + indentNum + "\">" + txt + "</Div>";
			range.text=txt;
			document.formedit.textedit.focus();
		}
	}

	function outdent(){
		if (getSel()){
			divStart = /<Div Style=\"padding-left:([0-9]*)\">/
			divEnd = /<\/Div>/
			outdentNum = divStart.exec(txt);
			if (outdentNum[1] * 2 / 2 - 10 > 0){
				outdentNum = outdentNum[1] * 2 / 2 - 10;
				txt = txt.replace(divStart,"");
				txt = txt.replace(divEnd,"");
				txt = "<Div Style=\"padding-left:" + outdentNum + "\">" + txt + "</Div>";
				range.text=txt;
			} else {
				unFormat();
			}
			document.formedit.textedit.focus();
		}
	}

	function unFormat(){
		var outtext = "";
		var flag = 0;
		var i = 0;
		sT = document.selection.createRange();
		sTxt = sT.text;
		while(i <= sTxt.length)
		{
			c = sTxt.charAt(i)
			if(c == "<")
				flag++;
			if(flag==0)
				outtext += c;
			if(c == ">")
				flag--;
			i++;
		}
		if(flag==0)
			sT.text = outtext;
		else
			alert("Fejl");
	}
	function winopen(doc,navn,width,height){
		window.open(doc, navn, 'resizable=1,menubar=no,directories=no,status=no,location=no,width='+width+',height='+height+',scrollbars=1');
	}
	srw=screen.width;
	srh=screen.height;

	// article message
	function emailCheck (emailStr) {

	var checkTLD=1;
	var knownDomsPat=/^(com|net|org|edu|int|mil|gov|arpa|biz|aero|name|coop|info|pro|museum)$/;
	var emailPat=/^(.+)@(.+)$/;
	var specialChars="\\(\\)><@,;:\\\\\\\"\\.\\[\\]";
	var validChars="\[^\\s" + specialChars + "\]";
	var quotedUser="(\"[^\"]*\")";
	var ipDomainPat=/^\[(\d{1,3})\.(\d{1,3})\.(\d{1,3})\.(\d{1,3})\]$/;
	var atom=validChars + '+';
	var word="(" + atom + "|" + quotedUser + ")";
	var userPat=new RegExp("^" + word + "(\\." + word + ")*$");
	var domainPat=new RegExp("^" + atom + "(\\." + atom +")*$");
	var matchArray=emailStr.match(emailPat);
	if (matchArray==null) {
		alert("Mail adressen er ikke korrekt (tjek '@' og '.''s)");
		return false;
	}
	var user=matchArray[1];
	var domain=matchArray[2];

	for (i=0; i<user.length; i++) {
		if (user.charCodeAt(i)>127) {
			alert("Adresse indeholder ugyldige karakterer.");
			return false;
	   }
	}
	for (i=0; i<domain.length; i++) {
		if (domain.charCodeAt(i)>127) {
			alert("Domainet indeholder ugyldige karakterer.");
			return false;
	   }
	}

	if (user.match(userPat)==null) {
		alert("Mail adressen ser ikke ud til at være valid.");
		return false;
	}

	var IPArray=domain.match(ipDomainPat);
	if (IPArray!=null) {
		for (var i=1;i<=4;i++) {
			if (IPArray[i]>255) {
				alert("Destination IP address is invalid!");
				return false;
	   		}
		}
		return true;
	}

	var atomPat=new RegExp("^" + atom + "$");
	var domArr=domain.split(".");
	var len=domArr.length;
	for (i=0;i<len;i++) {
		if (domArr[i].search(atomPat)==-1) {
			alert("Domain navnet ser ikke ud til at være valid");
			return false;
		   }
	}

	if (checkTLD && domArr[domArr.length-1].length!=2 && domArr[domArr.length-1].search(knownDomsPat)==-1) {
		alert("Adressen må indeholde et kendt domæne, eller to bogstaver " + "country.");
		return false;
	}


	if (len<2) {
		alert("Denne adresse manger et hostnavn!");
		return false;
	}


	return true;
}


function show_layer(layerName){

	start = true;
	g = 0;
	
	while (start){
		
		lay = document.getElementById("link_" + g);
		
		if (lay){
			
			lay.style.visibility = 'hidden';
			
			but = document.getElementById("buttonlink_" + g)
			but.className = "normal";
		}
		else {
			start = false;
		}
		
		g++;

	}
	
	lay = document.getElementById(layerName);
	lay.style.visibility = 'visible';
	
	but = document.getElementById("button" + layerName)
	
	but.className = "bold";
	
	return false;
}

function articleMessageONOFF(){
	
	lay = document.getElementById("layer_articleMessage");
	
	if (lay.style.display == 'block'){
		lay.style.display = 'none';
		document.open_close_articleMessage.src = 'gfx/arrowdown_button.jpg';
	} else {
		lay.style.display = 'block';
		document.open_close_articleMessage.src = 'gfx/arrowup_button.jpg';
	}

	return false;
}

function confirmStatement (confirmStatement, yesURL, noURL){
	if (confirm(confirmStatement))
		window.location = yesURL;
	else if (noURL)
		window.location = noURL;
	else
		return false;
}

function clearBibleboxmenu(){
	
	document.bibleboxmenu.comment.value = '';
	document.bibleboxmenu.verse.value = '';
	document.bibleboxmenu.themeSelect.selectedIndex = 0;
	document.boxcommentgif.src='gfx/blank.gif';
	
	return false;

}

	var translation_shown = false;

	function get_word_translation() {
		
		if (!translation_shown){
		
			var range;
			
			if (document.selection && document.selection.createRange) {
			
				range = document.selection.createRange();
				
				if (range.htmlText){
					word_translate(range.htmlText);
					translation_shown = true;
				}
				else {
					translation_shown = false;
					return false;
				}
				
			
			}
			else if (window.getSelection) {
				var selection = window.getSelection();
				
				if (selection.rangeCount > 0) {
					
					range = selection.getRangeAt(0);
					var clonedSelection = range.cloneContents();
					var div = document.createElement('div');
					div.appendChild(clonedSelection);
					
					if (div.innerHTML){
						word_translate(div.innerHTML);
						translation_shown = true;
					}
					else {
						translation_shown = false;
						return false;
					}
				
				}
				else {
			  		translation_shown = false;
			  		return false;
				}
			}
			else {
				translation_shown = false;
				return false;
			}
		}
		else
			translation_shown = false;
	}
	
	function divbox_onoff(obj){
		
		obj = document.getElementById(obj);
		
		if (obj.style.display == '')
			obj.style.display = 'none';
		else
			obj.style.display = '';
			
	}
	
	var rUrl = {  
   
     // public method for url encoding  
     encode : function (string) {  
         return escape(this._utf8_encode(string));  
     },  
   
     // public method for url decoding  
     decode : function (string) {  
         return this._utf8_decode(unescape(string));  
     },  
   
     // private method for UTF-8 encoding  
     _utf8_encode : function (string) {  
         string = string.replace(/\r\n/g,"\n");  
         var utftext = "";  
   
         for (var n = 0; n < string.length; n++) {  
   
             var c = string.charCodeAt(n);  
   
             if (c < 128) {  
                 utftext += String.fromCharCode(c);  
             }  
             else if((c > 127) && (c < 2048)) {  
                 utftext += String.fromCharCode((c >> 6) | 192);  
                 utftext += String.fromCharCode((c & 63) | 128);  
             }  
             else {  
                 utftext += String.fromCharCode((c >> 12) | 224);  
                 utftext += String.fromCharCode(((c >> 6) & 63) | 128);  
                 utftext += String.fromCharCode((c & 63) | 128);  
             }  
   
         }  
   
         return utftext;  
     },  
   
     // private method for UTF-8 decoding  
     _utf8_decode : function (utftext) {  
         var string = "";  
         var i = 0;  
         var c = c1 = c2 = 0;  
   
         while ( i < utftext.length ) {  
   
             c = utftext.charCodeAt(i);  
   
             if (c < 128) {  
                 string += String.fromCharCode(c);  
                 i++;  
             }  
             else if((c > 191) && (c < 224)) {  
                 c2 = utftext.charCodeAt(i+1);  
                 string += String.fromCharCode(((c & 31) << 6) | (c2 & 63));  
                 i += 2;  
             }  
             else {  
                 c2 = utftext.charCodeAt(i+1);  
                 c3 = utftext.charCodeAt(i+2);  
                 string += String.fromCharCode(((c & 15) << 12) | ((c2 & 63) << 6) | (c3 & 63));  
                 i += 3;  
             }  
   
         }  
   
         return string;  
     }  
   
 	}  

	function article_overview(ajax_user){
		
		var xmlHttp;
		try{
	    	// Firefox, Opera 8.0+, Safari
	    	xmlHttp=new XMLHttpRequest();
	    }
		catch(e){
	    	// Internet Explorer
	    	try{
				xmlHttp=new ActiveXObject("Msxml2.XMLHTTP");
		      }
	    	catch(e){
	      		try{
	        		xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
	        	}
	      		catch(e){
	        		alert("Your browser does not support AJAX!");
	        		return false;
	        	}
	      	}
	    }

//		if  (ajax_user == 'article_overview'){
			xmlHttp.onreadystatechange=function(){
				if(xmlHttp.readyState==1){
		    	document.getElementById(ajax_user).innerHTML='<div class="front_page_header">&nbsp;</div><center><h1>Henter...</h1></center>';
				}
				else if (xmlHttp.readyState==2){
          document.getElementById(ajax_user).innerHTML='<div class="front_page_header">&nbsp;</div><center><h1>Hentet...</h1></center>';
        }
        else if (xmlHttp.readyState==3){
          document.getElementById(ajax_user).innerHTML='<div class="front_page_header">&nbsp;</div><center><h1>Øjeblik...</h1></center>';
        }
				else if(xmlHttp.readyState==4){
//					clearTimeout(xmlHttpTimeout); 
		        	document.getElementById(ajax_user).innerHTML=xmlHttp.responseText;
				}
				
			}
			
			add_params = '';
				
			xmlHttp.open("POST",ajax_user + ".php", true);
			xmlHttp.setRequestHeader( 'Content-type', 'application/x-www-form-urlencoded; charset=ISO-8859-1' );
			xmlHttp.setRequestHeader( 'Connection', 'close');
			if (ajax_user == 'article_overview'){
				add_params = '&next=' + eval("document." + ajax_user + "_form.next").value;
			}
			if (ajax_user == 'news_overview'){
				add_params = '&next=' + eval("document." + ajax_user + "_form.next").value;
			}
			
			xmlHttp.send('view=' + eval("document." + ajax_user + "_form.view").value + add_params);
			
//		}
	
/*	
		if  (ajax_user == 'news_overview'){
			xmlHttp.onreadystatechange=function(){
				if(xmlHttp.readyState==1){
		        	document.getElementById('news_overview').innerHTML='<div class="front_page_header">&nbsp;</div><center><h1>Et øjeblik</h1></center>';
				}
				if(xmlHttp.readyState==4){
		        	document.getElementById('news_overview').innerHTML=xmlHttp.responseText;
				}
			}
			xmlHttp.open("POST","forside_html/news.php", true);
			xmlHttp.setRequestHeader( 'Content-type', 'application/x-www-form-urlencoded; charset=UTF-8' );
			xmlHttp.setRequestHeader( 'Connection', 'close');
			xmlHttp.send('view=' + rUrl._utf8_encode(document.news_overview_form.view.value));
		}
*/		
//		xmlHttp.open("POST","article_overview.php", true);
	//	xmlHttp.setRequestHeader( 'Content-type', 'application/x-www-form-urlencoded' );
//		xmlHttp.setRequestHeader( 'Content-type', 'application/x-www-form-urlencoded; charset=ISO-8859-1' );
	//	xmlHttp.setRequestHeader( 'Content-length', send.length );
//		xmlHttp.setRequestHeader( 'Connection', 'close');
//		xmlHttp.send('view=' + document.article_overview_form.view.value);
	}
	
// --------------------------------- VIDEO ------------------------------- //	
	function playerReady(obj) {
		var player;
		var id = obj['id'];
		var version = obj['version'];
		var client = obj['client'];
		player = document.getElementById(id);
		start_video(player);
	};
	
	function start_video(video){
		video.sendEvent('PLAY', true); 
	}          
	
	function close_all_videos(id){
		divs = document.getElementsByTagName('div');
		for (var i = 0; i <= divs.length - 1; i++){
			if (divs[i].id.indexOf('videolink_') > -1 && divs[i].id != 'videolink_' + id){
				divs[i].style.display = 'none';
			}
		}
	}
// --------------------------------- / VIDEO ------------------------------- //
// --------------------------------- NEWS BLOGS ------------------------------- //	
	function prepareRelatedNews(groupId, newsId, newsType){
		if (!newsType){
			newsType = 'RelatedNews';
		}
		if (!newsId){
			relatedDiv = document.getElementById(newsType);
			newsId = '';
		}
		else {
			relatedDiv = document.getElementById(newsType + '_' + newsId);
		}
		relatedDiv.innerHTML = '<br><div align="center"><b>Et øjeblik</b> <img src="/gfx/ajaxwait.gif"></div><br>';
		agent.call('', 'get' + newsType, 'show' + newsType, ',' + groupId + ',', newsId);
	}
	function prepareLinkNews(newsId){
		relatedDiv = document.getElementById('LinkNews' + '_' + newsId);
		
		relatedDiv.innerHTML = '<br><div align="center"><b>Et øjeblik</b> <img src="/gfx/ajaxwait.gif"></div><br>';
		agent.call('', 'getLinkNews', 'showLinkNews', newsId);
	}
	
	function showRelatedNews(text){
		obj = text.split('||');
		if (obj[1]){
			document.getElementById('RelatedNews_' + obj[1]).innerHTML = obj[0];
		}
		else {
			document.getElementById('RelatedNews').innerHTML = obj[0];
		}
	}	
	function showLinkNews(text){
		obj = text.split('||');
		if (obj[1]){
			document.getElementById('LinkNews_' + obj[1]).innerHTML = obj[0];
		}
		else {
			document.getElementById('LinkNews').innerHTML = obj[0];
		}
	}	
// --------------------------------- /NEWS BLOGS ------------------------------- //

// RESIZE IMAGES	
	var imageResize = {
		getImages: function(evt){
			images = document.getElementsByTagName('img');
			for (i in images){
				if (images[i].getAttribute){
					if (images[i].getAttribute('resize') == 'true'){
						if (images[i].addEventListener) {
							images[i].addEventListener("click", imageResize.doImageResize, false);
							//images[i].addEventListener("mouseout", doImageResize, false);
						} 
						else if (images[i].attachEvent) {
							images[i].attachEvent ("onclick", imageResize.doImageResize);
							//images[i].attachEvent ("onmouseout", doImageResize);
						} else {
							images[i].onclick = imageResize.doImageResize;
							//images[i].onmouseout = imageResize.doImageResize;
						}
						images[i].title = 'Klik for at forstørre / formindske';
						images[i].alt = 'Klik for at forstørre / formindske';
/*
						images[i].style.paddingBottom = '10px';
						var obj;
						evt.target ? obj=evt.target : obj=evt.srcElement;
						screenSettings = imageResize.getScreenSettings(evt);
						textDiv = document.createElement('div');
						textDiv.innerHTML = 'Klik for stort';
						textDiv.setAttribute('style', 'position:absolute; width:' + (images[i].width - 2) + 'px; top:' + (imageResize.findPosY(images[i]) + images[i].height + 10) + 'px; left:' + (imageResize.findPosX(images[i]) + 1) + 'px; background-color:#FFFFFF; border:solid 1px black; text-align:center; font-size:9px; font-family:verdana');
						document.body.appendChild(textDiv);
*/
					}
				}
			}
		},
		doImageResize: function(evt){
			var obj;
			evt.target ? obj=evt.target : obj=evt.srcElement;
			screenSettings = imageResize.getScreenSettings(evt);

			if (obj.style.position == 'absolute'){
				obj.style.width = obj.oldWidth;
				obj.style.left = obj.oldPosLeft;
				obj.style.top = obj.oldPosTop;
				obj.style.position = '';
			}
			else {
				obj.oldPosLeft = obj.offsetLeft;
				obj.oldPosTop = obj.offsetTop;
				obj.style.position = 'absolute';
				obj.oldWidth = obj.style.width;
				obj.style.width = '';
				imgWidth = obj.width;
				imgHeight = obj.height;
				imageTop = imageResize.findPosY(obj);
				if (screenSettings.x - (imgWidth / 2) < 0){
					newPosLeft = 0;
				}
				else if (screenSettings.x + (imgWidth / 2) > screenSettings.screenX){
					newPosLeft = screenSettings.screenX - imgWidth + screenSettings.scrollX;
				}
				else {
					newPosLeft = screenSettings.x - (imgWidth / 2);
				}
				if (imgHeight > screenSettings.screenY){

					newPosTop = (screenSettings.scrollY + screenSettings.screenY / 2) - (	imgHeight / 2);
				}
				else if (imgHeight + imageTop > (screenSettings.scrollY + screenSettings.screenY)){
					newPosTop = screenSettings.scrollY + screenSettings.screenY - imgHeight + 10;
				}
				else if (imageTop + (imgHeight / 2) > screenSettings.screenY){
					newPosTop = screenSettings.scrollY + 10;
				}
				else {
					newPosTop = screenSettings.y - (imgHeight / 2);
				}

				obj.style.left = newPosLeft;
				obj.style.top = newPosTop;
			}
		},
		getScreenSettings: function(e){
			var screenSettings = {x:0, y:0, screenX:0, screenY:0, scrollX:0, scrollY:0}
			if (e.pageX || e.pageY) {
				screenSettings.x = e.pageX;
				screenSettings.y = e.pageY;
				screenSettings.screenX = window.innerWidth;
				screenSettings.screenY = window.innerHeight;
				screenSettings.scrollX = window.pageXOffset;
				screenSettings.scrollY = window.pageYOffset;
			}
			else {
				var de = document.documentElement;
				var b = document.body;
				screenSettings.x = e.clientX + (de.scrollLeft || b.scrollLeft) - (de.clientLeft || 0);
				screenSettings.y = e.clientY + (de.scrollTop || b.scrollTop) - (de.clientTop || 0);
				screenSettings.screenX = de.clientWidth || b.clientWidth;
				screenSettings.screenY = de.clientHeight || b.clientHeight;
				screenSettings.scrollX = de.scrollLeft || b.scrollLeft;
				screenSettings.scrollY = de.scrollTop || b.scrollTop;
			}
			return screenSettings;
		},
		findPosX: function(obj){
			var curleft = 0;
			if(obj.offsetParent)
			while(1){
				curleft += obj.offsetLeft;
				if(!obj.offsetParent)
				break;
				obj = obj.offsetParent;
			}
			else if(obj.x)
				curleft += obj.x;
			return curleft;
		},
		findPosY: function(obj){
			var curtop = 0;
			if(obj.offsetParent)
			while(1){
				curtop += obj.offsetTop;
				if(!obj.offsetParent)
				break;
				obj = obj.offsetParent;
			}
			else if(obj.y)
				curtop += obj.y;
			return curtop;
		}
	}