По поводу "наркоманского решения"
br:
Чет не вьехал в твоем коде вот в это:
Код:
theform.message.selectionStart = end_selection + middle.length;
theform.message.selectionEnd = start_selection + middle.length;
С такой реализацией начало выделения у тебя уползает от первоначального на middle.length символов вправо, что не есть гуд.
Имхо нужно заменить на
Код:
theform.message.selectionStart = start_selection;
theform.message.selectionEnd = start_selection + middle.length;
Тогда выделенный текст будет заменяться на код смайла, и этот самый код будет выделяться.
Еще на понятно, какими судьбами тут оказались:
Код:
setfocus();
getActiveText();
AddTxt = "";
Если действие setfocus() понятно по названию /привел бы код=)/, то что делает getActiveText() я вообще не вкурил, т.к. она не принимает никаких параметров, и , судя по всему, ничего не возвращает.
А что такое AddTxt я и предполагать боюсь...