Обратиться по нику пользователя (JavaScript)

13:17 1.02.2017
Данный код позволяет вставлять имя пользователя в форму, для обращении по имени.

Форма, куда будут вставлены ники и ссылка ника (пример для наглядности):
<a href="#" data-user="Slash" class="username">@</a> <a href="http://mysite.ru/user/Slash" class="link_user">Slash</a>

<form>
    <!-- Форма, куда будут вставлены ники -->
    <textarea id="message"></textarea>
</form>

Сценарий:
var username = document.getElementsByClassName('username');                     // Получаем все ники пользователей
var message  = document.getElementById('message');                              // Получаем форму, куда будет вставлен ник

for (var i = 0; username.length > i; i++) {
    username[i].addEventListener('click', function(e) {                         // Вешаем событие Click на все ники
        var nic       = '[b]' + this.getAttribute('data-user') + '[/b], ';      // Получаем ник пользователя
        var pcursor   = message.selectionStart;                                 // Определяем позицию курсора в <textarea>
        var first     = message.value.substring(0, pcursor);                    // Получаем первую часть текста (до курсора)
        var second    = message.value.substring(pcursor, message.value.length); // Получаем вторую часть текста (от курсора)
        message.value = first + nic + second;                                   // При клике на ник вставляем ник в форму
        message.setSelectionRange(pcursor + nic.length, pcursor + nic.length);  // Выбираем место для курсора
        message.focus();                                                        // Вставляем курсор
        e.preventDefault();                                                     // Отменяем переход по ссылки
    });
};