ThE0ReTiC
Со вставкой таблицы все, в принципе ясно. Если отвлечься от PREV_CONTROL, то посредством диалогового окна формируется HTML-код таблицы, который затем с помощью объекта selection и методов createRange() и pasteHTML() вставляются в редактируемый документ. Кстати, ИМХО корректнее функция работает без строки с selection.clear(). Во всяком случае, если что-то выбрано, то оно и так удаляется методом pasteHTML. Если же не выбрано ничего, то вставляется таблица на место курсора. А строка selection.clear() без видимого смысла удаляет следующий за курсором (или выбранным отрезком текста) символ. То есть: если таблицу вставлять, расположив курсор посредине слова "таблица" между букв "б" и "л", то после вставки получим "таб[тело_таблицы]ица, с потерей буквы "л". Во всяком случае, у меня так.
Освети, пожалуйста, общие принципы создания функций для вставки/удаления строк, вставки/удаления столбцов, объединения и разбиения ячеек. Какие объекты, свойста, методы, наборы использовать в этом процессе? DHTML Object Model для меня штука новая, сложновато ее объять пока.
Первое, напимер, чего я не понимаю, это как перейти от положения курсора (или выбранного текста) к ячейке, его содержащей. Ну и т.д...