The gym leader is Giovanni, leader of Team Rocket. You have to come back to Virdian last as he is the Eighth gym leader. THE LAST ONE!
The Viridan City Gym leader is the leader of Team Rocket Giovanni after you defeat Team Rocket one last time, go to gym he will be waiting for your battle and then you get your badge!
you will have to beat all the gymleaders
team rockets boss { Giovanni }
candace the leader of snowpoint gym is the 7th leader
There in the gym in mossdeep city by the way the gym leader are actually gym leaders.
You can only battle Hearthome City's gym leader Fantina after you have defeated Pastoria City's gym leader, Crasher Wake.
you can find it in the ciann city pharmacy
The eighth gym leader is Claire in Blackthorn City
In Pokémon HeartGold, you can find the 3rd Gym Leader in Goldenrod City.
beat all the other gyms first and silph co etc.
The Mahogany City gym leader is not in Cianwood. He is in the gym in Mahogany, not anywhere else.
beet the johto go to new bark town there will be water surf then you will go to viridan city then travel to cerulean city from kanto hope this helped Pokemon rocks