// Emacs settings: -*- mode: Fundamental; tab-width: 4; -*- //////////////////////////////////////////////////////////////////////////// // // // Andrew's Album Applications: photos-js.txt // // // // Assumes the availability of definitions from common-js.txt // // // // Copyright (c) 2004-2005, Andrew Birrell // // // //////////////////////////////////////////////////////////////////////////// // Assumes the availability of definitions from common-js.txt // // Global variables // var wSize; // window size var mainSize = Object(); // size of main image display area var dropZone; // dropzone element var reading; // page element to show while reading a page var scaling; // page element to show current scale var title; // title element var parents; // element for parent links var parentsTxt; // HTML for top-level parent link var writing; // element for "writing" message var editInner; // inside of edit dialog var editTitle; // edit dialog title type-in element var linkAnchor; // in "Link" button var btns = new Object(); // button details var dlogs = new Object(); // pop-up dialogs var dlogPositioned = new Object(); var thisPage = null; // attributes for current page var user = ""; // default user for editing var pwd = ""; // default password for editing var jumpTarget = null; // if set, switch to here instead var timer = null; // auto-play timer, for cancelling var autoRoot = null; // root directory for auto-play var preloadServer = false; // variant of auto-play to preload server cache var interval = 4000; // auto-play timer interval var timerScaleOn = null; // timer for showing "scaling" dlog var timerScaleOff = null; // timer for hiding "scaling" dlog var cacheP = new Cache(50); // cache of photo XML responses var cacheF = new Cache(50); // cache of folder XML responses var cacheHits = 0; var cacheMisses = 0; var parentFrag = // Template HTML fragment for parent link '')" + '" title="Go back to "<#TITLE>""><#TITLE>'; var folderFrag = // Template HTML fragment for folder listing '
" +
"Click \"Stop\" to exit from this mode.";
} else {
var temp = mainFrag.replace(/<#SRC>/, src);
temp = temp.replace(/<#RAW>/, raw);
temp = temp.replace(/<#ID>/, newPage.path);
temp = temp.replace(/<#SIZE>/, "\n" + size);
newPage.html = temp;
}
newPage.commentary = (date ? htmlspecials(date) : " ") +
"
" +
(exposure ? htmlspecials(exposure) : " ")
} else {
// folder
newPage.isPhoto = false;
if (parents.length > 0) {
newPage.parents += ' > ';
}
newPage.parents += '' +
(parents.length == 0 ? parentsTxt :
htmlspecials(newPage.title)) +
'';
newPage.autoImage = doc.getAttribute("first");
newPage.autoRoot = newPage.path; // use self for folders
content = '