Позиция contentableable div position

Возможный дубликат: Получить позицию каретки в contentEditable div

У меня есть contenteditable div, и я пытаюсь получить позицию каретки внутри этого div в браузерах без IE, используя следующий код:

  var caretPosition = 0, containerEl = null, sel, range;
  if (window.getSelection) 
  {
    sel = window.getSelection();
    if (sel.rangeCount) {
        range = sel.getRangeAt(0);
        if (range.commonAncestorContainer.parentNode == editableDiv) {
            caretPosition = range.endOffset;
         }
      }
   }

Он возвращает позицию каретки правильно для текста в одной строке, но у меня есть несколько строк текста, и кажется, что для каждой новой строки позиция каретки для каждой строки начинается с 0. Моя проблема в том, что мне нужна позиция каретки для включения числа символов, найденных в предыдущих строках, например, для второй строки

caretPosition = количество символов в первой строке + число символов перед каретой во второй строке.

Он возвращает только символ no перед каретой во второй строке. Как я могу достичь такого поведения? Или как у меня есть другой диапазон, который включает текст, найденный в строках выше?

Любые советы очень ценятся, спасибо!