Stai parlando della cosidetta grafica a layer: elementi disposti su scheremi trasparenti che puoi immaginare sovrapposti l'uno all'altro.
Quello che chiami pupup è un contenitore DIV dell'html il cui style, definito tramite fogli di stile CSS, gli assegna posizione fissa ed assoluta nella finestra su un layer "sopra" quello che contiene la pagina.
Ottieni questi effetti con una combinazione di html/css (staticamente) ed eventualmente javascript (dinamicamente).
Cercati "grafica a layer" in un buon manuale html e/o gli attributi position, zindex, left e top in un buon manuale di css.