Function, onEnterFrame

This builds a tsunami-like menu.
I was wondering, if it would be possible to write a function out of it and if possible also to delete the onEnterFrame on an appropriate time, in order to save performance.

stop();
centerx = Stage.width/2;
centery = Stage.height/2;
var menuholder = this.createEmptyMovieClip("menuholder", -1);
menuholder._y = centery;
menucount = 5;
menuitems = [];
miwidth = 50;
miborder = 2;
startx = centerx-((menucount-1)*(miwidth+miborder))/2;
//trace(startx);
for (var i = 0; i<menucount; i++) {
 var menuitem = this.menuholder.attachMovie("menuitem"+i, "menu"+i, i);
 menuitem._x = startx+i*(miwidth+miborder);
 menuitem.id = i;
 menuitem.onRollOver = function() {
  _root.selected = this;
 };
 menuitems.push(menuitem);
}
onEnterFrame = function () {
 var width = 0;
 for (var i = 0; i<menucount; i++) {
  var xxm = menuitems*._xmouse;
  var yym = menuitems*._ymouse;
  var xm = Math.sqrt(xxm*xxm+yym*yym);
  if (xm<50) {
   menuitems*._xscale = menuitems*._yscale += ((200-xm)-menuitems*._yscale)/3;
  } else {
   menuitems*._xscale = menuitems*._yscale += (100-menuitems*._yscale)/3;
  }
  width += menuitems*._width;
 }
 width += (menucount-1)*miborder;
 var xpos = Math.round(centerx-width/2);
 for (var i = 0; i<menucount; i++) {
  if (i == 0) {
   xpos += miborder+menuitems*._width/2;
   menuitems*._x = xpos;
  } else {
   xpos += menuitems[i-1]._width/2+miborder+menuitems*._width/2;
   menuitems*._x = xpos;
  }
 }
};