Исходные данные.
Есть TEXTAREA внутри текст, в тексте (в произвольном месте) стоит курсор. Есть кнопка. Нажимаем на кнопку - выскакивает окошко. Юзер что-то выбирает в окошке. Окошко закрывается и выбранное (текстовая строка) вставляется в TEXTAREA в позиции курсора. Вставка по insert, то есть все, что справа сдвигается.