You have a preference between AMD/nVidia? Also, since AMD bought up ATI, it's usually better to pair Intel/nVidia and AMD/ATI(aka AMD now)
I'm not hardware savvy enough to have a preference there. I know enough to put a computer together and look at reviews for parts, but that's about it. And lets face it, a monkey could do that.
If you aren't in a rush I would recommend saving up and getting an Nvidia GTX 400 or 500 series card. MSI has an amazing 460 that seems to handle anything I throw at it (though I haven't played BF3 yet) Obviously it's pricier sitting at around $180 depending on where you get it, but I think it's a good investment. My 8800 GT lasted me almost four years, so I can vouch for Nvidia.
A Radeon 6770 sits around $100 and should handle anything you throw at it. Granted, you may or may not be able to max out Battlefield 3, but for what it is, it's a great card.