<!--
InsertTag_tags = new Array();//Массив, необходимый для стрых браузеров, которые не поддерживают выделение
function InsertTag(id, open, close) {
    var target = document.getElementById(id);
    if (!window.opera)//Даем фокус, если браузер не Opera
        target.focus();
    if (typeof(cursor) != "undefined") {//IE 4.0 (win32) & Opera 8.0
        //alert("IE & Opera");
        if (cursor.text.length) {//Если имеется выделение
            cursor.text = open + cursor.text + close;//Обводим выделенное тегами
            cursor.moveToElementText(target);//Расширяем облость селекции на всё поле ввода
            cursor.collapse(false);//"Сварачиваем" выделение в курсор и ставим его в конец
        } else {//Если имеется курсор без выделенного участка строки
            cursor.text = open + close;//Вставляем теги на место курсора
            cursor.moveEnd("character", -close.length);//Ставим курсор между тегами
        }
        cursor.select();//Переносим селекцию
        return;//Завершаем работу функции.
    }
    if (typeof(cursorStart) != "undefined") {//Gecko
        var start = target.value.substring(0, cursorStart),//Получаем строку, находящуюся до выделения
            selected = target.value.substring(cursorStart, cursorEnd),//Получаем выделенную строку (или пустую строку, если ничего не выделено)
            end = target.value.substr(cursorEnd);//Получаем строку, находящуюся после выделения
        target.value = start + open + selected + close + end;//Изменяем значение объекта
        target.selectionStart = target.selectionEnd = selected.length ? target.value.length : start.length + open.length;//Устанавливаем позицию курсора
        target.scrollTop = cursorScroll;//Задаем scroll
        return;//Завершаем работу функции.
    }
    if (InsertTag_tags[open + close]) {//Если в глобальном массиве есть ключ с именем тека - добавляем вторую часть тега
        target.value += close;
        InsertTag_tags[open + close] = false;
    } else {//Если в глобальном массиве нету ключа с именем тега или этот ключ имеет значение false - добавляем в конец значения объекта первую часть тега
        target.value += open;
        InsertTag_tags[open + close] = true;
    }
}
function PositionSaver(target) {
    if (document.selection && document.selection.createRange) {//IE 4.0 (win32) & Opera 8.0
        cursor = document.selection.createRange().duplicate();
        return;
    }
    if (typeof(target.selectionStart) != "undefined") {//FireFox & Mozilla
        cursorStart = target.selectionStart;
        cursorEnd = target.selectionEnd;
        cursorScroll = target.scrollTop;
        return;
    }
}
// -->
