You're right, I hope I don't make more mistakes... 
All the data, including the listbox, could have been included in a single surface and we would have only had to fade the surface, but I like it better that way, in case you want to vary the fade and/or wait speed of each of the elements.
Your code works and we're almost there. My initial intent was that the video is not viewed or heard when the layout starts and plays only when the user moves to a new selection.
The current code starts to play the video immediately. What I want to achieve is:
1. When layout starts snap video is hidden and silent.
2. When moved to new selection the snap video playing is delayed for X milliseconds.
So the user moves to a new selection, the list fades after X milliseconds and then the snap video starts!
I tried to do that with the latest code but I can get only two situations: either the video stays turned off or it begins to play and then restarts after x time. This is really frustrating.