source: main/trunk/model-sites-dev/twso/collect/twso/transform/pages/about.xsl@ 34223

Last change on this file since 34223 was 34223, checked in by kjdon, 4 years ago

the site skeleton plus some files

  • Property svn:executable set to *
File size: 5.8 KB
Line 
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 &lt; _allImagesURLS.length; i++)
65 {
66 var wrapper = $("#collagewrapper");
67 var newImage = $("&lt;img&gt;", {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 &gt; wrapperWidth || imageHeight &gt; 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&amp;s=GetAllImagesInCollection&amp;rt=r&amp;s1.extregex="+extregex+"&amp;s1.c=" + gs.cgiParams.c + "&amp;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 &lt; 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 &gt; 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
Note: See TracBrowser for help on using the repository browser.