html2slideshow 2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +7 -0
- data/bin/html2slideshow +27 -0
- data/doc/changes.txt +162 -0
- data/doc/license.txt +674 -0
- data/lib/LANG +1 -0
- data/lib/about.rb +57 -0
- data/lib/argparser.rb +143 -0
- data/lib/completable.rb +157 -0
- data/lib/configurator.rb +155 -0
- data/lib/copyright.txt +22 -0
- data/lib/extstring.rb +75 -0
- data/lib/file_checking.rb +153 -0
- data/lib/html2slideshow.cfg +22 -0
- data/lib/html2slideshow.rb +132 -0
- data/lib/htmlbuilder.rb +267 -0
- data/lib/icons/failure.png +0 -0
- data/lib/icons/howto.png +0 -0
- data/lib/icons/logo.png +0 -0
- data/lib/icons/message.png +0 -0
- data/lib/icons/options.png +0 -0
- data/lib/icons/question.png +0 -0
- data/lib/icons/success.png +0 -0
- data/lib/image.rb +62 -0
- data/lib/list_fields.rb +34 -0
- data/lib/log.conf +60 -0
- data/lib/logging.rb +194 -0
- data/lib/slideshow_css.rb +248 -0
- data/lib/slideshow_images/downCursor.png +0 -0
- data/lib/slideshow_images/leftArrow.png +0 -0
- data/lib/slideshow_images/olive.png +0 -0
- data/lib/slideshow_images/pause.png +0 -0
- data/lib/slideshow_images/rightArrow.png +0 -0
- data/lib/slideshow_images/sizeMedium.png +0 -0
- data/lib/slideshow_images/sizeNormal.png +0 -0
- data/lib/slideshow_images/sizeSmall.png +0 -0
- data/lib/slideshow_images/start.png +0 -0
- data/lib/slideshow_images/stop.png +0 -0
- data/lib/slideshow_images/toggle.png +0 -0
- data/lib/slideshow_images/upCursor.png +0 -0
- data/lib/slideshow_js.rb +390 -0
- data/lib/slideshow_template.rb +194 -0
- data/lib/sourcefile.rb +191 -0
- data/lib/translating.rb +90 -0
- data/lib/translations +354 -0
- metadata +86 -0
data/lib/slideshow_js.rb
ADDED
@@ -0,0 +1,390 @@
|
|
1
|
+
#encoding: UTF-8
|
2
|
+
|
3
|
+
RD = File.expand_path(File.dirname(__FILE__) ) + File::SEPARATOR if !defined?(RD)
|
4
|
+
require RD + '/translating'
|
5
|
+
|
6
|
+
def jstrl(s)
|
7
|
+
Translating::trl(s)
|
8
|
+
end
|
9
|
+
|
10
|
+
|
11
|
+
$JAVASCRIPT = %~ var num = -1;
|
12
|
+
var current = num
|
13
|
+
var running = false;
|
14
|
+
var max = 0;
|
15
|
+
var pausing = false;
|
16
|
+
|
17
|
+
function addTime() {
|
18
|
+
var dtime = document.getElementById("displayTime").value;
|
19
|
+
if(dtime < 990) {
|
20
|
+
if(dtime < 10 ) {
|
21
|
+
document.getElementById('displayTime').value++;
|
22
|
+
}
|
23
|
+
else if(dtime < 30) {
|
24
|
+
document.getElementById('displayTime').value = parseInt(dtime) + 2 ;
|
25
|
+
}
|
26
|
+
else if (dtime < 60) {
|
27
|
+
document.getElementById('displayTime').value = parseInt(dtime) + 5;
|
28
|
+
}
|
29
|
+
else {
|
30
|
+
document.getElementById('displayTime').value = parseInt(dtime) + 10;
|
31
|
+
}
|
32
|
+
}
|
33
|
+
else {
|
34
|
+
blink("displayTime");
|
35
|
+
}
|
36
|
+
}
|
37
|
+
|
38
|
+
function reduceTime() {
|
39
|
+
var dtime = document.getElementById("displayTime").value;
|
40
|
+
if(dtime > 0) {
|
41
|
+
if(dtime > 60 ) {
|
42
|
+
document.getElementById('displayTime').value = parseInt(dtime) - 10;
|
43
|
+
}
|
44
|
+
else if(dtime > 30) {
|
45
|
+
document.getElementById('displayTime').value = parseInt(dtime) - 5;
|
46
|
+
}
|
47
|
+
else if (dtime > 10) {
|
48
|
+
document.getElementById('displayTime').value = parseInt(dtime) - 2 ;
|
49
|
+
}
|
50
|
+
else {
|
51
|
+
document.getElementById('displayTime').value--;
|
52
|
+
}
|
53
|
+
}
|
54
|
+
else {
|
55
|
+
blink("displayTime");
|
56
|
+
}
|
57
|
+
}
|
58
|
+
|
59
|
+
function pushButton(element, toggleIds) {
|
60
|
+
if(toggleIds) {
|
61
|
+
do {
|
62
|
+
var b = toggleIds.pop();
|
63
|
+
releaseButton(document.getElementById(b) );
|
64
|
+
}while(toggleIds.length > 0);
|
65
|
+
}
|
66
|
+
element.style.borderLeftColor="#0000a0";
|
67
|
+
element.style.borderTopColor="#0000a0";
|
68
|
+
element.style.borderRightColor="#d0d0d0";
|
69
|
+
element.style.borderBottomColor="#d0d0d0";
|
70
|
+
element.style.paddingTop="1px";
|
71
|
+
element.style.paddingBottom="0";
|
72
|
+
element.style.paddingLeft="5px";
|
73
|
+
element.style.paddingRight="3px";
|
74
|
+
element.style.marginRight="0";
|
75
|
+
element.style.marginLeft="1px";
|
76
|
+
}
|
77
|
+
|
78
|
+
function releaseButton(element) {
|
79
|
+
element.style.borderLeftColor="#d0d0d0";
|
80
|
+
element.style.borderTopColor="#d0d0d0";
|
81
|
+
element.style.borderRightColor="#0000a0";
|
82
|
+
element.style.borderBottomColor="#0000a0";
|
83
|
+
element.style.paddingTop="0";
|
84
|
+
element.style.paddingBottom="1px";
|
85
|
+
element.style.paddingLeft="4px";
|
86
|
+
element.style.paddingRight="4px";
|
87
|
+
element.style.marginRight="1px";
|
88
|
+
element.style.marginLeft="0";
|
89
|
+
}
|
90
|
+
|
91
|
+
var blinker = null;
|
92
|
+
var normalBorder = null;
|
93
|
+
function blink(eleName) {
|
94
|
+
if(blinker != null) {
|
95
|
+
blinker.style.border=normalBorder;
|
96
|
+
blinker = null;
|
97
|
+
}
|
98
|
+
else {
|
99
|
+
blinker = document.getElementById(eleName);
|
100
|
+
normalBorder = blinker.style.border;
|
101
|
+
blinker.style.border="2px solid yellow";
|
102
|
+
setTimeout("blink()", 200);
|
103
|
+
}
|
104
|
+
}
|
105
|
+
|
106
|
+
|
107
|
+
function removeAlert() {
|
108
|
+
var al = document.getElementById("alertMsg");
|
109
|
+
if(al) {
|
110
|
+
al.parentNode.removeChild(al);
|
111
|
+
}
|
112
|
+
}
|
113
|
+
|
114
|
+
function showAlert(msg) {
|
115
|
+
if(msg) {
|
116
|
+
var ie = document.getElementById("currentImage");
|
117
|
+
var ae = document.getElementById("currentImage").parentNode;
|
118
|
+
var me = document.createElement("p");
|
119
|
+
var mt = document.createTextNode(unescape(msg));
|
120
|
+
|
121
|
+
mestyle = document.createAttribute('class');
|
122
|
+
mestyle.nodeValue = 'alert';
|
123
|
+
me.setAttributeNode(mestyle);
|
124
|
+
|
125
|
+
meid = document.createAttribute('id');
|
126
|
+
meid.nodeValue = 'alertMsg';
|
127
|
+
me.setAttributeNode(meid);
|
128
|
+
|
129
|
+
me.appendChild(mt);
|
130
|
+
ae.insertBefore(me, ie);
|
131
|
+
ae.nodeValue=me;
|
132
|
+
|
133
|
+
setTimeout('removeAlert()', 1500);
|
134
|
+
}
|
135
|
+
}
|
136
|
+
|
137
|
+
|
138
|
+
function next() {
|
139
|
+
resetTime();
|
140
|
+
pausing = false;
|
141
|
+
if(current + 1 < max) {
|
142
|
+
++current;
|
143
|
+
showOne();
|
144
|
+
}
|
145
|
+
else{
|
146
|
+
showAlert("#{jstrl('You have reached the last picture')}");
|
147
|
+
}
|
148
|
+
}
|
149
|
+
function previous() {
|
150
|
+
resetTime();
|
151
|
+
pausing = false;
|
152
|
+
if(--current >= 0) {
|
153
|
+
showOne();
|
154
|
+
}
|
155
|
+
else{
|
156
|
+
current = 0;
|
157
|
+
showAlert("#{jstrl('You have reached the first picture')}");
|
158
|
+
}
|
159
|
+
}
|
160
|
+
|
161
|
+
function timeChange() {
|
162
|
+
try{
|
163
|
+
var testTime = document.getElementById("displayTime").value;
|
164
|
+
if(testTime != null && testTime > 0 && num >= 0) {
|
165
|
+
document.getElementById("startControl").setAttribute('disabled', 'disabled');
|
166
|
+
document.getElementById("pauseControl").removeAttribute('disabled');
|
167
|
+
document.getElementById("stopControl").removeAttribute('disabled');
|
168
|
+
if(current == num) {
|
169
|
+
show();
|
170
|
+
}
|
171
|
+
}
|
172
|
+
else {
|
173
|
+
document.getElementById("startControl").removeAttribute('disabled');
|
174
|
+
document.getElementById("pauseControl").setAttribute('disabled', 'disabled');
|
175
|
+
document.getElementById("stopControl").setAttribute('disabled', 'disabled');
|
176
|
+
}
|
177
|
+
}catch(ex){alert(ex);}
|
178
|
+
}
|
179
|
+
|
180
|
+
function resetTime() {
|
181
|
+
try {
|
182
|
+
var element = document.getElementById("displayTime");
|
183
|
+
if(element.value != 0) {
|
184
|
+
blink("displayTime");
|
185
|
+
}
|
186
|
+
element.value = 0;
|
187
|
+
timeChange();
|
188
|
+
}catch(ex) {}
|
189
|
+
}
|
190
|
+
function showOne() {
|
191
|
+
try {
|
192
|
+
var imgElement = document.getElementById("currentImage");
|
193
|
+
var imageId = "image" + current;
|
194
|
+
var imgPath = document.getElementById(imageId).firstChild.nodeValue;
|
195
|
+
if(imgElement != null && imgPath != null ) {
|
196
|
+
imgElement.src = imgPath;
|
197
|
+
setHeading(document.getElementById(imageId).title);
|
198
|
+
num = current;
|
199
|
+
document.getElementById("imageNumber").firstChild.nodeValue= "#{jstrl('Image')} " + (current + 1);
|
200
|
+
|
201
|
+
var imageFile = imgPath.substring(imgPath.lastIndexOf('/') + 1, imgPath.lastIndexOf('.') );
|
202
|
+
var title = imageFile;
|
203
|
+
if(imageFile.length > 23) {
|
204
|
+
imageFile = imageFile.substr(0, 20);
|
205
|
+
imageFile += "..."
|
206
|
+
}
|
207
|
+
|
208
|
+
document.getElementById("imageData").firstChild.nodeValue=imageFile;
|
209
|
+
document.getElementById("imageData").title = title;
|
210
|
+
|
211
|
+
}
|
212
|
+
}
|
213
|
+
catch(ex) {
|
214
|
+
alert(ex);
|
215
|
+
}
|
216
|
+
}
|
217
|
+
|
218
|
+
function setHeading(text) {
|
219
|
+
document.getElementById("heading").firstChild.nodeValue=text;
|
220
|
+
}
|
221
|
+
|
222
|
+
t = 0;
|
223
|
+
function progress() {
|
224
|
+
var testTime = document.getElementById("displayTime").value;
|
225
|
+
if(!pausing && testTime > 0) {
|
226
|
+
unit = 100 / testTime;
|
227
|
+
document.getElementById("progressbar").style.width = (unit * t) + '%';
|
228
|
+
|
229
|
+
if(t >= 0) {
|
230
|
+
t -= 1;
|
231
|
+
}
|
232
|
+
else {
|
233
|
+
t = testTime;
|
234
|
+
}
|
235
|
+
}
|
236
|
+
if(testTime != null && testTime != 0 && num > 0) {
|
237
|
+
setTimeout("progress()", 1000);
|
238
|
+
}
|
239
|
+
else {
|
240
|
+
t = testTime;
|
241
|
+
}
|
242
|
+
}
|
243
|
+
|
244
|
+
|
245
|
+
function show() {
|
246
|
+
var showTime = document.getElementById("displayTime").value;
|
247
|
+
if(showTime > 0 && showTime < 999 ) {
|
248
|
+
if(num >= 0 ) {
|
249
|
+
if(pausing) {
|
250
|
+
setTimeout("show()", showTime * 1000 );
|
251
|
+
return;
|
252
|
+
}
|
253
|
+
try {
|
254
|
+
var imgElement = document.getElementById("currentImage");
|
255
|
+
var imageId = "image" + num;
|
256
|
+
var imgPath = document.getElementById(imageId).firstChild.nodeValue;
|
257
|
+
if(imgElement != null && imgPath != null ) {
|
258
|
+
imgElement.src = imgPath;
|
259
|
+
t = showTime;
|
260
|
+
setHeading(document.getElementById(imageId).title);
|
261
|
+
current = num
|
262
|
+
++num;
|
263
|
+
document.getElementById("imageNumber").firstChild.nodeValue= "Image " + (num);
|
264
|
+
var imageFile = imgPath.substring(imgPath.lastIndexOf('/') + 1, imgPath.lastIndexOf('.') );
|
265
|
+
var title = imageFile;
|
266
|
+
if(imageFile.length > 23) {
|
267
|
+
imageFile = imageFile.substr(0, 20);
|
268
|
+
imageFile += "..."
|
269
|
+
}
|
270
|
+
document.getElementById("imageData").firstChild.nodeValue=imageFile;
|
271
|
+
document.getElementById("imageData").title = title;
|
272
|
+
|
273
|
+
if(num < max) {
|
274
|
+
setTimeout("show()", showTime * 1000 );
|
275
|
+
}
|
276
|
+
}
|
277
|
+
else {
|
278
|
+
num = -1;
|
279
|
+
}
|
280
|
+
}
|
281
|
+
catch(ex) {
|
282
|
+
alert(ex);
|
283
|
+
}
|
284
|
+
}
|
285
|
+
}
|
286
|
+
else if(num > 0){
|
287
|
+
--num;
|
288
|
+
}
|
289
|
+
}
|
290
|
+
|
291
|
+
function stop() {
|
292
|
+
window.location.reload();
|
293
|
+
}
|
294
|
+
function pause() {
|
295
|
+
pausing = pausing ? false : true;
|
296
|
+
var element = document.getElementById("pauseControl");
|
297
|
+
if(pausing) {
|
298
|
+
element.title="#{jstrl('Continue slideshow')}";
|
299
|
+
}
|
300
|
+
else {
|
301
|
+
element.title="#{jstrl('Stop the automatic slideshow')}";
|
302
|
+
}
|
303
|
+
}
|
304
|
+
|
305
|
+
function start() {
|
306
|
+
try {
|
307
|
+
document.getElementById("startControl").setAttribute('disabled', 'disabled');
|
308
|
+
document.getElementById("pauseControl").removeAttribute('disabled');
|
309
|
+
document.getElementById("stopControl").removeAttribute('disabled');
|
310
|
+
var dtime = document.getElementById("displayTime");
|
311
|
+
if(dtime.value <= 0) {;
|
312
|
+
dtime.value = "10";
|
313
|
+
blink("displayTime");
|
314
|
+
}
|
315
|
+
t = document.getElementById("displayTime").value;
|
316
|
+
}catch(ex) {alert(ex);}
|
317
|
+
num = 0;
|
318
|
+
pausing = false;
|
319
|
+
show();
|
320
|
+
progress();
|
321
|
+
}
|
322
|
+
|
323
|
+
var visibleControls = true;
|
324
|
+
function toggleControls() {
|
325
|
+
visibleControls = !visibleControls;
|
326
|
+
var tds = document.getElementsByTagName('div');
|
327
|
+
for(var i = 0; i < tds.length; ++i) {
|
328
|
+
var ctd = tds[i]
|
329
|
+
var cl = ctd.getAttribute('class');
|
330
|
+
if("controls" == cl) {
|
331
|
+
ctd.style.width = visibleControls ? '15em' : '1em';
|
332
|
+
ctd.style.paddingRight = visibleControls ? '0.5em' : '0';
|
333
|
+
if(ctd.hasChildNodes() ) {
|
334
|
+
var cnodes = ctd.childNodes;
|
335
|
+
for(ci = 0; ci < cnodes.length; ++ci) {
|
336
|
+
var cn = cnodes[ci];
|
337
|
+
if(1 == cn.nodeType && "toggleControls" != cn.id) {
|
338
|
+
if(! cn.getAttribute('style')) {
|
339
|
+
var displayStyle = document.createAttribute('style');
|
340
|
+
displayStyle.nodeValue = visibleControls ? "display: ;" : "display: none;";
|
341
|
+
cn.setAttributeNode(displayStyle);
|
342
|
+
}
|
343
|
+
else {
|
344
|
+
cn.style.display = visibleControls ? "" : "none";
|
345
|
+
}
|
346
|
+
}
|
347
|
+
}
|
348
|
+
}
|
349
|
+
}
|
350
|
+
}
|
351
|
+
|
352
|
+
document.getElementById('scaleControls').style.display= visibleControls ? 'block' : 'none';
|
353
|
+
document.getElementById('imageData').style.display= visibleControls ? 'block' : 'none';
|
354
|
+
document.getElementById('controls').style.width = visibleControls ? '15em' : '1.5em';
|
355
|
+
document.getElementById('currentImageBlock').style.left = visibleControls ? '16.5em' : '2em';
|
356
|
+
document.getElementById('currentImageBlock').style.padding = visibleControls ? '0' : '0 0 0 1em ';
|
357
|
+
}
|
358
|
+
|
359
|
+
|
360
|
+
|
361
|
+
function init() {
|
362
|
+
agent = navigator.userAgent;
|
363
|
+
try{
|
364
|
+
mindex = agent.indexOf("MSIE");
|
365
|
+
if(mindex >= 0){
|
366
|
+
msg = "#{jstrl('In the Internet-Explorer, the slideshow may suffer from display-errors.')} ";
|
367
|
+
msg += "#{jstrl('Please switch to a standard-complient browser until these issues are solved.')} ";
|
368
|
+
en = document.getElementById("noJS");
|
369
|
+
pn = en.parentNode;
|
370
|
+
en.parentNode.removeChild(en);
|
371
|
+
ien = document.createElement('p');
|
372
|
+
ien.style.textAlign="center";
|
373
|
+
ien.style.color="#4040f0";
|
374
|
+
ien.appendChild(document.createTextNode(msg));
|
375
|
+
pn.insertBefore(ien, pn.firstChild);
|
376
|
+
}
|
377
|
+
else {
|
378
|
+
document.getElementById("pageLayout").style.visibility="visible";
|
379
|
+
max = document.getElementById("lastImage").firstChild.nodeValue;
|
380
|
+
document.getElementById("imageCount").firstChild.nodeValue = max;
|
381
|
+
document.getElementById("noJS").style.display="none";
|
382
|
+
document.getElementById("startControl").removeAttribute('disabled');
|
383
|
+
}
|
384
|
+
|
385
|
+
}catch(ex){
|
386
|
+
if(mindex && mindex >= 0) {
|
387
|
+
alert(agent.substring(mindex, mindex + 8));
|
388
|
+
}
|
389
|
+
}
|
390
|
+
} ~
|
@@ -0,0 +1,194 @@
|
|
1
|
+
#encoding: UTF-8
|
2
|
+
|
3
|
+
RD = File.expand_path(File.dirname(__FILE__) ) + File::SEPARATOR if !defined?(RD)
|
4
|
+
require_relative 'translating'
|
5
|
+
|
6
|
+
def trl(s)
|
7
|
+
Translating::trl(s)
|
8
|
+
end
|
9
|
+
|
10
|
+
$TEMPLATE = %~<?xml version="1.0" encoding="utf8"?>
|
11
|
+
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
|
12
|
+
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
|
13
|
+
|
14
|
+
<html xmlns="http://www.w3.org/1999/xhtml">
|
15
|
+
<head>
|
16
|
+
<meta name="generator" content=
|
17
|
+
"HTML2Slideshow copyright 2007-2011 michael.uplawski@uplawski.eu, HTML Tidy for Linux/x86 (vers 25 March 2009), see www.w3.org" />
|
18
|
+
<meta http-equiv="Content-Type" content=
|
19
|
+
"text/html; charset=utf8" />
|
20
|
+
<meta http-equiv="Content-Type" content="application/xhtml+xml" />
|
21
|
+
<meta http-equiv="Content-Style-Type" content="text/css" />
|
22
|
+
<meta http-equiv="Content-Script-Type" content="text/javascript" />
|
23
|
+
<title>images</title>
|
24
|
+
<script src="slideshow.js" type="text/javascript">
|
25
|
+
</script>
|
26
|
+
<style type="text/css">
|
27
|
+
/*<![CDATA[*/
|
28
|
+
@import url(slideshow.css);
|
29
|
+
/*]]>*/
|
30
|
+
</style>
|
31
|
+
</head>
|
32
|
+
|
33
|
+
<body onload="init();">
|
34
|
+
<p id="noJS" style="display:block">
|
35
|
+
#{trl("This page will only work, when your browser is configured to use JavaScript.")}
|
36
|
+
<br />
|
37
|
+
#{trl("Click the back-button to return to the previous page or go directly to the")}
|
38
|
+
<a href="%-NoJsUrl-%" title="%-NoJsTitle-%">%-NoJsName-%</a>
|
39
|
+
</p>
|
40
|
+
<div id="pageLayout">
|
41
|
+
<div id="controls" class="controls">
|
42
|
+
<div class="imgCount">
|
43
|
+
<span id="imageNumber">#{trl('Image')}
|
44
|
+
0</span><span> / </span><span id=
|
45
|
+
"imageCount"> </span>
|
46
|
+
</div>
|
47
|
+
|
48
|
+
<div id="toggleControls" class="toggleControls">
|
49
|
+
<span title="#{trl('toggle controls')}" class=
|
50
|
+
"button" onmouseout="releaseButton(this);" onmouseup=
|
51
|
+
"releaseButton(this);" onmousedown="pushButton(this);" onclick=
|
52
|
+
"javascript:toggleControls()"><img alt="<=>" src=
|
53
|
+
"images/toggle.png" class="button" /></span>
|
54
|
+
</div>
|
55
|
+
|
56
|
+
<div class="heading">
|
57
|
+
<h1 id="heading">images</h1>
|
58
|
+
</div>
|
59
|
+
|
60
|
+
<table summary="controls for automatic slideshow">
|
61
|
+
<colgroup>
|
62
|
+
<col />
|
63
|
+
<col />
|
64
|
+
<col />
|
65
|
+
</colgroup>
|
66
|
+
|
67
|
+
<tr>
|
68
|
+
<td colspan="3" class="waitLabel">
|
69
|
+
<p class="waitLabel">#{trl('forward after')}</p>
|
70
|
+
</td>
|
71
|
+
</tr>
|
72
|
+
|
73
|
+
<tr>
|
74
|
+
<td>
|
75
|
+
<!--
|
76
|
+
The following table contains the spinbutton's html & event-handlers.
|
77
|
+
Two functions addTime() and reduceTime() from the JavaScript section on top
|
78
|
+
are used by the onclick()-handlers.
|
79
|
+
-->
|
80
|
+
|
81
|
+
<table summary="spinbutton" class="spinbutton">
|
82
|
+
<colgroup>
|
83
|
+
<col />
|
84
|
+
<col class="spinbutton" />
|
85
|
+
<col />
|
86
|
+
</colgroup>
|
87
|
+
|
88
|
+
<tr>
|
89
|
+
<td rowspan="2" class="spinvalue"><input type="text"
|
90
|
+
value="10" maxlength="3" id="displayTime"
|
91
|
+
title="#{trl('time span for each picture')}"
|
92
|
+
onchange="javascript:timeChange();" /></td>
|
93
|
+
|
94
|
+
<td class="spinup"><img onmousedown="pushButton(this);"
|
95
|
+
onmouseup="releaseButton(this);" onclick="addTime();"
|
96
|
+
onmouseout="releaseButton(this);" id=
|
97
|
+
"increaseTimeControl" class="spinbuttonUp" src=
|
98
|
+
"images/upCursor.png" alt="+" title="#{trl('more time')}" /></td>
|
99
|
+
|
100
|
+
<td rowspan="2" class="secLabel"><span class=
|
101
|
+
"secLabel">#{trl('sec')}.</span></td>
|
102
|
+
</tr>
|
103
|
+
|
104
|
+
<tr>
|
105
|
+
<td class="spindown"><img onmousedown=
|
106
|
+
"pushButton(this);" onmouseup="releaseButton(this);"
|
107
|
+
onclick="reduceTime();" onmouseout=
|
108
|
+
"releaseButton(this);" id="reduceTimeControl" class=
|
109
|
+
"spinbuttonDown" src="images/downCursor.png" alt="-"
|
110
|
+
title="#{trl('less time')}" /></td>
|
111
|
+
</tr>
|
112
|
+
</table><!--
|
113
|
+
END Spinbutton
|
114
|
+
-->
|
115
|
+
</td>
|
116
|
+
|
117
|
+
<td class="autoControls">
|
118
|
+
<div class="autoControls">
|
119
|
+
<span id="startControl" onmousedown="pushButton(this);"
|
120
|
+
onmouseup="releaseButton(this);" onmouseout=
|
121
|
+
"releaseButton(this);" onclick="javascript:start();"
|
122
|
+
class="button"><img src="images/start.png" title="#{trl('Start')}"
|
123
|
+
alt="#{trl('Start')}"
|
124
|
+
class="button" /></span> <span id="stopControl"
|
125
|
+
onmousedown="pushButton(this);" onmouseup=
|
126
|
+
"releaseButton(this);" onmouseout="releaseButton(this);"
|
127
|
+
onclick="javascript:stop();" class="button"><img src=
|
128
|
+
"images/stop.png" alt="#{trl('Stop')}" title="#{trl('Stop')}"
|
129
|
+
class="button" /></span>
|
130
|
+
<span id="pauseControl" onmousedown="pushButton(this);"
|
131
|
+
onmouseup="releaseButton(this);" onmouseout=
|
132
|
+
"releaseButton(this);" onclick="javascript:pause();"
|
133
|
+
class="button"><img src="images/pause.png" title="#{trl('Pause')}"
|
134
|
+
alt="#{trl('Pause')}"
|
135
|
+
class="button" /></span>
|
136
|
+
</div>
|
137
|
+
</td>
|
138
|
+
</tr>
|
139
|
+
</table>
|
140
|
+
<hr class="progressbar" />
|
141
|
+
<hr class="progressSlider" id="progressbar" />
|
142
|
+
|
143
|
+
<div id="navigationArrows" class="navigationArrows">
|
144
|
+
<span class="fwbackLabel">#{trl('next/previous')}: </span>
|
145
|
+
<span onclick="javascript:previous();" onmousedown=
|
146
|
+
"pushButton(this);" onmouseup="releaseButton(this);"
|
147
|
+
onmouseout="releaseButton(this);" id="prevControl" class=
|
148
|
+
"button"><img src="images/leftArrow.png" alt="<"
|
149
|
+
title="#{trl('previous picture (please allow time for loading)')}"
|
150
|
+
class="button" /></span> <span onmouseup="releaseButton(this);"
|
151
|
+
onmousedown="pushButton(this);" onmouseout=
|
152
|
+
"releaseButton(this);" onclick="javascript:next();" id=
|
153
|
+
"nextControl" class="button"><img src="images/rightArrow.png"
|
154
|
+
alt="<" title="#{trl('next picture (please allow time for loading)')}"
|
155
|
+
class="button" /></span>
|
156
|
+
</div>
|
157
|
+
|
158
|
+
<div class="loadNote">
|
159
|
+
<span>#{trl('Please allow for longer loading-times during the very first cycle.')}</span>
|
160
|
+
</div>
|
161
|
+
</div>
|
162
|
+
|
163
|
+
<div id="currentImageBlock" class="currentImage"><img src=
|
164
|
+
"images/olive.png" alt="foto" class="currentImage" id=
|
165
|
+
"currentImage" /></div>
|
166
|
+
|
167
|
+
<div class="imageData" id="imageData"> </div>
|
168
|
+
<div id="scaleControls" class="">
|
169
|
+
<span title="#{trl('scale to normal size')}" id="scaleAuto" class=
|
170
|
+
"button" onmousedown="pushButton(this, ['scaleMedium', 'scaleSmall']);" onclick=
|
171
|
+
"document.getElementById('currentImage').style.height='auto';"><img alt="100%" src=
|
172
|
+
"images/sizeNormal.png" class="button" /></span>
|
173
|
+
|
174
|
+
<span title="#{trl('scale to alternative large size')}" id="scaleMedium" class=
|
175
|
+
"button" onmousedown="pushButton(this, ['scaleAuto', 'scaleSmall']);" onclick=
|
176
|
+
"document.getElementById('currentImage').style.height='%-pxMedium-%'"><img alt="medium" src=
|
177
|
+
"images/sizeMedium.png" class="button" /></span>
|
178
|
+
|
179
|
+
<span title="#{trl('scale to alternative small size')}" id="scaleSmall" class=
|
180
|
+
"button" onmousedown="pushButton(this, ['scaleAuto', 'scaleMedium']);" onclick=
|
181
|
+
"document.getElementById('currentImage').style.height='%-pxSmall-%'"><img alt="small" src=
|
182
|
+
"images/sizeSmall.png" class="button" /></span>
|
183
|
+
</div>
|
184
|
+
|
185
|
+
|
186
|
+
</div>
|
187
|
+
|
188
|
+
<div>
|
189
|
+
%-ImgReferences-%
|
190
|
+
</div>
|
191
|
+
</body>
|
192
|
+
</html> ~
|
193
|
+
|
194
|
+
|