Changeset 25068

Show
Ignore:
Timestamp:
10.02.2012 12:04:41 (8 years ago)
Author:
papitha
Message:

Fixed UI Errors

Files:
1 modified

Legend:

Unmodified
Added
Removed
  • main/trunk/model-cols-dev/peijones/etc/collectionConfig.xml

    r24968 r25068  
    3434        </td> 
    3535        <td valign="top"> 
     36        <gsf:link type="document"> 
    3637          <gsf:choose-metadata> 
    3738            <gsf:metadata name="dc.Title"/> 
     
    4041            <gsf:default>Untitled</gsf:default> 
    4142          </gsf:choose-metadata> 
     43          </gsf:link> 
    4244          <gsf:switch> 
    4345            <gsf:metadata name="Source"/> 
     
    8789      <gsf:option name="sideBar" value="false"/> 
    8890      <xsl:template name="additionalHeaderContent"> 
     91       
     92        <!-- 
     93        <link rel="stylesheet" href="http://twitter.github.com/bootstrap/1.4.0/bootstrap.min.css"/> 
     94        <link rel="stylesheet" href="http://blueimp.github.com/Bootstrap-Image-Gallery/bootstrap-image-gallery.min.css"/> 
     95        --> 
     96        <!--[if lt IE 7]><link rel="stylesheet" href="http://blueimp.github.com/Bootstrap-Image-Gallery/bootstrap-ie6.min.css"><![endif]--> 
     97        <!-- 
     98        <link rel="stylesheet" href="sites/localsite/collect/peijones/js/jQuery-File-Upload/jquery.fileupload-ui.css"/> 
     99         
     100        <script src="sites/localsite/collect/peijones/js/jQuery-File-Upload/jquery.fileupload.js"> 
     101            <xsl:text> </xsl:text> 
     102        </script> 
     103        <script src="sites/localsite/collect/peijones/js/jQuery-File-Upload/jquery.fileupload-ui.js"> 
     104            <xsl:text> </xsl:text> 
     105        </script> 
     106        <script src="sites/localsite/collect/peijones/js/jQuery-File-Upload/jquery.iframe-transport.js"> 
     107            <xsl:text> </xsl:text> 
     108        </script> 
     109        <script src="sites/localsite/collect/peijones/js/jQuery-File-Upload/application.js"> 
     110            <xsl:text> </xsl:text> 
     111        </script> 
     112         
     113        <script src="http://blueimp.github.com/JavaScript-Templates/tmpl.min.js"><xsl:text> </xsl:text></script> 
     114        <script src="http://blueimp.github.com/JavaScript-Load-Image/load-image.min.js"><xsl:text> </xsl:text></script> 
     115        --> 
     116        <!--<script id="template-upload" type="text/html"> 
     117            {% for (var i=0, files=o.files, l=files.length, file=files[0]; i&lt;l; file=files[++i]) { %} 
     118                <tr class="template-upload fade"> 
     119                    <td class="preview"><span class="fade"></span></td> 
     120                    <td class="name">{%=file.name%}</td> 
     121                    <td class="size">{%=o.formatFileSize(file.size)%}</td> 
     122                    {% if (file.error) { %} 
     123                        <td class="error" colspan="2"><span class="label important">Error</span> {%=fileUploadErrors[file.error] || file.error%}</td> 
     124                    {% } else if (o.files.valid &amp;&amp; !i) { %} 
     125                        <td class="progress"><div class="progressbar"><div style="width:0%;"></div></div></td> 
     126                        <td class="start">{% if (!o.options.autoUpload) { %}<button class="btn primary">Start</button>{% } %}</td> 
     127                    {% } else { %} 
     128                        <td colspan="2"></td> 
     129                    {% } %} 
     130                    <td class="cancel">{% if (!i) { %}<button class="btn info">Cancel</button>{% } %}</td> 
     131                </tr> 
     132            {% } %} 
     133        </script> 
     134        <script id="template-download" type="text/html"> 
     135            {% for (var i=0, files=o.files, l=files.length, file=files[0]; i&lt;l; file=files[++i]) { %} 
     136                <tr class="template-download fade"> 
     137                    {% if (file.error) { %} 
     138                        <td></td> 
     139                        <td class="name">{%=file.name%}</td> 
     140                        <td class="size">{%=o.formatFileSize(file.size)%}</td> 
     141                        <td class="error" colspan="2"><span class="label important">Error</span> {%=fileUploadErrors[file.error] || file.error%}</td> 
     142                    {% } else { %} 
     143                        <td class="preview">{% if (file.thumbnail_url) { %} 
     144                            <a href="{%=file.url%}" title="{%=file.name%}" rel="gallery"><img src="{%=file.thumbnail_url%}"/></a> 
     145                        {% } %}</td> 
     146                        <td class="name"> 
     147                            <a href="{%=file.url%}" title="{%=file.name%}" rel="{%=file.thumbnail_url&amp;&amp;'gallery'%}">{%=file.name%}</a> 
     148                        </td> 
     149                        <td class="size">{%=o.formatFileSize(file.size)%}</td> 
     150                        <td colspan="2"></td> 
     151                    {% } %} 
     152                    <td class="delete"> 
     153                        <button class="btn danger" data-type="{%=file.delete_type%}" data-url="{%=file.delete_url%}">Delete</button> 
     154                        <input type="checkbox" name="delete" value="1"/> 
     155                    </td> 
     156                </tr> 
     157            {% } %} 
     158        </script>--> 
     159       
    89160        <!-- jQuery must be included before Annotator --> 
    90         <script src="sites/localsite/collect/peijones/js/annotator/lib/vendor/jquery.js"> 
    91           <xsl:text> </xsl:text> 
    92         </script> 
     161       <!-- <script src="sites/localsite/collect/peijones/js/annotator/lib/vendor/jquery.js">--> 
     162       <!--<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"><xsl:text> </xsl:text></script>--> 
    93163        <!-- If you're sure your users will only be using browsers modern 
    94164                     enough to have their own JSON.parse and JSON.stringify 
     
    135205          <xsl:text disable-output-escaping="yes"> 
    136206                        _zoomEnabled = true; 
     207                         
    137208                        function readyImagesForZoom()       
    138209                        {  
    139                             var noZoom = document.getElementById("noZoom"); 
     210                            var noZoom = document.getElementById("noZoomImage"); 
    140211                            var wrap = document.getElementById("wrap"); 
    141212                            if(!noZoom || !wrap) 
     
    143214                                return; 
    144215                            } 
     216                             
    145217                            var smallImageDiv = document.getElementById("small"); 
    146218                            var smallImage = smallImageDiv.getElementsByTagName("img")[0]; 
     
    148220                            smallImageDiv.style.height = smallImageHeight + "px"; 
    149221                            var multiplier = largeImageHeight / smallImageHeight; 
     222 
    150223                            $("#wrap").anythingZoomer({         
    151224                                expansionSize:50,   
    152225                                speedMultiplier:multiplier    
    153226                            });      
    154  
    155                             noZoom.onclick = function(){addZoom();} 
    156                             document.getElementById("overlay").onclick = function(){removeZoom();}                           
    157                              
     227                             
     228                            noZoom.onclick = addZoom; 
     229                            document.getElementById("overlay").onclick = removeZoom;                             
     230 
    158231                            removeZoom(); 
    159232                        }             
     
    332405                        function AddNote() 
    333406                        { 
    334                             var newNote = new PhotoNote('Add note text here...',_posCount+1,new PhotoNoteRect(10,10,50,50)); 
     407                            var photoPos = $("#noZoom").offset(); 
     408                            var newNote = new PhotoNote('Add note text here...',_posCount+1,new PhotoNoteRect(20,20,50,50)); 
    335409                            newNote.onsave = saveFunction; 
    336410                            newNote.ondelete = deleteFunction; 
     
    355429                        } 
    356430                         
    357                         window.onload = function(){initNotes(); readyImagesForZoom(); initAnnotator();}; 
     431                        function addStatusBar() 
     432                        { 
     433                            var textDiv = document.getElementById("gs-document"); 
     434                            var buildStatusBar = document.createElement("div"); 
     435                            buildStatusBar.setAttribute("id", "buildStatusBar"); 
     436                            buildStatusBar.setAttribute("class", "ui-state-default ui-corner-all"); 
     437                            buildStatusBar.setAttribute("style", "visibility:hidden; width:100%"); 
     438                            var buildingMessage = document.createElement("div"); 
     439                            buildingMessage.setAttribute("id", "buildMessage"); 
     440                            buildingMessage.setAttribute("style", "width:50%; padding:3px; margin:5px auto; text-align:center;"); 
     441                            buildStatusBar.appendChild(buildingMessage); 
     442 
     443                            textDiv.insertBefore(buildStatusBar, textDiv.firstChild); 
     444                        } 
     445                         
     446                        $(window).load(function(){readyImagesForZoom(); initAnnotator(); addStatusBar(); initNotes();}); 
    358447                    </xsl:text> 
    359448        </script> 
     
    442531                                                var updateCallback =  
    443532                                                { 
    444                                                     success: function(response){}, 
    445                                                     failed: function(reponse){ alert("Failed in saveFunction() to re-read config files");} 
     533                                                    success: function(response){document.getElementById("buildStatusBar").style.visibility = "hidden";}, 
     534                                                    failed: function(reponse){ alert("Failed in saveFunction() to re-read config files"); document.getElementById("buildStatusBar").style.visibility = "hidden";} 
    446535                                                }; 
    447536                                                YAHOO.util.Connect.asyncRequest("GET", gs.xsltParams.library_name + "?a=s&amp;sa=c", updateCallback); 
     
    451540                                    failed: function(response) 
    452541                                    { 
     542                                        document.getElementById("buildStatusBar").style.visibility = "hidden"; 
    453543                                        console.log("Failed to get response from activate collection request"); 
    454544                                    } 
     
    458548                        } 
    459549                    }, 
    460                     failed: function(){console.log("Failed to get build collection response")} 
     550                    failed: function(){console.log("Failed to get build collection response"); document.getElementById("buildStatusBar").style.visibility = "hidden";} 
    461551                } 
    462552                 
    463553                YAHOO.util.Connect.asyncRequest("GET", gs.xsltParams.library_name + "?a=g&amp;rt=r&amp;ro=1&amp;s=BuildCollection&amp;s1.collection=" + collection, buildCallback); 
     554                showBuildingMessage(); 
    464555            } 
    465556             
     
    521612                gs.toDeleteArray.keys = new Array(); 
    522613                 
    523                 if(gs.annotationArray.keys.length > 0) 
     614                if(gs.annotationArray.keys.length &gt; 0) 
    524615                { 
    525616                    var json = "["; 
     
    578669                gs.annotationArray.keys = new Array(); 
    579670            } 
     671             
     672            function showRebuildOption() 
     673            { 
     674                var buildStatusBar = document.getElementById("buildStatusBar"); 
     675                buildStatusBar.style.visibility = "visible"; 
     676                 
     677                var buildMessage = document.getElementById("buildMessage"); 
     678                buildMessage.innerHTML = 'Please rebuild to index annotations (make annotations searchable): &lt;span id="rebuildButton" style="cursor:pointer; padding:2px;" class="ui-state-default ui-corner-all"&gt;Rebuild&lt;/span&gt;'; 
     679                 
     680                var rebuildButton = document.getElementById("rebuildButton"); 
     681                rebuildButton.onclick = function(){saveAndBuildCollection("peijones");} 
     682            } 
     683             
     684            function showBuildingMessage() 
     685            { 
     686                var buildStatusBar = document.getElementById("buildStatusBar"); 
     687                buildStatusBar.style.visibility = "visible"; 
     688                 
     689                var buildMessage = document.getElementById("buildMessage"); 
     690                buildMessage.innerHTML = '&lt;img src="' + gs.imageURLs.loading + '"/&gt; Building...'; 
     691            } 
    580692                     
    581693            function initAnnotator() 
     
    588700                 
    589701                var elem = document.getElementById("gs-document-text"); 
    590                 elem.innerHTML = '&lt;button id="saveButton"&gt;Save annotations&lt;/button&gt;&lt;br/&gt;' + elem.innerHTML; 
     702                elem.innerHTML = '&lt;div&gt;&lt;span style="visibility:hidden; padding: 3px;" class="ui-state-default ui-corner-all" id="saveButton"&gt;Reindex annotations&lt;/span&gt;&lt;/div&gt;&lt;br/&gt;' + elem.innerHTML; 
    591703                 
    592                 var button = document.getElementById("saveButton"); 
    593                 button.onclick = function(){saveAndBuildCollection(gs.cgiParams.c);}; 
    594                  
    595                 jQuery(function ($) { 
    596                     if (typeof $.fn.annotator !== 'function') { 
    597                         alert("Ooops! it looks like you haven't built the Annotator concatenation file. " + "Either download a tagged release from GitHub, or modify the Cakefile to point " + "at your copy of the YUI compressor and run `cake package`."); 
    598                     } else { 
    599                         jQuery(function ($) { 
    600                             // Include AnnotateIt credentials to load the store plugin. 
    601                             $('#gs-document-text').annotator().annotator('setupPlugins', { 
    602                                 userId:    'papitha', 
    603                                 userName:  'Papitha', 
    604                                 accountId: '39fc339cf058bd22176771b3e33c5dac', 
    605                                 authToken: '852b7fc25396d2aedf9aeb44dd58518faa679dbf027892164bfb81900bd09741',   
    606                             }, { 
    607                                 Store:  
    608                                 { 
    609                                     prefix: 'http://localhost:5000', 
    610                                     annotationData: {'uri':gs.cgiParams.c + "-" + gs.cgiParams.d}, 
    611                                     loadFromSearch: {'uri':gs.cgiParams.c + "-" + gs.cgiParams.d} 
    612                                 } 
    613                             }); 
    614                         }); 
    615                     } 
    616                 }); 
     704                if (typeof $.fn.annotator !== 'function')  
     705                { 
     706                    alert("Ooops! it looks like you haven't built the Annotator concatenation file. " + "Either download a tagged release from GitHub, or modify the Cakefile to point " + "at your copy of the YUI compressor and run `cake package`."); 
     707                }  
     708                else  
     709                { 
     710                    // Include AnnotateIt credentials to load the store plugin. 
     711                    $('#gs-document-text').annotator().annotator('setupPlugins', { 
     712                        userId:    'papitha', 
     713                        userName:  'Papitha', 
     714                        accountId: '39fc339cf058bd22176771b3e33c5dac', 
     715                        authToken: '852b7fc25396d2aedf9aeb44dd58518faa679dbf027892164bfb81900bd09741',   
     716                    // $('#gs-document-text').annotator().annotator('setupPlugins', { 
     717                    //  userId:    'david', 
     718                    //  userName:  'David', 
     719                    //  accountId: 'eb096fae65f6377160ffc0eb6c000951', 
     720                    //  authToken: '92b3279a6b6edbaa2ed7bc4d895ef55c8f1368877bb69987985aa47195d517e7',   
     721                    }, { 
     722                        Store:  
     723                        { 
     724                            prefix: 'http://localhost:5000', 
     725                            annotationData: {'uri':gs.cgiParams.c + "-" + gs.cgiParams.d}, 
     726                            loadFromSearch: {'uri':gs.cgiParams.c + "-" + gs.cgiParams.d} 
     727                        } 
     728                    }); 
     729                } 
    617730            } 
    618731        </xsl:text> 
     
    669782            <xsl:text>;</xsl:text> 
    670783        </script> 
     784        <span style="font-size:90%; padding: 3px; cursor:pointer;" class="ui-state-default ui-corner-top" onclick="AddNote();">New photo annotation</span> 
    671785        <div id="noZoom" style="display:block;"> 
    672             <img style="width: {$screenImageWidth}; height: {$screenImageHeight};"> 
     786            <img id="noZoomImage" style="width: {$screenImageWidth}px; height: {$screenImageHeight}px;"> 
    673787                <xsl:attribute name="src"><xsl:value-of disable-output-escaping="yes" select="/page/pageResponse/collection/metadataList/metadata[@name='httpPath']"/>/index/assoc/<gsf:metadata name="assocfilepath" select="root"/>/<gsf:metadata name="Screen"/></xsl:attribute> 
    674788            </img> 
     
    678792        </div> 
    679793        <!--<xsl:if test="$imageHeight != -1">--> 
    680         <div id="wrap" style="display:none; width: {$screenImageWidth}; height: {$screenImageHeight};"> 
    681             <div id="small" style="width: {$screenImageWidth}; height: {$screenImageHeight};"> 
     794        <div id="wrap" style="display:none; width: {$screenImageWidth}px; height: {$screenImageHeight}px;"> 
     795            <div id="small" style="width: {$screenImageWidth}px; height: {$screenImageHeight}px;"> 
    682796                <!-- 
    683797                <gsf:metadata name="screenicon"/> 
    684798                --> 
    685                 <img style="width: {$screenImageWidth}; height: {$screenImageHeight};"> 
     799                <img id="smallImage" style="width: {$screenImageWidth}px; height: {$screenImageHeight}px;"> 
    686800                    <xsl:attribute name="src"><xsl:value-of disable-output-escaping="yes" select="/page/pageResponse/collection/metadataList/metadata[@name='httpPath']"/>/index/assoc/<gsf:metadata name="assocfilepath" select="root"/>/<gsf:metadata name="Screen"/></xsl:attribute> 
    687801                </img> 
     
    691805                    <xsl:text> </xsl:text> 
    692806                </div> 
    693                 <div id="large"> 
    694                     <img style="width: {$imageWidth}; height: {$imageHeight};"> 
     807                <div id="large" style="width: {$imageWidth}px; height: {$imageHeight}px;"> 
     808                    <img id="largeImage" style="width: {$imageWidth}px; height: {$imageHeight}px;"> 
    695809                        <xsl:attribute name="src"><xsl:value-of disable-output-escaping="yes" select="/page/pageResponse/collection/metadataList/metadata[@name='httpPath']"/>/index/assoc/<gsf:metadata name="assocfilepath" select="root"/>/<gsf:metadata name="srclinkFile"/></xsl:attribute> 
    696810                    </img> 
    697811                </div> 
    698812            </div> 
    699         </div> 
    700         <input onclick="AddNote();" style="margin-left:30px;" type="button" value="Tag Photo!"/>     
    701          
    702         <form action="dev" enctype="multipart/form-data" method="post"> 
    703             <input type="hidden" name="fl"> 
    704                 <xsl:attribute name="value"> 
    705                     <xsl:text>/sites/localsite/collect/</xsl:text> 
     813        </div>       
     814             
     815        <div> 
     816            <a style="text-decoration:underline;"> 
     817                <xsl:attribute name="href"> 
     818                    <xsl:value-of select="$library_name"/> 
     819                    <xsl:text>?downloadFile=</xsl:text> 
     820                    <xsl:text>sites/localsite/collect/</xsl:text> 
    706821                    <xsl:value-of select="/page/pageResponse/collection/@name"/> 
    707822                    <xsl:text>/index/assoc/</xsl:text> 
     
    709824                    <xsl:text>/</xsl:text> 
    710825                    <gsf:metadata name="SourceFile"/> 
    711                     <xsl:text>:</xsl:text> 
    712                     <xsl:text>/sites/localsite/collect/</xsl:text> 
    713                     <xsl:value-of select="/page/pageResponse/collection/@name"/> 
    714                     <xsl:text>/index/assoc/</xsl:text> 
    715                     <gsf:metadata name="assocfilepath"/> 
    716                     <xsl:text>/</xsl:text> 
    717                     <gsf:metadata name="Screen"/> 
    718                     <xsl:text>:</xsl:text> 
    719                     <xsl:text>/sites/localsite/collect/</xsl:text> 
    720                     <xsl:value-of select="/page/pageResponse/collection/@name"/> 
    721                     <xsl:text>/index/assoc/</xsl:text> 
    722                     <gsf:metadata name="assocfilepath"/> 
    723                     <xsl:text>/</xsl:text> 
    724                     <gsf:metadata name="Thumb"/> 
    725826                </xsl:attribute> 
    726             </input> 
    727  
    728             <div> 
    729                 Upload replacement file:<br/> 
    730                 <input type="file" name="datafile" size="40"/><br/> 
    731                 <input type="submit" value="Send"/>  
    732             </div> 
    733         </form> 
    734  
     827                <xsl:text>Download Image</xsl:text> 
     828            </a> 
     829        </div> 
     830 
     831        <xsl:choose> 
     832            <xsl:when test="/page/pageRequest/paramList/param[@name = 'p.oldUpload']/@value = 'true'"> 
     833                <form action="dev?a=d&amp;c={/page/pageResponse/collection/@name}&amp;d={/page/pageResponse/document/documentNode/@nodeID}&amp;dt=simple&amp;ed=1" enctype="multipart/form-data" method="post"> 
     834                    <input name="fl" type="hidden"> 
     835                        <xsl:attribute name="value"> 
     836                            <xsl:text>/sites/localsite/collect/</xsl:text> 
     837                            <xsl:value-of select="/page/pageResponse/collection/@name"/> 
     838                            <xsl:text>/index/assoc/</xsl:text> 
     839                            <gsf:metadata name="assocfilepath"/> 
     840                            <xsl:text>/</xsl:text> 
     841                            <gsf:metadata name="SourceFile"/> 
     842                            <xsl:text>:</xsl:text> 
     843                            <xsl:text>/sites/localsite/collect/</xsl:text> 
     844                            <xsl:value-of select="/page/pageResponse/collection/@name"/> 
     845                            <xsl:text>/index/assoc/</xsl:text> 
     846                            <gsf:metadata name="assocfilepath"/> 
     847                            <xsl:text>/</xsl:text> 
     848                            <gsf:metadata name="Screen"/> 
     849                            <xsl:text>:</xsl:text> 
     850                            <xsl:text>/sites/localsite/collect/</xsl:text> 
     851                            <xsl:value-of select="/page/pageResponse/collection/@name"/> 
     852                            <xsl:text>/index/assoc/</xsl:text> 
     853                            <gsf:metadata name="assocfilepath"/> 
     854                            <xsl:text>/</xsl:text> 
     855                            <gsf:metadata name="Thumb"/> 
     856                        </xsl:attribute> 
     857                    </input> 
     858 
     859                    <div> 
     860                        Upload replacement file:<br/> 
     861                        <input name="datafile" size="40" type="file"/><br/> 
     862                        <input type="submit" value="Send"/>  
     863                    </div> 
     864                </form> 
     865            </xsl:when> 
     866            <xsl:otherwise> 
     867                <script src="http://blueimp.github.com/JavaScript-Templates/tmpl.min.js"><xsl:text> </xsl:text></script> 
     868                <script src="http://blueimp.github.com/JavaScript-Load-Image/load-image.min.js"><xsl:text> </xsl:text></script> 
     869 
     870                <script src="sites/localsite/collect/peijones/js/jQuery-File-Upload/jquery.iframe-transport.js"><xsl:text> </xsl:text></script> 
     871                <script src="sites/localsite/collect/peijones/js/jQuery-File-Upload/jquery.fileupload.js"><xsl:text> </xsl:text></script> 
     872                <script src="sites/localsite/collect/peijones/js/jQuery-File-Upload/jquery.fileupload-ui.js"><xsl:text> </xsl:text></script> 
     873                <script src="sites/localsite/collect/peijones/js/jQuery-File-Upload/application.js"><xsl:text> </xsl:text></script> 
     874 
     875                <script src="http://blueimp.github.com/cdn/js/bootstrap.min.js"><xsl:text> </xsl:text></script> 
     876                <script src="http://blueimp.github.com/Bootstrap-Image-Gallery/bootstrap-image-gallery.min.js"><xsl:text> </xsl:text></script> 
     877 
     878                <link href="sites/localsite/collect/peijones/js/jQuery-File-Upload/jquery.fileupload-ui.css" rel="stylesheet"/> 
     879                <link href="http://blueimp.github.com/cdn/css/bootstrap.min.css" rel="stylesheet"/> 
     880                <link href="http://blueimp.github.com/cdn/css/bootstrap-responsive.min.css" rel="stylesheet"/> 
     881                <!--[if lt IE 7]><link rel="stylesheet" href="http://blueimp.github.com/cdn/css/bootstrap-ie6.min.css"><![endif]--> 
     882                <link href="http://blueimp.github.com/Bootstrap-Image-Gallery/bootstrap-image-gallery.min.css" rel="stylesheet"/> 
     883 
     884                <script type="text/javascript"> 
     885                    <xsl:text disable-output-escaping="yes"> 
     886                        $(window).load(function() 
     887                        { 
     888                            $('#fileupload').fileupload(); 
     889                            $('#fileupload').bind('fileuploaddone', function (e, data)  
     890                            { 
     891                                var nzImg = document.getElementById("noZoomImage"); 
     892                                nzImg.setAttribute("src", nzImg.getAttribute("src") + "?" + (new Date()).getTime()); 
     893                                 
     894                                var smallImg = document.getElementById("smallImage"); 
     895                                smallImg.setAttribute("src", smallImg.getAttribute("src") + "?" + (new Date()).getTime()); 
     896                                 
     897                                var largeImg = document.getElementById("largeImage"); 
     898                                largeImg.setAttribute("src", largeImg.getAttribute("src") + "?" + (new Date()).getTime()); 
     899                                 
     900                                readyImagesForZoom(); 
     901                            }); 
     902                        }); 
     903                    </xsl:text> 
     904                </script> 
     905                 
     906                <script id="template-upload" type="text/html"> 
     907                <xsl:text disable-output-escaping="yes"> 
     908                                       {% for (var i=0, files=o.files, l=files.length, file=files[0]; i&lt;l; file=files[++i]) { %} 
     909                &lt;tr class="template-upload fade"&gt; 
     910                &lt;td class="preview"&gt;&lt;span class="fade"&gt;&lt;/span&gt;&lt;/td&gt; 
     911                &lt;td class="name"&gt;{%=file.name%}&lt;/td&gt; 
     912                &lt;td class="size"&gt;{%=o.formatFileSize(file.size)%}&lt;/td&gt; 
     913                                               {% if (file.error) { %} 
     914                &lt;td class="error" colspan="2"&gt;&lt;span class="label label-important"&gt;Error&lt;/span&gt; {%=fileUploadErrors[file.error] || file.error%}&lt;/td&gt; 
     915                                               {% } else if (o.files.valid &amp;&amp; !i) { %} 
     916                &lt;td&gt; 
     917                &lt;div class="progress progress-success progress-striped active"&gt;&lt;div class="bar" style="width:0%;"&gt;&lt;/div&gt;&lt;/div&gt; 
     918                &lt;/td&gt; 
     919                &lt;td class="start"&gt;{% if (!o.options.autoUpload) { %} 
     920                &lt;button class="btn btn-primary"&gt; 
     921                &lt;i class="icon-upload icon-white"&gt;&lt;/i&gt; Start 
     922                &lt;/button&gt; 
     923                                                   {% } %}&lt;/td&gt; 
     924                                               {% } else { %} 
     925                &lt;td colspan="2"&gt;&lt;/td&gt; 
     926                                               {% } %} 
     927                &lt;td class="cancel"&gt;{% if (!i) { %} 
     928                &lt;button class="btn btn-warning"&gt; 
     929                &lt;i class="icon-ban-circle icon-white"&gt;&lt;/i&gt; Cancel 
     930                &lt;/button&gt; 
     931                                               {% } %}&lt;/td&gt; 
     932                &lt;/tr&gt; 
     933                                       {% } %} 
     934                </xsl:text> 
     935                </script> 
     936 
     937                <script id="template-download" type="text/html"> 
     938                <xsl:text disable-output-escaping="yes"> 
     939                                       {% for (var i=0, files=o.files, l=files.length, file=files[0]; i&lt;l; file=files[++i]) { %} 
     940                &lt;tr class="template-download fade"&gt; 
     941                                               {% if (file.error) { %} 
     942                &lt;td&gt;&lt;/td&gt; 
     943                &lt;td class="name"&gt;{%=file.name%}&lt;/td&gt; 
     944                &lt;td class="size"&gt;{%=o.formatFileSize(file.size)%}&lt;/td&gt; 
     945                &lt;td class="error" colspan="2"&gt;&lt;span class="label label-important"&gt;Error&lt;/span&gt; {%=fileUploadErrors[file.error] || file.error%}&lt;/td&gt; 
     946                                               {% } else { %} 
     947                &lt;td class="preview"&gt;{% if (file.thumbnail_url) { %} 
     948                &lt;a href="{%=file.url%}" title="{%=file.name%}" rel="gallery"&gt;&lt;img src="{%=file.thumbnail_url%}" style="height:100px;"/&gt;&lt;/a&gt; 
     949                                                   {% } %}&lt;/td&gt; 
     950                &lt;td class="name"&gt; 
     951                &lt;a href="{%=file.url%}" title="{%=file.name%}" rel="{%=file.thumbnail_url&amp;&amp;'gallery'%}"&gt;{%=file.name%}&lt;/a&gt; 
     952                &lt;/td&gt; 
     953                &lt;td class="size"&gt;{%=o.formatFileSize(file.size)%}&lt;/td&gt; 
     954                &lt;td colspan="2"&gt;&lt;/td&gt; 
     955                                               {% } %} 
     956                &lt;/tr&gt; 
     957                                       {% } %} 
     958                </xsl:text> 
     959                </script> 
     960 
     961                <form action="dev" enctype="multipart/form-data" id="fileupload" method="POST"> 
     962                    <input name="ajaxUpload" type="hidden" value="true"/> 
     963                    <input name="fl" type="hidden"> 
     964                        <xsl:attribute name="value"> 
     965                            <xsl:text>/sites/localsite/collect/</xsl:text> 
     966                            <xsl:value-of select="/page/pageResponse/collection/@name"/> 
     967                            <xsl:text>/index/assoc/</xsl:text> 
     968                            <gsf:metadata name="assocfilepath"/> 
     969                            <xsl:text>/</xsl:text> 
     970                            <gsf:metadata name="SourceFile"/> 
     971                            <xsl:text>:</xsl:text> 
     972                            <xsl:text>/sites/localsite/collect/</xsl:text> 
     973                            <xsl:value-of select="/page/pageResponse/collection/@name"/> 
     974                            <xsl:text>/index/assoc/</xsl:text> 
     975                            <gsf:metadata name="assocfilepath"/> 
     976                            <xsl:text>/</xsl:text> 
     977                            <gsf:metadata name="Screen"/> 
     978                            <xsl:text>:</xsl:text> 
     979                            <xsl:text>/sites/localsite/collect/</xsl:text> 
     980                            <xsl:value-of select="/page/pageResponse/collection/@name"/> 
     981                            <xsl:text>/index/assoc/</xsl:text> 
     982                            <gsf:metadata name="assocfilepath"/> 
     983                            <xsl:text>/</xsl:text> 
     984                            <gsf:metadata name="Thumb"/> 
     985                        </xsl:attribute> 
     986                    </input> 
     987                    <div class="row fileupload-buttonbar"> 
     988                        <div class="span6" style="margin-left:30px;"> 
     989                            <span class="btn btn-success fileinput-button"> 
     990                                <span><i class="icon-plus icon-white"><xsl:text> </xsl:text></i> Add files...</span> 
     991                                <input multiple="" name="files[]" type="file"/> 
     992                            </span> 
     993                            <button class="btn btn-primary start" type="submit"> 
     994                                <i class="icon-upload icon-white"><xsl:text> </xsl:text></i> Start upload 
     995                            </button> 
     996                            <button class="btn btn-warning cancel" type="reset"> 
     997                                <i class="icon-ban-circle icon-white"><xsl:text> </xsl:text></i> Cancel upload 
     998                            </button> 
     999                        </div> 
     1000                        <div class="span6"> 
     1001                            <div class="progress progress-success progress-striped active fade"> 
     1002                                <div class="bar" style="width:0%;"><xsl:text> </xsl:text></div> 
     1003                            </div> 
     1004                        </div> 
     1005                    </div> 
     1006                    <br/> 
     1007                    <table class="table table-striped"><tbody class="files" data-target="#modal-gallery" data-toggle="modal-gallery"><xsl:text> </xsl:text></tbody></table> 
     1008                </form> 
     1009            </xsl:otherwise> 
     1010        </xsl:choose> 
    7351011        <!--</xsl:if>--> 
    7361012      </xsl:template>