The page is relying on a "feature" of IE that window.x is the same object as document.getElementById("x"). So when it calls: show_hide(id_7114) it should really be doing show_hide(document.getElementById("id_7114")) if it wants the code to work in all DOM-compliant browsers (including IE). Mozilla has no plans to pollute the window namespace by sticking all IDs in there like IE does.
IMHO mozilla should strive to support any page out there, since the de-facto standard is IE. at my home, i use IE since i have no choice, because many sites just don't work well with mozilla. maybe there should be a 'dirty' mode that the user can toggle which will enable all IE specific features. *ALSO* note that this was not the only problem. the most serious problem was that a call to show_hide without quotes around the parameter didn't actually call the function.
Opera copies some IE features, albeit buggily. As a result, scripts like this sometimes work in Opera, sometimes not; and the page author never knows whether they will.
Conforming summary to TFM item 10 at http://www.mozilla.org/projects/tech-evangelism/site/procedures.html#file-new
Although the bad js code is still the same, Firefox seems to tolerate this now, so it works well in FF 3.0.6. Still it gives a warning, w3c incompatible.