First of all, we do not want two separate pages, nor do we want two separate scripts. Our goal is to have the puzzle look the same and act the same in both browsers, with a minimum of scripting . If a particular property is used many times, we can make the value change through a cross-browser JavaScript method of the object, as we do with visibility later on. This is where we make decisions. For example, Explorer can automatically change position wrapping width for relatively contained elements when the parent is changed.
Navigator requires a re-load of the element.
We discussed both of these approaches, when designing the puzzle versions. In the Explorer puzzle, we could drag the puzzle from anywhere, including the control panel, since the form buttons were still active and, if pressed, grabbed the event first, being on the bottom of the element heirarchy. In Navigator, if we allowed dragging from the controls, the form buttons are de-activated since the event is captured by the complete elControls element and not allowed to filter down to the buttons. This can be changed, of course, but it is much easier to disallow dragging of the full puzzle through the controls, and insist that the user grab the puzzle by the image. If we can add throw-away features that only help the user, then we should by all means do it.