var selField = false;
var inputField = false;

// Funktion setzt einen zeiger auf das gerade aktive Textfeld
function setFieldName(which)
{
	if (which != selField)
	{
		selField = which;
		inputField = document.getElementById(which);
	}
}

// folgende Funktion ist aus SelfHTML entnommen

function insertBBCode(aTag, eTag) {
	if(!inputField) alert("Bitte zuerst das Textfeld anklicken, in dass das Element eingefügt werden soll!");
	else {
	inputField.focus();
	/* für Internet Explorer */
	if(typeof document.selection != 'undefined') {
		/* Einfügen des Formatierungscodes */
		var range = document.selection.createRange();
		var insText = range.text;
		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 inputField.selectionStart != 'undefined')
	{
		/* Einfügen des Formatierungscodes */
		var start = inputField.selectionStart;
		var end = inputField.selectionEnd;
		var insText = inputField.value.substring(start, end);
		inputField.value = inputField.value.substr(0, start) + aTag + insText + eTag + inputField.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;
		}
		inputField.selectionStart = pos;
		inputField.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.." + inputField.value.length + "):", "0");
		}
		if(pos > inputField.value.length) {
			pos = inputField.value.length;
		}
		/* Einfügen des Formatierungscodes */
		var insText = prompt("Bitte geben Sie den zu formatierenden Text ein:");
		inputField.value = inputField.value.substr(0, pos) + aTag + insText + eTag + inputField.value.substr(pos);
	}
	}
}
