Need help with swaping clips with ease

i need help with some kind of menu, what im trying to do is to make circular buttons and when you click on it it swaps to the hotspot and become the tittle of the page, it moves with ease. the problem is the first time it works but the second click leaves the two buttons half way there. really need help. here’s the code i have so far
in the main timeline i have a variable that stores wich button is on the hotspot (_root.Active)

[left]on (release) {
if (_root.Active != this) {
dx = _root.Active._x; //Where the new button has to go in x
dy = _root.Active._y; //Where the new button has to go in y
dx2 = _x; //Where the hotspot button has to go in x
dy2 = _y; //Where the hotspot button has to go in y
temp = _root.Active;
trace("TEMP = “+temp);
trace(this +” moving to dX= “+dx+” dY “+dy);
trace(_root.Active +” moving to dX2= “+dx2+” dY2 "+dy2);
_root.Active = this;
speed = 5;
trace("Active: "+_root.Active);;
onClipEvent (enterFrame) {
_x += (dx-_x)/speed; //move the both clips at the same time
_y += (dy-_y)/speed;
temp._x += (dx2-temp._x)/speed;
temp._y += (dy2-temp._y)/speed;

If you have any ideas on how to make the same functionality some other way i would also apreciate it! thank you
just let me say that if it works i will put it in the archive so everyone can see the code! [/left]