function insertText(id, string, start_size, close_size)
{
	var element = document.getElementById(id);

	if (document.selection) {
		/* Internet Explorer */
		element.focus();
		var range = document.selection.createRange();
		range.text = string;

		range.collapse(true);
		range.moveStart('character', -close_size);
		range.moveEnd('character', -close_size);
		range.select();
	} else if (element.selectionStart || element.selectionStart == '0') {
		/* Mozilla/Firefox */
		var startPos = element.selectionStart;
		var endPos = element.selectionEnd;

		element.value =
			element.value.substring(0, startPos) +
			string +
			element.value.substring(endPos, element.value.length);

		element.focus();
		element.setSelectionRange(startPos + start_size, startPos + start_size);
	} else {
		/* Other */
		element.value += string;
		element.focus();
	}
}

function insertSmiley(id, code)
{
	insertText(id, code, code.length, 0);
}

function insertCode(id, code)
{
	var string = "[" + code + "][/" + code + "]";
	var start_size = code.length + "[]".length;
	var close_size = code.length + "[/]".length;

	insertText(id, string, start_size, close_size);
}

