Allora.
Il layer deve essere situato nell'elemento che deve oscurare, in questo caso tutto il documento e quindi il body.

Potresti crearlo da javascript ma te lo sconsiglio poichè occupi molte righe di codice per niente.

codice html:
Codice PHP:
<body>
...
...
<
div id="layer">
</
div>
</
body
codice css:
Codice PHP:
#layer
{
display:none/*nascondiamo in modo che non sia visibile*/
height:100%;
width:100%;
background:#333;
z-index:100;
position:absolute;

codice javascript per mostrare il livello:

Codice PHP:
document.getElementById("layer").style.display 'block'