/* inspired by http://aktuell.de.selfhtml.org/artikel/javascript/bbcode/  */
function insertSmile(txtSmilie) {
  aTag = ''; 
  eTag = '';

  var input = document.getElementById("CommentBox");
  input.focus();

  /* IE */
  if(typeof document.selection != 'undefined') {
    /* insert text */
    var range = document.selection.createRange();
    var insText = txtSmilie;
    range.text = aTag + insText + eTag;
    /* correct cursor position */
    range = document.selection.createRange();
    if (insText.length == 0) {
      range.move('character', -eTag.length);
    } else {
      range.moveStart('character', aTag.length + insText.length + eTag.length);      
    }
    range.select();
  }
  /* gecko-based */
  else if(typeof input.selectionStart != 'undefined')
  {
    /* insert text */
    var start = input.selectionStart;
    var end = input.selectionEnd;
    var insText = txtSmilie;
    input.value = input.value.substr(0, start) + aTag + insText + eTag + input.value.substr(end);
    /* correct cursor position */
    var pos;
    if (insText.length == 0) {
      pos = start + aTag.length;
    } else {
      pos = start + aTag.length + insText.length + eTag.length;
    }
    input.selectionStart = pos;
    input.selectionEnd = pos;
  }
  /* all others */
  else
  {
    var pos;
    pos = input.value.length;
    var insText = txtSmilie;
    input.value = input.value.substr(0, pos) + aTag + insText + eTag;
  }
}

