+ // 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() {
+ box.style.display = null; // Must be done before position_image(), for measurement.
+ position_image(box, backend_width, backend_height, offset, true);
+ }, 1);
+ }
+}
+
+function display_image_num(num, offset)
+{
+ var screen_size = find_width();
+ var adjusted_size;
+
+ if (global_image_list[num][2] == -1) {
+ // no size information, use our pessimal guess
+ adjusted_size = max_image_size(screen_size);
+ } else {
+ adjusted_size = pick_image_size(screen_size, [ global_image_list[num][2], global_image_list[num][3] ]);
+ }
+
+ var evt = global_image_list[num][0];
+ var filename = global_image_list[num][1];
+ var backend_width = adjusted_size[0];
+ var backend_height = adjusted_size[1];
+ var url = window.location.origin + "/" + evt + "/" + backend_width + "x" + backend_height + "/" + filename;
+ var elem_id = num;
+
+ display_image(url, adjusted_size[2], adjusted_size[3], elem_id, offset);
+
+ if (global_infobox) {
+ var elem_id = num + "_box";
+ display_infobox(global_image_list[num][4], adjusted_size[2], adjusted_size[3], elem_id, offset);
+ }
+
+ if (offset === 0) {
+ // Update the "download original" link.
+ var original_url = window.location.origin + "/" + evt + "/original/" + filename;
+ document.getElementById("origdownload").href = original_url;
+
+ // If it's a raw image, show a JPEG link.
+ var fulldownload = document.getElementById("fulldownload");
+ if (filename.match(/\.(nef|cr2)$/i)) {
+ fulldownload.style.display = "block";
+ var full_url = window.location.origin + "/" + evt + "/" + filename;
+ document.getElementById("fulldownloadlink").href = full_url;
+ origdownload.innerHTML = "Download original image (RAW)";
+ } else {
+ fulldownload.style.display = "none";
+ origdownload.innerHTML = "Download original image";
+ }
+
+ // replace the anchor part (if any) with the image number
+ window.location.hash = "#" + (num+1);
+ }