﻿/* Toogle text in search field functions
---------------------------------------------------------------- */

function focusField(f,txt){
	if(f.value==txt){
		f.value = '';
	}else{
		f.select();
	}
}

function blurField(f,txt){
	if(f.value==''){
		f.value = txt;
	}
}

/* Link function
---------------------------------------------------------------- */

function goToUrl(popup,url){

	// If popup is true, then open in popup, else open normal
	if(url){
		if(popup){
			window.open(url);
		}else{
			location.href = url;
		}
	}

}


/* Dark layer + related functions
---------------------------------------------------------------- */

function insertDark(){

	// Does layer exists? If not then create it
	var dark = document.getElementById('layerdark');
	
	if(!dark){
		var dot = document.createElement("div");
		dot.id = 'layerdark';
		dot.onclick = function(){killAll();}
		document.body.appendChild(dot);
	}
}

function showDark(){
	// Insert dark
	insertDark();
	
	// Adjust height
	var dark = document.getElementById('layerdark');
	var height = document.documentElement.scrollHeight;
	if(dark){
		dark.style.height = height + 'px';
		dark.style.display = 'block';
	}
}

function killDark(){
	var dark = document.getElementById('layerdark');
	if(dark){
		dark.style.display = 'none';
	}
}

function killAll(){
	// Popups to remove
	shareform('hide');
	shareform1('hide');
	
	// Google maps pop
	googlemaps.multiple('hide');
	// Hide dark layer
	killDark();
}

function shareform(command){
	var elm = document.getElementById('shareform');
	if(elm){
		if(command=='show'){
			showDark();
			elm.style.display = 'block';
		}
		if(command=='hide'){
			elm.style.display = 'none';
			killDark();
		}
	}
}

function shareform1(command){
	var elm = document.getElementById('shareform1');
	if(elm){
		if(command=='show'){
			showDark();
			elm.style.display = 'block';
		}
		if(command=='hide'){
			elm.style.display = 'none';
			killDark();
		}
	}
}

function popup(command,url){
	var elm = document.getElementById('pop');
	var abs = document.getElementById('abs');
	var topy;
	if(document.documentElement && (document.documentElement.scrollTop)){topy = document.documentElement.scrollTop;}else{topy = document.body.scrollTop;}
	
	if(elm){
		if(command=='show'){
			showDark();
			elm.style.display = 'block';
			if(url){
				ajaxpage(url,'pop_ajax');
			}
			if(abs){abs.style.top = (50 + topy) + 'px';}
		}
		if(command=='hide'){
			elm.style.display = 'none';
			killDark();
		}
	}
}


/* Validation
---------------------------------------------------------------- */

// General "no-only-space" filter variable
var spaceFilter = /^\s+$/;

function checkEmail(email){
	var str = email;
	var filter = /^[^\s@]+@[^\s@]+\.[a-z]{2,6}$/i;

	// Check e-mail validity - return true or false
	if(filter.test(str)){
		return true;
	}else{
		return false;
	}
}

function validate(f,form){
	if(form=='shareform'){
		var execute = true;
		
		// Errors
		var err = document.getElementById('err_'+form);
		var err_reciever = document.getElementById('err_reciever');
		var err_sender = document.getElementById('err_sender');
		
		// Reset
		err.style.display = 'none';
		err_reciever.style.display = 'none';
		err_sender.style.display = 'none';
		
		
		// Validate
		var reciever = document.getElementById('reciever').value;
		var sender = document.getElementById('sender').value;
		
		if(reciever == '' || !checkEmail(reciever)){
		    execute = false;
		    err_reciever.style.display = 'block';
		}
		if(sender == '' || !checkEmail(sender)){
		    execute = false;
		    err_sender.style.display = 'block';
		}
		
		// Return
		return execute;
		
	}
	
	else if(form=='shareform1'){
		var execute = true;
		
		// Errors
		var err = document.getElementById('err_'+form);
		var err_reciever = document.getElementById('err_reciever');
		
		// Reset
		err.style.display = 'none';
		err_reciever.style.display = 'none';		
		
		// Validate
		var reciever = document.getElementById('reciever').value;
		
		if(reciever == '' || !checkEmail(reciever)){
		    execute = false;
		    err_reciever.style.display = 'block';
		}
		
		// Return
		return execute;
		
	}else if(form=='login'){
		var execute = true;
		
		// Validate
		if(f.username.value == '' || spaceFilter.test(f.username.value)){
			execute = false;
		}
		if(f.password.value == '' || spaceFilter.test(f.password.value)){
			execute = false;
		}
		if(!execute){
			alert('Udfyld venligst felterne.');
		}else{
			f.submit();
		}
		
	}else if(form=='portletsearch'){
		var execute = true;
		
		// Validate
		if(f.keyword.value == '' || spaceFilter.test(f.keyword.value)){
			execute = false;
		}
		
		return execute;
		
	}else if(form=='newsletter'){
		var execute = true;
		
		// Validate
		if(f.email.value == '' || !checkEmail(f.email.value)){
			execute = false;
		}
		
		return execute;
		
	}else if(form=='contact'){
		var execute = true;
		
		// Validate
		if(f.email.value == '' || spaceFilter.test(f.email.value)){
			execute = false;
		}
		
		if(f.subject.value == '' || spaceFilter.test(f.subject.value)){
			execute = false;
		}
		
		if(f.message.value == '' || spaceFilter.test(f.message.value)){
			execute = false;
		}
		
		return execute;
		
	}else if(form=='subscription'){
		var execute = true;
		
		// Validate
		if(f.uname.value == '' || spaceFilter.test(f.uname.value)){
			execute = false;
		}
		
		if(f.address.value == '' || spaceFilter.test(f.address.value)){
			execute = false;
		}
		
		if(f.postal.value == '' || spaceFilter.test(f.postal.value)){
			execute = false;
		}
		
		if(f.phone1.value == '' || spaceFilter.test(f.phone1.value)){
			execute = false;
		}
		
		if(f.phone2.value == '' || spaceFilter.test(f.phone2.value)){
			execute = false;
		}
		
		if(f.birthday.value == '' || spaceFilter.test(f.birthday.value)){
			execute = false;
		}

		return execute;
		
	}else if(form=='comment'){
		var execute = true;
		
		// Validate
		if(f.comment.value == '' || spaceFilter.test(f.comment.value)){
			execute = false;
		}
		
		if(f.author.value == '' || spaceFilter.test(f.author.value)){
			execute = false;
		}
		
		if(f.email.value == '' || !checkEmail(f.email.value)){
			execute = false;
		}
		
		return execute;
		
	}else{
		alert('Error! You are trying to validate a form which doesn´t exists..');
		return false;
	}
}


/* Function: Only numbers (in a input field)
---------------------------------------------------------------- */

function isNumberKey(evt){
	var charCode = (evt.which) ? evt.which : event.keyCode;
	if (charCode > 31 && (charCode < 48 || charCode > 57)){
		return false;
	}else{
		return true;
	}
}

/* Function: Get to next field if value = maxlength
---------------------------------------------------------------- */

function gotoNext(f,field){
	var obj = document.getElementById(f.id);
	var next = document.getElementById(field);
	if(obj){
		if(obj.value.length==obj.maxLength){
			if(next){next.focus();}
		}
	}
}


/* Element: Check all checkboxes in udbyder
---------------------------------------------------------------- */

function checkAll(f){
	var state = f.checked;
	var items = document.getElementsByTagName('input');
	var current = items.length;
	for(d=0;d<current;d+=1){
		if(items[d].type=='checkbox'){
			items[d].checked = state;
		}
	}
}

function checkAllWithClass(f,classNames){
	var state = f.checked;
	var items = document.getElementsByTagName('input');
	var current = items.length;
	for(d=0;d<current;d+=1){
		if(items[d].type=='checkbox'){
			if(items[d].className==classNames){
				items[d].checked = state;
			}
		}
	}
}

function resetAllWithClass(classNames){
	var items = document.getElementsByTagName('input');
	var current = items.length;
	for(d=0;d<current;d+=1){
		if(items[d].type=='checkbox'){
			if(items[d].className==classNames){
				items[d].checked = false;
			}
		}
	}
}
/* Element: Unfold all collapsable divs
---------------------------------------------------------------- */
function openAll(){
	var items = document.getElementsByTagName('div');
	var current = items.length;
	for(d=0;d<current;d+=1){
		if(items[d].className=='mother'){
			var child = document.getElementById(items[d].id + '_children');
			var sym = document.getElementById(items[d].id + '_sym');
			if(child){child.style.display = 'block';}
			if(sym){sym.className = 'minus';}
		}
		if(items[d].className=='child'){
			var child = document.getElementById(items[d].id + '_children');
			var sym = document.getElementById(items[d].id + '_sym');
			if(child){child.style.display = 'block';}
			if(sym){sym.className = 'minus';}
		}
	}
}


/* Element: Select onchange option in udbyder
---------------------------------------------------------------- */

