Eso de los botones que cambien de imagen se hace con
css, solo le pones de fondo la imagen y cuando esta el puntero sobre el boton entonces que cambie. Para esos efectos de "
fade" y todo eso podrias usar
jquery que es un framework de javascript que trae varios efectos parecidos a esos.