There are many ways to achieve drop down menu effects, most of which require some kind of tweak. You can use button effects, or roll over and roll out events like what you did. THe problem with your code is the interactions between buttons are quite unclear, for instance you add event RollOver of the Surface button to a function called floorOut. When it's true that when you roll over surface button, you want the floor button to close , however the way event handlers are added everywhere introduces high coupling code, and logic errors.
I've modified your code a little bit and and the effects are quite ok. There's a small bug though, that is sometimes when you move mouse over and out of the button too quickly, it can end up having the mouse over the button but the menu isn't open. I can live with that. It is fixable but maybe not worth the effort. Not sure about your client though.