Hola:
Aunque no he llegado a enterarme del problema, te cuento como lo plantearía:
Si lo que quieres mostrar y ocultar una capa debes usar el estilo display: [block|none]... por lo que veo tienes que tener al principio todos "none", y si quieres que se oculte el último mostrado al querer mostrar otro, bastaría guardar el último mostrado:
function tag(id) {
return document.getElementById(id);
}
var mostrado = "bloque1";
function mostrar(capa) {
tag(mostrado).style.display = "none";
mostrado = capa;
tag(mostrado).style.display = "block";
}
Lo que no entiendo es la razón de tantas capas...

, pero si todas tienen el mismo formato: "bloqueX" puedes rescatar esa "X" con X = capa.substring(5) (creo)... y luego podrías formar las cadenas concat("ver_on", X)...
Saludos