<!-- 
function insert_icon(icon_code,textarea_id) {
	var textarea = get_elem(textarea_id);
	var cursor_pos = cursorPosition(textarea);
	var text_length = textarea.value.length;
	var text_before = textarea.value.substring(0,cursor_pos);
	var text_after  = textarea.value.substring(cursor_pos,text_length);
	var text_new    = text_before + ' ' + icon_code + ' ' + text_after;
	textarea.value  = text_new;
}


function cursorPosition(textarea){
	textarea.focus();
	if (typeof(textarea.selectionStart) == 'number') {
		return textarea.selectionStart;
	}else if(document.selection){
		var selection_range = document.selection.createRange().duplicate();

		if (selection_range.parentElement() == textarea) {
			var before_range = document.body.createTextRange();
			before_range.moveToElementText(textarea);
			before_range.setEndPoint("EndToStart", selection_range);

			var after_range = document.body.createTextRange();
			after_range.moveToElementText(textarea);
			after_range.setEndPoint("StartToEnd", selection_range);
			var before_finished = false, selection_finished = false, after_finished = false;
			var before_text, untrimmed_before_text, selection_text, untrimmed_selection_text, after_text, untrimmed_after_text;

			before_text = untrimmed_before_text = before_range.text;
			selection_text = untrimmed_selection_text = selection_range.text;
			after_text = untrimmed_after_text = after_range.text;

			do {
				if (!before_finished) {
					if (before_range.compareEndPoints("StartToEnd", before_range) == 0) {
						before_finished = true;
					} else {
						before_range.moveEnd("character", -1)
						if (before_range.text == before_text) {
							untrimmed_before_text += "\r\n";
						} else {
							before_finished = true;
						  }
					  }
				}
				if (!selection_finished) {
					if (selection_range.compareEndPoints("StartToEnd", selection_range) == 0) {
						selection_finished = true;
					} else {
						selection_range.moveEnd("character", -1)
						if (selection_range.text == selection_text) {
							untrimmed_selection_text += "\r\n";
						} else {
							selection_finished = true;
						  }
					  }
				}
				if (!after_finished) {
					if (after_range.compareEndPoints("StartToEnd", after_range) == 0) {
						after_finished = true;
					} else {
						after_range.moveEnd("character", -1)
						if (after_range.text == after_text) {
							untrimmed_after_text += "\r\n";
						} else {
							after_finished = true;
						  }
					  }
				}

			} while ((!before_finished || !selection_finished || !after_finished));
			var untrimmed_text = untrimmed_before_text + untrimmed_selection_text + untrimmed_after_text;
			var untrimmed_successful = false;
			if (textarea.value == untrimmed_text) {
				untrimmed_successful = true;
			}
			
			var startPoint = untrimmed_before_text.length;
			return (startPoint);
		}
	}
}