So which graphics care should I get?

Nowhere near as good as the one I suggested. 😛

The GTX 660 I suggested will play Battlefield 3 @ maximum settings @ 1080p @ ~50fps.

That 7770 your friend suggested will probably get around ~25fps in the same situation.
 

Ok so at the least I have it narrowed down to 2 I guess. The one you linked:
http://us.ncix.com/products/?usaffiliateid=1000031504&sku=82706&vpn=01G-P4-3655-KR&manufacture=eVGA

And the one the other guy linked:
http://www.newegg.com/Product/Product.aspx?Item=N82E16814133473&nm_mc=KNC-GoogleAdwords&cm_mmc=KNC-GoogleAdwords-_-pla-_-Desktop+Graphics+Cards-_-N82E16814133473&gclid=CNiM6ee9sLgCFQsV7AodgEgALA

After looking at them both they actually look very similar. Whats the differance other then price?
 
Ok so you have so helpful. One last question.

You don't think it will bottleneck with this cpu (the one I'm using: AMD A10-5800K 3.8GHz Quad-Core Processor), right? Because that is the last thing I want. I have heard some people say this cpu bottlenecks easily so that's what I'm worried about.