1 | <?xml version="1.0" encoding="ISO-8859-1"?>
|
---|
2 | <xsl:stylesheet version="1.0"
|
---|
3 | xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
|
---|
4 | xmlns:java="http://xml.apache.org/xslt/java"
|
---|
5 | xmlns:util="xalan://org.greenstone.gsdl3.util.XSLTUtil"
|
---|
6 | xmlns:gslib="http://www.greenstone.org/skinning"
|
---|
7 | extension-element-prefixes="java util"
|
---|
8 | exclude-result-prefixes="java util">
|
---|
9 |
|
---|
10 | <!-- the page content -->
|
---|
11 |
|
---|
12 | <xsl:template match="/page">
|
---|
13 | <script language="javascript" type="text/javascript">
|
---|
14 | <xsl:text disable-output-escaping="yes">
|
---|
15 | window.onload=function(){getImages()};
|
---|
16 |
|
---|
17 | var _allImagesURLS = new Array();
|
---|
18 | var _allImages = new Array();
|
---|
19 | var _collageDelayMsec = 10000;
|
---|
20 | var currentImage;
|
---|
21 | var cFrameNum;
|
---|
22 | var timer;
|
---|
23 | //var Caption = "More Pre-history";
|
---|
24 |
|
---|
25 | function collageNextImage(collageFrameNum)
|
---|
26 | {
|
---|
27 |
|
---|
28 |
|
---|
29 | cFrameNum = collageFrameNum;
|
---|
30 | var wrapper = $("#collagewrapper");
|
---|
31 | var wrapperHeight = 586;
|
---|
32 | if(window != window.top){wrapperHeight=400;}
|
---|
33 | var wrapperWidth = wrapper.width();
|
---|
34 |
|
---|
35 | currentImage = _allImages[collageFrameNum % _allImages.length];
|
---|
36 | var imageHeight = currentImage.height();
|
---|
37 | var imageWidth = currentImage.width();
|
---|
38 |
|
---|
39 | var x = Math.random() * (wrapperWidth - imageWidth) + wrapper.offset().left;
|
---|
40 | var y = Math.random() * (wrapperHeight - imageHeight) + wrapper.offset().top;
|
---|
41 |
|
---|
42 | currentImage.css({position:"absolute", visibility:"visible", opacity:"1"});
|
---|
43 | currentImage.offset({top:y, left:x});
|
---|
44 |
|
---|
45 | wrapper.append(currentImage);
|
---|
46 |
|
---|
47 |
|
---|
48 |
|
---|
49 | currentImage.fadeTo(25000, 0, function()
|
---|
50 | {
|
---|
51 | $(this).css({position:"absolute", top:"0px", left:"0px", visibility:"hidden"});
|
---|
52 | });
|
---|
53 |
|
---|
54 | timer = setTimeout(function()
|
---|
55 | {
|
---|
56 |
|
---|
57 | collageNextImage(collageFrameNum + 1);
|
---|
58 | }, _collageDelayMsec);
|
---|
59 | }
|
---|
60 |
|
---|
61 | function initCollage()
|
---|
62 | {
|
---|
63 |
|
---|
64 | for(var i = 0; i < _allImagesURLS.length; i++)
|
---|
65 | {
|
---|
66 | var wrapper = $("#collagewrapper");
|
---|
67 | var newImage = $("<img>", {src:_allImagesURLS[i]});
|
---|
68 | newImage.css({position:"absolute", top:"0px", left:"0px", visibility:"hidden"});
|
---|
69 | wrapper.append(newImage);
|
---|
70 |
|
---|
71 | var wrapperHeight = 586;
|
---|
72 | if(window != window.top){wrapperHeight=400;}
|
---|
73 | var wrapperWidth = wrapper.width();
|
---|
74 |
|
---|
75 | var imageHeight = newImage.height();
|
---|
76 | var imageWidth = newImage.width();
|
---|
77 |
|
---|
78 | if(imageWidth > wrapperWidth || imageHeight > wrapperHeight)
|
---|
79 | {
|
---|
80 | var xDifference = imageWidth - wrapperWidth;
|
---|
81 | var yDifference = imageHeight - wrapperHeight;
|
---|
82 | if(xDifference > yDifference)
|
---|
83 | {
|
---|
84 | newImage.width(wrapperWidth);
|
---|
85 | }
|
---|
86 | else
|
---|
87 | {
|
---|
88 | newImage.height(wrapperHeight);
|
---|
89 | }
|
---|
90 | }
|
---|
91 | _allImages.push(newImage);
|
---|
92 | }
|
---|
93 |
|
---|
94 |
|
---|
95 | }
|
---|
96 |
|
---|
97 | function changeClick(){
|
---|
98 |
|
---|
99 | var div = document.getElementById("collagewrapper");
|
---|
100 | div.onclick = function(){pause()};
|
---|
101 |
|
---|
102 | }
|
---|
103 |
|
---|
104 | function pause(){
|
---|
105 |
|
---|
106 | currentImage.stop();
|
---|
107 | clearTimeout(timer);
|
---|
108 | var div = document.getElementById("collagewrapper");
|
---|
109 | div.onclick = function(){stopPause()};
|
---|
110 |
|
---|
111 |
|
---|
112 |
|
---|
113 | }
|
---|
114 |
|
---|
115 | function stopPause(){
|
---|
116 |
|
---|
117 | currentImage.fadeTo(25000, 0, function()
|
---|
118 | {
|
---|
119 | $(this).css({position:"absolute", top:"0px", left:"0px", visibility:"hidden"});
|
---|
120 | });
|
---|
121 |
|
---|
122 | timer = setTimeout(function()
|
---|
123 | {
|
---|
124 | collageNextImage(cFrameNum + 1);
|
---|
125 | }, _collageDelayMsec);
|
---|
126 |
|
---|
127 |
|
---|
128 | changeClick()
|
---|
129 | }
|
---|
130 |
|
---|
131 | function caption(event){
|
---|
132 |
|
---|
133 | var div = document.getElementById('collagewrapper');
|
---|
134 | var node = document.createElement('div');
|
---|
135 | node.style.top = event.layerY + 'px';
|
---|
136 | node.style.left = event.layerX + 'px';
|
---|
137 | node.style.textAlign = "center";
|
---|
138 | node.style.background = "#FEFDE1";
|
---|
139 | node.style.border = "1px solid black";
|
---|
140 | node.style.position = "absolute";
|
---|
141 | node.id = 'popBox';
|
---|
142 | node.innerHTML = Caption;
|
---|
143 | div.appendChild(node);
|
---|
144 |
|
---|
145 | }
|
---|
146 |
|
---|
147 | function hideCaption(){
|
---|
148 | node = document.getElementById('popBox');
|
---|
149 | node.parentNode.removeChild(node);
|
---|
150 | }
|
---|
151 |
|
---|
152 |
|
---|
153 | </xsl:text>
|
---|
154 | </script>
|
---|
155 | <div id="collagewrapper" style="width: 800px; height: 643px; position: relative; background-image:url('sites/{$site_name}/collect/twso/images/oldimagebackground1.png'); text-align: center;" alt="Click to start/stop a collage of newspaper clippings" title="Click to start/stop a collage of newspaper clippings" onclick="collageNextImage(0); changeClick();" onmouseover="" onmouseout=""><xsl:text> </xsl:text></div>
|
---|
156 | <!--<div id="text" style="text-align: center; background-color:#ffffff; background-color:rgba(255, 255, 255, 0.3)">
|
---|
157 | <div id="textcontent">
|
---|
158 | <h3>Hamilton Orchestral Society, 1903</h3>(precursor to the Trust Waikato Symphony Orchestra)
|
---|
159 | </div>
|
---|
160 | </div>-->
|
---|
161 | <script type="text/javascript">
|
---|
162 | <xsl:text disable-output-escaping="yes">
|
---|
163 |
|
---|
164 | function getImages()
|
---|
165 |
|
---|
166 | {
|
---|
167 | var extregex = "image.*(jpg$|png$)";
|
---|
168 | extregex = extregex.replace(/\|/g, "%7C");
|
---|
169 |
|
---|
170 | var url = gs.xsltParams.library_name + "?a=g&s=GetAllImagesInCollection&rt=r&s1.extregex="+extregex+"&s1.c=" + gs.cgiParams.c + "&o=xml";
|
---|
171 |
|
---|
172 | var callback = {
|
---|
173 | success: function(data)
|
---|
174 | {
|
---|
175 | var xml = data.responseXML;
|
---|
176 |
|
---|
177 | var imageList = xml.getElementsByTagName("image");
|
---|
178 |
|
---|
179 |
|
---|
180 | for(var i = 0; i < imageList.length; i++)
|
---|
181 | {
|
---|
182 | var imageURL = imageList[i].firstChild.nodeValue;
|
---|
183 |
|
---|
184 | imageURL = imageURL.replace(/\\/gi, "/");
|
---|
185 | imageURL = imageURL.replace(/%5C/gi, "/");
|
---|
186 |
|
---|
187 | imageURL = imageURL.substring(imageURL.indexOf("sites"));
|
---|
188 |
|
---|
189 | _allImagesURLS.push(imageURL);
|
---|
190 | }
|
---|
191 |
|
---|
192 | if(_allImagesURLS.length > 0)
|
---|
193 | {
|
---|
194 | initCollage();
|
---|
195 | //collageNextImage(0);
|
---|
196 | }
|
---|
197 | },
|
---|
198 | failed: function(data){alert("FAILED");}
|
---|
199 | };
|
---|
200 |
|
---|
201 | YAHOO.util.Connect.asyncRequest("GET", url , callback);
|
---|
202 | }
|
---|
203 | </xsl:text>
|
---|
204 | </script>
|
---|
205 | </xsl:template>
|
---|
206 | </xsl:stylesheet>
|
---|
207 |
|
---|