annotate client/digitallibrary/navigation.js @ 199:21789f3f7251

Corrected Problems with innerWidth and about:blank for Safari.
author robcast
date Wed, 14 Jan 2004 12:06:53 +0100
parents 28f96364040f
children 7349d58cd391
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
199
21789f3f7251 Corrected Problems with innerWidth and about:blank for Safari.
robcast
parents: 133
diff changeset
121 // window size
21789f3f7251 Corrected Problems with innerWidth and about:blank for Safari.
robcast
parents: 133
diff changeset
122 var wwidth, wheight;
21789f3f7251 Corrected Problems with innerWidth and about:blank for Safari.
robcast
parents: 133
diff changeset
123 if (self.innerHeight) // all except Explorer
21789f3f7251 Corrected Problems with innerWidth and about:blank for Safari.
robcast
parents: 133
diff changeset
124 {
21789f3f7251 Corrected Problems with innerWidth and about:blank for Safari.
robcast
parents: 133
diff changeset
125 wwidth = self.innerWidth;
21789f3f7251 Corrected Problems with innerWidth and about:blank for Safari.
robcast
parents: 133
diff changeset
126 wheight = self.innerHeight;
133
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
127 }
199
21789f3f7251 Corrected Problems with innerWidth and about:blank for Safari.
robcast
parents: 133
diff changeset
128 else if (document.documentElement && document.documentElement.clientHeight)
21789f3f7251 Corrected Problems with innerWidth and about:blank for Safari.
robcast
parents: 133
diff changeset
129 // Explorer 6 Strict Mode
21789f3f7251 Corrected Problems with innerWidth and about:blank for Safari.
robcast
parents: 133
diff changeset
130 {
21789f3f7251 Corrected Problems with innerWidth and about:blank for Safari.
robcast
parents: 133
diff changeset
131 wwidth = document.documentElement.clientWidth;
21789f3f7251 Corrected Problems with innerWidth and about:blank for Safari.
robcast
parents: 133
diff changeset
132 wheight = document.documentElement.clientHeight;
21789f3f7251 Corrected Problems with innerWidth and about:blank for Safari.
robcast
parents: 133
diff changeset
133 }
21789f3f7251 Corrected Problems with innerWidth and about:blank for Safari.
robcast
parents: 133
diff changeset
134 else if (document.body) // other Explorers
21789f3f7251 Corrected Problems with innerWidth and about:blank for Safari.
robcast
parents: 133
diff changeset
135 {
21789f3f7251 Corrected Problems with innerWidth and about:blank for Safari.
robcast
parents: 133
diff changeset
136 wwidth = document.body.clientWidth;
21789f3f7251 Corrected Problems with innerWidth and about:blank for Safari.
robcast
parents: 133
diff changeset
137 wheight = document.body.clientHeight;
21789f3f7251 Corrected Problems with innerWidth and about:blank for Safari.
robcast
parents: 133
diff changeset
138 }
21789f3f7251 Corrected Problems with innerWidth and about:blank for Safari.
robcast
parents: 133
diff changeset
139 queryString += "&dw=" + (wwidth-30) + "&dh=" + (wheight-30);
133
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
140
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
141 queryString += "&lv=1";
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
142
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
143 queryString = queryString.slice(1);
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
144
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
145 location.href = location.protocol + "//" + location.host + location.pathname + "?" + queryString;
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
146
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
147 }
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
148
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
149
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
150 // constructor holding different values of a point
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
151 function Point(evt) {
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
152
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
153 if ( document.all ) {
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
154
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
155 this.pageX = parseInt(document.body.scrollLeft+event.clientX);
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
156 this.pageY = parseInt(document.body.scrollLeft+event.clientY);
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
157
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
158 this.x = this.pageX-parseInt(document.all.lay1.style.left);
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
159 this.y = this.pageY-parseInt(document.all.lay1.style.top);
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
160
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
161 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
162 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
163
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
164 } else {
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
165
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
166 this.pageX = parseInt(evt.pageX);
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
167 this.pageY = parseInt(evt.pageY);
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
168
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
169 if ( typeof(document.getElementById) == "function" ) {
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
170
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
171 this.x = this.pageX-parseInt(document.getElementById("lay1").style.left);
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
172 this.y = this.pageY-parseInt(document.getElementById("lay1").style.top);
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
173
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
174 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
175 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
176
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
177 } else {
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
178
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
179 this.x = this.pageX-document.lay1.left;
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
180 this.y = this.pageY-document.lay1.top;
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
181
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
182 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
183 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
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
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
187 }
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
188
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
189 return this;
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
190
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
191 }
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
192
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
193
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
194 function page(page, details) {
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
195
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
196 if ( details == null ) {
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
197 details = 1;
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
198 }
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
199
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
200 if ( page.indexOf('-') == 0 ) {
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
201 if ( dlParams.pn.value > 1 ) {
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
202 page = Math.max(parseInt(dlParams.pn.value) - parseInt(page.slice(1)), 1);
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
203 dlParams.pn.value = page;
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
204 display(details);
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
205 } else {
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
206 alert("You are already on the first page!");
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
207 }
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
208
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
209 } else if ( page.indexOf('+') == 0 ) {
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
210 page = parseInt(dlParams.pn.value) + parseInt(page.slice(1));
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
211 dlParams.pn.value = page;
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
212 display(details);
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
213 } else if ( page == parseInt(page) ) {
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
214 dlParams.pn.value = parseInt(page);
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
215 display(details);
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
216 }
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
217
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
218 }
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
219
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
220
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
221 function digicat() {
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
222
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
223 var url = baseUrl + "/digicat.jsp?" + dlParams.fn.value + "+" + dlParams.pn.value;
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
224 win = window.open(url, "digicat");
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
225 win.focus();
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
226
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
227 }
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
228
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
229
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
230 function ref(select) {
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
231
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
232 var hyperlinkRef = baseUrl + "/digilib.jsp?";
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
233 hyperlinkRef += dlParams.fn.value + "+" + dlParams.pn.value + "+" + dlParams.ws.value + "+";
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
234 hyperlinkRef += dlParams.mo.value + "+" + dlParams.mk.value;
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
235
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
236 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
237 hyperlinkRef += "+" + dlParams.wx.value + "+" + dlParams.wy.value + "+" + dlParams.ww.value;
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
238 hyperlinkRef += "+" + dlParams.wh.value;
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
239 }
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
240
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
241 if ( select == 0 ) {
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
242 prompt("Link for LaTeX-documents", "\\href{" + hyperlinkRef + "}{TEXT}");
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
243 } else if ( select == 1 ) {
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
244 prompt("Link for HTML-documents", hyperlinkRef);
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
245 }
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
246 }
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
247
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
248
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
249 function mark() {
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
250
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
251 if ( dlParams.mk.value.split(";").length > 7 ) {
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
252 alert("Only 8 marks are possible at the moment!");
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
253 return;
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
254 }
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
255
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
256 function markEvent(evt) {
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
257
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
258 var point = new Point(evt);
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
259
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
260 if ( dlParams.mk.value != '' ) {
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
261 dlParams.mk.value += ';';
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 dlParams.mk.value += point.relX + '/' + point.relY;
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
265
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
266 // stopping event capture
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
267 if ( document.all ) {
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
268 document.all.lay1.onmousedown = null;
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
269 } else if ( typeof(document.removeEventListener) == "function" ) {
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
270 document.getElementById("lay1").removeEventListener("mousedown", markEvent, true);
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
271 } else {
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
272 document.lay1.releaseEvents(Event.MOUSEDOWN);
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 placeMarks();
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
276
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
277 }
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
278
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
279 // starting event capture
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
280 if ( document.all ) {
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
281 document.all.lay1.onmousedown = markEvent;
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
282 } else if ( typeof(document.addEventListener) == "function" ) {
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
283 document.getElementById("lay1").addEventListener("mousedown", markEvent, true);
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
284 } else {
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
285 document.lay1.captureEvents(Event.MOUSEDOWN);
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
286 document.lay1.onmousedown = markEvent;
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
287 }
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
288 }
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
289
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
290
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
291 function placeMarks() {
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
292
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
293 if ( dlParams.mk.value != '' ) {
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 mark = dlParams.mk.value.split(";");
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
296 var mark_count = mark.length;
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
297
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
298 // maximum of marks is 8
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
299 // 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
300 if ( mark_count > 8 ) mark_count = 8;
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
301
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
302 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
303 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
304
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
305 // catch the cases where the picture had not been loaded already and
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
306 // make a timeout so that the coordinates are calculated with the real dimensions
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
307 if ( (document.pic.complete) || (picWidth > 30) ) {
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
308
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
309 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
310 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
311
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
312 for (var i = 0; i < mark_count; i++) {
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
313 mark[i] = mark[i].split("/");
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
314
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
315 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
316
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
317 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
318 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
319
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
320 if ( (document.all) || (typeof(document.getElementById) == "function") ) {
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
321 // suboptimal to place -5 pixels and not half size of mark-image
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
322 // should be changed in the future
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
323 document.getElementById("dot" + i).style.left = mark[i][0]-5;
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
324 document.getElementById("dot" + i).style.top = mark[i][1]-5;
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
325 document.getElementById("dot" + i).style.visibility = "visible";
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
326 } else {
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
327 document.layers[i+1].moveTo(mark[i][0]-5, mark[i][1]-5);
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
328 document.layers[i+1].visibility = "show";
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
329 }
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
330 }
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
331 }
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
332
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
333 } else {
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
334 setTimeout("placeMarks()", 100);
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
335 }
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
336 }
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
337 }
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
338
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
339
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
340 function zoomPoint() {
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
341
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
342 function zoomPointEvent(evt) {
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
343
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
344 var point = new Point(evt);
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
345
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
346 dlParams.wx.value = cropFloat(point.relX-0.5*dlParams.ww.value*(1/ZOOMFACTOR));
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
347 dlParams.wy.value = cropFloat(point.relY-0.5*dlParams.wh.value*(1/ZOOMFACTOR));
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
348
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
349 dlParams.ww.value = cropFloat(dlParams.ww.value*(1/ZOOMFACTOR));
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
350 dlParams.wh.value = cropFloat(dlParams.wh.value*(1/ZOOMFACTOR));
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
351
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
352 if ( dlParams.wx.value < 0 ) {
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
353 dlParams.wx.value = 0;
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
354 }
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
355 if ( dlParams.wy.value < 0 ) {
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
356 dlParams.wy.value = 0;
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
357 }
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
358 if ( dlParams.wx.value + dlParams.ww.value > 1 ) {
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
359 dlParams.wx.value = 1 - dlParams.ww.value;
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
360 }
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
361 if ( dlParams.wy.value + dlParams.wh.value > 1 ) {
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
362 dlParams.wy.value = 1 - dlParams.wh.value;
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
363 }
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
364
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
365 // stopping event capture
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
366 if ( document.all ) {
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
367 document.all.lay1.onmousedown = null;
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
368 } else if ( typeof(document.removeEventListener) == "function" ) {
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
369 document.getElementById("lay1").removeEventListener("mousedown", zoomPointEvent, true);
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
370 } else {
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
371 document.lay1.releaseEvents(Event.MOUSEDOWN);
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 display(3);
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
375 }
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
376
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
377 // starting event capture
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
378 if ( document.all ) {
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
379 document.all.lay1.onmousedown = zoomPointEvent;
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
380 } else if ( typeof(document.addEventListener) == "function" ) {
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
381 document.getElementById("lay1").addEventListener("mousedown", zoomPointEvent, true);
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
382 } else {
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
383 document.lay1.captureEvents(Event.MOUSEDOWN);
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
384 document.lay1.onmousedown = zoomPointEvent;
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
385 }
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
386 }
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
387
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
388
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
389 function zoomArea() {
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
390 var state = 0;
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
391 var pt1, pt2;
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
392
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
393 function click(evt) {
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
394
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
395 if (state == 0) {
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
396 state = 1;
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
397
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
398 pt1 = new Point(evt);
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
399 pt2 = pt1;
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
400
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
401 if ( document.all ) {
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.eck1.style.left = pt1.pageX;
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
404 document.all.eck1.style.top = pt1.pageY;
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
405 document.all.eck2.style.left = pt2.pageX-12;
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
406 document.all.eck2.style.top = pt1.pageY;
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
407 document.all.eck3.style.left = pt1.pageX;
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
408 document.all.eck3.style.top = pt2.pageY-12;
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
409 document.all.eck4.style.left = pt2.pageX-12;
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
410 document.all.eck4.style.top = pt2.pageY-12;
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
411
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
412 document.all.eck1.style.visibility="visible";
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
413 document.all.eck2.style.visibility="visible";
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
414 document.all.eck3.style.visibility="visible";
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
415 document.all.eck4.style.visibility="visible";
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.all.lay1.onmousemove = move;
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
418 document.all.eck4.onmousemove = move;
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
419
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
420 } else if ( typeof(document.addEventListener) == "function" ) {
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("eck1").style.left = pt1.pageX;
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
423 document.getElementById("eck1").style.top = pt1.pageY;
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
424 document.getElementById("eck2").style.left = pt2.pageX-12;
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
425 document.getElementById("eck2").style.top = pt1.pageY;
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
426 document.getElementById("eck3").style.left = pt1.pageX;
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
427 document.getElementById("eck3").style.top = pt2.pageY-12;
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
428 document.getElementById("eck4").style.left = pt2.pageX-12;
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
429 document.getElementById("eck4").style.top = pt2.pageY-12;
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
430
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
431 document.getElementById("eck1").style.visibility="visible";
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
432 document.getElementById("eck2").style.visibility="visible";
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
433 document.getElementById("eck3").style.visibility="visible";
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
434 document.getElementById("eck4").style.visibility="visible";
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
435
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
436 document.getElementById("lay1").addEventListener("mousemove", move, true);
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
437 document.getElementById("eck4").addEventListener("mousemove", move, true);
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
438
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
439 } else {
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
440
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
441 document.eck1.moveTo(pt1.pageX, pt1.pageY);
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
442 document.eck2.moveTo(pt2.pageX-12, pt1.pageY);
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
443 document.eck3.moveTo(pt1.pageX, pt2.pageY-12);
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
444 document.eck4.moveTo(pt2.pageX-12, pt2.pageY-12);
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
445
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
446 document.eck1.visibility="show";
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
447 document.eck2.visibility="show";
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
448 document.eck3.visibility="show";
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
449 document.eck4.visibility="show";
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
450
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
451 document.lay1.captureEvents(Event.MOUSEMOVE);
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
452 document.eck4.captureEvents(Event.MOUSEMOVE);
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
453 document.lay1.onmousemove = move;
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
454 document.eck4.onmousemove = move;
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
455
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
456 }
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
457
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
458 } else {
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
459
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
460 pt2 = new Point(evt);
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
461
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
462 if ( document.all ) {
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
463
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
464 document.all.eck1.visibility="hidden";
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
465 document.all.eck2.visibility="hidden";
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
466 document.all.eck3.visibility="hidden";
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
467 document.all.eck4.visibility="hidden";
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
468
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
469 document.all.lay1.onmousedown = null;
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
470 document.all.eck4.onmousedown = null;
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
471 document.all.lay1.onmousemove = null;
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
472 document.all.eck4.onmousemove = null;
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
473
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
474 } else if ( typeof(document.removeEventListener) == "function" ) {
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
475
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
476 document.getElementById("eck1").style.visibility="hidden";
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
477 document.getElementById("eck2").style.visibility="hidden";
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
478 document.getElementById("eck3").style.visibility="hidden";
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
479 document.getElementById("eck4").style.visibility="hidden";
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
480
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
481 document.getElementById("lay1").removeEventListener("mousedown", click, true);
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
482 document.getElementById("eck4").removeEventListener("mousedown", click, true);
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
483 document.getElementById("lay1").removeEventListener("mousemove", move, true);
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
484 document.getElementById("eck4").removeEventListener("mousemove", move, true);
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
485
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
486 } else {
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
487
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
488 document.eck1.visibility="hide";
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
489 document.eck2.visibility="hide";
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
490 document.eck3.visibility="hide";
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
491 document.eck4.visibility="hide";
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
492
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
493 document.lay1.releaseEvents(Event.MOUSEDOWN);
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
494 document.eck4.releaseEvents(Event.MOUSEDOWN);
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
495 document.lay1.releaseEvents(Event.MOUSEMOVE);
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
496 document.eck4.releaseEvents(Event.MOUSEMOVE);
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
497
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
498 }
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
499
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
500 dlParams.wx.value = cropFloat(parseFloat(Math.min(pt1.relX, pt2.relX)));
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
501 dlParams.wy.value = cropFloat(parseFloat(Math.min(pt1.relY, pt2.relY)));
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
502
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
503 dlParams.ww.value = cropFloat(parseFloat(Math.abs(pt1.relX-pt2.relX)));
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
504 dlParams.wh.value = cropFloat(parseFloat(Math.abs(pt1.relY-pt2.relY)));
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
505
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
506 if ( (dlParams.ww.value != 0) && (dlParams.wh.value != 0) ) {
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
507 display(3);
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
508 }
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
509 }
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
510 }
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
511
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
512 function move(evt) {
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
513
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
514 pt2 = new Point(evt);
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
515
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
516 var eck1_left = ((pt1.pageX < pt2.pageX) ? pt1.pageX : pt2.pageX);
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
517 var eck1_top = ((pt1.pageY < pt2.pageY) ? pt1.pageY : pt2.pageY);
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
518 var eck2_left = ((pt1.pageX < pt2.pageX) ? pt2.pageX : pt1.pageX)-12;;
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
519 var eck2_top = ((pt1.pageY < pt2.pageY) ? pt1.pageY : pt2.pageY);
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
520 var eck3_left = ((pt1.pageX < pt2.pageX) ? pt1.pageX : pt2.pageX);
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
521 var eck3_top = ((pt1.pageY < pt2.pageY) ? pt2.pageY : pt1.pageY)-12;
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
522 var eck4_left = ((pt1.pageX < pt2.pageX) ? pt2.pageX : pt1.pageX)-12;
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
523 var eck4_top = ((pt1.pageY < pt2.pageY) ? pt2.pageY : pt1.pageY)-12;
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
524
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
525 if ( document.all ) {
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
526
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
527 document.all.eck1.style.left = eck1_left;
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
528 document.all.eck1.style.top = eck1_top;
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
529 document.all.eck2.style.left = eck2_left;
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
530 document.all.eck2.style.top = eck2_top;
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
531 document.all.eck3.style.left = eck3_left;
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
532 document.all.eck3.style.top = eck3_top;
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
533 document.all.eck4.style.left = eck4_left;
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
534 document.all.eck4.style.top = eck4_top;
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
535
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
536 } else if ( typeof(document.getElementById) == "function" ) {
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
537
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
538 document.getElementById("eck1").style.left = eck1_left;
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
539 document.getElementById("eck1").style.top = eck1_top;
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
540 document.getElementById("eck2").style.left = eck2_left;
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
541 document.getElementById("eck2").style.top = eck2_top;
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
542 document.getElementById("eck3").style.left = eck3_left;
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
543 document.getElementById("eck3").style.top = eck3_top;
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
544 document.getElementById("eck4").style.left = eck4_left;
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
545 document.getElementById("eck4").style.top = eck4_top;
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
546
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
547 } else {
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
548
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
549 document.eck1.moveTo(eck1_left, eck1_top);
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
550 document.eck2.moveTo(eck2_left, eck2_top);
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
551 document.eck3.moveTo(eck3_left, eck3_top);
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
552 document.eck4.moveTo(eck4_left, eck4_top);
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
553
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
554 }
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 // starting event capture
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
558 if ( document.all ) {
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
559 document.all.lay1.onmousedown = click;
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
560 document.all.eck4.onmousedown = click;
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
561 } else if ( typeof(document.addEventListener) == "function" ) {
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
562 document.getElementById("lay1").addEventListener("mousedown", click, true);
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
563 document.getElementById("eck4").addEventListener("mousedown", click, true);
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
564 } else {
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
565 document.lay1.captureEvents(Event.MOUSEDOWN);
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
566 document.eck4.captureEvents(Event.MOUSEDOWN);
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
567 document.lay1.onmousedown = click;
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
568 document.eck4.onmousedown = click;
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
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
573 function zoomExtends() {
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
574
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
575 dlParams.wx.value = 0.0;
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
576 dlParams.wy.value = 0.0;
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
577
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
578 dlParams.ww.value = 1.0;
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
579 dlParams.wh.value = 1.0;
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
580
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
581 display(3);
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
582
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
583 }
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
584
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
585
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
586 function zoomOut() {
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
587
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
588 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
589 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
590
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
591 dlParams.ww.value = cropFloat(dlParams.ww.value*(ZOOMFACTOR));
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
592 dlParams.wh.value = cropFloat(dlParams.wh.value*(ZOOMFACTOR));
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
593
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
594 if ( dlParams.wx.value < 0 ) {
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
595 dlParams.wx.value = 0;
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
596 }
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
597 if ( dlParams.wy.value < 0 ) {
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
598 dlParams.wy.value = 0;
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
599 }
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
600 if ( dlParams.ww.value > 1 ) {
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
601 dlParams.ww.value = 1;
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
602 }
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
603 if ( dlParams.wh.value > 1 ) {
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
604 dlParams.wh.value = 1;
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
605 }
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
606 if ( dlParams.wx.value + dlParams.ww.value > 1 ) {
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
607 dlParams.wx.value = 1 - dlParams.ww.value;
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
608 }
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
609 if ( dlParams.wy.value + dlParams.wh.value > 1 ) {
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
610 dlParams.wy.value = 1 - dlParams.wh.value;
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
611 }
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
612
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
613 display(3);
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
614 }
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
615
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
616
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
617 function moveTo() {
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
618
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
619 if ( (parseFloat(dlParams.ww.value) == 1.0) && (parseFloat(dlParams.wh.value) == 1.0) ) {
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
620 alert("This function is only available when zoomed in!");
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
621 return;
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
622 }
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
623
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
624 function moveToEvent(event) {
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
625
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
626 var point = new Point(event);
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
627
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
628 dlParams.wx.value = cropFloat(point.relX-0.5*dlParams.ww.value);
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
629 dlParams.wy.value = cropFloat(point.relY-0.5*dlParams.wh.value);
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
630
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
631 if ( dlParams.wx.value < 0 ) {
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
632 dlParams.wx.value = 0;
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
633 }
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
634 if ( dlParams.wy.value < 0 ) {
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
635 dlParams.wy.value = 0;
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
636 }
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
637 if ( dlParams.wx.value + dlParams.ww.value > 1 ) {
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
638 dlParams.wx.value = 1 - dlParams.ww.value;
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
639 }
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
640 if ( dlParams.wy.value + dlParams.wh.value > 1 ) {
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
641 dlParams.wy.value = 1 - dlParams.wh.value;
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
642 }
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
643
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
644 // stopping event capture
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
645 if ( document.all ) {
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
646 document.all.lay1.onmousedown = null;
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
647 } else if ( typeof(document.removeEventListener) == "function" ) {
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
648 document.getElementById("lay1").removeEventListener("mousedown", moveToEvent, true);
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
649 } else {
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
650 document.lay1.releaseEvents(Event.MOUSEDOWN)
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 display(3);
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
654 }
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
655
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
656 // starting event capture
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
657 if ( document.all ) {
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
658 document.all.lay1.onmousedown = moveToEvent;
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
659 } else if ( typeof(document.addEventListener) == "function" ) {
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
660 document.getElementById("lay1").addEventListener("mousedown", moveToEvent, true);
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
661 } else {
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
662 document.lay1.captureEvents(Event.MOUSEDOWN);
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
663 document.lay1.onmousedown = moveToEvent;
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
664 }
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
665 }
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
666
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
667
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
668 function scale(factor) {
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
669
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
670 dlParams.ws.value = cropFloat(factor);
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
671 display(3);
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
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
675
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
676 // capturing keypresses for next and previous page
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
677 function parseKeypress(evt) {
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
678
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
679 if ( document.all ) {
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
680
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
681 if ( event.keyCode == 110 ) {
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
682 page('+1');
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
683 }
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
684 if ( event.keyCode == 98 ) {
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
685 page('-1');
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
686 }
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
687
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
688 document.cancleBubble = true;
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
689
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
690 } else {
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
691
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
692 if ( evt.charCode == 110 ) {
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
693 page('+1');
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
694 } else if ( evt.charCode == 98 ) {
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
695 page('-1');
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
696 } else if ( evt.which == 110 ) {
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
697 page('+1');
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
698 } else if ( evt.which == 98 ) {
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
699 // 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
700 // have to change the key or find another way - luginbuehl
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
701 page('-1');
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
702 }
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
703
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
704 }
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
705 }
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
706
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
707
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
708 // auxiliary function to crop senseless precicsion
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
709 function cropFloat(tmp) {
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
710 return parseInt(10000*tmp)/10000;
28f96364040f unified scripts, nice xul sidebar, bugfixes
luginbue
parents:
diff changeset
711 }