document.onclick settimeout function javascript ayuda

Tengo una función document.onclick que me gustaría tener un retraso. Parece que no puedo entender bien la sintaxis.

mi código original es

<script type="text/javascript">
document.onclick=check;

function check(e){do something}

Intenté lo siguiente, pero ese código es incorrecto, la función no se ejecutó y no sucedió nada.

<script type="text/javascript">
document.onclick=setTimeout("check", 1000);

function check(e){do something}

Intenté el siguiente conjunto, la función se ejecutó, pero sin demora.

<script type="text/javascript">
setTimeout(document.onclick=check, 1000);

function check(e){do something}

¿Cuál es la sintaxis correcta para este código?

TIA

Editar:

Las soluciones fueron todas buenas, mi problema fue que utilizo la verificación de funciones para obtener la identificación del elemento en el que se hace clic. Pero después del retraso, no hay "memoria" de lo que se hizo clic, por lo que el resto de la función no se ejecuta. Jimr escribió el código corto para preservar el evento cliqueado.

El código que funciona (no funciona en IE6)

document.onclick = makeDelayedHandler( check, 1000 );
// Delay execution of event handler function "f" by "time" ms.
function makeDelayedHandler( f, time)
{
  return function( e )
  {
    var ev = e || window.event;
    setTimeout( function()
    {
      f( ev );
    }, time );        
  };
}


function check(e){ 
var click = (e && e.target) || (event && event.srcElement);  
.
.
.

Gracias a todos.

Actualización: la solución de Kennebec funciona para IE6.

Respuestas a la pregunta(5)

Su respuesta a la pregunta