__etc - поясни, как обойтись одной, тут уже красота кода, черт с ней, мне пока что б заработало, писал под две рекурсии вот первая - должна искать верхний "уровень"

Код:
function heard(l_mc:MovieClip):MovieClip{
var d:Number = l_mc.getNextHighestDepth();
var el = null, nel = null;
for(var i = 0; i<d; i++){
el = l_mc.getInstanceAtDepth(i);
if(el instanceof MovieClip){
var ed:Number = el.getNextHighestDepth();
for(var j = 0; j<ed; j++){
nel = el.getInstanceAtDepth(j);
if(nel instanceof MovieClip){
heard(nel);
}
}
return el;//? где это должно быть чтоб результат был правильный
}
}
}
в чужом коде всегда разбираться западло, расказываю как могу:
есть главный мув на нем еще два - один(на нем создаются мувы с TextField), - второй(на нем будут мувы для рисования знаков дроби, корня и т.д.), вот на если у нас рисуется дробь, то на первом муве создается пустой мув, на нем еще два с текстовыми полями, если в поле находится курсор и добавить еще одну дробь - на предке этого поля создастса еще один мув с двумя другими+TextField, и т.д.
степень вложенности зависит от извращенности пользователя, дак вот надо найти самый верхний, для чего служит функция heard, но она рекурсивная из нее формируется стек, т.е последний блок выполняется первым, и результатом является мув возрашенный первым блоком(последним выполненым), а мне требо, чтоб последним(который выполняется первым).
- надеюсь не доконца всех запутал, проще в исходнике посмотреть структуру клипов.