annotate client/digitallibrary/navigation.js @ 133:28f96364040f

unified scripts, nice xul sidebar, bugfixes
author luginbue
date Tue, 08 Jul 2003 03:00:57 +0200
parents
children 21789f3f7251
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
133
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
1 /*
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
2
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
3 Copyright (C) 2003 WTWG, Uni Bern
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
4
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
5 This program is free software; you can redistribute it and/or
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
6 modify it under the terms of the GNU General Public License
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
7 as published by the Free Software Foundation; either version 2
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
8 of the License, or (at your option) any later version.
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
9
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
10 This program is distributed in the hope that it will be useful,
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
11 but WITHOUT ANY WARRANTY; without even the implied warranty of
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
13 GNU General Public License for more details.
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
14
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
15 You should have received a copy of the GNU General Public License
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
16 along with this program; if not, write to the Free Software
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
17 Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
18
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
19 Author: Christian Luginbuehl, 01.05.2003 , Version Alcatraz 0.4
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
20
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
21 */
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
22
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
23 var ZOOMFACTOR = Math.sqrt(2);
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
24
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
25 dlParams = new Object();
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
26
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
27 function newParameter(name, value, defaultValue, detail) {
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
28
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
29 if ( !dlParams[name] ) {
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
30
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
31 dlParams[name] = new Object();
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
32
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
33 dlParams[name].value = value;
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
34 dlParams[name].defaultValue = defaultValue;
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
35 dlParams[name].detail = detail;
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
36
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
37 return dlParams[name];
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
38
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
39 } else {
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
40
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
41 alert("Fatal: An object with name '" + name + "' already exists - cannot recreate!");
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
42 return false;
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
43
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
44 }
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
45 }
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
46
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
47 function getParameter(name) {
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
48
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
49 if ( dlParams[name] ) {
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
50 return dlParams[name].value;
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
51 } else {
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
52 return false;
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
53 }
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
54 }
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
55
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
56
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
57
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
58 function listParametersAsString() {
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
59
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
60 var params = new Array();
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
61
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
62 for ( param in dlParams ) {
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
63 params.push(param);
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
64 }
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
65
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
66 return params.join(",");
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
67
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
68 }
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
69
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
70
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
71 function listParameters() {
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
72
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
73 var params = new Array();
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
74
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
75 for ( param in dlParams ) {
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
76 params.push(param);
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
77 }
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
78
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
79 return params;
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
80
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
81 }
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
82
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
83
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
84 function init() {
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
85
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
86 // give a name to the window containing digilib - this way one can test if there is already a
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
87 // digilib-window open and replace the contents of it (ex. digicat)
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
88 top.window.name = "digilib";
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
89
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
90 placeMarks();
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
91
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
92 if ( document.all ) {
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
93 this.document.onkeypress = parseKeypress;
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
94 } else if ( typeof(document.addEventListener) == "function" ) {
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
95 this.document.addEventListener('keypress', parseKeypress, true);
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
96 } else {
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
97 window.captureEvents(Event.KEYDOWN);
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
98 window.onkeydown = parseKeypress;
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
99 }
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
100
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
101 focus();
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
102 }
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
103
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
104
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
105 function display(detail) {
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
106
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
107 var queryString = '';
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
108
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
109 for ( param in dlParams ) {
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
110
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
111 if ( dlParams[param].defaultValue != dlParams[param].value ) {
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
112 if ( dlParams[param].detail <= detail ) {
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
113 queryString += "&" + param + "=" + dlParams[param].value;
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
114 } else {
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
115 queryString += "&" + param + "=" + dlParams[param].defaultValue;
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
116 }
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
117 }
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
118
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
119 }
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
120
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
121 if ( document.body ) {
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
122 queryString += "&dw=" + (document.body.clientWidth-30) + "&dh=" + (document.body.clientHeight-30);
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
123 } else {
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
124 queryString += "&dw=" + (innerWidth-30) + "&dh=" + (innerHeight-30);
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
125 }
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
126
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
127 queryString += "&lv=1";
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
128
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
129 queryString = queryString.slice(1);
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
130
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
131 location.href = location.protocol + "//" + location.host + location.pathname + "?" + queryString;
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
132
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
133 }
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
134
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
135
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
136 // constructor holding different values of a point
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
137 function Point(evt) {
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
138
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
139 if ( document.all ) {
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
140
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
141 this.pageX = parseInt(document.body.scrollLeft+event.clientX);
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
142 this.pageY = parseInt(document.body.scrollLeft+event.clientY);
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
143
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
144 this.x = this.pageX-parseInt(document.all.lay1.style.left);
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
145 this.y = this.pageY-parseInt(document.all.lay1.style.top);
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
146
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
147 this.relX = cropFloat(parseFloat(dlParams.wx.value)+(dlParams.ww.value*this.x/document.all.lay1.offsetWidth));
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
148 this.relY = cropFloat(parseFloat(dlParams.wy.value)+(dlParams.wh.value*this.y/document.all.lay1.offsetHeight));
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
149
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
150 } else {
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
151
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
152 this.pageX = parseInt(evt.pageX);
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
153 this.pageY = parseInt(evt.pageY);
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
154
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
155 if ( typeof(document.getElementById) == "function" ) {
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
156
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
157 this.x = this.pageX-parseInt(document.getElementById("lay1").style.left);
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
158 this.y = this.pageY-parseInt(document.getElementById("lay1").style.top);
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
159
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
160 this.relX = cropFloat(parseFloat(dlParams.wx.value)+(dlParams.ww.value*this.x/document.pic.offsetWidth));
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
161 this.relY = cropFloat(parseFloat(dlParams.wy.value)+(dlParams.wh.value*this.y/document.pic.offsetHeight));
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
162
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
163 } else {
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
164
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
165 this.x = this.pageX-document.lay1.left;
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
166 this.y = this.pageY-document.lay1.top;
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
167
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
168 this.relX = cropFloat(parseFloat(dlParams.wx.value)+(dlParams.ww.value*this.x/document.lay1.clip.width));
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
169 this.relY = cropFloat(parseFloat(dlParams.wy.value)+(dlParams.wh.value*this.y/document.lay1.clip.height));
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
170
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
171 }
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
172
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
173 }
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
174
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
175 return this;
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
176
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
177 }
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
178
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
179
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
180 function page(page, details) {
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
181
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
182 if ( details == null ) {
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
183 details = 1;
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
184 }
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
185
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
186 if ( page.indexOf('-') == 0 ) {
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
187 if ( dlParams.pn.value > 1 ) {
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
188 page = Math.max(parseInt(dlParams.pn.value) - parseInt(page.slice(1)), 1);
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
189 dlParams.pn.value = page;
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
190 display(details);
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
191 } else {
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
192 alert("You are already on the first page!");
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
193 }
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
194
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
195 } else if ( page.indexOf('+') == 0 ) {
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
196 page = parseInt(dlParams.pn.value) + parseInt(page.slice(1));
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
197 dlParams.pn.value = page;
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
198 display(details);
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
199 } else if ( page == parseInt(page) ) {
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
200 dlParams.pn.value = parseInt(page);
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
201 display(details);
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
202 }
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
203
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
204 }
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
205
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
206
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
207 function digicat() {
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
208
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
209 var url = baseUrl + "/digicat.jsp?" + dlParams.fn.value + "+" + dlParams.pn.value;
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
210 win = window.open(url, "digicat");
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
211 win.focus();
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
212
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
213 }
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
214
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
215
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
216 function ref(select) {
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
217
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
218 var hyperlinkRef = baseUrl + "/digilib.jsp?";
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
219 hyperlinkRef += dlParams.fn.value + "+" + dlParams.pn.value + "+" + dlParams.ws.value + "+";
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
220 hyperlinkRef += dlParams.mo.value + "+" + dlParams.mk.value;
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
221
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
222 if ( (dlParams.wx.value != 0) || (dlParams.wy.value != 0) || (dlParams.ww.value != 1) || (dlParams.wh.value != 1) ) {
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
223 hyperlinkRef += "+" + dlParams.wx.value + "+" + dlParams.wy.value + "+" + dlParams.ww.value;
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
224 hyperlinkRef += "+" + dlParams.wh.value;
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
225 }
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
226
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
227 if ( select == 0 ) {
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
228 prompt("Link for LaTeX-documents", "\\href{" + hyperlinkRef + "}{TEXT}");
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
229 } else if ( select == 1 ) {
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
230 prompt("Link for HTML-documents", hyperlinkRef);
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
231 }
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
232 }
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
233
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
234
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
235 function mark() {
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
236
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
237 if ( dlParams.mk.value.split(";").length > 7 ) {
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
238 alert("Only 8 marks are possible at the moment!");
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
239 return;
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
240 }
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
241
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
242 function markEvent(evt) {
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
243
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
244 var point = new Point(evt);
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
245
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
246 if ( dlParams.mk.value != '' ) {
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
247 dlParams.mk.value += ';';
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
248 }
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
249
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
250 dlParams.mk.value += point.relX + '/' + point.relY;
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
251
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
252 // stopping event capture
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
253 if ( document.all ) {
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
254 document.all.lay1.onmousedown = null;
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
255 } else if ( typeof(document.removeEventListener) == "function" ) {
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
256 document.getElementById("lay1").removeEventListener("mousedown", markEvent, true);
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
257 } else {
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
258 document.lay1.releaseEvents(Event.MOUSEDOWN);
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
259 }
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
260
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
261 placeMarks();
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
262
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
263 }
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
264
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
265 // starting event capture
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
266 if ( document.all ) {
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
267 document.all.lay1.onmousedown = markEvent;
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
268 } else if ( typeof(document.addEventListener) == "function" ) {
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
269 document.getElementById("lay1").addEventListener("mousedown", markEvent, true);
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
270 } else {
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
271 document.lay1.captureEvents(Event.MOUSEDOWN);
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
272 document.lay1.onmousedown = markEvent;
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
273 }
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
274 }
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
275
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
276
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
277 function placeMarks() {
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
278
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
279 if ( dlParams.mk.value != '' ) {
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
280
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
281 var mark = dlParams.mk.value.split(";");
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
282 var mark_count = mark.length;
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
283
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
284 // maximum of marks is 8
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
285 // we do not report this error because this is already done in function 'mark'
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
286 if ( mark_count > 8 ) mark_count = 8;
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
287
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
288 var picWidth = (document.all) ? parseInt(document.all.lay1.offsetWidth) : (typeof(document.getElementById) == "function") ? parseInt(document.pic.offsetWidth) : parseInt(document.pic.clip.width);
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
289 var picHeight = (document.all) ? parseInt(document.all.lay1.offsetHeight) : (typeof(document.getElementById) == "function") ? parseInt(document.pic.offsetHeight) : parseInt(document.pic.clip.height);
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
290
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
291 // catch the cases where the picture had not been loaded already and
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
292 // make a timeout so that the coordinates are calculated with the real dimensions
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
293 if ( (document.pic.complete) || (picWidth > 30) ) {
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
294
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
295 var xOffset = (document.all) ? parseInt(document.all.lay1.style.left) : (typeof(document.getElementById) == "function") ? parseInt(document.getElementById('lay1').style.left) : document.lay1.left;
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
296 var yOffset = (document.all) ? parseInt(document.all.lay1.style.top) : (typeof(document.getElementById) == "function") ? parseInt(document.getElementById('lay1').style.top) : document.lay1.top;
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
297
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
298 for (var i = 0; i < mark_count; i++) {
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
299 mark[i] = mark[i].split("/");
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
300
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
301 if ( (mark[i][0] >= dlParams.wx.value) && (mark[i][1] >= dlParams.wy.value) && (mark[i][0] <= (parseFloat(dlParams.wx.value) + parseFloat(dlParams.ww.value))) && (mark[i][1] <= (parseFloat(dlParams.wy.value) + parseFloat(dlParams.wh.value))) ) {
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
302
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
303 mark[i][0] = parseInt(xOffset + picWidth * (mark[i][0] - dlParams.wx.value)/dlParams.ww.value);
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
304 mark[i][1] = parseInt(yOffset + picHeight * (mark[i][1] - dlParams.wy.value)/dlParams.wh.value);
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
305
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
306 if ( (document.all) || (typeof(document.getElementById) == "function") ) {
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
307 // suboptimal to place -5 pixels and not half size of mark-image
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
308 // should be changed in the future
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
309 document.getElementById("dot" + i).style.left = mark[i][0]-5;
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
310 document.getElementById("dot" + i).style.top = mark[i][1]-5;
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
311 document.getElementById("dot" + i).style.visibility = "visible";
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
312 } else {
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
313 document.layers[i+1].moveTo(mark[i][0]-5, mark[i][1]-5);
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
314 document.layers[i+1].visibility = "show";
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
315 }
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
316 }
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
317 }
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
318
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
319 } else {
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
320 setTimeout("placeMarks()", 100);
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
321 }
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
322 }
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
323 }
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
324
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
325
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
326 function zoomPoint() {
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
327
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
328 function zoomPointEvent(evt) {
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
329
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
330 var point = new Point(evt);
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
331
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
332 dlParams.wx.value = cropFloat(point.relX-0.5*dlParams.ww.value*(1/ZOOMFACTOR));
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
333 dlParams.wy.value = cropFloat(point.relY-0.5*dlParams.wh.value*(1/ZOOMFACTOR));
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
334
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
335 dlParams.ww.value = cropFloat(dlParams.ww.value*(1/ZOOMFACTOR));
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
336 dlParams.wh.value = cropFloat(dlParams.wh.value*(1/ZOOMFACTOR));
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
337
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
338 if ( dlParams.wx.value < 0 ) {
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
339 dlParams.wx.value = 0;
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
340 }
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
341 if ( dlParams.wy.value < 0 ) {
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
342 dlParams.wy.value = 0;
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
343 }
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
344 if ( dlParams.wx.value + dlParams.ww.value > 1 ) {
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
345 dlParams.wx.value = 1 - dlParams.ww.value;
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
346 }
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
347 if ( dlParams.wy.value + dlParams.wh.value > 1 ) {
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
348 dlParams.wy.value = 1 - dlParams.wh.value;
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
349 }
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
350
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
351 // stopping event capture
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
352 if ( document.all ) {
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
353 document.all.lay1.onmousedown = null;
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
354 } else if ( typeof(document.removeEventListener) == "function" ) {
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
355 document.getElementById("lay1").removeEventListener("mousedown", zoomPointEvent, true);
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
356 } else {
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
357 document.lay1.releaseEvents(Event.MOUSEDOWN);
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
358 }
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
359
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
360 display(3);
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
361 }
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
362
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
363 // starting event capture
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
364 if ( document.all ) {
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
365 document.all.lay1.onmousedown = zoomPointEvent;
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
366 } else if ( typeof(document.addEventListener) == "function" ) {
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
367 document.getElementById("lay1").addEventListener("mousedown", zoomPointEvent, true);
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
368 } else {
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
369 document.lay1.captureEvents(Event.MOUSEDOWN);
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
370 document.lay1.onmousedown = zoomPointEvent;
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
371 }
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
372 }
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
373
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
374
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
375 function zoomArea() {
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
376 var state = 0;
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
377 var pt1, pt2;
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
378
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
379 function click(evt) {
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
380
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
381 if (state == 0) {
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
382 state = 1;
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
383
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
384 pt1 = new Point(evt);
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
385 pt2 = pt1;
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
386
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
387 if ( document.all ) {
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
388
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
389 document.all.eck1.style.left = pt1.pageX;
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
390 document.all.eck1.style.top = pt1.pageY;
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
391 document.all.eck2.style.left = pt2.pageX-12;
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
392 document.all.eck2.style.top = pt1.pageY;
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
393 document.all.eck3.style.left = pt1.pageX;
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
394 document.all.eck3.style.top = pt2.pageY-12;
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
395 document.all.eck4.style.left = pt2.pageX-12;
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
396 document.all.eck4.style.top = pt2.pageY-12;
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
397
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
398 document.all.eck1.style.visibility="visible";
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
399 document.all.eck2.style.visibility="visible";
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
400 document.all.eck3.style.visibility="visible";
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
401 document.all.eck4.style.visibility="visible";
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
402
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
403 document.all.lay1.onmousemove = move;
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
404 document.all.eck4.onmousemove = move;
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
405
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
406 } else if ( typeof(document.addEventListener) == "function" ) {
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
407
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
408 document.getElementById("eck1").style.left = pt1.pageX;
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
409 document.getElementById("eck1").style.top = pt1.pageY;
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
410 document.getElementById("eck2").style.left = pt2.pageX-12;
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
411 document.getElementById("eck2").style.top = pt1.pageY;
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
412 document.getElementById("eck3").style.left = pt1.pageX;
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
413 document.getElementById("eck3").style.top = pt2.pageY-12;
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
414 document.getElementById("eck4").style.left = pt2.pageX-12;
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
415 document.getElementById("eck4").style.top = pt2.pageY-12;
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
416
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
417 document.getElementById("eck1").style.visibility="visible";
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
418 document.getElementById("eck2").style.visibility="visible";
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
419 document.getElementById("eck3").style.visibility="visible";
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
420 document.getElementById("eck4").style.visibility="visible";
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
421
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
422 document.getElementById("lay1").addEventListener("mousemove", move, true);
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
423 document.getElementById("eck4").addEventListener("mousemove", move, true);
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
424
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
425 } else {
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
426
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
427 document.eck1.moveTo(pt1.pageX, pt1.pageY);
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
428 document.eck2.moveTo(pt2.pageX-12, pt1.pageY);
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
429 document.eck3.moveTo(pt1.pageX, pt2.pageY-12);
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
430 document.eck4.moveTo(pt2.pageX-12, pt2.pageY-12);
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
431
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
432 document.eck1.visibility="show";
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
433 document.eck2.visibility="show";
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
434 document.eck3.visibility="show";
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
435 document.eck4.visibility="show";
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
436
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
437 document.lay1.captureEvents(Event.MOUSEMOVE);
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
438 document.eck4.captureEvents(Event.MOUSEMOVE);
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
439 document.lay1.onmousemove = move;
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
440 document.eck4.onmousemove = move;
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
441
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
442 }
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
443
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
444 } else {
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
445
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
446 pt2 = new Point(evt);
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
447
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
448 if ( document.all ) {
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
449
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
450 document.all.eck1.visibility="hidden";
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
451 document.all.eck2.visibility="hidden";
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
452 document.all.eck3.visibility="hidden";
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
453 document.all.eck4.visibility="hidden";
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
454
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
455 document.all.lay1.onmousedown = null;
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
456 document.all.eck4.onmousedown = null;
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
457 document.all.lay1.onmousemove = null;
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
458 document.all.eck4.onmousemove = null;
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
459
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
460 } else if ( typeof(document.removeEventListener) == "function" ) {
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
461
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
462 document.getElementById("eck1").style.visibility="hidden";
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
463 document.getElementById("eck2").style.visibility="hidden";
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
464 document.getElementById("eck3").style.visibility="hidden";
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
465 document.getElementById("eck4").style.visibility="hidden";
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
466
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
467 document.getElementById("lay1").removeEventListener("mousedown", click, true);
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
468 document.getElementById("eck4").removeEventListener("mousedown", click, true);
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
469 document.getElementById("lay1").removeEventListener("mousemove", move, true);
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
470 document.getElementById("eck4").removeEventListener("mousemove", move, true);
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
471
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
472 } else {
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
473
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
474 document.eck1.visibility="hide";
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
475 document.eck2.visibility="hide";
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
476 document.eck3.visibility="hide";
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
477 document.eck4.visibility="hide";
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
478
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
479 document.lay1.releaseEvents(Event.MOUSEDOWN);
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
480 document.eck4.releaseEvents(Event.MOUSEDOWN);
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
481 document.lay1.releaseEvents(Event.MOUSEMOVE);
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
482 document.eck4.releaseEvents(Event.MOUSEMOVE);
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
483
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
484 }
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
485
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
486 dlParams.wx.value = cropFloat(parseFloat(Math.min(pt1.relX, pt2.relX)));
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
487 dlParams.wy.value = cropFloat(parseFloat(Math.min(pt1.relY, pt2.relY)));
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
488
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
489 dlParams.ww.value = cropFloat(parseFloat(Math.abs(pt1.relX-pt2.relX)));
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
490 dlParams.wh.value = cropFloat(parseFloat(Math.abs(pt1.relY-pt2.relY)));
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
491
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
492 if ( (dlParams.ww.value != 0) && (dlParams.wh.value != 0) ) {
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
493 display(3);
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
494 }
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
495 }
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
496 }
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
497
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
498 function move(evt) {
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
499
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
500 pt2 = new Point(evt);
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
501
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
502 var eck1_left = ((pt1.pageX < pt2.pageX) ? pt1.pageX : pt2.pageX);
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
503 var eck1_top = ((pt1.pageY < pt2.pageY) ? pt1.pageY : pt2.pageY);
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
504 var eck2_left = ((pt1.pageX < pt2.pageX) ? pt2.pageX : pt1.pageX)-12;;
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
505 var eck2_top = ((pt1.pageY < pt2.pageY) ? pt1.pageY : pt2.pageY);
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
506 var eck3_left = ((pt1.pageX < pt2.pageX) ? pt1.pageX : pt2.pageX);
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
507 var eck3_top = ((pt1.pageY < pt2.pageY) ? pt2.pageY : pt1.pageY)-12;
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
508 var eck4_left = ((pt1.pageX < pt2.pageX) ? pt2.pageX : pt1.pageX)-12;
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
509 var eck4_top = ((pt1.pageY < pt2.pageY) ? pt2.pageY : pt1.pageY)-12;
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
510
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
511 if ( document.all ) {
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
512
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
513 document.all.eck1.style.left = eck1_left;
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
514 document.all.eck1.style.top = eck1_top;
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
515 document.all.eck2.style.left = eck2_left;
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
516 document.all.eck2.style.top = eck2_top;
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
517 document.all.eck3.style.left = eck3_left;
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
518 document.all.eck3.style.top = eck3_top;
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
519 document.all.eck4.style.left = eck4_left;
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
520 document.all.eck4.style.top = eck4_top;
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
521
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
522 } else if ( typeof(document.getElementById) == "function" ) {
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
523
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
524 document.getElementById("eck1").style.left = eck1_left;
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
525 document.getElementById("eck1").style.top = eck1_top;
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
526 document.getElementById("eck2").style.left = eck2_left;
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
527 document.getElementById("eck2").style.top = eck2_top;
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
528 document.getElementById("eck3").style.left = eck3_left;
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
529 document.getElementById("eck3").style.top = eck3_top;
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
530 document.getElementById("eck4").style.left = eck4_left;
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
531 document.getElementById("eck4").style.top = eck4_top;
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
532
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
533 } else {
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
534
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
535 document.eck1.moveTo(eck1_left, eck1_top);
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
536 document.eck2.moveTo(eck2_left, eck2_top);
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
537 document.eck3.moveTo(eck3_left, eck3_top);
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
538 document.eck4.moveTo(eck4_left, eck4_top);
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
539
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
540 }
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
541 }
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
542
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
543 // starting event capture
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
544 if ( document.all ) {
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
545 document.all.lay1.onmousedown = click;
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
546 document.all.eck4.onmousedown = click;
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
547 } else if ( typeof(document.addEventListener) == "function" ) {
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
548 document.getElementById("lay1").addEventListener("mousedown", click, true);
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
549 document.getElementById("eck4").addEventListener("mousedown", click, true);
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
550 } else {
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
551 document.lay1.captureEvents(Event.MOUSEDOWN);
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
552 document.eck4.captureEvents(Event.MOUSEDOWN);
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
553 document.lay1.onmousedown = click;
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
554 document.eck4.onmousedown = click;
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
555 }
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
556 }
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
557
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
558
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
559 function zoomExtends() {
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
560
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
561 dlParams.wx.value = 0.0;
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
562 dlParams.wy.value = 0.0;
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
563
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
564 dlParams.ww.value = 1.0;
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
565 dlParams.wh.value = 1.0;
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
566
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
567 display(3);
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
568
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
569 }
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
570
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
571
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
572 function zoomOut() {
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
573
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
574 dlParams.wx.value = cropFloat(dlParams.wx.value-0.5*(dlParams.ww.value*(ZOOMFACTOR)-dlParams.ww.value));
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
575 dlParams.wy.value = cropFloat(dlParams.wy.value-0.5*(dlParams.wh.value*(ZOOMFACTOR)-dlParams.wh.value));
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
576
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
577 dlParams.ww.value = cropFloat(dlParams.ww.value*(ZOOMFACTOR));
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
578 dlParams.wh.value = cropFloat(dlParams.wh.value*(ZOOMFACTOR));
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
579
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
580 if ( dlParams.wx.value < 0 ) {
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
581 dlParams.wx.value = 0;
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
582 }
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
583 if ( dlParams.wy.value < 0 ) {
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
584 dlParams.wy.value = 0;
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
585 }
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
586 if ( dlParams.ww.value > 1 ) {
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
587 dlParams.ww.value = 1;
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
588 }
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
589 if ( dlParams.wh.value > 1 ) {
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
590 dlParams.wh.value = 1;
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
591 }
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
592 if ( dlParams.wx.value + dlParams.ww.value > 1 ) {
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
593 dlParams.wx.value = 1 - dlParams.ww.value;
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
594 }
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
595 if ( dlParams.wy.value + dlParams.wh.value > 1 ) {
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
596 dlParams.wy.value = 1 - dlParams.wh.value;
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
597 }
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
598
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
599 display(3);
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
600 }
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
601
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
602
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
603 function moveTo() {
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
604
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
605 if ( (parseFloat(dlParams.ww.value) == 1.0) && (parseFloat(dlParams.wh.value) == 1.0) ) {
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
606 alert("This function is only available when zoomed in!");
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
607 return;
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
608 }
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
609
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
610 function moveToEvent(event) {
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
611
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
612 var point = new Point(event);
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
613
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
614 dlParams.wx.value = cropFloat(point.relX-0.5*dlParams.ww.value);
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
615 dlParams.wy.value = cropFloat(point.relY-0.5*dlParams.wh.value);
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
616
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
617 if ( dlParams.wx.value < 0 ) {
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
618 dlParams.wx.value = 0;
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
619 }
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
620 if ( dlParams.wy.value < 0 ) {
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
621 dlParams.wy.value = 0;
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
622 }
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
623 if ( dlParams.wx.value + dlParams.ww.value > 1 ) {
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
624 dlParams.wx.value = 1 - dlParams.ww.value;
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
625 }
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
626 if ( dlParams.wy.value + dlParams.wh.value > 1 ) {
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
627 dlParams.wy.value = 1 - dlParams.wh.value;
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
628 }
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
629
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
630 // stopping event capture
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
631 if ( document.all ) {
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
632 document.all.lay1.onmousedown = null;
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
633 } else if ( typeof(document.removeEventListener) == "function" ) {
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
634 document.getElementById("lay1").removeEventListener("mousedown", moveToEvent, true);
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
635 } else {
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
636 document.lay1.releaseEvents(Event.MOUSEDOWN)
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
637 }
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
638
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
639 display(3);
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
640 }
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
641
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
642 // starting event capture
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
643 if ( document.all ) {
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
644 document.all.lay1.onmousedown = moveToEvent;
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
645 } else if ( typeof(document.addEventListener) == "function" ) {
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
646 document.getElementById("lay1").addEventListener("mousedown", moveToEvent, true);
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
647 } else {
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
648 document.lay1.captureEvents(Event.MOUSEDOWN);
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
649 document.lay1.onmousedown = moveToEvent;
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
650 }
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
651 }
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
652
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
653
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
654 function scale(factor) {
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
655
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
656 dlParams.ws.value = cropFloat(factor);
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
657 display(3);
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
658
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
659 }
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
660
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
661
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
662 // capturing keypresses for next and previous page
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
663 function parseKeypress(evt) {
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
664
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
665 if ( document.all ) {
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
666
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
667 if ( event.keyCode == 110 ) {
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
668 page('+1');
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
669 }
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
670 if ( event.keyCode == 98 ) {
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
671 page('-1');
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
672 }
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
673
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
674 document.cancleBubble = true;
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
675
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
676 } else {
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
677
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
678 if ( evt.charCode == 110 ) {
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
679 page('+1');
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
680 } else if ( evt.charCode == 98 ) {
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
681 page('-1');
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
682 } else if ( evt.which == 110 ) {
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
683 page('+1');
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
684 } else if ( evt.which == 98 ) {
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
685 // does not work currentlyfor Opera, because it catches the 'b'-key on it's own
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
686 // have to change the key or find another way - luginbuehl
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
687 page('-1');
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
688 }
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
689
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
690 }
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
691 }
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
692
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
693
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
694 // auxiliary function to crop senseless precicsion
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
695 function cropFloat(tmp) {
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
696 return parseInt(10000*tmp)/10000;
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
697 }