annotate client/digitallibrary/modules/pagesTotal.js @ 107:85126da2ae21 vendor start

XUL: Digilib Buttons in chrome
author engler
date Tue, 13 May 2003 21:02:22 +0200
parents
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
107
85126da2ae21 XUL: Digilib Buttons in chrome
engler
parents:
diff changeset
1 /*
85126da2ae21 XUL: Digilib Buttons in chrome
engler
parents:
diff changeset
2 Copyright (C) 2003 WTWG, Uni Bern
85126da2ae21 XUL: Digilib Buttons in chrome
engler
parents:
diff changeset
3
85126da2ae21 XUL: Digilib Buttons in chrome
engler
parents:
diff changeset
4 This program is free software; you can redistribute it and/or
85126da2ae21 XUL: Digilib Buttons in chrome
engler
parents:
diff changeset
5 modify it under the terms of the GNU General Public License
85126da2ae21 XUL: Digilib Buttons in chrome
engler
parents:
diff changeset
6 as published by the Free Software Foundation; either version 2
85126da2ae21 XUL: Digilib Buttons in chrome
engler
parents:
diff changeset
7 of the License, or (at your option) any later version.
85126da2ae21 XUL: Digilib Buttons in chrome
engler
parents:
diff changeset
8
85126da2ae21 XUL: Digilib Buttons in chrome
engler
parents:
diff changeset
9 This program is distributed in the hope that it will be useful,
85126da2ae21 XUL: Digilib Buttons in chrome
engler
parents:
diff changeset
10 but WITHOUT ANY WARRANTY; without even the implied warranty of
85126da2ae21 XUL: Digilib Buttons in chrome
engler
parents:
diff changeset
11 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
85126da2ae21 XUL: Digilib Buttons in chrome
engler
parents:
diff changeset
12 GNU General Public License for more details.
85126da2ae21 XUL: Digilib Buttons in chrome
engler
parents:
diff changeset
13
85126da2ae21 XUL: Digilib Buttons in chrome
engler
parents:
diff changeset
14 You should have received a copy of the GNU General Public License
85126da2ae21 XUL: Digilib Buttons in chrome
engler
parents:
diff changeset
15 along with this program; if not, write to the Free Software
85126da2ae21 XUL: Digilib Buttons in chrome
engler
parents:
diff changeset
16 Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
85126da2ae21 XUL: Digilib Buttons in chrome
engler
parents:
diff changeset
17
85126da2ae21 XUL: Digilib Buttons in chrome
engler
parents:
diff changeset
18 Author: Christian Luginbuehl, 01.05.2003 , Version Alcatraz 0.3
85126da2ae21 XUL: Digilib Buttons in chrome
engler
parents:
diff changeset
19 */
85126da2ae21 XUL: Digilib Buttons in chrome
engler
parents:
diff changeset
20 /****************************************************************************
85126da2ae21 XUL: Digilib Buttons in chrome
engler
parents:
diff changeset
21 * - sample module for digilib *
85126da2ae21 XUL: Digilib Buttons in chrome
engler
parents:
diff changeset
22 * *
85126da2ae21 XUL: Digilib Buttons in chrome
engler
parents:
diff changeset
23 * christian luginbuehl (luginbuehl@student.unibe.ch) *
85126da2ae21 XUL: Digilib Buttons in chrome
engler
parents:
diff changeset
24 ****************************************************************************/
85126da2ae21 XUL: Digilib Buttons in chrome
engler
parents:
diff changeset
25
85126da2ae21 XUL: Digilib Buttons in chrome
engler
parents:
diff changeset
26 // overriding (some kind of inheriting) init in navigation13_XX.js
85126da2ae21 XUL: Digilib Buttons in chrome
engler
parents:
diff changeset
27 function init_pagesTotal(pu, pn, ws, mo, mk, wx, wy, ww, wh, pt) {
85126da2ae21 XUL: Digilib Buttons in chrome
engler
parents:
diff changeset
28
85126da2ae21 XUL: Digilib Buttons in chrome
engler
parents:
diff changeset
29 // debug window to check the parameters passed
85126da2ae21 XUL: Digilib Buttons in chrome
engler
parents:
diff changeset
30 //alert ("DEBUG message (parameters in init pagesTotal.js):\n\npu = " + pu + "\npn = " + pn + "\nws = " + ws + "\nmo = " + mo + "\nmk = " + mk + "\nwx = " + wx + "\nwy = " + wy + "\nww = " + ww + "\nwh = " + wh + "\npt = " + pt);
85126da2ae21 XUL: Digilib Buttons in chrome
engler
parents:
diff changeset
31
85126da2ae21 XUL: Digilib Buttons in chrome
engler
parents:
diff changeset
32 // calling original init
85126da2ae21 XUL: Digilib Buttons in chrome
engler
parents:
diff changeset
33 init(pu, pn, ws, mo, mk, wx, wy, ww, wh);
85126da2ae21 XUL: Digilib Buttons in chrome
engler
parents:
diff changeset
34
85126da2ae21 XUL: Digilib Buttons in chrome
engler
parents:
diff changeset
35 att.pt = parseInt(pt);
85126da2ae21 XUL: Digilib Buttons in chrome
engler
parents:
diff changeset
36
85126da2ae21 XUL: Digilib Buttons in chrome
engler
parents:
diff changeset
37 pagesTotal();
85126da2ae21 XUL: Digilib Buttons in chrome
engler
parents:
diff changeset
38
85126da2ae21 XUL: Digilib Buttons in chrome
engler
parents:
diff changeset
39 focus();
85126da2ae21 XUL: Digilib Buttons in chrome
engler
parents:
diff changeset
40 }
85126da2ae21 XUL: Digilib Buttons in chrome
engler
parents:
diff changeset
41
85126da2ae21 XUL: Digilib Buttons in chrome
engler
parents:
diff changeset
42
85126da2ae21 XUL: Digilib Buttons in chrome
engler
parents:
diff changeset
43 /**
85126da2ae21 XUL: Digilib Buttons in chrome
engler
parents:
diff changeset
44 * shows page XX of YY in a dedicated frame
85126da2ae21 XUL: Digilib Buttons in chrome
engler
parents:
diff changeset
45 *
85126da2ae21 XUL: Digilib Buttons in chrome
engler
parents:
diff changeset
46 * ATTENTION: some stuff is still to do, because of some incompatibilities between servlet and client
85126da2ae21 XUL: Digilib Buttons in chrome
engler
parents:
diff changeset
47 * i should be able to read the total number of pages in dlImage.jsp
85126da2ae21 XUL: Digilib Buttons in chrome
engler
parents:
diff changeset
48 */
85126da2ae21 XUL: Digilib Buttons in chrome
engler
parents:
diff changeset
49 function pagesTotal() {
85126da2ae21 XUL: Digilib Buttons in chrome
engler
parents:
diff changeset
50
85126da2ae21 XUL: Digilib Buttons in chrome
engler
parents:
diff changeset
51 if (parent.pageFrame) {
85126da2ae21 XUL: Digilib Buttons in chrome
engler
parents:
diff changeset
52 parent.pageFrame.document.open();
85126da2ae21 XUL: Digilib Buttons in chrome
engler
parents:
diff changeset
53 parent.pageFrame.document.write('<html><head></head><body bgcolor="#CCCCCC" topmargin="5" marginheight="5">');
85126da2ae21 XUL: Digilib Buttons in chrome
engler
parents:
diff changeset
54 parent.pageFrame.document.write('<p style="font-family: Verdana, Arial, Helvetica, sans-serif; text-align: center; color: #CC3333; font-size: 11px">');
85126da2ae21 XUL: Digilib Buttons in chrome
engler
parents:
diff changeset
55 parent.pageFrame.document.write(att.pn + '<b> of </b>' + att.pt + '</p></body></html>');
85126da2ae21 XUL: Digilib Buttons in chrome
engler
parents:
diff changeset
56 parent.pageFrame.document.close();
85126da2ae21 XUL: Digilib Buttons in chrome
engler
parents:
diff changeset
57 }
85126da2ae21 XUL: Digilib Buttons in chrome
engler
parents:
diff changeset
58 }
85126da2ae21 XUL: Digilib Buttons in chrome
engler
parents:
diff changeset
59
85126da2ae21 XUL: Digilib Buttons in chrome
engler
parents:
diff changeset
60
85126da2ae21 XUL: Digilib Buttons in chrome
engler
parents:
diff changeset
61 /**
85126da2ae21 XUL: Digilib Buttons in chrome
engler
parents:
diff changeset
62 * overriding nextPage in navigation
85126da2ae21 XUL: Digilib Buttons in chrome
engler
parents:
diff changeset
63 */
85126da2ae21 XUL: Digilib Buttons in chrome
engler
parents:
diff changeset
64 function nextPage(keepArea) {
85126da2ae21 XUL: Digilib Buttons in chrome
engler
parents:
diff changeset
65
85126da2ae21 XUL: Digilib Buttons in chrome
engler
parents:
diff changeset
66 att.pn = parseInt(att.pn) + 1;
85126da2ae21 XUL: Digilib Buttons in chrome
engler
parents:
diff changeset
67
85126da2ae21 XUL: Digilib Buttons in chrome
engler
parents:
diff changeset
68 if (att.pn <= att.pt || isNaN(att.pt)) {
85126da2ae21 XUL: Digilib Buttons in chrome
engler
parents:
diff changeset
69 loadPicture(0, keepArea);
85126da2ae21 XUL: Digilib Buttons in chrome
engler
parents:
diff changeset
70 } else {
85126da2ae21 XUL: Digilib Buttons in chrome
engler
parents:
diff changeset
71 att.pn = parseInt(att.pn) - 1;
85126da2ae21 XUL: Digilib Buttons in chrome
engler
parents:
diff changeset
72 alert("You are already on the last page!");
85126da2ae21 XUL: Digilib Buttons in chrome
engler
parents:
diff changeset
73 }
85126da2ae21 XUL: Digilib Buttons in chrome
engler
parents:
diff changeset
74 }
85126da2ae21 XUL: Digilib Buttons in chrome
engler
parents:
diff changeset
75
85126da2ae21 XUL: Digilib Buttons in chrome
engler
parents:
diff changeset
76
85126da2ae21 XUL: Digilib Buttons in chrome
engler
parents:
diff changeset
77 /**
85126da2ae21 XUL: Digilib Buttons in chrome
engler
parents:
diff changeset
78 * overriding 'page' in navigation
85126da2ae21 XUL: Digilib Buttons in chrome
engler
parents:
diff changeset
79 */
85126da2ae21 XUL: Digilib Buttons in chrome
engler
parents:
diff changeset
80 function page(keepArea) {
85126da2ae21 XUL: Digilib Buttons in chrome
engler
parents:
diff changeset
81
85126da2ae21 XUL: Digilib Buttons in chrome
engler
parents:
diff changeset
82 do {
85126da2ae21 XUL: Digilib Buttons in chrome
engler
parents:
diff changeset
83 var page = prompt("Goto Page (1 - " + att.pt + "):", 1);
85126da2ae21 XUL: Digilib Buttons in chrome
engler
parents:
diff changeset
84
85126da2ae21 XUL: Digilib Buttons in chrome
engler
parents:
diff changeset
85 } while ((page != null) && ((isNaN(page)) || (page < 1) || (page > att.pt)));
85126da2ae21 XUL: Digilib Buttons in chrome
engler
parents:
diff changeset
86
85126da2ae21 XUL: Digilib Buttons in chrome
engler
parents:
diff changeset
87 if ((page != null) && (page != att.pn)) {
85126da2ae21 XUL: Digilib Buttons in chrome
engler
parents:
diff changeset
88 att.pn = page;
85126da2ae21 XUL: Digilib Buttons in chrome
engler
parents:
diff changeset
89 loadPicture(0, keepArea);
85126da2ae21 XUL: Digilib Buttons in chrome
engler
parents:
diff changeset
90 }
85126da2ae21 XUL: Digilib Buttons in chrome
engler
parents:
diff changeset
91 }
85126da2ae21 XUL: Digilib Buttons in chrome
engler
parents:
diff changeset
92
85126da2ae21 XUL: Digilib Buttons in chrome
engler
parents:
diff changeset
93
85126da2ae21 XUL: Digilib Buttons in chrome
engler
parents:
diff changeset
94 /**
85126da2ae21 XUL: Digilib Buttons in chrome
engler
parents:
diff changeset
95 * overriding 'loadPicture' in navigation
85126da2ae21 XUL: Digilib Buttons in chrome
engler
parents:
diff changeset
96 */
85126da2ae21 XUL: Digilib Buttons in chrome
engler
parents:
diff changeset
97 function loadPicture(detailGrade, keepArea) {
85126da2ae21 XUL: Digilib Buttons in chrome
engler
parents:
diff changeset
98
85126da2ae21 XUL: Digilib Buttons in chrome
engler
parents:
diff changeset
99 // the different detailGrades:
85126da2ae21 XUL: Digilib Buttons in chrome
engler
parents:
diff changeset
100 // 0 -> back, next, page
85126da2ae21 XUL: Digilib Buttons in chrome
engler
parents:
diff changeset
101 // 1 -> zoomout
85126da2ae21 XUL: Digilib Buttons in chrome
engler
parents:
diff changeset
102 // 2 -> zoomarea, zoompoint, moveto, scaledef
85126da2ae21 XUL: Digilib Buttons in chrome
engler
parents:
diff changeset
103
85126da2ae21 XUL: Digilib Buttons in chrome
engler
parents:
diff changeset
104 var newQuery = "fn=" + att.fn + "&pn=" + att.pn + "&ws=" + att.ws + "&mo=" + att.mo;
85126da2ae21 XUL: Digilib Buttons in chrome
engler
parents:
diff changeset
105
85126da2ae21 XUL: Digilib Buttons in chrome
engler
parents:
diff changeset
106 if (detailGrade == 0) {
85126da2ae21 XUL: Digilib Buttons in chrome
engler
parents:
diff changeset
107 att.mk = "0/0";
85126da2ae21 XUL: Digilib Buttons in chrome
engler
parents:
diff changeset
108 }
85126da2ae21 XUL: Digilib Buttons in chrome
engler
parents:
diff changeset
109
85126da2ae21 XUL: Digilib Buttons in chrome
engler
parents:
diff changeset
110 if ((detailGrade == 1) || (detailGrade == 0 && !keepArea)) {
85126da2ae21 XUL: Digilib Buttons in chrome
engler
parents:
diff changeset
111 att.wx = 0;
85126da2ae21 XUL: Digilib Buttons in chrome
engler
parents:
diff changeset
112 att.wy = 0;
85126da2ae21 XUL: Digilib Buttons in chrome
engler
parents:
diff changeset
113 att.ww = 1;
85126da2ae21 XUL: Digilib Buttons in chrome
engler
parents:
diff changeset
114 att.wh = 1;
85126da2ae21 XUL: Digilib Buttons in chrome
engler
parents:
diff changeset
115 }
85126da2ae21 XUL: Digilib Buttons in chrome
engler
parents:
diff changeset
116
85126da2ae21 XUL: Digilib Buttons in chrome
engler
parents:
diff changeset
117 newQuery += "&mk=" + att.mk + "&wx=" + att.wx + "&wy=" + att.wy + "&ww=" + att.ww + "&wh=" + att.wh;
85126da2ae21 XUL: Digilib Buttons in chrome
engler
parents:
diff changeset
118
85126da2ae21 XUL: Digilib Buttons in chrome
engler
parents:
diff changeset
119 if (navigator.appName.toLowerCase() == "netscape") { // mozilla-browsers (netscape 4.xx, netscape 6.xx, etc.)
85126da2ae21 XUL: Digilib Buttons in chrome
engler
parents:
diff changeset
120 newQuery += "&dw=" + (innerWidth-30) + "&dh=" + (innerHeight-30);
85126da2ae21 XUL: Digilib Buttons in chrome
engler
parents:
diff changeset
121 } else { // ie, opera
85126da2ae21 XUL: Digilib Buttons in chrome
engler
parents:
diff changeset
122 newQuery += "&dw=" + (document.body.clientWidth-30) + "&dh=" + (document.body.clientHeight-30);
85126da2ae21 XUL: Digilib Buttons in chrome
engler
parents:
diff changeset
123 }
85126da2ae21 XUL: Digilib Buttons in chrome
engler
parents:
diff changeset
124
85126da2ae21 XUL: Digilib Buttons in chrome
engler
parents:
diff changeset
125 newQuery += "&pt=" + att.pt;
85126da2ae21 XUL: Digilib Buttons in chrome
engler
parents:
diff changeset
126 newQuery += "&lv=1";
85126da2ae21 XUL: Digilib Buttons in chrome
engler
parents:
diff changeset
127
85126da2ae21 XUL: Digilib Buttons in chrome
engler
parents:
diff changeset
128 // debug window - checking the parameters passed to the next image
85126da2ae21 XUL: Digilib Buttons in chrome
engler
parents:
diff changeset
129 //alert ("DEBUG MESSAGE (query-string in loadPicture):\n\n" + newQuery);
85126da2ae21 XUL: Digilib Buttons in chrome
engler
parents:
diff changeset
130
85126da2ae21 XUL: Digilib Buttons in chrome
engler
parents:
diff changeset
131 location.href = location.protocol + "//" + location.host + location.pathname + "?" + newQuery;
85126da2ae21 XUL: Digilib Buttons in chrome
engler
parents:
diff changeset
132 }