"this" somehow means another mc

This is a bizarre one, and it’s driving me nuts.

I have 4 movie clips that are items in a menu. It’s a typical set up, frame 1 within the mc is its default state, then it’s got a roll-over animation, a roll-out animation, and an active animation (only 1 frame).

Then I’m using an array of the menu items to make sure to unselect the old one when a new item is clicked. This works fine for the first two, but for some reason my third and fourth movieclips activate #2 when clicked. Not only that but they’re calling the getURL of item #2.

I’ve tried all the obvious stuff (e.g. replacing “this” with an absolute path, etc.) None of the menu item movieclips are instances of any other movieclip, either.

I’ve attached the .fla, but it requires CS3 or CS4. Here’s the actionscript for movieclip number 3 in case you can’t open the .fla. For some reason the onMouseUp bit here is executing the its block on a different movieClip.


// _root.clicked contains the name of whichever item is active right now
// _root.menuArray contains the movieclips themselves
onClipEvent (enterFrame) {
    this.onRollOver = function() {
        if (_root.clicked != getProperty(this, _name)) {
            gotoAndPlay(2);
        }
    };
    this.onRollOut = function() {
        if (_root.clicked != getProperty(this, _name)) {
            gotoAndPlay(7);
        }
    };
    this.onMouseUp = function() {
        if (_root.clicked != getProperty(this, _name)) {
            this.swapDepths(_root.getNextHighestDepth());
            getURL("javascript: ajaxcontent.expandit('archives')");  // this is not called
            gotoAndStop(6);                           // nor is this
            _root.clicked = getProperty(this, _name);
            for (i in _root.menuArray) {                                  
                if (getProperty(_root.menuArray*, _name) != getProperty(this, _name)) {
                    tellTarget (_root.menuArray*) {
                        gotoAndStop(1);
                    }
                }
            }
        }
    };
}