Existe uma maneira de detectar se uma janela do navegador não está ativa no momento?

Eu tenho JavaScript que está fazendo atividade periodicamente. Quando o usuário não está olhando para o site (ou seja, a janela ou a guia não tem foco), seria bom não executar.

Existe uma maneira de fazer isso usando JavaScript?

Meu ponto de referência: o Bate-papo do Gmail reproduz um som se a janela que você está usando não estiver ativa.

questionAnswers(18)

yourAnswerToTheQuestion