1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
|
//____________________________________________________________________
// A set of javascript functions to display a set of selected plots
// as a contineous show of slides. A number of slide show actions include
// - Start, Stop, FirstSlide, LastSlide, Previous, Next
// - Set a specific Slide
//
//____________________________________________________________________
var SlideShow = {};
//____________________________________________________________________
// Static variables
//
SlideShow.DEBUG = true;
SlideShow.slideImageList = new Array();
SlideShow.slideTitleList = new Array();
SlideShow.slideShowSpeed = 1000; // miliseconds
SlideShow.index = 0;
SlideShow.nSlides = 0;
SlideShow.MAX_SLIDES = 20;
SlideShow.timerID = null;
//____________________________________________________________________
SlideShow.ChangeUpdateInterval = function(){
try{
var theRefresh = document.getElementById("update_slideshow");
if (theRefresh == null) {
SlideShow.slideShowSpeed = 10000;
} else {
SlideShow.slideShowSpeed = theRefresh.options[theRefresh.selectedIndex].value;
}
}catch(e){
alert("[SlideShow::ChangeUpdateInterval] " + e.message);
}
}
//____________________________________________________________________
// Start the slide show with full list of images
//
SlideShow.StartSlideShow = function()
{
try{
SlideShow.ChangeUpdateInterval();
SlideShow.setSlide(SlideShow.index);
SlideShow.index = (SlideShow.index + 1) % SlideShow.nSlides;
SlideShow.timerID = setTimeout('SlideShow.StartSlideShow()', SlideShow.slideShowSpeed);
}catch(e){
alert("[SlideShow::StartSlideShow] " + e.message);
}
}
//____________________________________________________________________
// Stop the slide show
//
SlideShow.StopSlideShow = function()
{
try{
if (SlideShow.timerID != null) {
clearTimeout(SlideShow.timerID);
}
}catch(e){
alert("[SlideShow::StopSlideShow] " + e.message);
}
}
//____________________________________________________________________
// Show first slide
//
SlideShow.ShowFirst = function()
{
try{
SlideShow.setSlide(0);
}catch(e){
alert("[SlideShow::ShowFirst] " + e.message);
}
}
//____________________________________________________________________
// Show last slide
//
SlideShow.ShowLast = function()
{
try{
SlideShow.setSlide(SlideShow.nSlides-1);
}catch(e){
alert("[SlideShow::setSlide] " + e.message);
}
}
//____________________________________________________________________
// Show previous slide
//
SlideShow.ShowPrev = function()
{
try{
SlideShow.index = (SlideShow.index-1) % nSlides;
if (SlideShow.index < 0) SlideShow.index = SlideShow.nSlides - 1;
SlideShow.setSlide(SlideShow.index);
}catch(e){
alert("[SlideShow::setSlide] " + e.message);
}
}
//____________________________________________________________________
// Show next slide
//
SlideShow.ShowNext = function()
{
try{
SlideShow.index = (SlideShow.index + 1) % nSlides;
SlideShow.setSlide(SlideShow.index);
}catch(e){
alert("[SlideShow::setSlide] " + e.message);
}
}
//____________________________________________________________________
// Set a specific slide
//
SlideShow.setSlide = function(index)
{
try{
if (SlideShow.nSlides == 0) {
if (SlideShow.DEBUG) alert("[SlideShow::setSlide] " + "[SlideShow::setSlide] Empty Image List!");
return false;
}
var urlImageList = SlideShow.slideImageList[SlideShow.index];
var urlTitleList = SlideShow.slideTitleList[SlideShow.index];
var getTitles = new Ajax.Request(urlTitleList, // Load titles first, because they are
{ // used by the IMGC.processImageList
method: 'get', // which fires later on
parameters: '',
onComplete: IMGC.processTitlesList // <-- call back function
});
var getFiles = new Ajax.Request(urlImageList,
{
method: 'get',
parameters: '',
onComplete: IMGC.processImageList // <-- call back function
});
}catch(e){
alert("[SlideShow::setSlide] " + e.message);
}
}
|