	function notagReplace( target, markTerm, tagStart, tagEnd, caseSens, wordOnly, t ) 
	{
		var work = target;
		var ind = 0;
		var next = 0;

		if ( !caseSens ) 
		{
			markTerm = markTerm.toLowerCase();
			work = target.toLowerCase();
		}

		while ( ( ind = work.indexOf( markTerm, next ) ) >= 0 ) 
		{
			if ( ! ( work.substring( 0, ind ).lastIndexOf( '<' ) < work.substring( 0, ind ).lastIndexOf( '>' ) ) ) 
			{
				next = ind + markTerm.length;
				continue;
			}
			
			var precedingChar = ( ind > 0 ? work.substring( ind - 1, ind ) : '' );
			var procedingChar = ( ind + markTerm.length < work.length ? work.substring( ind + markTerm.length, ind + markTerm.length + 1) : '' );
			
			var WordStart = !( ( 'abcdefghijklmnopqrtsuvwxyzĉĝċ' ).indexOf( precedingChar ) > -1 );
			var WordEnd = !( ( 'abcdefghijklmnopqrtsuvwxyzĉĝċ' ).indexOf( procedingChar ) > -1 );
			
			// Abort if word is "not alone".
			if( !WordStart || !WordEnd )
			{
				next = ind + markTerm.length;
				continue;
			}
			
			target = target.substring(0,ind) + tagStart + target.substring(ind,(ind+markTerm.length)) + tagEnd + target.substring(ind+markTerm.length,target.length); 
			work = work.substring(0,ind) + tagStart + work.substring(ind,(ind+markTerm.length)) + tagEnd + work.substring(ind+markTerm.length,work.length); 
			next = ind + tagStart.length + tagEnd.length;
			Found[t] = 1;

			if (next >= work.length) 
			{ 
				break;
			} 
		}
		return target;
	}

	function LaunchPopup( guid, lcid )
	{
		winHandle = window.open('/Glossary/WordExplanation.aspx?Guid=' + guid +'&Lcid=' + lcid, 'GlossaryPopup', 'width=320,height=270,scrollbars=yes,toolbar=no,menubar=no,resizable=yes,left=300,top=200,alwaysRaised=yes');
	}

	var OriginalContent;

	function markKeywords( strHTML ) 
	{
		OriginalContent = strHTML;
		if ( null != Words ) {
			var LongestWordLength = 0;
			for (var t=0; t < Words.length ; t++) 
			{
				if ( Words[t].length > LongestWordLength )
				{
					LongestWordLength = Words[t].length;
				}
			}
			
			var WordsSorted = new Array();
			
			for( var t=LongestWordLength ; t > 0 ; t--)
			{
				for ( var tt = 0; tt < Words.length ; tt++)
				{
					if ( Words[tt].length == t )
					{
						strHTML = notagReplace( strHTML, Words[tt], '<span class="GlossaryFound">', '</span>', false, false, tt);
					}
				}
			}
		} 
		return strHTML;
	}

	function runGlossary()
	{
		var Content = document.getElementById( 'ContentColumnInner' ).innerHTML;
		Content = markKeywords( Content );
		document.getElementById( 'ContentColumnInner' ).innerHTML = Content;

		var Glossary = document.getElementById( 'Glossary' ).innerHTML;
		var ZeroFound = true;
		
		Glossary = Glossary + '<div id="GlossaryInner" class="Teaser"><h1>' + GlossaryTitel() + '</h1><ul class="WordList">';
		
		
		for ( var i = 0 ; i < Found.length ; i++ )
		{
			if ( Found[i] == 1 )
			{
				Glossary = Glossary + '<li><a href="javascript: LaunchPopup( \'' + Guid[i] + '\',' + Lcid + ');">' + Words[i] + '</a></li>';
				ZeroFound = false;
			}
		}
		
		if ( ZeroFound )
		{
			Glossary = Glossary + GlossaryNoFound();
		}
		
		if(document.getElementById( 'DK_page' )){
			Glossary = Glossary + '</ul>' + '<h6 class="GlossaryLink"><a href="/composite-144.htm" title="Se hele ordbogen">Se hele ordbogen</a></h6></div>';
		
		}
		
		if(document.getElementById( 'UK_page' )){
			Glossary = Glossary + '</ul>' + '<h6 class="GlossaryLink"><a href="/composite-952.htm" title="See complete glossary">See complete glossary</a></h6></div>';
		
		}
		
		document.getElementById( 'Glossary' ).innerHTML = Glossary;
	}

	function GetGlossaryStatus() 
	{
		var allCookies = document.cookie;
		var cookiePosInArray = allCookies.indexOf( 'GlossaryStatus' );
		
		if (cookiePosInArray != -1)
		{
			var cookieArray = document.cookie.split('; ');
			for(var i=0;i<cookieArray.length;i++)
			{
				if(cookieArray[i].split('=')[0]=='GlossaryStatus')
				{
					return cookieArray[i].split('=')[1];
				}
			}
		}
		
		return 'off';
	}

	function SetGlossaryStatus(SetValue) 
	{
		document.cookie = 'GlossaryStatus=' + SetValue;
	}

	function GlossaryOnOff() 
	{
		if ( GetGlossaryStatus() == 'on' )
		{
			
			document.getElementById( 'ContentColumnInner' ).innerHTML = OriginalContent;
			document.getElementById( 'GlossaryOnOff' ).innerHTML = GlossaryOff();
			document.getElementById( 'Glossary' ).style.display = 'none';
			SetGlossaryStatus( 'off' );
			document.getElementById( 'Glossary' ).innerHTML = '';
		}
		else
		{
			SetGlossaryStatus( 'on' );
			document.getElementById( 'GlossaryOnOff' ).innerHTML = GlossaryOn();
			document.getElementById( 'Glossary' ).style.display = 'block';
			runGlossary();
		}
	}

	if ( GetGlossaryStatus() == 'on' )
	{
		document.getElementById( 'GlossaryOnOff' ).innerHTML = GlossaryOn();
		document.getElementById( 'Glossary' ).style.display = 'block';
		runGlossary();
	}
	else
	{
		document.getElementById( 'GlossaryOnOff' ).innerHTML = GlossaryOff();
		document.getElementById( 'Glossary' ).style.display = 'none';
	}

