function setRequest(datei, param, methode, ort)
{
	if(window.XMLHttpRequest)
	{
		request = new XMLHttpRequest();
	}
	else if(window.ActiveXObject)
	{
		try
		{
			request = new ActiveXObject('Msxml2.XMLHTTP');
		}
		catch(e)
		{
			try
			{
				request = new ActiveXObject('Microsoft.XMLHTTP');
			}
			catch(e)
			{
			}
		}
	}

	if(!request)
	{
		alert("Kann keine XMLHTTP-Instanz erzeugen");
		return false;
	}
	else
	{
		if(ort == 'content')
		{

			document.getElementById('contenttext').innerHTML = "<div align=\"center\">Seite wird geladen...</div>";

			var url = ('index.php?' + datei);
			request.open(methode, url, true);
			request.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
			request.send(param);

			request.onreadystatechange = interpretRequestcn;
		}
		else if(ort == 'login')
		{
			var url = ('index.php?' + datei);
			request.open(methode, url, true);
			request.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
			request.send(param);
			request.onreadystatechange = interpretRequestlo;
		}
		else if(ort == 'nav')
		{
			document.getElementById('navi').innerHTML = "<div align=\"center\">Navigation wird geladen...</div>"

			var url = ('index.php?' + datei);
			request.open(methode, url, true);
			request.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
			request.send(param);
			request.onreadystatechange = interpretRequestna;
		}
		else
		{
			var url = ('index.php?' + datei);
			request.open(methode, url, true);
			request.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
			// request.send(null);
			request.send(param);

			request.onreadystatechange = interpretRequest;
		}
	}
}

function interpretRequestal()
{
	switch(request.readyState)
	{
		case 4:
		if(request.status != 200)
		{
			// alert("Der Request wurde abgeschlossen, ist aber nicht OK\nFehler:"+request.status);
		}
		else
		{
			var content = request.responseText;
			document.getElementById('alles').innerHTML = content;
		}
		break;
		default:
		break;
	}
}

function interpretRequestcn()
{
	switch(request.readyState)
	{
		case 4:
		if(request.status != 200)
		{
			// alert("Der Request wurde abgeschlossen, ist aber nicht OK\nFehler:"+request.status);
		}
		else
		{
			var content = request.responseText;
			document.getElementById('contenttext').innerHTML = content;
		}
		break;
		default:
		break;
	}
}

function interpretRequestlo()
{
	switch(request.readyState)
	{
		case 4:
		if(request.status != 200)
		{
			alert("Der Request wurde abgeschlossen, ist aber nicht OK\nFehler:"+request.status);
		}
		else
		{
			var content = request.responseText;
			document.getElementById('logintext').innerHTML = content;
			setRequest('na=1', '', 'GET', 'nav');
		}
		break;
		default:
		break;
	}
}

function interpretRequestna()
{
	switch(request.readyState)
	{
		case 4:
		if(request.status != 200)
		{
			alert("Der Request wurde abgeschlossen, ist aber nicht OK\nFehler:"+request.status);
		}
		else
		{
			var content = request.responseText;
			document.getElementById('navi').innerHTML = content;
		}
		break;
		default:
		break;
	}
}

function interpretRequest()
{
	switch(request.readyState)
	{
		case 4:
		if(request.status != 200)
		{
			alert("Der Request wurde abgeschlossen, ist aber nicht OK\nFehler:"+request.status);
		}
		else
		{
			var content = request.responseText;
			document.getElementById('alles').innerHTML = content;
		}
		break;
		default:
		break;
	}
}

function einfuegen(formuname, feldname, aTag, eTag)
{
	var input = document.forms[formuname].elements[feldname];
	input.focus();
	/* für Internet Explorer */
	if(typeof document.selection != 'undefined')
	{
		/* Einfügen des Formatierungscodes */
		var range = document.selection.createRange();
		var insText = range.text;
		if(aTag == "[URL")
		{
			if(insText == "")
			{
				range.text = aTag + "http://www." + "eURL]" + "http://www." + "[/URL]";
			}
			else
			{
				range.text = aTag + insText + "eURL]" + insText + "[/URL]";
			}
		}
		else if(aTag == "[YOUTUBE]")
		{
			if(insText == "")
			{
				range.text = aTag + "Videonummer" + "[eYOUTUBE]" + "Videonummer" + "[/YOUTUBE]";
			}
			else
			{
				range.text = aTag + insText + "[eYOUTUBE]" + insText + "[/YOUTUBE]";
			}
		}		
		else
		{
			range.text = aTag + insText + eTag;
		}
		/* Anpassen der Cursorposition */
		range = document.selection.createRange();
		if(insText.length == 0)
		{
			range.move('character', -eTag.length);
		}
		else
		{
			range.moveStart('character', aTag.length + insText.length + eTag.length);
		}
		range.select();
	}
	/* für neuere auf Gecko basierende Browser */
	else if(typeof input.selectionStart != 'undefined')
	{
		/* Einfügen des Formatierungscodes */
		var start = input.selectionStart;
		var end = input.selectionEnd;
		var insText = input.value.substring(start, end);
		if(aTag == "[URL")
		{
			if(insText == "")
			{
				input.value = input.value.substr(0, start) + aTag + "http://www." + "eURL]" + "http://www." + eTag + input.value.substr(end);
			}
			else
			{
				input.value = input.value.substr(0, start) + aTag + insText + "eURL]" + insText + eTag + input.value.substr(end);
			}
		}
		else if(aTag == "[YOUTUBE]")
		{
			if(insText == "")
			{
				input.value = input.value.substr(0, start) + aTag + "Videonummer" + "[eYOUTUBE]" + "Videonummer" + eTag + input.value.substr(end);
			}
			else
			{
				input.value = input.value.substr(0, start) + aTag + insText + "[eYOUTUBE]" + insText + eTag + input.value.substr(end);
			}
		}
		else
		{
			input.value = input.value.substr(0, start) + aTag + insText + eTag + input.value.substr(end);
		}
		// input.value = input.value.substr(0, start) + aTag + insText + eTag + input.value.substr(end);
		/* Anpassen der Cursorposition */
		var pos;
		if(insText.length == 0)
		{
			pos = start + aTag.length;
		}
		else
		{
			pos = start + aTag.length + insText.length + eTag.length;
		}
		input.selectionStart = pos;
		input.selectionEnd = pos;
	}
	/* für die übrigen Browser */
	else
	{
		/* Abfrage der Einfügeposition */
		var pos;
		var re = new RegExp('^[0-9]{0,3}$');
		while(!re.test(pos))
		{
			pos = prompt("Einfügen an Position (0.." + input.value.length + "):", "0");
		}
		if(pos > input.value.length)
		{
			pos = input.value.length;
		}
		/* Einfügen des Formatierungscodes */
		var insText = prompt("Bitte geben Sie den zu formatierenden Text ein:");
		input.value = input.value.substr(0, pos) + aTag + insText + eTag + input.value.substr(pos);
	}
}