function onSwitch(f,handler){

	// ---------------------------------------------
	// What to do with this value..
	// ---------------------------------------------
	var optionVal = f.options[f.selectedIndex].value;
	
	if(handler=='ajax'){
		// Reload section using ajax? (value could be a url)
		// ajaxpage(optionVal,'container-id');
	}
	if(handler=='link'){
		goToUrl('',optionVal);
	}
	
}


/* Element: Used in udbyder to show / hide children
---------------------------------------------------------------- */

function expand(f){
	var child = document.getElementById(f+'_children');
	var sym = document.getElementById(f+'_sym');

	if(child){
		if(child.style.display == '' || child.style.display == 'none'){
			child.style.display = 'block';
			if(sym){sym.className = 'minus';}
		}else{
			child.style.display = 'none';
			if(sym){sym.className = 'plus';}
		}
	}
}

/* Element: Used in UU-centers
---------------------------------------------------------------- */

function expandUU(f){
	var child = document.getElementById(f+'_child');
	var sym = document.getElementById(f);

	if(child){
		if(child.style.display == '' || child.style.display == 'none'){
			child.style.display = 'block';
			if(sym){sym.className = 'minus';}
		}else{
			child.style.display = 'none';
			if(sym){sym.className = 'plus';}
		}
	}
}

/* Element: Used in magazine (tabs switcher)
---------------------------------------------------------------- */

function setTabs(tab,f,area){
	var tc = document.getElementById(f);
	var sa = tc.getElementsByTagName('a');
	var current = sa.length;
	var stored = '';
	for(var d=0;d<current;d+=1){
		if(d==0){stored=sa[d];}
		var link = sa[d].href;
		sa[d].onclick = function(){
			setTabs(this,f,area);
			tabAjax(link,area);
			return false;
		}
		sa[d].className = 'active';
	}
	if(tab){tab.className = 'selected';}else{stored.className = 'selected';}
}

function tabAjax(link,area){
	try{ajaxpage(link,area);}catch(e){}
}

/* Element: Used in magazine (cases switcher)
---------------------------------------------------------------- */

var magazine = function(f,stop){
	var counter,its,ita,cur,d,str,indicator,timer,current,all;
	return {
		initialize:function(){
			counter = 0;
			current = 1;
			indicator = document.getElementById('indicator');
			its = document.getElementById('maga_ajax');
			ita = its.getElementsByTagName('div');
			cur = ita.length;
			for(d=0;d<cur;d+=1){
				var str = ita[d].className;
				if(str.indexOf('magatheme')!='-1'){
					counter++;
					if(counter==1){ita[d].style.display = 'block';}
					ita[d].id = 'meetexp'+counter+'_cld';
				}
			}
			all = counter;
			if(counter>1){indicator.style.display = 'block';}
			if(all>0){
				counter = 0;
				its = document.getElementById('indicator');
				ita = its.getElementsByTagName('img');
				cur = ita.length;
				for(d=0;d<cur;d+=1){
					counter++;
					if(counter==1){ita[d].className = 'indi_selected';}
					ita[d].id = 'meetexp'+counter;
					ita[d].onclick = function(){
						magazine.set(this.id,true);
					}
				}
				timer = setTimeout("magazine.next();", 8000);
			}
		},
		next:function(){
			current++;
			if(current>all){current = 1;}
			timer = setTimeout("magazine.next();", 7000);
			magazine.set('meetexp'+current);
		},
		reset:function(){
			try{
				its = document.getElementById('maga_ajax');
				ita = its.getElementsByTagName('div');
				cur = ita.length;
				for(d=0;d<cur;d+=1){
					var str = ita[d].className;
					if(str.indexOf('magatheme')!='-1'){
						ita[d].style.display = 'none';
					}
				}
				its = document.getElementById('indicator');
				ita = its.getElementsByTagName('img');
				cur = ita.length;
				for(d=0;d<cur;d+=1){
					ita[d].className = 'indi_active';
				}
			}catch(e){
				clearTimeout(timer);
			}
		},
		set:function(f,stop){
			if(f){
				magazine.reset();
				var idi = document.getElementById(f);
				var cld = document.getElementById(f+'_cld')
				if(idi){idi.className = 'indi_selected';}
				if(cld){cld.style.display = 'block';}
			}
			if(stop){clearTimeout(timer);}
		}
	};
}();


/* Element: Autohide all items with classname "autohide"
---------------------------------------------------------------- */

function autohide(){
	var items = document.getElementsByTagName('div');
	var current = items.length;
	for(d=0;d<current;d+=1){
		var str = items[d].className;
		if(str.indexOf('autohide')!='-1'){
			items[d].style.display = 'none';
		}
	}
}

/* Element: Used in text pages to collapse "headlines" to columns
---------------------------------------------------------------- */

function unfold(){
	var items = document.getElementsByTagName('div');
	var current = items.length;
	var auto = false;
	var counter = 1;
	var folds = 0;
	for(d=0;d<current;d+=1){
		if(items[d].className!=''){
			var str = items[d].className;
			if(str.indexOf('folditem')!='-1'){
				if(str.indexOf('collapsed')!='-1'){
					auto = true;
				}
				folds++;
				counter++;
			}
			if(str.indexOf('foldhead')!='-1'){
				items[d].style.display = 'block';
				items[d].onmouseover = function(){foldSwitch(this,'over');}
				items[d].onmouseout = function(){foldSwitch(this,'out');}
				items[d].onclick = function(){foldSwitch(this,'toogle');}
				items[d].id = 'fold'+counter;
				if(auto){items[d].className = 'foldhead plusactive';}
				if(!auto){items[d].className = 'foldhead minusactive';}
			}
			if(str.indexOf('foldtext')!='-1'){
				if(auto){items[d].style.display = 'none';}
				if(!auto){items[d].style.display = 'block';}
				items[d].id = 'fold'+counter+'text';
				auto = false;
			}
		}
	}
	// Folds found
	if(folds>0){
		var elm = document.getElementById('unfoldall');
		if(elm){
			elm.onmouseover = function(){foldSwitch(this,'on');}
			elm.onmouseout = function(){foldSwitch(this,'off');}
			elm.style.display = 'block';
		}
	}
}

function foldSwitch(f,state){
	var mother = document.getElementById(f.id);
	var child = document.getElementById(f.id+'text');
	if(state=='over'){
		if(mother){
			var str = mother.className;
			if(str.indexOf('plushover')!='-1' || str.indexOf('plusactive')!='-1'){
				mother.className = 'foldhead plushover';
			}else{
				mother.className = 'foldhead minushover';
			}
		}
	}
	if(state=='out'){
		if(mother){
			var str = mother.className;
			if(str.indexOf('plushover')!='-1' || str.indexOf('plusactive')!='-1'){
				mother.className = 'foldhead plusactive';
			}else{
				mother.className = 'foldhead minusactive';
			}
		}
	}
	if(state=='toogle'){
		if(mother && child){
			if(child.style.display == '' || child.style.display == 'none'){
				mother.className = 'foldhead minusactive';
				child.style.display = 'block';
			}else{
				mother.className = 'foldhead plusactive';
				child.style.display = 'none';
			}
			determineUnfoldAll();
		}
	}
	if(state=='on'){
		var str = mother.className;
		if(str.indexOf('sexpanded')=='-1'){
			mother.className = 'unfoldall expandhover';
		}
	}
	if(state=='off'){
		var str = mother.className;
		if(str.indexOf('sexpanded')=='-1'){
			mother.className = 'unfoldall expandactive';
		}
	}
}

function unfoldAll(state){
	var moth = document.getElementById('unfoldall');
	var elm1 = document.getElementById('unfoldallout');
	var elm2 = document.getElementById('unfoldallin');
	var items = document.getElementsByTagName('div');
	var current = items.length;
	for(d=0;d<current;d+=1){
		if(items[d].className!=''){
			if(state=='expand'){
				var str = items[d].className;
				if(str.indexOf('foldhead')!='-1'){
					items[d].style.display = 'block';
					items[d].className = 'foldhead minusactive';
				}
				if(str.indexOf('foldtext')!='-1'){
					items[d].style.display = 'block';
				}
				if(moth){moth.className = 'unfoldall sexpanded';}
				if(elm1){elm1.style.display = 'none';}
				if(elm2){elm2.style.display = 'block';}
			}
			if(state=='collapse'){
				var str = items[d].className;
				if(str.indexOf('foldhead')!='-1'){
					items[d].className = 'foldhead plusactive';
				}
				if(str.indexOf('foldtext')!='-1'){
					items[d].style.display = 'none';
				}
				if(moth){moth.className = 'unfoldall expandactive';}
				if(elm1){elm1.style.display = 'block';}
				if(elm2){elm2.style.display = 'none';}
			}
		}
	}
}

function determineUnfoldAll(){
	var items = document.getElementsByTagName('div');
	var current = items.length;
	var expandfound = false;
	var collapsefound = false;
	for(d=0;d<current;d+=1){
		if(items[d].className!=''){
			var str = items[d].className;
			if(str.indexOf('foldtext')!='-1'){
				if(items[d].style.display == 'none' || items[d].style.display == ''){
					expandfound = true;
				}else if(items[d].style.display == 'block'){
					collapsefound = true;
				}
			}
		}
	}
	if(!expandfound){unfoldAll('expand');}
	if(!collapsefound){unfoldAll('collapse');}
}


