beat Cyrus on Mt.cornet
you surf
sunnyshore
In sunnyshore city
You need to battle Girtina in the Reverse \World then you will be able to go to Sunnyshore
catch or defete garitina
beat snowpoint gym
you can get it before you get to sunnyshore city
east of lake valor
in sunnyshore
Yes, just north of Sunnyshore.
i believe you get it in veilstone or sunnyshore
by doing everything else