Dimenticavo, e questa è la parte che mi crea più problemi, la TextArea non è quella HTML, ma è una TextArea di ASP.Net.

Infatti finché si tratta di una normale TextArea riesco con un codice che ho adattato da questo:

codice:
function emoticon(campo, code) 
    {
      var myField = document.getElementById(campo);
      var myValue = code;
      
      if (document.selection)
      {
        // IE
        myField.focus();
          sel = document.selection.createRange();
          sel.text = myValue;
      }
      else if (myField.selectionStart || myField.selectionStart == '0') {
        // MOZILLA/NETSCAPE
        var startPos = myField.selectionStart;
        var endPos = myField.selectionEnd;
        myField.value = myField.value.substring(0, startPos)
                + myValue
                + myField.value.substring(endPos, myField.value.length);
      }
      else
      {
        myField.value += myValue;
      }
    }
Ma con la TextBox asp.net mi dà, al getElementById, null.