Changing materials on a mesh in BGE?

Is there a way to change the materials and textures on a mesh while running a game? For example, have several buttons on the side, and clicking each one changes the design of a shirt on a character.

To complicate things, I also have more than one image and material on the mesh.

Thanks!