Javascript Compatibility
There are many differences between Netscape's client-side Javascript and Microsoft's implementation (JScript). Anyone who has programmed in the language knows the anxiety of testing the program on the "other" browser for the first time. Even though the program I present here is fairly large, I only found two incompatibilities to work around. The first problem has to do with the way DOM objects are rendered in the two browsers. Netscape determines the width of the Select when the page is loaded, and does not resize the Select when a new list is added. Internet Explorer resizes the Select every time a Select's list is changed. Both have their merits. With Netscape, you always know how wide the Select will be, which is good for GUI layout. IE lets you use the component without having to prime the Select objects with a hard-coded list.
The other problem has to do with assigning arrays of option objects to a Select's options property. IE will let you assign an array to options, and the new list will be rendered properly on the page. Netscape's Select behaves erratically when the same assignment is made. The safest way to implement the list switch is to nullify the previous options property, and add the options one at a time (see function changeList() in the sample source code for an example). Although less elegant than a full array assignment, the solution works equally well on both browsers.
-- S.J.