domanda... perché setti l'onload solo a fadeout eseguito?
l'onload deve essere definito prima dell'attribuzione del src o può verificarsi questo comportamento

La logica del tuo script mi sfugge...