wait for animation?

Im making an FPS where the player can reload, and change weapons and everything else. I have the animations for everything and the functions to reload etc., however, if the player presses "R" for reload, then the gun is automatically reloaded and can shoot right away. I want the player to wait for the animation to have completed in order for the player to be able to shoot again. I dont know how to come upon this though :/

Also, I dont call my animations within the game object, I broadcast a message to the weapon prefab, which then animates upon receiving the message, and this is where the trouble comes in

I dont have any clue on how to solve this :( multiple methods would be nice also please (Im not asking for specific code, just some functions or something to point me in the right direction).

You might be able to use an animation event. http://unity3d.com/support/documentation/Components/animeditor-AnimationEvents.html