Hola amigo:
Yo implementé (desde luego ¡copiándome!) un sistema que consiste en insertar un texto que luego se reemplaza con todo un tag con una imagen.
La idea es la siguiente... cuando pinchas en un smile, insertas en el textarea un texto de esta manera (por ejemplo) "[

]"...
Y luego al procesar los datos hay que poner un código como este:
texto.replace("[

]", "<img src=smile,gif>");
El resto ya sería de otro lenguaje (en mi caso php)
Saludos