function insertText(str) {
	var obj = document.getElementById("gb_caption");
	if (typeof(obj.createTextRange) != "undefined" && obj.caretPos) {
		var cp = obj.caretPos;
		cp.text = cp.text.charAt(cp.text.length - 1) == ' ' ? str + ' ' : str;
		cp.select();
	} else if (obj.selectionStart || obj.selectionStart == '0') {
		var ss = obj.selectionStart;
		var es = obj.selectionEnd;
		var s = (obj.value).substring(0, ss);
		var m = str;
		var e = (obj.value).substring(es, obj.textLength);
		obj.value = s + m + e;
		obj.focus();
		obj.selectionStart = es + m.length;
		obj.selectionEnd = ss + m.length;
	} else {
		obj.value += str;
	}
}

function getSel() {
	var obj = document.getElementById("gb_caption");
	if (typeof(obj.createTextRange) != "undefined" && obj.caretPos) {
		var cp = obj.caretPos;
		return cp.text;
	} else if (obj.selectionStart || obj.selectionStart == '0') {
		var ss = obj.selectionStart;
		var es = obj.selectionEnd;
		return (obj.value).substring(ss, es);
	} else {
		return "";
	}
}

function addSmiley(str) {
	insertText(str);
}

function getBB(bmode) {
	var ostr = getSel();
	if (bmode != "URL") {
		if (ostr == "") {
			var msg = "Bitte geben Sie den zu formatierenden Text ein:";
			ostr = prompt(msg);
		}
		if (ostr.length > 0) insertText("[" + bmode + "]" + ostr + "[/" + bmode + "]");
	} else {
		var msg = "Bitte geben Sie den Namen des Links ein:";
		var msg2 = "Bitte geben Sie die URL des Links ein:";
		if (ostr == "") {
			ostr = prompt(msg);
		}
		var ostr2 = prompt(msg2);
		if (ostr.length > 0 && ostr2.length > 0) insertText("[URL=" + ostr2 + "]" + ostr + "[/URL]");
	}
	return false;
}

function getBB2(bmode, obj) {
	var ostr = getSel();
	if (ostr == "") {
		var msg = "Bitte geben Sie den zu formatierenden Text ein:";
		ostr = prompt(msg);
	}
	if (ostr.length > 0) {
		insertText("[" + bmode + "=" + obj.value + "]" + ostr + "[/" + bmode + "]");
	}
}
