elfzehn = new function()
{
	this.returnParameter = function(parameter, value)
	{
		var strReturn = parameter;
		
		if(value != "")
			strReturn += "=" + value;
		return strReturn;
	};
	
	this.setGetParameterToLink = function(node, parameter, value)
	{
		var parameters = node.search.replace(/^\?/, "").split("&");
		var bSet = false;
		var strReturn = "?";
		
		for(var i = 0; i < parameters.length; ++i)
		{
			var split;
			split = parameters[i].split("=");
			if(split[0] == parameter)
			{
				parameters[i] = this.returnParameter(parameter, value);
				bSet = true;
			}
		}
		if(bSet == false)
			parameters.push(this.returnParameter(parameter, value));
		
		for(var i = 0; i < parameters.length; ++i)
			strReturn += parameters[i] + "&";
		strReturn = strReturn.substring(0, strReturn.length - 1);
//		alert(strReturn);
		node.search = strReturn;
		return(strReturn);
	};
	
	this.setGetParameterToAllLinks = function(parameter, value)
	{
		var aItems = document.getElementsByTagName("a")
		for(var i = 0; i < aItems.length; ++i)
		{
			if(aItems[i].getAttribute("href").substr(0,7) != "mailto:")
				this.setGetParameterToLink(aItems[i], parameter, value)
		}
	}
	
	this.checkFunctionality = function()
	{
		if(!document.getElementById || !document.getElementsByTagName)
			return false;
		return true;
	};

	this.getAccessibility = function()
	{
		if(document.location.search.search(/[\?\&]accessibility=yes/) != -1)
			return true;
		return false;
	};

	this.setAccessibility = function(bAccess, bReload)
	{
		if(bAccess == true)
			this.setGetParameterToAllLinks("accessibility", "yes");
		else
			this.setGetParameterToAllLinks("accessibility", "no");
		if(bReload == true)
			window.location.reload();
	};

	this.displayDesiredFontSize = function(font)
	{
		document.getElementById("fontsizenormal").setAttribute("src", "images/font_normal.gif");
		document.getElementById("fontsizebig").setAttribute("src", "images/font_big.gif");
		document.getElementById("fontsizehuge").setAttribute("src", "images/font_huge.gif");
		if((!font && (document.location.search.search(/[\?\&]font=big\&/) != -1
			|| document.location.search.search(/[\?\&]font=big$/) != -1))
			|| font == "big")
		{
			document.getElementById("fontsizebig").setAttribute("src", "images/font_big_on.gif");
			document.getElementById("content").style.fontSize = "120%";
			this.setGetParameterToAllLinks("font", "big");
		}
		else if((!font && (document.location.search.search(/[\?\&]font=huge\&/) != -1
			|| document.location.search.search(/[\?\&]font=huge$/) != -1))
			|| font == "huge")
		{
			document.getElementById("fontsizehuge").setAttribute("src", "images/font_huge_on.gif");
			document.getElementById("content").style.fontSize = "140%";
			this.setGetParameterToAllLinks("font", "huge");
		}
		else
		{
			document.getElementById("fontsizenormal").setAttribute("src", "images/font_normal_on.gif");
			document.getElementById("content").style.fontSize = "100%";
			this.setGetParameterToAllLinks("font", "normal");
		}
	}
		
	this.init = function()
	{
		if(this.checkFunctionality() == false)
			return;
			
		// next paragraph inspired by: http://www.nickrigby.com
		
		this.displayDesiredFontSize();
		
		// if accessibility is not desired
		if(this.getAccessibility() == false)
		{
			this.setAccessibility(false, false);
			document.getElementById("noaccessibility").style.display = "none";
			// arrange menu
			
			var navItems = document.getElementById("menulist").getElementsByTagName("ul");
			for(var i=0; i < navItems.length; i++)
			{
				style = navItems[i].style;
				style.position = "absolute";
				style.top = "-1px";
				style.left = "121px";
				style.display = "none";
			}
			
			var navItems = document.getElementById("menu").getElementsByTagName("li");
			
			for (var i=0; i < navItems.length; i++) {
					navItems[i].onfocus=function() 
						{
							hidesubmenus = function(menuItem)
								{
									menuItems = menuItem.getElementsByTagName("li")
									for(var cntA = 0; cntA < menuItems.length; ++cntA)
									{
										submenus = menuItems[cntA].getElementsByTagName("ul")
										for(cntB = 0; cntB < submenus.length; ++cntB)
											submenus[cntB].style.display = "none"
									}
								}
							hidesubmenus(this.parentNode);//.parentNode.parentNode)
							submenus = this./*parentNode.parentNode.*/getElementsByTagName("ul")
							for(var cntA = 0; cntA < submenus.length; ++cntA)
								submenus[cntA].style.display = "block";
						}
					navItems[i].onmouseover=function()
						{
							this.className += " over"; 
							this.onfocus();
						}
					navItems[i].onmouseout=function() { this.className = "menuparent"; }
			}
		}
		else
			this.setAccessibility(true, false);
	};
}


// make functions in the whole document available
document.elfzehn = elfzehn

