Weird onRelease problem

Hey ppl

I have a weird problem
I have a movieclip which contains a textfield (mc_traininginfo)
The movieclip is placed on frame 20

I also have a menu which is on frame 10 and 20 (frame 10 is the homepage).
When i click on a button on frame 10 it should go to frame 20.
The textfield on frame 20 appears. But the weird thing is, that it dissapears as soon as the onRelease action is finished.
When i click again it appears again for just a second.

code on the main timeline
_root.btn_training.hitBtn.onRelease = function(){
gotoAndStop(20);
}

buttoncode
//properties
bgButton._x = 0;
bgButton._y = 1;
bgButton._alpha = 100;
hitBtn._x = 0;
hitBtn._y = 1;
hitBtn._alpha = 0;
mask._x = 0;
mask._y = 1;
mask._alpha = 0;
dyntxt.html = true;
dyntxt.text = “traininginfo”;
dyntxt._x = 15;
dyntxt._y = 0;
txtcolor = new Color(dyntxt);
txtcolor.setRGB(0xffffff);
distance = (bgButton._width - dyntxt.textWidth) - 15;
mcArrow._y = -56;
mcArrow._x = distance -12
mcArrow2._y = -2;
mcArrow2._x = 3;
mcArrow.dynarrow.textColor = 0xffffff;
mcArrow.setMask(hitBtn);
mcArrow2.setMask(mask);
//misc functions
//functions
//move-in
moveinfunction = function (mover) {
clearInterval(moveint2);
if (mover._x<distance) {
mover._x += 5;
} else {
clearInterval(moveint);
}
};
//move-out
moveoutfunction = function (mout) {
clearInterval(moveint);
if (mout._x>15) {
mout._x -= 5;
} else {
clearInterval(moveint2);
}
};
//flicker
flicker = function () {
if (mcArrow.dynarrow.textColor == 0xffffff) {
mcArrow.dynarrow.textColor = 0xff0000;
} else {
mcArrow.dynarrow.textColor = 0xffffff;
}
};
//arrowmoveover
arrowmoveover = function () {
clearInterval(movearrow2);
clearInterval(movearrow4);
if (mcArrow2._y != -56) {
mcArrow2._y -= 2;
} else {
clearInterval(movearrow);
}
};
//arrowmoveover2
arrowmoveover2 = function () {
clearInterval(movearrow2);
clearInterval(movearrow4);
if (mcArrow._y != -2) {
mcArrow._y += 2;
} else {
clearInterval(movearrow3);
}
};
//arrowmoveout
arrowmoveout = function () {
clearInterval(movearrow);
clearInterval(movearrow3);
if (mcArrow2._y != -2) {
mcArrow2._y += 2;
} else {
clearInterval(movearrow2);
}
};
//arrowmoveout2
arrowmoveout2 = function () {
clearInterval(movearrow);
clearInterval(movearrow3);
if (mcArrow._y != -56) {
mcArrow._y -= 2;
} else {
clearInterval(movearrow4);
}
};

//Actions
//rollover
hitBtn.onRollOver = function() {
moveint = setInterval(moveinfunction, 5, dyntxt);
moveinfunction(dyntxt);
movearrow = setInterval(arrowmoveover, 5, mcArrow2);
arrowmoveover(mcArrow2);
movearrow3 = setInterval(arrowmoveover2, 5, mcArrow);
arrowmoveover2(mcArrow);
txtcolor = new Color(dyntxt);
txtcolor.setRGB(0xFF0000);
mcArrow.onEnterFrame = flicker;
};
//rollout
hitBtn.onRollOut = function() {
moveint2 = setInterval(moveoutfunction, 5, dyntxt);
moveoutfunction(dyntxt);
movearrow2 = setInterval(arrowmoveout, 5, mcArrow2);
arrowmoveout(mcArrow2);
movearrow4 = setInterval(arrowmoveout2, 5, mcArrow);
arrowmoveout2(mcArrow);
txtcolor2 = new Color(dyntxt);
txtcolor2.setRGB(0xffffff);
delete mcArrow.onEnterFrame;
mcArrow.dynarrow.textColor = 0xffffff;
}