General note: the core of SmartGallery is represented by gallery.js.
The code should not rely on tests which browser and browser version are currently "under the hood". Instead, where differentiation was necessary, tests if resources exists should do it. For example: Elder browsers do not support the alteration of the border thickness of images. Here a test if a border thickness changes reads back as changed is used. When this test succeeds, the user can use the preselect feature of the thumbnails page. Otherwise, he/she doesn't know about this feature at all (of course, an alternative pop-up could inform about updating the browser). By the way: when the preselect pop-up window is destroyed, one cannot establish the choice again. I won't put a button on the thumbnails window which generates this pop-up, because it would suggest that this feature is present regardless browser.
Browsers allowing the preselect feature are at least: IE5+, Netscape 6+, Mozilla 1.4+, Opera 7+ (Opera 5.12 also does it, bot does not show borders at all).
Methods as getElement.... are not used as far as possible, for reasons of compatibility with browsers of the version generation 4. Only the later added smart bilangual functionality uses it, but with elder browsers this does not hurt.
It has been tried to let the thumbnails page load the first 10 images and the rest after the onload event. Template 2 has this functionality active. The algorithm used here does not work with elder browsers. If a solution exists without having to explicitly specify the image size, it would be helpful. It could also solve the problem of a thumbnail page not loaded until its end when an image is clicked while loading.
Frames and history. Reloading html-files inside frames does affect the browser's history correctly. There is however a problem with the browser's own representation of the current viewed history entry. Opera e.g. shows the name of the most recent entry, regardless visible history page.