Javascript: Click fuera de un elemento

Una sencilla función para detectar si se clica fuera de un elemento:

document.onclick = function (e) {
 e = e || event
 var target = e.target || e.srcElement
 var elemento = document.getElementById('id_elemento');
 do {
  if (elemento == target) {
   // El click se ha producido dentro del elemento, no se hace nada.
   return;
  }
  target = target.parentNode;
 } while (target)
 // Se ha clicado fuera del elemento, se realiza una acción.
 elemento.style.display = 'none';
}

Visto en Closing a floating div layer Webdeveloper.com.