It's a good build, and the optical drive should work just fine. Kudos to you.
For the hard drive: pretty much anything will work. Your motherboard has six SATA 3 ports and an IDE port (I know; I've got the same one), so quite literally any SATA hard drive will work. Go for a fast drive; nothing under 7200 RPM, and search for high data transfer rates. Be on the lookout for SATA 3 (also called SATA 6 Gbit/s) drives, since those will be faster, and you want speed for the drive your OS will be on.
There's a hard drive component shortage going on, and, as a result, hard drives are 2-3x more expensive now than they were six months ago. If you've got an old hard drive to spare, use it; once the prices come down, you can get a 1 TB drive for $50 instead of $150.
For video cards: Personally, I've got an AMD 6850 card (manufactured by Asus). It's not the most powerful card out there, but it does run everything I've thrown at it (almost) maxed (I've had to turn down antialiasing to 4x). A friend of mine, who also has a 6850, claims that he has been able to run BF3 fully maxed on it. (Apparently EA inflated the graphics card requirements for AMD card owners; they claim you need a 6950 to max BF3.)
If I were you, I'd probably go with a 6850/6870 card, or if I were to go with Nvidia, some form of a 560.