//Sperr- und Statusvariablen
last1Layer =		"";
last2Layer =		"";
unlocked =			true;
unchanged1Layer =	true;
unchanged2Layer =	true;

//Programmteil

//Initialisierung der Webseite
function init()
{
	params = window.location.search;
   for (i = 0; i < toc.length; i++)
   {
      if (toc[toc[i]])
      {
         for (j = 0; j < toc[toc[i]].length; j++)
         {
            document.getElementById(toc[toc[i]][j]).style.display = "none";
            if (document.getElementById(toc[toc[i]][j]+"x"))
            {
               document.getElementById(toc[toc[i]][j]+"x").style.display = "none";
            }
         }
      }
      document.getElementById(toc[i]).style.display = "block";
   }
   if (params != "")
	{
		params = params.substring(1, params.length);
		param = params.split("=");
		kap = param[1];
		if (kap.length < 4)
		{
			show1Layer(kap);
			last1Layer = kap;
			unchanged1Layer = false;
			unchanged2Layer = false;
		}
		else
		{
			show1Layer(kap.substring(0, kap.length-1));
			show2Layer(kap);
			last1Layer = kap.substring(0, kap.length-1);
			unchanged1Layer = false;
			unchanged2Layer = false;
		}
		document.getElementById(kap).focus();
	}
}

//Zusammenführung von Tastatur- und Mausbedienung
function setFocus(id)
{
	document.getElementById(id).focus();
}

function releaseFocus(id)
{
	document.getElementById(id).blur();
}

//Farbeffekte für Aufgabennummern der 1. Ebene
function chgColor(id)
{
	if (unlocked)
	{
		if (unchanged1Layer)
		{
			with (document.getElementById(id).style)
			{
				backgroundColor =	col[id];
				color =				"#ffffff";
			}
			unchanged1Layer = false;
		}
		else
		{
			with (document.getElementById(id).style)
			{
				backgroundColor =	"#ffffff";
				color =				"#000000";
			}
			unchanged1Layer = true;
		}
	}
	else
	{
		if (unchanged2Layer)
		{
			with (document.getElementById(id).style)
			{
				backgroundColor =	col[id];
				color =				"#ffffff";
			}
			unchanged2Layer = false;
		}
		else
		{
			with (document.getElementById(id).style)
			{
				backgroundColor =	"#e6e6e6";
				color =				"#000000";
			}
			unchanged2Layer = true;
		}
	}
}

//Ein- oder Ausblendung von Aufgabennummern der 2. Ebene
function show1Layer(id)
{
	if (last1Layer != "")
	{
		for (i = 0; i < toc.length; i++)
		{
			if (id != toc[i])
			{
				document.getElementById(toc[i]).style.display = "block";
			}
		}
		if (toc[id])
		{
			for (j = 0; j < toc[id].length; j++)
			{
				document.getElementById(toc[id][j]).style.display = "none";
				if (document.getElementById(toc[id][j]+"x"))
				{
					document.getElementById(toc[id][j]+"x").style.display = "none";
				}
			}
		}
		last1Layer = "";
		unlocked = true;
	}
	else
	{
		with (document.getElementById(id).style)
		{
			backgroundColor =	col[id];
			color =				"#ffffff";
		}
		for (i = 0; i < toc.length; i++)
		{
			if (id != toc[i])
			{
				document.getElementById(toc[i]).style.display = "none";
			}
		}
		if (toc[id])
		{
			for (j = 0; j < toc[id].length; j++)
			{
				document.getElementById(toc[id][j]).style.display = "block";
			}
		}
		last1Layer = id;
		unlocked = false;
	}
}

//Ein- oder Ausblendung von Aufgabennummern der 3. Ebene
function show2Layer(id)
{
	if (last2Layer != "")
	{
		for (i = 0; i < toc[id.slice(0,-1)].length; i++)
		{
			if (id != toc[id.slice(0,-1)][i])
			{
				document.getElementById(toc[id.slice(0,-1)][i]).style.display = "block";
			}
			if (document.getElementById(toc[id.slice(0,-1)][i]+"x"))
			{
				document.getElementById(toc[id.slice(0,-1)][i]+"x").style.display = "none";
			}
		}
		last2Layer = "";
	}
	else
	{
		for (i = 0; i < toc[id.slice(0,-1)].length; i++)
		{
			if (id != toc[id.slice(0,-1)][i])
			{
				document.getElementById(toc[id.slice(0,-1)][i]).style.display = "none";
			}
		}
		document.getElementById(id+"x").style.display = "block";
		last2Layer = id;
	}
}