Hola:
Lo de hacer que se oculte primero una capa y "luego" se muestre otra añade a tu script (al que pides) una complicación no deseada, ya que son cosas casi imperceptibles, pero si lo quieres así se puede hacer (dilo expresamente...
)
Simplemente debes hacer un bucle y hacer coincidir (de alguna manera) el valor del radio y la capa...
var capas = ["capa1", capa2", capa3"];
function mostrar(capa) {
for (i = 0, total = capas.length; i < total; i ++)
document.getElemetById(capas[i]).style.display = (capas[i] == capa) ? "block":"none";
}
En este caso las capas deben tener el id como el array capas y el value de los radios el mismo nombre, y en cada radio debes poner onclick="mostrar(this.id)"
Lo puse "a pelo" así que puede tener errores... pruébalo y nos cuentas.
Saludos