function insertBBCode(element, rule) {
	var textElement = $(element);
	textElement.focus();
	var scrollTop = textElement.scrollTop;
	if( typeof textElement.selectionStart != 'undefined' ) {
		var selStart = textElement.selectionStart;
		var selEnd = textElement.selectionEnd;
		var selText = textElement.value.substring(selStart,selEnd);
		var replacement = rule.replace(/%s/g, selText);
		textElement.value = textElement.value.substring(0,selStart) + replacement + textElement.value.substring(selEnd);
    var pos = selStart + replacement.length;
    textElement.selectionStart = pos;
    textElement.selectionEnd = pos;
	} else if( typeof document.selection != 'undefined' ) {
		var range = document.selection.createRange();
		var selText = range.text;
		var replacement = rule.replace(/%s/g, selText);
		range.text = replacement;
		range = document.selection.createRange();
    if (selText.length == 0) {
      range.move('character', -rule.length);
    } else {
      range.moveStart('character', replacement.length);
    }
		range.select();
	} else {
		theSelection = document.selection.createRange().text;
		if (!theSelection) {
			textElement.value += rule;
		}
		document.selection.createRange().text = rule;
	}
	textElement.scrollTop=scrollTop;
	return;
}
