In una sola riga sarebbe qualcosa del tipo
codice:
setTimeout( function() { $('#overlay').show('', function() { setTimeout( function() { $('#overlay').hide('') }, 15000) } ) }, 2000 );
Formattata meglio sarebbe
codice:
1 setTimeout(
2 function() {
3 $('#overlay').show('', function() {
4 setTimeout(
5 function() {
6 $('#overlay').hide('')
7 }, 15000) }
8 )
9 }, 2000
10 );
Dunque. In pratica, usando jquery e js, dici che c'è un timeout che eseguirà una funzione, che a sua volta quando è terminata ne esegue un'altra.
Da riga 1 a 10 è tutta la funzione di timeout.
Da 2 a 9 è la funzione da eseguire con ritardo di 2 secondi.
Da 3 a 8 è la funzione che, partendo con un ritardo di 2 secondi, ti "mostra" il div/popup tramite jquery
Da 4 a 7 è una callback della "show", che dice alla funzione "show" che quando ha terminato dovrà eseguire un'altra funzione (questa da 4 a 7) che è a sua volta un "timeout" da 15 secondi.