Right Arrow, works but one bug

hey guys.
well i have made it that when the user presses the right arrow key and a global variable in a mc ==0 it goto and plays a frame i labled _activation and when the global variable ==1 it goto and plays a frame ive labled _shutdown.
now this works but the thing is if the user presses the right arrow key whilest the _activation part of the animation is play it restart that from the begining and also over laps with the same sound. is there away to prevent this from happening. it dosent do that with the _shutdown frame just the _activation frame. below is the code im using and yes it says left in the code for the key but it actually is the right arrow key. i dont know why that is but if i put right instead of left it is the oppisite.
ne ways here is the code

var keyListener:Object = new Object();
keyListener.onKeyDown = function() {
if (Key.getCode() == Key.LEFT) {
} else if (_global.Isactive == 0) {
_root.shieldmain_mc.gotoAndPlay("_activating");
}
};
Key.addListener(keyListener);

var keyListener:Object = new Object();
keyListener.onKeyDown = function() {
if (Key.getCode() == Key.LEFT) {
} else if (_global.Isactive == 1) {
_root.shieldmain_mc.gotoAndPlay("_shutdown");
}
};
Key.addListener(keyListener);

hope someone can help.
thanks in advanced.