source: main/trunk/model-cols-dev/peijones/transform/pages/about.xsl@ 24616

Last change on this file since 24616 was 24616, checked in by papitha, 13 years ago

Pei Jones - Collage included and Photo Notes included

File size: 5.2 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 <xsl:template match="/page">
12
13 <!--Display the description text of the current collection,
14 and if some services are available then create a list
15 of links for each service within a <ul id="servicelist"> element.-->
16 <table><tbody><tr><td style="width:60%;"><gslib:collectionDescriptionTextAndServicesLinks/></td>
17 <td>
18
19 <xsl:variable name="httpPath"><xsl:value-of select="/page/pageResponse/collection/metadataList/metadata[@name='httpPath']"/></xsl:variable>
20 <script language="javascript" src="{$httpPath}/script/collage.js"><xsl:text> </xsl:text></script>
21
22<script language="javascript" type="text/javascript">
23<xsl:text disable-output-escaping="yes">
24
25
26
27 var collageDelayMsec = 2000;
28
29 var numCollageImages;
30
31 function collageNextImage(collageFrameNum)
32 {
33 var totalNumKeyframes = Book_Image_Sources.length;
34
35 //var archiveDir = "twso2008.dir";
36
37 var colframeNum = (collageFrameNum-1) % numCollageImages;
38
39 var collageCanvas = document.getElementById("collagewrapper");
40
41 var collagelet = collageCanvas.getElementsByTagName('div');
42
43 var imgs = collagelet[colframeNum].getElementsByTagName('img');
44 var img = imgs[0];
45
46 var i;
47 for (i=0; i &lt; numCollageImages-1; i++) {
48 var j = (colframeNum+1+i) % numCollageImages;
49
50 console.log("j = " + j);
51 var zindex = collagelet[j].style.zIndex;
52 if (zindex &gt; 0) {
53 zindex--;
54 collagelet[j].style.zIndex = zindex;
55 var alphaVal = Math.round((zindex/numCollageImages)*100);
56 setAlphaVal(collagelet[j],alphaVal);
57 }
58 }
59
60 img.src = Book_Image_Sources[collageFrameNum-1];
61 img.width = 300;
62 img.collageFrameNum = collageFrameNum;
63
64 img.onclick = function () { document.location = Book_Image_Sources[collageFrameNum-1]; };
65
66 collagelet[colframeNum].style.zIndex = numCollageImages;
67 setAlphaVal(collagelet[colframeNum],100);
68
69 nextcollageFrameNum = (collageFrameNum % totalNumKeyframes) + 1;
70
71 setTimeout('collageNextImage('+nextcollageFrameNum+')',collageDelayMsec);
72
73
74 }
75
76
77
78function initCollage()
79{
80
81
82 var collageCanvas = document.getElementById('collagewrapper');
83
84 // var spacediv = 5;
85
86 // var numXCols = spacediv;
87 // var numYRows = numCollageImages / spacediv;
88
89 var collageWidth = 400;
90 var collageHeight = 300;
91
92 var numXCols = 4;
93 var numYRows =3;
94
95 numCollageImages = numXCols * numYRows;
96
97
98 var placement = new Array(numCollageImages);
99
100 var i;
101 for (i=0; i &lt; numCollageImages; i++) {
102 var x = i % numXCols;
103 var y = Math.floor(i / numXCols);
104
105
106 var xypos = new Object();
107 xypos.x = (x/numXCols) * collageWidth;
108 xypos.y = (y/numYRows) * collageHeight;
109
110 placement[i] = xypos;
111 }
112
113 // now mix them up
114
115 for (i=0; i &lt; numCollageImages; i++) {
116
117 var swapi = Math.floor(Math.random()*numCollageImages);
118 var tmp = placement[i];
119 placement[i] = placement[swapi];
120 placement[swapi] = tmp;
121 }
122
123 for (i=0; i &lt; numCollageImages; i++) {
124 var img = document.createElement('img');
125 img.id = "fadingimg" + i;
126 img.src = gs.collectionMetadata["httpPath"] + "/images/blank.gif"
127 img.border= 0;
128
129 var divImg = document.createElement('div');
130 divImg.id = "fadingcanvas" + i;
131
132 var posStyle = "position: absolute; ";
133 posStyle += "top: " + placement[i].y +"px; ";
134 posStyle += "left: " + placement[i].x + "px; ";
135
136
137 visStyle = "visibility: inherit; ";
138 zindexStyle = " z-index: " + numCollageImages + "; ";
139
140 var style = posStyle + visStyle + zindexStyle;
141
142 divImg.setAttribute("style",style);
143
144 divImg.appendChild(img);
145
146 collageCanvas.appendChild(divImg);
147 }
148
149}
150
151
152</xsl:text>
153</script>
154
155
156 <div id="collagewrapper"
157 style="background: #ffffd0;
158 width: 600px;
159 height: 500px;
160 position: relative; left: 0px; top: 0px;">
161 </div>
162
163
164 </td></tr></tbody></table>
165
166 <script type="text/javascript">
167<xsl:text disable-output-escaping="yes">
168
169 var Book_Image_Sources = new Array();
170
171
172function getImages()
173{
174 var url = "?a=g&amp;s=GetAllImagesInCollection&amp;rt=r&amp;s1.extregex=Photo.*(jpg|png)&amp;s1.c=" + gs.cgiParams.c + "&amp;o=xml";
175 var callback = {
176 success: function(data)
177 {
178 var xml = data.responseXML;
179
180 var imageList = xml.getElementsByTagName("image");
181
182 for(var i = 0; i &lt; imageList.length; i++)
183 {
184 var imageURL = imageList[i].firstChild.nodeValue;
185
186 imageURL = imageURL.replace(/\\/gi, "/");
187 imageURL = imageURL.replace(/%5C/gi, "/");
188 imageURL = imageURL.substring(imageURL.indexOf("sites"));
189
190 Book_Image_Sources.push(imageURL);
191 }
192
193 if(Book_Image_Sources.length &gt; 0)
194 {
195 initCollage();
196 collageNextImage(1);
197 }
198 },
199 failed: function(data){alert("FAILED");}
200 };
201
202 YAHOO.util.Connect.asyncRequest("GET", url , callback);
203}
204
205
206 window.onload=getImages;
207 </xsl:text>
208</script>
209
210 </xsl:template>
211
212
213</xsl:stylesheet>
214
Note: See TracBrowser for help on using the repository browser.