Save yourself a lot of trouble, and let the user choose his location.
The IP-to-country mapping is sketchy at best, you have to do quite a few complex (and time-consuming) things to get a result that's half-reliable. Not worth the trouble if you can just have the user choose.