/* Portlet: Classes
---------------------------------------------------------------- */

function showClasses(f){
	var all = document.getElementById(f);
	var mlink = document.getElementById(f+'_link');
	//if(all){all.style.display = 'block';}
	//if(link){link.style.display = 'none';}
	if(all && mlink){
		if(all.style.display=='none' || all.style.display==''){
			mlink.className = 'minus';
			all.style.display='block';
		}else{
			mlink.className = 'plus';
			all.style.display='none';
		}
	}
}


/* Portlet: Classes toogler
---------------------------------------------------------------- */

function toogleList(f){
	var all = document.getElementById(f);
	var link = document.getElementById(f+'_more');
	var mlink = document.getElementById(f+'_link');
	
	var str = all.className;
	var asBlock = false;
	var resetBody = false;
	if(str){
		if(str.indexOf('visible')!='-1'){asBlock = true;}
		if(str.indexOf('body')!='-1'){resetBody = true;}
	}
	
	if(all){
		if(all.style.display == 'block' || asBlock || all.style.display == ''){
			all.style.display = 'none';
			if(link){link.style.display = 'block';}
			if(mlink){mlink.className = 'plus';}
		}else{
			all.style.display = 'block';
			if(link){link.style.display = 'none';}
			if(mlink){mlink.className = 'minus';}
		}
		if(resetBody){all.className = 'body';}
	}

}

/* Portlet: Courses
---------------------------------------------------------------- */

function toogleCourse(f){
	var child = document.getElementById(f);
	var icon = document.getElementById(f+'_icon');
	if(child){
		if(child.style.display == '' || child.style.display == 'none'){
			child.style.display = 'block';
			icon.className = 'minus';
		}else{
			child.style.display = 'none';
			icon.className = 'plus';
		}
	}
}

/* Element: Navigation (used in entrence pages)
---------------------------------------------------------------- */

function showNavi(f,num){
	// Toogle link
	var items = document.getElementsByTagName('a');
	var current = items.length;
	for(d=0;d<current;d+=1){
		if(items[d].className=='navilink' || items[d].className=='navilink selected'){
			items[d].className = 'navilink';
		}
	}
	f.className = 'navilink selected';
	
	// Toogle text container
	var items = document.getElementsByTagName('div');
	var current = items.length;
	for(d=0;d<current;d+=1){
		if(items[d].className=='navitext' || items[d].className=='navitext visible'){
			items[d].className = 'navitext';
		}
	}
	var elm = document.getElementById('navitext_'+num);
	if(elm){elm.className = 'navitext visible';}
}


/* Table highlight (udbyder)
---------------------------------------------------------------- */

function highlightTD(mother,sibling,f,state){
	var col = document.getElementById('column'+mother);
	var row = document.getElementById('row'+sibling);
	if(col){
		if(state=='out'){col.className = 'thHighlightActive';}
		if(state=='over'){col.className = 'thHighlightOver';}
	}
	if(row){
		if(state=='out'){row.className = 'tdHighlightOut';}
		if(state=='over'){row.className = 'tdHighlightOver';}
	}
	if(state=='out'){f.className = '';}
	if(state=='over'){f.className = 'cellHighlight';}
}



/* Portlet: Meet a..
---------------------------------------------------------------- */

var all_meets;
var current_meet;
var timer_meets;

function countMeets(){
	var items = document.getElementsByTagName('a');
	var current = items.length;
	var counter = 0;
	for(d=0;d<current;d+=1){
		if(items[d].className=='meetitem' || items[d].className=='meetitem selected'){
			items[d].onmouseover = function(){showMeet(this);}
			counter++;
		}
	}
	return counter;
}

function loadMeets(){
	
	// Update global variable
	var all = countMeets();
	all_meets = all;
	
	if(all_meets>0){
	
		// Current meet?
		if(!current_meet){current_meet=1;}
		
		// Initialise (first) item
		swictchMeet();
		
	}
	
}

