Hola:
El concepto de "padre" tal vez no sea el adecuado, tal vez sea mejor hablar de "tío"... en un sistema de marcos (frames) existe el objeto "parent" que refiere al contenedor de marcos y top sería el ancestro del sistema.
Si una página tiene un frame o iframe, esta página se relaciona con sus descendientes directos por el nombre (puede ser directamente o mediante la colección (array) window.frames[]... los frames reconocen a la ventana contenedora como parent, y si hay más niveles puede anidarse con: parent.parent.[parent.]... y el superior es top (top.top == top, pero parent.parent != parent)...
Pero si en vez de frames son ventanas aparte (tal vez popu's) los "sobrinos" también se reconocen con su nombre o window.frames, pero un popup no tiene parent sino opener... entonces top referencia a un sistema de marcos y top.opener referencia al tio del ancestro... (¡Uy! creo que lo voy a dejar por ahora, porque es lioso, y puede ser algo confuso)
Saludos