Отображение слова, над которым находится указатель мыши, с помощью объекта TextRange

Слово:

Исходный код этого примера:
<script>
function WhatIsWord()
{
    var ctrl=document;
        if(ctrl.setSelectionRange) {
            ctrl.focus();
            ctrl.setSelectionRange(pos,pos);
            //alert(ctrl.setSelectionRange(pos,pos));
        }
        else if (ctrl.createTextRange) {
            var range = ctrl.createTextRange();
            range.collapse(true);
            range.moveEnd('character', pos);
            range.moveStart('character', pos);
            //alert(range.moveStart('character', pos));
            range.select();
        }
/*
   // Создание объекта TextRange
var tr=document.getElementsByTagName('body')[0].createTextRange();
   // Свертка в точку, куда указывает мышка
tr.moveToPoint(event.clientX, event.clientY);
   // Расширение до слова, над которым указатель мышки
tr.expand("word");
   // Отображение содержимого
document.getElementById('TestWord').innerHTML = tr.text;
*/
}
</script>
<body onmousemove="WhatIsWord();">

<h1>Отображение слова, над которым находится указатель мыши, с помощью объекта TextRange</h1>
<p>Слово: <span id="TestWord"></span></p>

Получить положение курсора в input

function doGetCaretPosition (ctrl) {

    var CaretPos = 0;
    // IE Support
    if (document.selection) {

    ctrl.focus ();
    var Sel = document.selection.createRange ();

    Sel.moveStart ('character', -ctrl.value.length);

    CaretPos = Sel.text.length;
    }
    // Firefox support
    else if (ctrl.selectionStart || ctrl.selectionStart == '0')
    CaretPos = ctrl.selectionStart;

    return (CaretPos);
}

Установить положение курсора в input

function setCaretPosition(ctrl, pos){
    if(ctrl.setSelectionRange){
    ctrl.focus();
    ctrl.setSelectionRange(pos,pos);
    }else if (ctrl.createTextRange) {
    var range = ctrl.createTextRange();
    range.collapse(true);
    range.moveEnd('character', pos);
    range.moveStart('character', pos);
    range.select();
    }
}

.