how can i stop the value of array p[0] * (-1)at 49.9999 when it is achieved, every time i release the key the value of the "vz * (-1) " continue to drop

************************************************** *
vz*=friction;
function move(tree:Tree):void
{
tree.zpos += vz;
poi=new Array();
var scale:Number = fl / (fl + tree.zpos);
tree.scaleX = tree.scaleY = scale;
tree.x = vpX + tree.xpos * scale;
tree.y = vpY + tree.ypos * scale;
tree.alpha = scale;
if (poi.length<2)//poi is an array
{ poi.push(vz);}
else if (poi.length>2)
{ poi.shift();}
poi.sort();
if((poi[0]*-1) <49.9999)
{
if (tree.xpos>1000)
{tree.xpos = vx-50;}
else if ((tree.xpos<=1000))
{tree.xpos+=vx;}

if(tree.zpos < -fl)
{
tree.zpos += 10000;
}
if(tree.zpos > 10000 - fl)
{
tree.zpos -= 10000;
}
}
else if (poi[0]*-1==49.9999)
{poi[0]=49.9999*-1;}

else if(poi[0]*-1>49.9999)
{
if (tree.alpha!=0)
{ tree.alpha-=.1;}
else if(tree.alpha==0)
{
removeEventListener(Event.ENTER_FRAME, onEnterFrame);
addEventListener(Event.ENTER_FRAME, onEnterFram);
}
}
************************************************** *****