+1 for the 7850. It will run modern games at high settings in 1080p. The 560ti is rather close, so if your country has a big price gap between them, then it's an good alternative (however it uses more electricity than the 7850 and runs hotter)
For BF3, you should get a 2GB instead of a 1GB model. Borderlands 2 supports PhysX and makes good use of it, so maybe you'd want a Nvidia card, but that's up to you. The 7850's advantages are in how much MSAA it can run with in that game whereas Nvidia has PhysX. Which you value more would determine which is the better card, just remember to not get a 1GB card for BF3 unless you're playing very low resolutions such as 720p or thereabouts (you might get away with it at 1600x900).
That card is better than a GTX 550 Ti, but it's nowhere near a Radeon 7850. I'd put it about mid-way between the GTX 550 Ti and the GTX 560 Ti, right below the GTX 560 and about on-par with the Radeon 6850 and GTX 560 SE.
I am not sure if getting a 2gb 7770 is a good idea. In low end cards getting 2gb versions doesn't provide better gaming performance. I agree with the HD 7850.. or if you want something a little bit better than 7770 try 650 ti..its new..hehe.. other than that I don't see any reason in buying it... here's the benchmark for bf3