By default, the Flash plugin will do a weird thing. Instead of being displayed inside the browser, it actually makes a new window on top of the browser which synchronises it’s position with where you’d expect the flash should be. (In real it's a bit more complicated )
The solution is simple. With an extra parameter, you can force the flash to render in a different window mode.
1.Set wmode=transparent by adding a parameter as follows for it to work in IE.
2.For other browsers, set wmode=”transparent” in the embed tag
<PARAM NAME="WMODE" VALUE="transparent">
Now Your z-index rule will work