La cosa e` semplice, ma occorre fare le cose con attenzione.
La finestra che deve essere chiusa deve venir aperta salvando l'oggetto in una variabile:
oggwin = window.open(...);
La variabile deve essere globale (quindi definita fuori dalle funzione, in testa alla pagina.
Poi per chiudere la popup quando la proncipale riprende il focus:
Nella principale:
<body ... onfocus="if(oggwin=='obiect' && !oggwin.closed) oggwin.close();">
Per la chiusura al click del link, come ha detto bigmaul:
testo del link