var FormName = 'textform';
var TextArea = 'nachricht';
var PromptMsg = {

	f: ['Bitte den Text zum fett schreiben eingeben', ''],
	k: ['Bitte den Text zum kursiv schreiben eingeben', ''],
	url: ['Bitte den Link eingeben (http://)', 'http://'],
	urlziel: ['Bitte die Beschreibung zum Link eingeben (optional)', ''],
	img: ['Bitte den Bildpfad eingeben (http://) - keine Bilder, die breiter als 400px sind!', 'http://']

};
function jCode(tag, bIns)
{
	// Insert or Funktion
	if (!bIns) {
		var bIns = false;
		//var tag  = tag.toUpperCase();
	}

	// default vars
	var text	= '';    // the text to insert
	var selText	= '';    // the selected text
	var safari	= false; // safari browser check

	// select the teaxarea
	try {
		var tArea = document.getElementById(TextArea);
		tArea.focus();
	} catch (e) {}

	// check Safari
	if (navigator.userAgent.search(/safari/i) != -1) {
		safari = true;
	}

	// Internet Explorer
	if (tArea.createTextRange) {
		var tRange	= document.selection.createRange();
		selText		= new String(tRange.text);

		// Prompt, if nothing is selected
		if (selText.length == 0 && bIns == false) {
			text = jPrompt(tag);
		}

		// take the selected text
		else if (bIns == false) {
			text = SetTag(tag, selText);
		}

		// insert the given Text
		else {
			text = tag;
		}

		// insert and set the curser
		tRange.text = text;
		tRange.select();
	}

	// Mozilla, Firefox
	else if (document.getElementById && !document.all && safari == false) {
		var selStart = tArea.selectionStart;
		var selEnd   = tArea.selectionEnd;

		// Prompt, if nothing is selected
		if (selStart == selEnd && bIns == false) {
			text = jPrompt(tag);
		}

		// take the selected text
		else if (bIns == false) {
			selText	= tArea.value.substring(selStart, selEnd);
			text	= SetTag(tag, selText);
		}

		// insert the given Text
		else {
			text = tag;
		}

		// insert
		tArea.value = tArea.value.substr(0, selStart) + text + tArea.value.substr(selEnd);

		// set the curser behind the inserted
		var selPos = selStart + text.length;
		tArea.selectionStart = selPos;
		tArea.selectionEnd   = selPos;
	}

	// Opera, Safari
	else {
		if (bIns == false) {
			text = jPrompt(tag);
		}
		else {
			text = tag
		}
		tArea.value += ''+ text;
	}
}

function jPrompt(sTag)
{
	// URL
	if (sTag == 'url') {
		var url	 = prompt(PromptMsg['url'][0], PromptMsg['url'][1]);
		var desc = prompt(PromptMsg['urlziel'][0], PromptMsg['urlziel'][1]);

		if (url.length == 0 || url == null || url == PromptMsg['url'][1]) {
			return '';
		}
		else if (desc.length == 0 || desc == null || desc == PromptMsg['urlziel'][1]) {
			return SetTag('url', url);
		}
		else {
			return '[url='+ url +']'+ desc +'[/url]';
		}
	}

	// all other tags
	else {
		var retVal = prompt(PromptMsg[sTag][0], PromptMsg[sTag][1]);
		if (retVal.length == 0 || retVal == null || retVal == PromptMsg[sTag][1]) {
			return '';
		}
		else {
			return SetTag(sTag, retVal);
		}
	}
}

function SetTag(sTag, sText)
{
	return '['+ sTag +']'+ sText +'[/'+ sTag +']';
}
