I haven't dug into testing/reviewing this PR, but if this code is for a vertical accordion may I suggest considering using [mozilla-expanders.js](https://github.com/mozilla/bedrock/blob/master/media/js/base/mozilla-expanders.js)? If it's suitable for the job, it has pretty good cross-browser support.

Also the layout issue in IE7 is likely the same one I encountered when coding the Contact/Spaces page, where we also use a vertical accordion for the menu. I managed to fix the height issue using the following selector:

    #outer-wrapper {
        overflow: hidden;
    }

This should force the browser to perform a layout when the page height resizes. It may just work.