* pick_image_size, below.
*/
var fixed_sizes = [
+ [ 2304, 1728 ],
[ 2048, 1536 ],
[ 1920, 1440 ],
[ 1600, 1200 ],
{
var img = document.getElementById(element_id);
if (img !== null) {
- img.src = "data:";
+ if (img.src === url) {
+ return img;
+ }
img.parentNode.removeChild(img);
}
img = document.createElement("img");
img.id = element_id;
img.alt = "";
-
- if (img.src != url) {
- img.src = url;
- }
-
+ img.src = url;
parent_node.appendChild(img);
return img;
}
+function rename_element(old_name, new_name)
+{
+ // Remove any element that's in the way.
+ var elem = document.getElementById(new_name);
+ if (elem !== null) {
+ elem.parentNode.removeChild(elem);
+ }
+
+ elem = document.getElementById(old_name);
+ if (elem !== null) {
+ elem.id = new_name;
+ }
+ return elem;
+}
+
function display_image(width, height, evt, filename, element_id)
{
var url = "http://" + global_vhost + "/" + evt + "/" + width + "x" + height + "/nobox/" + filename;
var main = document.getElementById("iehack");
- var img = replace_image_element(url, element_id, main);
+ var preload = document.getElementById("preload");
+ var img;
+ // See if we have a preload going on that we can reuse.
+ if (element_id == "image" && preload !== null && preload.src == url) {
+ rename_element("preload_box", "image_box");
+ img = rename_element("preload", "image");
+ } else {
+ img = replace_image_element(url, element_id, main);
+ }
+ img.style.position = "absolute";
+ img.style.left = "0px";
+ img.style.top = "0px";
- if (global_infobox != 'nobox') {
+ if (global_infobox != 'nobox/') {
var url = "http://" + global_vhost + "/" + evt + "/" + width + "x" + height + "/box/" + filename;
var boximg = replace_image_element(url, element_id + "_box", main);
// cancel any pending preload
var preload = document.getElementById("preload");
if (preload !== null) {
- preload.src = "data:";
preload.parentNode.removeChild(preload);
}
var preload_box = document.getElementById("preload_box");
if (preload_box !== null) {
- preload_box.src = "data:";
preload_box.parentNode.removeChild(preload_box);
}
}
}
-function select_image(evt, filename)
+function select_image(evt, filename, selected)
{
if (!req) {
return;
}
- draw_text("Selecting " + filename + "...");
+ if (selected) {
+ draw_text("Selecting " + filename + "...");
+ } else {
+ draw_text("Unselecting " + filename + "...");
+ }
req.open("POST", "http://" + global_vhost + "/select", false);
req.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
- req.send("mode=single&event=" + evt + "&filename=" + filename);
+ req.send("event=" + evt + "&filename=" + filename + "&selected=" + selected);
setTimeout("fade_text(0.99)", 30);
}
set_opacity("close", 0.7);
do_close();
} else if (which == 32 && global_select) { // space
- select_image(global_image_list[global_image_num][0], global_image_list[global_image_num][1]);
+ select_image(global_image_list[global_image_num][0], global_image_list[global_image_num][1], 1);
+ } else if (which == 85 && global_select) { // u
+ select_image(global_image_list[global_image_num][0], global_image_list[global_image_num][1], 0);
} else {
check_for_hash_change();
}