+ setTimeout(function() {
+ position_image(img, backend_width, backend_height, offset, false);
+ img.style.display = null;
+ }, 1);
+ }
+}
+
+function display_infobox(html, backend_width, backend_height, elem_id, offset)
+{
+ // See if this image already exists in the DOM; if not, add it.
+ var box = document.getElementById(elem_id);
+ if (box === null) {
+ box = document.createElement("div");
+ box.id = elem_id;
+ box.alt = "";
+ box.className = "fsbox";
+ }
+ box.style.position = "absolute";
+ box.style.transformOrigin = "top left";
+ box.innerHTML = html;
+ document.getElementById("main").appendChild(box);
+
+ if (offset === 0) {
+ position_image(box, backend_width, backend_height, offset, true);
+ } else {
+ // This is a preload.
+ // Seemingly one needs to delay position_image(), or Firefox will set the initial
+ // scroll offset completely off.
+ box.style.display = 'none';
+ setTimeout(function() {
+ position_image(box, backend_width, backend_height, offset, true);
+ box.style.display = null;
+ }, 1);