function swictchMeet(){
	// Containers
	var meet_lbl1 = document.getElementById('meet'+current_meet+'_1');
	var meet_lbl2 = document.getElementById('meet'+current_meet+'_2');
	
	// Next item? all_meets
	if(current_meet>all_meets){
		current_meet = 1;
	}
	
	// Reset all
	resetMeets();
	
	// Mark next item
	var meet_next = document.getElementById('meet'+current_meet);
	meet_next.className = 'meetitem selected';
	
	// Update text
	var meet_lbl1 = document.getElementById('meet'+current_meet+'_1');
	var meet_lbl2 = document.getElementById('meet'+current_meet+'_2');
	var head_lbl1 = document.getElementById('meet_lbl1');
	var head_lbl2 = document.getElementById('meet_lbl2');

	head_lbl1.innerHTML = meet_lbl1.innerHTML.replace(/'/g, "´");
	head_lbl2.innerHTML = meet_lbl2.innerHTML.replace(/'/g, "´");
	
	// Count up
	current_meet++;
	
	// Recall
	_timer_meets = setTimeout("swictchMeet();", 5000);
}

function resetMeets(){
	var items = document.getElementsByTagName('a');
	var current = items.length;
	var counter = 0;
	for(d=0;d<current;d+=1){
		if(items[d].className=='meetitem' || items[d].className=='meetitem selected'){
			items[d].className = 'meetitem';
		}
	}
}

function showMeet(f){
	
	// Clear timeout
	clearTimeout(_timer_meets);
	
	// Reset all
	resetMeets();
	
	// Mark current item
	var meet_current = document.getElementById(f.id);
	if(meet_current){
		meet_current.className = 'meetitem selected';
	}
	
	// Update text
	var meet_current_lbl1 = document.getElementById(f.id+'_1');
	var meet_current_lbl2 = document.getElementById(f.id+'_2');
	var head_lbl1 = document.getElementById('meet_lbl1');
	var head_lbl2 = document.getElementById('meet_lbl2');

	if(meet_current_lbl1 && meet_current_lbl2){
		head_lbl1.innerHTML = meet_current_lbl1.innerHTML;
		head_lbl2.innerHTML = meet_current_lbl2.innerHTML;
	}
	
}
/* Cookie manipulation
---------------------------------------------------------------- */
function SetCookie( name, value, expireSeconds, path, domain, secure )
{
    // set time, it's in milliseconds
    var today = new Date();
    today.setTime( today.getTime() );
    var expires=0;
    if ( expireSeconds )
    {
        expires = expireSeconds * 1000;
    }
    var expires_date = new Date( today.getTime() + (expires) );
    if ( expireSeconds == 0)
    {
       expires_date = 0;
    }
    document.cookie = name + "=" + encodeURIComponent( value ) +
    ( ( expires ) ? ";expires=" + expires_date.toGMTString() : "" ) +
    ( ( path ) ? ";path=" + path : ";path=/" ) +
    ( ( domain ) ? ";domain=" + domain : "" ) +
    ( ( secure ) ? ";secure" : "" );
}
function GetCookie( check_name ) {
	// first we'll split this cookie up into name/value pairs
	// note: document.cookie only returns name=value, not the other components
	var a_all_cookies = document.cookie.split( ';' );
	var a_temp_cookie = '';
	var cookie_name = '';
	var cookie_value = '';
	var b_cookie_found = false; // set boolean t/f default f
	for ( i = 0; i < a_all_cookies.length; i++ )
	{
		// now we'll split apart each name=value pair
		a_temp_cookie = a_all_cookies[i].split( '=' );
		// and trim left/right whitespace while we're at it
		cookie_name = a_temp_cookie[0].replace(/^\s+|\s+$/g, '');
		// if the extracted name matches passed check_name
		if ( cookie_name == check_name )
		{
			b_cookie_found = true;
			// we need to handle case where cookie has no value but exists (no = sign, that is):
			if ( a_temp_cookie.length > 1 )
			{
				cookie_value = decodeURIComponent( a_temp_cookie[1].replace(/^\s+|\s+$/g, '') );
			}
			// note that in cases where cookie is initialized but no value, null is returned
			return cookie_value;
			break;
		}
		a_temp_cookie = null;
		cookie_name = '';
	}
	if ( !b_cookie_found )
	{
		return null;
	}
}
function DeleteCookie( name, path, domain ) {
    if ( GetCookie( name ) )
    {
         document.cookie = name + "=" + 
        ( ( path ) ? ";path=" + path : ";path=/") +
        ( ( domain ) ? ";domain=" + domain : "" ) +
        ";expires=Thu, 01-Jan-1970 00:00:01 GMT";
    }
}


/* Search, miniguides etc. 
   02-03-2009 alpha added undefinded checks
---------------------------------------------------------------- */

function toogleFilter(f,filter){
	var elm = document.getElementById(f);
	var obj = document.getElementById(filter);
	if(obj.style.display == '' || obj.style.display == 'none'){
		obj.style.display = 'block';
		if(f.className == undefined)
		{    
		    elm.className = 'minus';
		}
		else
		{
		    f.className = 'minus';
		}
	}else{
		obj.style.display = 'none';
		if(f.className == undefined)
		{
		    elm.className = 'plus';
		}
		else
		{
		    f.className = 'plus';
		}
	}
}

function guideTabs(f,tab){
	var tab1link = document.getElementById('tab1_link');
	var tab2link = document.getElementById('tab2_link');
	var tab1cont = document.getElementById('tab1');
	var tab2cont = document.getElementById('tab2');
	var obj = document.getElementById(tab);
	// Reset
	if(tab1link && tab1cont){tab1link.className='active';tab1cont.style.display = 'none';}
	if(tab2link && tab2cont){tab2link.className='active';tab2cont.style.display = 'none';}
	// Select and show
	f.className = 'selected';
	if(tab=='tab1'){tab1cont.style.display = 'block';}
	if(tab=='tab2'){tab2cont.style.display = 'block';}
}

function hideLayer(f){
	var elm = document.getElementById(f);
	if(elm){elm.style.display = 'none';}
}

function guideCheck(f){
	guideCheckUpdate(f,true);
}

function guideCheckWithSelectAllUncheck(f, saID, parentID)
{
    
    
    if(saID != undefined && saID != '')
    {
        var selectAll = document.getElementById(saID);
        if(selectAll != undefined && selectAll != null)
        {
            if(selectAll.checked)
            {
                selectAll.checked = false;
                CheckUncheck(false, selectAll);
                guideCheckUpdate(selectAll, false);
            }
        }
    }
    if(parentID != undefined && parentID != '')
    {
        var parent = document.getElementById(parentID);
        if(parent != undefined && parent != null)
        {
            if(parent.checked)
            {
                parent.checked = false;
                CheckUncheck(false, parent);
                guideCheckUpdate(parent, false);
            }
        }
    }
    
    guideCheckUpdate(f, true);
}

function guideCheckUpdate(f,update){
	var elm = document.getElementById(f.id+'_check');
	var obj = f.checked;
	if(f.type=='radio'){
		var items = document.getElementsByTagName('input');
		var current = items.length;
		for(var d=0;d<current;d+=1){
			if(items[d].name==f.name){
				var str = document.getElementById(items[d].id + '_check');
				if(str){str.className='';}
			}
		}
	}
	if(elm)
	{
		CheckUncheck(obj,elm);
	}
	if(obj)
	{
		if (update) 
		    removeKey('offset'); // reset paging
		updateKey(f.name,f.value,update);
	}
	else{
		if (update) 
		    removeKey('offset'); // reset paging
		removeKey(f.name,f.value,update);
	}
}

function CheckUncheck(obj, elm)
{
        if(obj)
		{
			if(elm.className=='opx')
			{
			    elm.className = 'opxs';
			}
			else if(elm.className=='opxs') // allready selected don't change
			{
			    elm.className = 'opxs';
			}
			else
			{
			    elm.className = 'selected';
			}
		}
		else
		{
			if(elm.className=='opxs')
			{
			    elm.className = 'opx';
			}
			else if(elm.className=='opx') // allready de-selected don't change
			{
			    elm.className = 'opx';
			}
			else
			{
		        elm.className = '';
		    }
		}
}

//added by alpha
function guideCheckUpdateID(f,update){
	var elm = document.getElementById(f.id+'_check');
	var obj = f.checked;
	if(elm){
		if(obj){
			elm.className = 'selected';
		}else{
			elm.className = '';
		}
	}
	if(obj){
		if (update) removeKey('offset'); // reset paging
		updateKey(f.id,f.value,update);
	}else{
		if (update) removeKey('offset'); // reset paging
		removeKey(f.id,f.value,update);
	}
}


function guideCheckAllWithClass(f,classNames){
	var state = f.checked;
	removeKey('offset'); // reset paging
	var items = document.getElementsByTagName('input');
	var current = items.length;
	for(d=0;d<current;d+=1){
		if(items[d].type=='checkbox'){
			if(items[d].className==classNames){
				items[d].checked = state;
				guideCheckUpdate(items[d],false);
			}
		}
	}
	ajaxSearch();
}
var customResetFilterMethods = new Array();
var customResetFilterInitialValuesMethods = new Array();
function resetFilters(){
	var items = document.getElementsByTagName('input');
	var current = items.length;
	for(d=0;d<current;d+=1){
		if(items[d].type=='checkbox')
		{
			items[d].checked = false;
			var obj = document.getElementById(items[d].id+'_check');
			if(obj)
			{
			    obj.className='opx';
			}
		}
		if(items[d].type=='text')
		{
			if(items[d].id=='q')
			{ // http://fogbugz.schultz-information.dk/default.asp?988
			    items[d].value = '';
			}
		}
	}
	if(typeof resetSliders=='function' && typeof(sliderNames) != 'undefined')
	{
	    resetSliders(sliderNames);
	}
	
	if(customResetFilterMethods.length > 0)
	{
	    for(i=0;i<customResetFilterMethods.length;i++)
	    {
	        fname = customResetFilterMethods[i];
	        if(typeof this[fname]=='function' && typeof(this[fname]) != 'undefined')
	        {
	            this[fname]();
	        }
	    }
	}
	
	// Reset key
	ajaxKey = '';
	if(customResetFilterInitialValuesMethods.length > 0)
	{
	    for(i=0;i<customResetFilterInitialValuesMethods.length;i++)
	    {
	        fname = customResetFilterInitialValuesMethods[i];
	        if(typeof this[fname]=='function' && typeof(this[fname]) != 'undefined')
	        {
	            this[fname]();
	        }
	    }
	}
    SetCookie(cookieName,ajaxKey,0);
	ajaxSearch();
	
	//reset the navigator taxonomy if it exists
	if(Boolean(typeof ajaxTaxNavSearch != 'undefined'))
	{
	    ajaxTaxNavSearch();
	}
}

function datesCheck(f, update){
	var day = document.getElementById(f+'_day').value;
	var month = document.getElementById(f+'_month').value;
	var year = document.getElementById(f+'_year').value;
	var str = day + '-' + month + '-' + year;
	
	//ADDED BY ALPHA, TO MAKE SURE VALID DATES ARE INPUT, AND UPDATES HIDDEN FIELDS.
	var testDate = new Date(month + '/' + day + '/' + year);
	
	if(testDate.getDate() == day && testDate.getMonth()+1 == month && testDate.getFullYear() == year)
	{
	    document.getElementById(f+'_error').style.display = "none";
	    
	    document.getElementById(f).value = str;
	    
	    removeKey('offset'); // reset paging
	    updateKey(f,str,update);
    }
    else
    {
        document.getElementById(f+'_error').style.display = "block";
    }
}

//Added by alpha to support new date filter
function datesCheckDateFilter(f, qsKey, update){
	var day = document.getElementById(f+'_day').value;
	var month = document.getElementById(f+'_month').value;
	var year = document.getElementById(f+'_year').value;
	var str = day + '-' + month + '-' + year;
	
	//ADDED BY ALPHA, TO MAKE SURE VALID DATES ARE INPUT, AND UPDATES HIDDEN FIELDS.
	var testDate = new Date(month + '/' + day + '/' + year);
	
	if(testDate.getDate() == day && testDate.getMonth()+1 == month && testDate.getFullYear() == year)
	{
	    document.getElementById(f+'_error').style.display = "none";
	    
	    document.getElementById(f).value = str;
	    
	    var orig = getKey(qsKey);
	    
	    var parts = new Array();
	    if(orig != undefined)
	        parts = orig.split(":");
	    
	    var finalStr = "";
	    
	    if(f == "fromdate")
	        finalStr = str + ":" + ((parts != undefined && parts.length > 1)?parts[1]:"");
	    else if(f == "todate")
	        finalStr = ((parts != undefined && parts.length > 0)?parts[0]:"") + ":" + str;
	    
	    removeKey('offset'); // reset paging
	    updateKey(qsKey,finalStr,update);
    }
    else
    {
        document.getElementById(f+'_error').style.display = "block";
    }
}

function resetKnown(f){
	if(f){
		var temp = new Array();
		temp = f.split(",");
		for(var i=0;i<temp.length;i++){
			var obj = document.getElementById(temp[i]);
			if(obj){
				if(obj.type=='radio' || obj.type=='checkbox'){
					obj.checked= false;
				}
			}
			
		}
	}
}

function updateKey(obj,val,update){
	removeKey(obj,'',false);
	addKey(obj,val,false);
	if(update){
		ajaxSearch();
	}
}

function resetDateFilter(f,update)
{
    if (document.getElementById(f+'_day')) document.getElementById(f+'_day').value='';
	if (document.getElementById(f+'_month')) document.getElementById(f+'_month').value='';
	if (document.getElementById(f+'_year')) document.getElementById(f+'_year').value='';

	removeKey('offset'); // reset paging
	removeKey(f);
	if(update){
		ajaxSearch();
	}
}

function resetControl(obj)
{
    var control = document.getElementById(obj);
    var items = control.getElementsByTagName('input');
    var current = items.length;
	for(d=0;d<current;d+=1)
	{
		if(items[d].type=='checkbox')
		{
			items[d].checked = false;
            removeKey(items[d].name,'',false);  
        }
        if(items[d].type=='text')
        {
			if(items[d].id!='q'){items[d].value = '';}
			removeKey(items[d].id,'',false);
		}
	}
	ajaxSearch();
}

//var cookieName = 'searchParms';
//// get from cookie if available
//var ajaxKey = GetCookie(cookieName); 
var ajaxKey = '';
var ajaxUrl = '';

function addKey(obj,val,update){
	var toAdd = '&'+obj+'='+val;
	ajaxKey = ajaxKey + toAdd;
	// update cookie
	SetCookie(cookieName,ajaxKey,0);
	if(update){
		ajaxSearch();
	}
}

function removeKey(obj,val,update){
	var str = ajaxKey;
	var fieldName = obj;
	var temp = new Array();
	var checkup = new Array();
	var newAjaxKey = '';

	// String to split
	temp = str.split("&");
	
	// Run through items
	for(var i=0;i<temp.length;i++){
		if(temp[i]!=''){
			checkup = temp[i].split("=");
			if(checkup[0]!=fieldName){
				newAjaxKey += '&' + temp[i];
			}
		}
	}

	// Update key
	ajaxKey = newAjaxKey;
	// update cookie
    	SetCookie(cookieName,ajaxKey,0);
	if(update){
		ajaxSearch();
	}
}

function getKey(obj){
    var str = ajaxKey;
    var temp = new Array();
    
    // String to split
	temp = str.split("&");
	
    for(var i=0;i<temp.length;i++){
		if(temp[i]!=''){
			checkup = temp[i].split("=");
			if(checkup[0]==obj){
				return checkup[1];
			}
		}
	}
}

function addSearch(f){
	var obj = document.getElementById(f);
	if(obj){
		var str = encodeURI(obj.value);
		updateKey(f,str,true);
	}
}

function ajaxSearch(){
    if (typeof(pp_gemius_hit)=='function')
    {
        if(typeof(AjaxGemiusIdentifier)=='object')
        {
            pp_gemius_hit(AjaxGemiusIdentifier);
        }
        else
        {
            pp_gemius_hit('0nJL0ir.9HpKZej6a3Uc78PJDmX_M9swYcRE54H3dSL.V7');
        }
    }
    var url = ajaxUrl +ajaxKey ; 
    ajaxpage(url,'search_results',true);
}

var hasSearchedFreeText = false;
function SetElementValue(elementId, value)
{
    var obj = document.getElementById(elementId);
    if (obj)
    {
        obj.value = value;
    }
}
function SearchUpdateFreeTextLabels(){
    var label = document.getElementById('labelForFreeTextSearch');
    if (hasSearchedFreeText)
    {
        label.innerHTML = FritekstsoegningHasSearched;
    }
    else
    {
        label.innerHTML = FritekstsoegningNotSearchedYet;
    }
}
function SearchShowDidYouMean(didYouMeanSuggestionLinks)
{
    var dymDiv = document.getElementById('didyoumean');
    var dymLinks = document.getElementById('didyoumeanLinks');
    if (dymLinks) dymLinks.innerHTML = didYouMeanSuggestionLinks;
    if (dymDiv) 
    {
        dymDiv.style.display='block';
        dymDiv.className = 'row auto';
    }
}
function SearchHideDidYouMean()
{
    var dymDiv = document.getElementById('didyoumean');
    if (dymDiv) dymDiv.style.display='none';
}

function SearchFreeTextOnClick(obj, inputFieldId)
{
    hasSearchedFreeText=true;
    SearchUpdateFreeTextLabels();
//    removeKey('offset');
//    updateKey(obj.name,encodeURIComponent(document.getElementById(inputFieldId).value),true);
    SearchFreeText(obj.name, document.getElementById(inputFieldId).value);
    
}

function SearchFreeTextFromAnchor(freeTextFieldId, qsname, inputvalue)
{
    var inputField = document.getElementById(freeTextFieldId);
    if (inputField) inputField.value = inputvalue;
    SearchFreeText(qsname, inputvalue);
}

function SearchFreeText(qsname, inputvalue)
{
    removeKey('offset');
    updateKey(qsname,encodeURIComponent(inputvalue),true);
    if(Boolean(typeof ajaxTaxNavSearch != 'undefined'))
	{
	    ajaxTaxNavSearch();
	}
}

 function clickButtonViaEnter( evt, buttonid){
	evt = (evt)? evt : event;
	var target = (evt.target) ? evt.target : evt.srcElement;
	var charcode = (evt.charcode) ? evt.charcode : 
		((evt.which)? evt.which : evt.keyCode);
	if (charcode == 13 || charcode == 3) { // 3 is mac enter
		document.getElementById(buttonid).click();
		return false;
	}
	return true;
}

/* added by alpha 
---------------------------------------------------------------- */
function dateTextBoxViaEnter( evt, tb){
	evt = (evt)? evt : event;
	var target = (evt.target) ? evt.target : evt.srcElement;
	var charcode = (evt.charcode) ? evt.charcode : 
		((evt.which)? evt.which : evt.keyCode);
	if (charcode == 13 || charcode == 3) { // 3 is mac enter
	    document.getElementById(tb).onchange();
		return false;
	}
	return true;
}

/* Nearby lookup
---------------------------------------------------------------- */

var nearby = function(){
	var elm;
	return {
		focus:function(){
			elm = document.getElementById('nearby_ajax');
			elm.style.display = 'block';
		},
		blur:function(){
			setTimeout("nearby.delay();", 300);
		},
		delay:function(){
			elm = document.getElementById('nearby_ajax');
			elm.style.display = 'none';
		},
		showFurtherSearchOptions:function(searchstring)
		{
            //show further search options
			var distancediv = document.getElementById('nearby-distance-div');
			if(distancediv){distancediv.style.display = 'block';}
			var nearbysearched = document.getElementById('nearbysearched');
			if(nearbysearched){nearbysearched.innerHTML = 'fra ' + searchstring;}
			var rangesortdiv = document.getElementById('rangesortdiv');
			if(rangesortdiv){rangesortdiv.style.display = 'block';}
			
		},
		lookup:function(filter, n, inputId){
		    if(filter){
	    	    var suggestionstart = '<li><a href="#" onclick="nearby.select(this,\'' + inputId.id + '\');return false;">';
                var suggestionend = '</a></li>';     
                var selected = 0;
                var suggestions = "";
                
                for(var i=0;i<dkgeo.length;i++){
                    for(var j=0;j<dkgeo[i].length;j++){
                        if(dkgeo[i][j].trim().toLowerCase().startsWith(filter.toLowerCase())){
                            suggestions+= suggestionstart + dkgeo[i][0] + suggestionend;
                            selected++;
                            break;
                        }
                    }
                    if(n!=0 && selected==n)
                        break;
                }
    	        // Alpha correction (SG): <ul> tags are inserted here to avoid html validation error
	            if(selected > 0) { 
	                var suggestionul = document.getElementById('nearbysuggestions');
	                suggestionul.innerHTML = '<ul>' + suggestions + '</ul>'; 
	            }
		    }
		},
		search:function(id){
			var searchstring = document.getElementById(id).value;
			geocoder = new google.maps.Geocoder();
			geocoder.geocode({ 'address': searchstring}, function(results, status){
				if(status == google.maps.GeocoderStatus.OK){
				    var dd = getNearbyDistanceDropDown(); //document.getElementById('nearby-distance');
			        updateKey('nearby_inputSearchStr', searchstring, false);
			        updateKey('nearby_range', dd.options[dd.selectedIndex].value, false);
					updateKey('nearby_latlong', results[0].geometry.location, true);
					
					//show further search options
					nearby.showFurtherSearchOptions(searchstring);
				}else{
				    alert("Geocode was not successful for the following reason: " + status);
			}
					
		    });
		},
		select:function(f,inputid){
			var obj = f.innerHTML;
			var elm = document.getElementById(inputid);
			elm.value = obj;
			nearby.search(inputid);
		},
		onchange:function(range){
			updateKey('nearby_range', range, true);
		},
		reset:function(inputID){
		    nearby.resetControl(inputID);
			//remove ajax keys
			removeKey('nearby_range', '', false);
			removeKey('nearby_latlong', '', false);
			removeKey('nearby_inputSearchStr', '', false);
			updateKey('sortby', document.getElementById('lastsort').value, true);
		},
		resetControl:function(inputID){
		    //reset field and hide further search options
			var obj = document.getElementById(inputID);
			var suggestionul = document.getElementById('nearbysuggestions');
			var distancediv = document.getElementById('nearby-distance-div');
			var rangesort = document.getElementById('lastsort');
			var rangesortdiv = document.getElementById('rangesortdiv');
			if(obj){obj.value = '';}
			if(suggestionul){suggestionul.innerHTML = '';}
			if(distancediv){distancediv.style.display = 'none';}
			if(rangesort){rangesort.checked = false;}
			if(rangesortdiv){rangesortdiv.style.display = 'none';}
		},
		changesort:function(f, sortby){
		    var lastSort = document.getElementById('lastsort');
		    
		    if(f.checked){
		        //document.getElementById('lastsort').value = getKey('csortby');
		        updateKey('csortby', sortby, true);
		    }
		    else{
		        removeKey('csortby','',true);
		        //updateKey('csortby', document.getElementById('lastsort').value, true);
		    }
		}
	};
}();      
            
String.prototype.trim = function(){return (this.replace(/^[\s\xA0]+/, "").replace(/[\s\xA0]+$/, ""))}
String.prototype.startsWith = function(str) {return (this.match("^"+str)==str)}


/* Infobox popup
---------------------------------------------------------------- */

function infoBox(f,command){
	var infoTimer;
	var link = document.getElementById(f.id);
	var tip = document.getElementById(f.id+'_doc');
	if(tip){
		if(command=='show'){
			link.title = '';
			tip.style.display = 'block';
			var tipHeight = tip.offsetHeight - 1 + link.offsetHeight;
			tip.style.marginTop = '-' + tipHeight + 'px';
			tip.style.visibility = 'hidden';
			infoTimer = setTimeout("showBox('"+f.id+"');", 300);
		}
		if(command=='hide'){
			tip.style.display = 'none';
			clearTimeout(infoTimer);
		}
	}
}

function showBox(f,command){
	var tip = document.getElementById(f+'_doc');
	tip.style.visibility = 'visible';
}

var titles = function(){
	return {
		show:function(f,txt,cls){
			titles.create(cls);
			f.title = '';
			var pos = library.elementposition(f);
			var _pos = pos.split('/');
			elmX = parseInt(_pos[0]);
			elmY = parseInt(_pos[1]);
			var elm = document.getElementById('faketip');
			var text = document.getElementById('faketip_text');
			var fot = document.getElementById('ft_wid');
			if(elm && text){
				elm.style.left = elmX + 'px';
				elm.style.top = elmY + 'px';
				elm.style.display = 'block';
				text.innerHTML = txt;
			}
			var offHei = elm.offsetHeight;
			var offWid = text.offsetWidth;
			elm.style.marginTop = '-' + offHei + 'px';
			fot.style.width = offWid + 'px';
		},
		hide:function(){
			var obj = document.getElementById('faketip');
			if(obj){obj.style.display = 'none';}
		},
		create:function(cls){
			var obj = document.getElementById('faketip');
			if(!obj){
				var dot = document.createElement("div");
				dot.id = 'faketip';
				dot.className = 'faketip ' + cls;
				dot.style.position = 'absolute';
				dot.style.zIndex = '1000';
				dot.style.left = '0px';
				dot.style.top = '0px';
				dot.style.display = 'none';
				dot.innerHTML = '<div class="fl"><div class="tx"><div class="gl"><div class="gr"><strong id="faketip_text"></strong></div></div></div><div class="ft" id="ft_wid"><div class="gl"><div class="gr">&nbsp;</div></div></div></div>';
				document.body.appendChild(dot);
			}
		}
	};
}();


/* Diagram popup
---------------------------------------------------------------- */

var curleft=0;curtop=0;

function diaBox(f,command){
	var infoTimer;
	var link = document.getElementById(f.id);
	var tip = document.getElementById(f.id+'_doc');
	if(tip){
		if(command=='show'){
			getDia(f);
			link.title = '';
			tip.style.display = 'block';
			var tipHeight = curtop - tip.offsetHeight + 2 ;
			tip.style.top = tipHeight + 'px';
			tip.style.visibility = 'hidden';
			infoTimer = setTimeout("showDiaBox('"+f.id+"');", 300);
		}
		if(command=='hide'){
			tip.style.display = 'none';
			clearTimeout(infoTimer);
		}
	}
}

function getDia(f){
	curleft=0;curtop=0;
	var link = document.getElementById(f.id);
	if(link){
		if(link.offsetParent){
			curleft=link.offsetLeft;
			curtop=link.offsetTop;
			while(link=link.offsetParent){
				curleft+=link.offsetLeft
				curtop+=link.offsetTop
			}
		}
	}
}

function showDiaBox(f,command){
	var tip = document.getElementById(f+'_doc');
	tip.style.visibility = 'visible';
}


/* Quiz
---------------------------------------------------------------- */

function iniQuiz(){
	setTimeout("tickQuiz();", 3000);
}

function tickQuizOLD(){
	var hidTime = document.getElementById('currentsecond');
	var currentSecond = document.getElementById('currentsecond');
	var currentMinute = document.getElementById('currentminute');
	
	var hidTime = document.getElementById('currentsecond');
	
	if(hidTime){
		var curTime = hidTime.value;
		var clock = document.getElementById('clock');
		curTime++;
		var nextTime = curTime.toString();
		if(nextTime.length==1){nextTime='000'+nextTime;}
		if(nextTime.length==2){nextTime='00'+nextTime;}
		if(nextTime.length==3){nextTime='0'+nextTime;}
		if(nextTime.length==4){nextTime=nextTime;}
		var temp = new Array();
		var timeToShow = '';
		temp = nextTime.split("");
		for(var i=0;i<temp.length;i++){
			if(i==2){timeToShow += '<div class="split"></div>';}
			timeToShow += '<div class="t'+temp[i]+'"></div>';
		}
		if(clock){clock.innerHTML = timeToShow;}
		hidTime.value = curTime;
		setTimeout("tickQuiz();", 1000);
	}
}

function tickQuiz(){
	var currentSecond = document.getElementById('currentsecond');
	var currentMinute = document.getElementById('currentminute');
	var clock = document.getElementById('clock');
	if(currentSecond && currentMinute && clock){
		var curSecond = currentSecond.value;
		var curMinute = currentMinute.value;
		var theTime = '';
		var timeToShow = '';
		var nextSecond = curSecond.toString();
		var nextMinute = curMinute.toString();
		if(nextMinute.length==1){nextMinute='0'+nextMinute;}
		if(nextMinute.length==2){nextMinute=nextMinute;}
		if(nextSecond.length==1){nextSecond='0'+nextSecond;}
		if(nextSecond.length==2){nextSecond=nextSecond;}
		theTime = nextMinute + nextSecond;
		var temp = new Array();
		temp = theTime.split("");
		for(var i=0;i<temp.length;i++){if(i==2){timeToShow += '<div class="split"></div>';}timeToShow += '<div class="t'+temp[i]+'"></div>';}
		clock.innerHTML = timeToShow;
		curSecond++;
		if(curSecond==60){
			currentSecond.value = '0';
			curMinute++;
			currentMinute.value = curMinute;
		}else{
			currentSecond.value = curSecond;
		}
		setTimeout("tickQuiz();", 1000);
	}
}

function setQuiz(){

}
/* Tip a friend
---------------------------------------------------------------- */
function tipAFriendGoToPage()
{
    if (validate(this,'shareform'))
    {
        var toAddress = document.getElementById('sender').value;
        var fromAddress = document.getElementById('reciever').value;
        var comment = encodeURIComponent(document.getElementById('comment').value);
        location.href = location.protocol + '//' + 
                        location.hostname + 
                        '/TipAFriend.aspx?to=' + toAddress + 
                        '&from=' + fromAddress + 
                        '&comment=' + comment + 
                        '&link=' + encodeURIComponent(location.href);
    }
}

/* Comment page
---------------------------------------------------------------- */
function commentGoToPage()
{
    if (validate(this,'shareform1'))
    {
        var toAddress = document.getElementById('sender').value;
        var fromAddress = document.getElementById('reciever').value;
        var comment = encodeURIComponent(document.getElementById('comment').value);
        location.href = location.protocol + '//' + 
                        location.hostname + 
                        '/SendComment.aspx?from=' + fromAddress + 
                        '&comment=' + comment + 
                        '&link=' + encodeURIComponent(location.href);
    }
}

/* Articles
---------------------------------------------------------------- */

function showArticle(f,url){
	var items = document.getElementsByTagName('a');
	var current = items.length;
	for(d=0;d<current;d+=1){
		if(items[d].className=='articlnkSelected'){
			items[d].className='articlnk';
		}
	}
	f.className = 'articlnkSelected';
	ajaxpage(url,'biblio',true);
}

/* Studievalg cards
---------------------------------------------------------------- */

function cards(cls){
	var obj = document.getElementById('studiedkmap');
	if(obj){obj.className = cls;}
}

/********************************************************************
Added by alpha for tip a friend, almost the same as above (but this is what we use)
********************************************************************/
function tipGoToPage()
{
var toAddress = document.getElementById('sender').value;
var fromAddress = document.getElementById('reciever').value;
var comment = encodeURIComponent(document.getElementById('comment').value);
location.href = location.protocol + '//' + 
			  location.hostname + 
			  '/TipAFriend.aspx?to=' + toAddress + '&amp;from=' + fromAddress + '&amp;comment=' + comment + '&amp;link=' + encodeURIComponent(getCleanUrlFromCurrent() + '?1=1' + ajaxKey);
}

/********************************************************************
Added by alpha to be able to get a clean url without the querysting
********************************************************************/
function getCleanUrlFromCurrent()
{
    return document.location.protocol + '//' + location.hostname + location.pathname;
}

/********************************************************************
Added by alpha to be able to change tabs and content on the page webmagasin
********************************************************************/
function toggle(el)
{
	magasinEl = document.getElementById('magasin');
	elements = magasinEl.getElementsByTagName('div');

	for(var d=0;d < elements.length;d+=1){
	  if(elements[d].id.substring(4,0) == 'dias'){
		elements[d].style.display = 'none';
	  }
	}

	tabsEl = document.getElementById('magazine_menu_nonAjax');
	tabElements = tabsEl.getElementsByTagName('a');

	for(var d=0;d < tabElements.length;d+=1){
	  if(tabElements[d].id.substring(7,0) == 'tabdias'){
		tabElements[d].className = 'active';
	  }
	}

	myEl = document.getElementById(el);
	myEl.style.display = 'block';

	myTabEl = document.getElementById('tab' + myEl.id);
	myTabEl.className = 'selected';
}

function selectFirstTab()
{
        magasinEl = document.getElementById('magasin');
        elements = magasinEl.getElementsByTagName('div');
        varFirstTab = '';

        for(var d=0;d < elements.length;d+=1)
        {
          if(elements[d].id.substring(4,0) == 'dias')
          {
            varFirstTab = elements[d].id;
            break;
          }
        }
      toggle(varFirstTab);
}

/* Sitemap
---------------------------------------------------------------- */

function sitemap(ob,url){
	var obj = document.getElementById(ob+'_children');
	if(obj){
		expand(ob);
		if(obj.innerHTML==''){
			ajaxpage(url,ob+'_children',true);
		}
	}
}
/* Google Maps (http://code.google.com/apis/maps/documentation/v3/examples/index.html)
---------------------------------------------------------------- */

var googlemaps = function(){
	var geocoder, map, bubble = '', paradd = '';
	return {
		initialize:function(add,fid,tools){
			geocoder = new google.maps.Geocoder();
			var latlng = new google.maps.LatLng(-34.397, 150.644);
			var _tools = false;
			if(!tools){_tools=false;}else{_tools=true;}
			var myOptions = {
				zoom: 15,
				center: latlng,
				disableDefaultUI: _tools,
				mapTypeId: google.maps.MapTypeId.ROADMAP
			}
			var _fid = '';
			if(!fid){_fid='map_canvas';}else{_fid=fid;}
			map = new google.maps.Map(document.getElementById(_fid), myOptions);
			googlemaps.show(add);
		},
		show:function(add){
			var address = add;
			if(geocoder){
				geocoder.geocode({ 'address': address}, function(results, status){
					if(status == google.maps.GeocoderStatus.OK){
						map.setCenter(results[0].geometry.location);
						var image = 'gfx/googlemaps_marker.png';
						var marker = new google.maps.Marker({map: map, icon: image, position: results[0].geometry.location});
						if(bubble){
							var bub = document.getElementById(bubble+'_info');
							if(bub){
								var str = bub.innerHTML;
								var infowindow = new google.maps.InfoWindow({content: str});
								google.maps.event.addListener(marker, 'click', function(){infowindow.open(map,marker);});
								
								// Add static map to print
								var sta = document.getElementById('map_static_large');
								if(sta){
									var _add = add; var addhtml = '<div class="printaddress"><div class="inn">'+paradd+'</div></div>';
									_add = _add.replace(/ /gi, '+');
									var _static = '<img src="http://maps.google.com/maps/api/staticmap?center='+_add+'&zoom=15&size=650x520&maptype=roadmap&markers=size:mid|color:blue|'+_add+'&sensor=false&key=ABQIAAAAeAGTVl3etSVg_27n3ekj5RRbaaWroq0aHcmfIpsyflpCDggaTxQWHAYlOmeFpn78BWNGtUwVkvH7fA" alt="" />';
									document.getElementById('map_static_large').innerHTML = _static + addhtml;
								}
							}
						}
						
					}else{
						alert("Geocode was not successful for the following reason: " + status);
					}
			  });
			}
		},
		multiple:function(command,location,info,print){
			var elm = document.getElementById('pop');
			var abs = document.getElementById('abs');
			var canvas = document.getElementById('map_canvas_large');
			if(elm){
				paradd = print;
				if(info){bubble = info;}else{bubble = '';}
				if(command=='show'){
					showDark();
					elm.style.display = 'block';
					var elms = library.documentdimensions();
					var _elms = elms.split('/');
					var elmW = parseInt(_elms[0]);
					var elmH = parseInt(_elms[1]);
					var posr = library.windowscrollxy();
					var _posr = posr.split('/');
					var elmX = parseInt(_posr[0]);
					var elmY = parseInt(_posr[1]);
					if(abs){if(elmH<650){abs.style.top = (elmY + 20) + 'px';}else{abs.style.top = (((elmH / 2) - 325) + elmY) + 'px';}}
					if(canvas.innerHTML==''){googlemaps.initialize(location,'map_canvas_large');}
					googlemaps.printable('hide');
				}
				if(command=='hide'){
					elm.style.display = 'none';
					killDark();
					googlemaps.printable('show');
				}
			}
		},
		multiplechange:function(f,location,info,print){
			var tc = document.getElementById('mapx-locations');
			var sa = tc.getElementsByTagName('a');
			var current = sa.length;
			for(var d=0;d<current;d+=1){
				if(sa[d].className=='lmp-set' || sa[d].className=='lmp-def'){
					sa[d].className = 'lmp-def';
				}
			}
			paradd = print;
			// Set to active, change location
			f.className = 'lmp-set';
			if(info){bubble = info;}else{bubble = '';}
			googlemaps.initialize(location,'map_canvas_large');
		},
		fixtop:function(){
			var elm = document.getElementById('pop');
			var abs = document.getElementById('abs');
			if(abs){
				if(elm.style.display=='block'){
					var elms = library.documentdimensions();
					var _elms = elms.split('/');
					var elmW = parseInt(_elms[0]);
					var elmH = parseInt(_elms[1]);
					var posr = library.windowscrollxy();
					var _posr = posr.split('/');
					var elmX = parseInt(_posr[0]);
					var elmY = parseInt(_posr[1]);
					if(elmH<650){abs.style.top = (elmY + 20) + 'px';}else{abs.style.top = (((elmH / 2) - 325) + elmY) + 'px';}
				}
			}
		},
		printable:function(f){
			var items = document.getElementsByTagName('div');
			var current = items.length;
			for(d=0;d<current;d+=1){
				var str = items[d].className;
				if(str.indexOf('content')!=-1){
					if(f=='hide'){
						items[d].className='content no-print';
					}else{
						items[d].className='content';
					}
				}
			}
		}
	};
}();


/* Alpha google maps */
function multiple(command, map, linkIdToHighlight){
    var map = map;
	var elm = document.getElementById('pop');
	var abs = document.getElementById('abs');
	var canvas = document.getElementById(map);

	
	if(elm){
	    if(command=='show'){
		    showDark();
		    elm.style.display = 'block';
		    var elms = library.documentdimensions();
		    var _elms = elms.split('/');
		    var elmW = parseInt(_elms[0]);
		    var elmH = parseInt(_elms[1]);
		    var posr = library.windowscrollxy();
		    var _posr = posr.split('/');
		    var elmX = parseInt(_posr[0]);
		    var elmY = parseInt(_posr[1]);
		    if(abs){if(elmH<650){abs.style.top = (elmY + 20) + 'px';}else{abs.style.top = (((elmH / 2) - 325) + elmY) + 'px';}}
		    if(canvas.innerHTML!=''){canvas.innerHTML=='';}
		    if (linkIdToHighlight) {
		        LinkStyle(linkIdToHighlight);
		    }
		    else{
                LinkStyle('');
            }
            setTimeout('ChangeMapFocus("' + map + '")', 50);

            if(map=="map_canvas_large2"){
		    ShowOnlyMain(true);
		    }
		    else{
		    ShowOnlyMain(false);
		    }  			
	    }
	    if(command=='hide'){
		    elm.style.display = 'none';
		    killDark();
	    }
    }
}

function ChangeMapFocus(map)
{
	var mapName = map;
	
	if(mapName=='map_canvas_large2'){
	document.getElementById('map_canvas_large').style.display = 'none';
	document.getElementById('map_canvas_large2').style.display = 'block';
	}
	else{
	document.getElementById('map_canvas_large').style.display = 'block';
	document.getElementById('map_canvas_large2').style.display = 'none';
	};
	
	mapInit(map,false);
}

function LinkStyle(link) {
    var linkID = link;
    var x = document.getElementsByName('mapListLink');
    for (i = 0; i < x.length; i++) {
		document.getElementsByName('mapListLink')[i].className='lmp-def';       		
    }
    if (linkID != '') {
        SelectedLink(linkID);
    }
}

function SelectedLink(linkID) {
	document.getElementById(linkID).className='lmp-set';
}

function changeFocus(map, lat1, lng1, lat2, lng2) { 
	var latLng1 = new google.maps.LatLng(lat1, lng1);
    var latLng2 = new google.maps.LatLng(lat2, lng2);
    map.fitBounds(new google.maps.LatLngBounds(latLng1, latLng2));
}


/* Library
---------------------------------------------------------------- */

var library = function(){
	return {
		elementposition:function(obj){
			var curleft=curtop=0;
			if (obj.offsetParent){
				curleft=obj.offsetLeft;
				curtop=obj.offsetTop;
				while(obj=obj.offsetParent){
					curleft+=obj.offsetLeft
					curtop+=obj.offsetTop
				}
			}
			return curleft+'/'+curtop;
		},
		cursorposition:function(e){
			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.x+'/'+cursor.y;
		},
		documentdimensions:function(){
			var myWidth = 0, myHeight = 0;
			if(typeof(window.innerWidth)=='number'){
				myWidth = window.innerWidth;
				myHeight = window.innerHeight;
			}else if(document.documentElement && (document.documentElement.clientWidth || document.documentElement.clientHeight)){
				myWidth = document.documentElement.clientWidth;
				myHeight = document.documentElement.clientHeight;
			}else if(document.body && (document.body.clientWidth || document.body.clientHeight)){
				myWidth = document.body.clientWidth;
				myHeight = document.body.clientHeight;
			}
			return myWidth+'/'+myHeight;
		},
		windowscrollxy:function(){
			var scrOfX = 0, scrOfY = 0;
			if(typeof(window.pageYOffset)=='number'){
				scrOfY = window.pageYOffset;
				scrOfX = window.pageXOffset;
			}else if(document.body &&(document.body.scrollLeft||document.body.scrollTop)){
				scrOfY = document.body.scrollTop;
				scrOfX = document.body.scrollLeft;
			}else if(document.documentElement&&(document.documentElement.scrollLeft||document.documentElement.scrollTop)){
				scrOfY = document.documentElement.scrollTop;
				scrOfX = document.documentElement.scrollLeft;
			}
			return scrOfX+'/'+scrOfY;
		}
	};
}();

var selectmultiple = function(){
	return {
		add:function(from,to){
			var m1 = document.getElementById(from);
			var m2 = document.getElementById(to);
			if(m1){
				if(m2){
					var m1len = m1.length;
				    for(var i=0;i<m1len;i++){
				        if(m1.options[i].selected==true){
				            m2len = m2.length;
				            m2.options[m2len]= new Option(m1.options[i].text);
				        }
				    }
				    for(i=(m1len-1);i>=0;i--){
				        if(m1.options[i].selected==true){
				            m1.options[i] = null;
				        }
				    }
				}
			}
		},
		remove:function(from,to){
			var m1 = document.getElementById(from);
			var m2 = document.getElementById(to);
		    if(m1){
				if(m2){
					var m2len = m2.length;
					for(var i=0;i<m2len;i++){
						if(m2.options[i].selected==true){
							m1len = m1.length;
							m1.options[m1len]= new Option(m2.options[i].text);
						}
					}
					for(i=(m2len-1);i>=0;i--){
						if(m2.options[i].selected==true){
							m2.options[i] = null;
						}
					}
				}
			}
		},
		fill:function(from,val,txt){
			var m1 = document.getElementById(from);
			if(m1){
				
				var _opt = document.createElement('option');
				_opt.text = txt;
				_opt.value = val;
				
				try{
					m1.add(_opt, null);
				}catch(ex){
					m1.add(_opt);
				}
				
			}
		},
		reset:function(from){
			var m1 = document.getElementById(from);
			for(var i = m1.length-1;i>=0;i--){
				m1.remove(i);
			}
		}
	};
}();

window.onscroll = function(){
	var elm = document.getElementById('pop');
	if(elm){
		if(elm.style.display=='block'){
			setTimeout("googlemaps.fixtop();", 500);
		}
	}
}


/* Adgangsnøgle
---------------------------------------------------------------- */

var adg = function(){
	return {
		over:function(f){
			var str = f.className;
			if(str.indexOf('sele')==-1){
				f.className = 'itm over';
			}
		},
		out:function(f){
			var str = f.className;
			if(str.indexOf('sele')==-1){
				f.className = 'itm';
			}
		},
		set:function(chk,ctn){
			var obj = document.getElementById(ctn);
			if(obj){
				obj.className = chk ? 'itm sele' : 'itm';
			}
		},
		tabs:function(f,prefix){
			var obj = document.getElementById('adg_tabs');
			var elm;
			var id;
			if(obj){
				var items = obj.getElementsByTagName('a');
				var current = items.length;
				for(d=0;d<current;d+=1){
					items[d].className = '';
					id = items[d].id.substring(prefix.toString().length, items[d].id.length);
					elm = document.getElementById(prefix+'adg_'+id);
					if(elm){elm.style.display = 'none';}
				}
				document.getElementById(f).className = 'selected';
				id = f.toString().substring(prefix.toString().length, f.toString().length);
				elm = document.getElementById(prefix+'adg_'+id);
				if(elm){elm.style.display = 'block';}
			}
		}
	};
}();


/* EUD
---------------------------------------------------------------- */

var eud = function(){
	return {
		step:function(f){
			var step1 = document.getElementById('chain_step_1');
			var step2 = document.getElementById('chain_step_2');
			var step3 = document.getElementById('chain_step_3');
			var step4 = document.getElementById('chain_step_4');
			var filter1 = document.getElementById('filteroption1');
			var filter2 = document.getElementById('filteroption2');
			var filter3 = document.getElementById('filteroption3');
			var filter4 = document.getElementById('filteroption5');
			var results = document.getElementById('search_results');
			if(f=='0'){
				if(step1){step1.className = 'minus';}
				if(step2){step2.className = 'disabled';}
				if(step3){step3.className = 'disabled';}
				if(filter1){filter1.style.display = 'block';}
				if(filter2){filter2.style.display = 'none';}
				if(filter3){filter3.style.display = 'none';}
				if(step2){step2.onclick = function(){eud.warn(this,'1');return false;}}
				if(step3){step3.onclick = function(){eud.warn(this,'2');return false;}}
				if(step4){step4.className = 'minus';}
				if(filter4){filter4.style.display = 'block';}
				if(results){results.innerHTML = '';}
			}
			if(f=='1'){
				if(step1){step1.className = 'minus';}
				if(step2){step2.className = 'minus';}
				if(step3){step3.className = 'disabled';}
				if(filter1){filter1.style.display = 'block';}
				if(filter2){filter2.style.display = 'block';}
				if(filter3){filter3.style.display = 'none';}
				if(step2){step2.onclick = function(){toogleFilter(this,'filteroption2');return false;}}
				if(step3){step3.onclick = function(){eud.warn(this,'2');return false;}}
				if(step4){step4.className = 'plus';}
				if(filter4){filter4.style.display = 'none';}
			}
			if(f=='2'){
				if(step1){step1.className = 'minus';}
				if(step2){step2.className = 'minus';}
				if(step3){step3.className = 'minus';}
				if(filter1){filter1.style.display = 'block';}
				if(filter2){filter2.style.display = 'block';}
				if(filter3){filter3.style.display = 'block';}
				if(step2){step2.onclick = function(){toogleFilter(this,'filteroption2');return false;}}
				if(step3){step3.onclick = function(){toogleFilter(this,'filteroption3');return false;}}
				if(step4){step4.className = 'plus';}
				if(filter4){filter4.style.display = 'none';}
			}
			eud.warn();
		},
		reset:function(f,step){
			// Resets radios
			var items = document.getElementsByTagName('input');
			var current = items.length;
			var itmname;
			for(var d=0;d<current;d+=1){
				if(items[d].className==f){
					items[d].checked = false;
					itmname = items[d].name;
					var str = document.getElementById(items[d].id + '_check');
					if(str){str.className='';}
				}
			}
			removeKey(itmname,'',true);
			// Manage filters
			var filter1 = document.getElementById('filter1_reset');
			var filter2 = document.getElementById('filter2_reset');
			var filter3 = document.getElementById('filter3_reset');
			if(step=='1'){
				if(filter1){filter1.click();}
				if(filter2){filter2.click();}
				if(filter3){filter3.click();}
				eud.step('0');
			}else if(step=='2'){
				if(filter2){filter2.click();}
				if(filter3){filter3.click();}
				eud.step('1');
			}else if(step=='3'){
				if(filter3){filter3.click();}
				eud.step('2');
			}
		},
		warn:function(f,step){
			var warning1 = document.getElementById('chain_step_1_warning');
			var warning2 = document.getElementById('chain_step_2_warning');
			var step2 = document.getElementById('chain_step_2');
			if(warning1){warning1.style.display = 'none';}
			if(warning2){warning2.style.display = 'none';}
			if(step=='1'){if(warning1){warning1.style.display = 'block';}}
			if(step=='2'){
				if(warning2){warning2.style.display = 'block';}
				if(step2){if(step2.className == 'disabled'){warning1.style.display = 'block';}}
			}
			if(f){f.blur();}
		}
	};
}();
