function cur_ins(startTag, endTag, offset) {
var field = document.getElementById('textarea');
field.focus();
if (document.getSelection) { //FF, NS
  selStart = field.selectionStart;
  selEnd = field.selectionEnd;
  text = field.value.substring(selStart, selEnd);
  field.value = field.value.substring(0, selStart) + startTag + text + endTag + field.value.substring(selEnd);
  if (text.length > 0) {
if (offset != 0) {
      field.selectionStart = selStart + startTag.length + text.length - offset;
    } else {
      field.selectionStart = selStart + startTag.length + text.length + endTag.length;
    }
  } else {
     field.selectionStart = selStart + startTag.length;
  }
  field.selectionEnd = field.selectionStart;
} else
if (document.selection) { //IE
    marker = document.selection.createRange();
    text = marker.text;
    marker.text = startTag+text+endTag;
    marker = document.selection.createRange();
    if (text.length > 0) {
      if (offset != 0) {
marker.move('character', startTag.length + text.length - offset);
      } else {
        marker.move('character', startTag.length + text.length + endTag.length + offset);
      }
    } else {
      marker.move('character', -(endTag.length));
    }
    marker.select();
}
}