Battle Tower
Battle Tower is a huge building found west of Olivine City. In the Japanese version, you'll need the Mobile Adapter to gain access, but in the English version, anyone can enter. In the Battle Tower, you must take with you only three Pokemon (of different species). You'll also need to choose the level to play by. None of your Pokemon must top this level. The Japanese edition features a chart of the top seven trainers you battled.
In the English edition there are preset trainers with random Pokemon, that can hold items. This makes them more difficult than normal trainers. You won't gain experience by battling them. You also get fully healed between trainers. If you beat seven trainers in a row, you win five of either HP Up, Iron, Protein, Carbos, or Calcium. You can battle in the Tower any number of times you want each day.