Here a little shader that I have wrotten a while back. It uses fractional Brownian motion for caustics, some color shift depending on depth and height for water effect, and vertex displacement for waving effect (It's not physically realist, but funny).