Все же вышло!!!

Код:
styleObj = new StyleSheet();
css_str = "A:hover {color:#990000;}" //, A:active {color:#FF0000;}";990000 0764AF
styleObj = new TextField.StyleSheet();
styleObj.parseCSS(css_str)
test.wordWrap = true;
test.multiline=true
//test.autoSize = "right";
test.condenseWhite = true;
test.html = true;
test.embedFonts=true
test.styleSheet = styleObj;
Тут задаем изменение цвета ссылки в гипертексте

Код:
function loadXML(_file)
{
doc = new XML();
...
doc.onLoad = function () {
...
test.htmlText =doc.firstChild....nodeValue // Основной текст
arrWord=[]
text0=test.htmlText
text1=test.text
letFind=true
index=0
while(letFind){
posTag=text0.indexOf('<a href="asfunction:showLTip,',index) // найден тег
if (posTag==-1){ // тегов нет, конец цикла
break;
}
posAct=posTag+30
posWord=text0.indexOf('"><u>',posAct) // начало ссылки
posEndWord=text0.indexOf('</u></a>',posWord) //конец ссылки
findWord=text0.substring(posWord+5, posEndWord) // ссылка (видимая)
myFind=text1.indexOf(findWord)
arrWord.push({pos:myFind ,word:findWord, link:text0.substring(posAct-1, posWord)})
index=posEndWord+8
}
}
}
}
Здесь читается текст из xml-ки и вставляется в текстовое поле test
создается массив с индексами ссылок и текстом при наведении на них

Код:
onMouseMove=function(){
//var showWind=false
for (var i=0; i<arrWord.length; i++){
my_fmt = test.getTextFormat(arrWord[i].pos,(arrWord[i].pos+arrWord[i].word.length));
if (my_fmt.color==10027008){
trace(arrWord[i].word)
if (!showWind){
showLTip(arrWord[i].link)
showWind=true
}
break;
}
}
if (i==arrWord.length){
hideLTip()
showWind=false
}
}
Собственно движок поиска изменения состояния ссылки и выведения окошка (запуск функции showLTip с передачей параметра - текста ссылки) или закрытие окошка (функция hideLTip())
Поиск расчитан на одну уникальную ссылку в тексте (если она повторяется то надо изменить алгоритм).
Забивается в xml стандартно:

Код:
<![CDATA[ .....<a href="asfunction:showLTip,Исономия – равенство гражданских прав."><u>исономии</u></a>....]]>