    window.ondom = function(fn){
        window.__ondom_functionArray.push(fn);
    };
    (function(){
        window.__ondom_functionArray = [];
        function _runFunctions(){
            for (var i in window.__ondom_functionArray){
                (window.__ondom_functionArray[i])();
            }
        };
        var _khtml = /(WebKit|khtml)/i.test(navigator.userAgent);
        if(document.addEventListener && !_khtml){
            document.addEventListener("DOMContentLoaded", _runFunctions, false);
        }else if(_khtml){
            var _timer = setInterval(function(){
                if(/loaded|complete/.test(document.readyState)){
                    clearInterval(_timer);
                    _runFunctions();
                }
            }, 10);
        }else{
            document.write("<script id=__ie_ondom defer src=javascript:void(0)><\/script>");
            var script = document.getElementById("__ie_ondom");
            script.onreadystatechange = function(){
                if(this.readyState == "complete"){
                    _runFunctions();
                }
            };
        }
    })();

	function jump(object)
	{
		if (object.value != "")
		{
			window.open(object.value);
		}
	}
	
	// function for section menu
	
	function showHide(id, state)
	{
		if (state == 'show')
		{
			document.getElementById(id).style.display = '';
			document.getElementById(id + 'link').style.display = 'none';
		}
		else
		{
			document.getElementById(id).style.display = 'none';
			document.getElementById(id + 'link').style.display = '';
		}
	}

	function showHideStaff(id, state)
	{
		if (state == 'show')
		{
			document.getElementById(id).style.display = 'block';
			document.getElementById(id + 'link').style.display = 'none';
		}
		else
		{
			document.getElementById(id).style.display = 'none';
			document.getElementById(id + 'link').style.display = 'block';
		}
	}

	var state = new Object();
	
	//
	
	function toggleItemsUnderSectionMenu(aItem, ulLevelId)
	{
	
		if (document.getElementById(ulLevelId) == null) return true;
	
		parentNodeItemsLevel = document.getElementById(ulLevelId).parentNode;
		classParentNodeItemsLevel = getClassAttribute(parentNodeItemsLevel);
		
		documentLocation = document.location.href.indexOf("#") != -1 ? document.location.href.substring(0, document.location.href.indexOf("#")) : document.location.href;
		
		if (documentLocation != aItem.href && aItem.href.match(/.*\#$/) == null)
		{
			return true;
		}
		
		if (classParentNodeItemsLevel.indexOf('selected') != -1)
		{
			setClassAttribute(parentNodeItemsLevel, classParentNodeItemsLevel.replace(/\bselected\b/g, ''));
			document.getElementById(ulLevelId).style.display = "none";
		}
		else
		{
			var navUl = document.getElementById("section-menu-items").getElementsByTagName('ul');
			for (var i=0; i<navUl.length; i++)
			{
				if (navUl[i].id.match(/^section-menu-[0-9]{1,2}-[0-9]{1,2}$/))
				{
					anothersParentNodeItemsLevel = document.getElementById(navUl[i].id).parentNode;
					anothersClassParentNodeItemsLevel = getClassAttribute(anothersParentNodeItemsLevel)
					setClassAttribute(anothersParentNodeItemsLevel, anothersClassParentNodeItemsLevel.replace(/\bselected\b/g, ''));
					document.getElementById(navUl[i].id).style.display = "none";
				}
			}
			
			document.getElementById(ulLevelId).style.display = "block";
			setClassAttribute(parentNodeItemsLevel, classParentNodeItemsLevel + " selected");
		}
		
		if (!aItem.href.match(/.*\#$/) && classParentNodeItemsLevel.indexOf('selected') == -1 && classParentNodeItemsLevel.indexOf('opened') == -1)
		{
			return true;
		}
		else
		{
			return false;
		}
	}
	
	function setClassAttribute(elem, valueAttr)
	{
		navigator.userAgent.indexOf('MSIE') != -1 ? elem.setAttribute("className", valueAttr) : elem.setAttribute("class", valueAttr);
	}
	
	function getClassAttribute(elem)
	{
		classValue = navigator.userAgent.indexOf('MSIE') != -1 ? elem.getAttribute("className") : elem.getAttribute("class");
		return classValue != null ? classValue : "";
	}
	
	//
	
	function bookmarkLink()
	{
		title = document.title;
		url = location.href;

		if (window.sidebar)
		{
			window.sidebar.addPanel(title, url,"");
		}
		else if ( window.external )
		{
			window.external.AddFavorite( url, title);
		}
		else if (window.opera && window.print)
		{
			return true;
		}
	}

    clickInputs = [
        {
            id: 'search_box',
            text: '[søgning]'
        },
        {
            id: 'name_box',
            text: '[name]'
        },
        {
            id: 'email_box',
            text: '[e-mail]'
        },
        {
            id: 'username_box',
            text: '[username]'
        },
        {
            id: 'password_box',
            text: '[password]'
        }
    ];

    window.ondom(function() {
        var input_element;
        for (var i = 0; i < clickInputs.length; i++) {
            var input_element = document.getElementById(clickInputs[i].id)
            if (input_element) {
                input_element.setAttribute('alt', clickInputs[i].text);
                input_element.onfocus = function() {
                    if (this.value == this.getAttribute('alt')) {
                        this.value = '';
                    }
                }
                input_element.onblur = function() {
                    if (this.value == '') {
                        this.value = this.getAttribute('alt');
                    }
                }

            }
        }
    });
	
    function scrollToElement(element)
    {
        var posX = 0;
        var posY = 0;

        while (element != null) {
            posX += element.offsetLeft;
            posY += element.offsetTop;
            element = element.offsetParent;
        }
        window.scrollTo(posX, posY);
    }
	
	function onloadQueue(func)
	{
		var oldonload = window.onload;
		if (typeof window.onload != 'function')
		{
			window.onload = func;
		}
		else
		{
			window.onload = function()
			{
				if (oldonload)
				{
					oldonload();
				}
				func();
			}
		}
	}

	function addEvent(elem, evtType, func)
	{
		if (elem.addEventListener)
		{
			elem.addEventListener(evtType, func, false);
		}
		else if (elem.attachEvent)
			{
				elem.attachEvent('on' + evtType, func);
			}
			else
			{
			elem['on' + evtType] = func;
			}
	}

