In Mahogany town right from Etrack city
Go to the forth gym!
You will have to defeat Bugsy in Azalea Town. He has bug-type pokemon.
blackthorn city
it is bugsy the bug type leader
It is your rival from Pokemon fire red and leaf green versions.
you have to get the cianwood gym badge and the olivine gym badge
you get it in ilex forest after you get your 2 badge! hope this helps
in Goldenrod city
go to the sprout tower in the town where you get the first badge at night.
It is in Ecrutuk city the leader is morty who uses ghost type Pokemon
It is attainable in poke mart after the 3 gym badge (i think)
If you are playing heartgold or soulsilver , you need a physic or ground type pokemon.