c'e` un ; (puntoevirgola) di troppo:
window.setTimeout( "vai()", 5000 );


Puoi anche scrivere (piu` compatto e piu` leggibile):
window.setTimeout( "window.close()", 5000 );