function apri(testo){
var elemento= document.getElementById("layer1");
elemento.innerHTML = testo;
elemento.style.display="block";
}

però così ripeti due volte il testo: non è un inutile ridondanza?

Fai così piuttosto

function apri(link){
var elemento= document.getElementById("layer1");
elemento.innerHTML = link.innerHTML;
elemento.style.display="block";
return false;
}

Prima fase

Seconda fase

Terza fase