function cur_ins(field, startTag, endTag, offset) {
 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();
  }
}