Pull the slider to create the braid and list the permutations.

Thanks to Bill Mill's idea for this visualization (http://billmill.org/permvis.html).
The braid is formed by exchanging the position of element "P" with its neighbor at each step. When "P" reaches the end of a row, the two elements at the opposite end exchange position in the following step. Then "P" starts to move back across the row.
How can we prove that this method creates each one of the n! permutations of n different objects in exactly n steps? It seems to work in this particular case.
Can you find another switching method for producing each one of the n! permutations of n different objects in exactly n steps? One step might involve more than rearranging just two of the elements. What does the braid of your method (algorithm) look like in the case of 4 elements?