Your code only needs a couple of changes. Working fiddle: http://jsfiddle.net/T8DHb/8/
When you change the base layer, even fired not "overlayadd", it is "baselayerchange":
map.on('baselayerchange', function (eventLayer) {
You should add only to display the layer that you want to show for the base level by default. I added PermaFrost.
In addition, you should only add to the map the legend that you want to use with the default base level.
source share