Xml menu problem with scroll

Hellow

I’ve got a problem with xml menu and scrolling submenus. Look at: http://www.brandwork.pl/test/

When you click at “programy” and then to Adobe it is ok. When you click on aple and then click at Adobe it is ok too. Apple closed and adobe opened, but when you click at adobe first, scroll down and click to Apple, menu is not in the right place. Can anybody help me how to resolve this problem? I used xml menu from HGA77 (http://www.kirupa.com/forum/showthread.php?t=124931&highlight=xml+menu+scroll

onClipEvent (load) {
    if (_root.nazwa == "skanery" or _root.nazwa == "tablety") {
        _parent._x = -80;
    }
    function executeAction(action) {
        if (action == undefined) {
            //nie rob nic
        } else {
            getURL(action);
        }
        //loadMovie( action , _parent.content);
        /*
        Uncomment the above line to get the menu working
        and add a content mc on the stage (with the instance name "content") to
        load in your stuff (swf's, jpg's, etc).
        */
    }
    function selectItem(item) {
        if (this[item].action != null && curItem != item) {
            executeAction(this[item].action);
        }
        if (this[item].sub == false || curItem == item) {
            trace("dwojka");
            curItem = null;
            removeSub();
        } else {
            curItem = item;
            buildSub(item);
        }
    }
    function buildSub(item) {
        onenterframe = menuAnimation;
        var i;
        var s;
        var j;
        var d = 0;
        this.attachMovie("subholder", "subholder", 100);
        var k = this.subholder;
        var total_subs = 0;
        var correct_item = (Number_Items-item)+1;
        for (i in menuObj["item"+correct_item]) {
            if (typeof (menuObj["item"+correct_item]) == "object" && i != "sub" && i != "action") {
                total_subs++;
            }
        }
        var Present_sub = total_subs-1;
        for (i=1; i<total_subs; i++) {
            k.attachMovie("sub", i, d);
            s = k*;
            s.name = menuObj["item"+correct_item]["sub"+Present_sub].name;
            s.action = menuObj["item"+correct_item]["sub"+Present_sub].action;
            s._x = 0;
            s._y = (s._height+subSpacer)*d;
            //generuje submenu
            d++;
            Present_sub--;
        }
        k._y = this[item].basey+this[item]._height;
        var u = 1;
        for (i in menuObj) {
            j = this[u];
            if (this[item]._y<j._y) {
                j.target = j.basey+k._height;
            } else {
                j.target = j.basey;
            }
            u++;
        }
        subs = total_subs;
        onenterframe = menuAnimation;
    }
    function closeMenu() {
        menu.removeMovieClip();
    }
    function removeSub() {
        this.subholder.removeMovieClip();
        depth = 1;
        for (i in menuObj) {
            trace(this[depth].basey);
            this[depth].target = this[depth].basey;
            depth++;
        }
        onenterframe = menuAnimation;
    }
    function menuAnimation() {
        var i;
        var j;
        var k = true;
        var depth = 1;
        for (i in menuObj) {
            j = this[depth];
            j._y = j._y+(j.target-j._y)/menuSpeed;
            if (menuTolerance<Math.abs(j.target-j._y)) {
                k = false;
            } else {
                j._y = j.target;
            }
            depth++;
        }
        if (k) {
            onenterframe = null;
            if (curItem != null) {
                activateSub();
            }
        }
    }
    function activateSub() {
        var d = 0;
        for (i=1; i<subs; i++) {
            subholder*.start = getTimer();
            subholder*.delay = subDelay*d;
            subholder*.gotoAndPlay(2);
            d++;
        }
    }
    MovieClip.prototype.activateMenu = function() {
        var d = 0;
        for (i=1; i<Number_Items+1; i++) {
            this*.start = getTimer();
            this*.delay = itemDelay*d;
            this*.gotoAndPlay(3);
            d++;
        }
    };
    var menuSpacer = 0;
    //sets the vertical space between main items
    var subSpacer = 0;
    //sets the vertical space between sub items
    var menuSpeed = 1;
    //sets the menu animation speed
    var menuTolerance = 1;
    var subDelay = 0;
    //set the delay for the sub items entering the stage
    var itemDelay = 0;
    //set the delay for the main items entering the stage
    var curItem = null;
    var menuObj = _parent.menuObj;
    var onenterframe = null;
    var Present_item = Number_Items;
    var loop_condition = Number_Items+1;
    for (d=1; d<loop_condition; d++) {
        this.attachMovie("item", d, d);
        k = this[d];
        k._x = 0;
        k._y = (k._height+menuSpacer)*(d-1);
        k.name = menuObj["item"+Present_item].name;
        k.action = menuObj["item"+Present_item].action;
        k.sub = menuObj["item"+Present_item].sub;
        k.basey = k._y;
        if (k.sub == false) {
            k.icon._visible = false;
        }
        Present_item--;
    }
    activateMenu();
    myszka();
}
onClipEvent (enterFrame) {
    sprawdz();
    onenterframe();
}

Source files if needed:
http://www.brandwork.pl/test/files.zip

Thanks and sorry for my english
dartb6