source: main/trunk/greenstone3/web/interfaces/oran/js/document_scripts.js@ 25295

Last change on this file since 25295 was 25295, checked in by sjm84, 12 years ago

Added the ability to do a range search (e.g. 1-342) in the filter pages area

  • Property svn:executable set to *
File size: 22.9 KB
Line 
1var _imageZoomEnabled = false;
2var _linkCellMap = new Array();
3var _onCells = new Array();
4
5/********************
6* EXPANSION SCRIPTS *
7********************/
8
9function toggleSection(sectionID)
10{
11 var docElem = document.getElementById("doc" + sectionID);
12 var tocElem = document.getElementById("toc" + sectionID);
13
14 var tocToggleElem = document.getElementById("ttoggle" + sectionID);
15 var docToggleElem = document.getElementById("dtoggle" + sectionID);
16
17 if(docElem.style.display == "none")
18 {
19 docElem.style.display = "block";
20 docToggleElem.setAttribute("src", gs.imageURLs.collapse);
21
22 if(tocToggleElem)
23 {
24 tocToggleElem.setAttribute("src", gs.imageURLs.collapse);
25 }
26
27 if(tocElem)
28 {
29 tocElem.style.display = "block";
30 }
31 }
32 else
33 {
34 docElem.style.display = "none";
35
36 //Use the page image if this is a leaf node and the chapter image if it not
37 docToggleElem.setAttribute("src", gs.imageURLs.expand);
38
39 if(tocToggleElem)
40 {
41 tocToggleElem.setAttribute("src", gs.imageURLs.expand);
42 }
43
44 if(tocElem)
45 {
46 tocElem.style.display = "none";
47 }
48 }
49}
50
51function isExpanded(sectionID)
52{
53 var docElem = document.getElementById("doc" + sectionID);
54 if(docElem.style.display == "block")
55 {
56 return true;
57 }
58 return false;
59}
60
61function isParentOf(parent, child)
62{
63 if(child.indexOf(parent) != -1 && child.length > parent.length && child[parent.length] == '.')
64 {
65 return true;
66 }
67 return false;
68}
69
70function minimizeSidebar()
71{
72 var coverImage = document.getElementById("coverImage");
73 var toc = document.getElementById("contentsArea");
74 var maxLink = document.getElementById("sidebarMaximizeButton");
75 var minLink = document.getElementById("sidebarMinimizeButton");
76
77 if(coverImage)
78 {
79 coverImage.style.display = "none";
80 }
81
82 if(toc)
83 {
84 toc.style.display = "none";
85 }
86
87 maxLink.style.display = "block";
88 minLink.style.display = "none";
89}
90
91function maximizeSidebar()
92{
93 var coverImage = document.getElementById("coverImage");
94 var toc = document.getElementById("contentsArea");
95 var maxLink = document.getElementById("sidebarMaximizeButton");
96 var minLink = document.getElementById("sidebarMinimizeButton");
97
98 if(coverImage)
99 {
100 coverImage.style.display = "block";
101 }
102
103 if(toc)
104 {
105 toc.style.display = "block";
106 }
107
108 maxLink.style.display = "none";
109 minLink.style.display = "block";
110}
111
112/**********************
113* PAGED-IMAGE SCRIPTS *
114**********************/
115
116function changeView()
117{
118 var viewList = document.getElementById("viewSelection");
119 var currentVal = viewList.value;
120
121 var view;
122 if(currentVal == "Image view")
123 {
124 setImageVisible(true);
125 setTextVisible(false);
126 view = "image";
127 }
128 else if(currentVal == "Text view")
129 {
130 setImageVisible(false);
131 setTextVisible(true);
132 view = "text";
133 }
134 else
135 {
136 setImageVisible(true);
137 setTextVisible(true);
138 view = "";
139 }
140
141 var ajax = gs.functions.ajaxRequest();
142 ajax.open("GET", gs.xsltParams.library_name + "?a=d&view=" + view + "&c=" + gs.cgiParams.c);
143 ajax.send();
144}
145
146function setImageVisible(visible)
147{
148 var divs = document.getElementsByTagName("DIV");
149 var images = new Array();
150 for (var i = 0; i < divs.length; i++)
151 {
152 if(divs[i].id && divs[i].id.search(/^image/) != -1)
153 {
154 images.push(divs[i]);
155 }
156 }
157
158 for(var i = 0; i < images.length; i++)
159 {
160 var image = images[i];
161 if(visible)
162 {
163 image.style.display = "block";
164 }
165 else
166 {
167 image.style.display = "none";
168 }
169 }
170}
171
172function setTextVisible(visible)
173{
174 var divs = document.getElementsByTagName("DIV");
175 var textDivs = new Array();
176 for (var i = 0; i < divs.length; i++)
177 {
178 if(divs[i].id && divs[i].id.search(/^text/) != -1)
179 {
180 textDivs.push(divs[i]);
181 }
182 }
183
184 for(var i = 0; i < textDivs.length; i++)
185 {
186 var text = textDivs[i];
187 if(visible)
188 {
189 text.style.display = "block";
190 }
191 else
192 {
193 text.style.display = "none";
194 }
195 }
196}
197
198function retrieveTableOfContentsAndTitles()
199{
200 var ajax = gs.functions.ajaxRequest();
201
202 ajax.open("GET", gs.xsltParams.library_name + "?a=d&ed=1&c=" + gs.cgiParams.c + "&d=" + gs.cgiParams.d + "&excerptid=tableOfContents");
203 ajax.onreadystatechange = function()
204 {
205 if(ajax.readyState == 4 && ajax.status == 200)
206 {
207 document.getElementById("contentsArea").innerHTML = document.getElementById("contentsArea").innerHTML + ajax.responseText;
208 replaceLinksWithSlider();
209 var loading = document.getElementById("tocLoadingImage");
210 loading.parentNode.removeChild(loading);
211 }
212 else if(ajax.readyState == 4)
213 {
214 var loading = document.getElementById("tocLoadingImage");
215 loading.parentNode.removeChild(loading);
216 console.log("Error Loading TOC");
217 }
218 }
219 ajax.send();
220}
221
222function replaceLinksWithSlider()
223{
224 var tableOfContents = document.getElementById("tableOfContents");
225 var liElems = tableOfContents.getElementsByTagName("LI");
226
227 var leafSections = new Array();
228 for (var i = 0; i < liElems.length; i++)
229 {
230 var section = liElems[i];
231 var add = true;
232 for(var j = 0; j < leafSections.length; j++)
233 {
234 if(leafSections[j] == undefined){continue;}
235
236 var leaf = leafSections[j];
237 if(leaf.getAttribute("id").search(section.getAttribute("id")) != -1)
238 {
239 add = false;
240 }
241
242 if(section.getAttribute("id").search(leaf.getAttribute("id")) != -1)
243 {
244 delete leafSections[j];
245 }
246 }
247
248 if(add)
249 {
250 leafSections.push(section);
251 }
252 }
253
254 for(var i = 0 ; i < leafSections.length; i++)
255 {
256 if(leafSections[i] == undefined){continue;}
257 leafSections[i].style.display = "none";
258 var links = leafSections[i].getElementsByTagName("A");
259 var widget = new SliderWidget(links);
260 leafSections[i].parentNode.insertBefore(widget.getElem(), leafSections[i]);
261 }
262}
263
264function changePage(href)
265{
266 var ajax = new gs.functions.ajaxRequest();
267 ajax.open("GET", href + "&excerptid=gs-document");
268 ajax.onreadystatechange = function()
269 {
270 if(ajax.readyState == 4 && ajax.status == 200)
271 {
272 var contentElem = document.getElementById("gs-document");
273 contentElem.innerHTML = ajax.responseText;
274
275 for(var i = 0; i < _onCells.length; i++)
276 {
277 cells[i].cell.style.border = "";
278 }
279 _onCells = new Array;
280
281 if(_linkCellMap[href])
282 {
283 cells = _linkCellMap[href];
284 for(var i = 0; i < cells.length; i++)
285 {
286 cells[i].cell.style.border = "3px red solid";
287 _onCells.push(cells[i]);
288 }
289 }
290 }
291 }
292 ajax.send();
293}
294
295function SliderWidget(_links)
296{
297 //****************
298 //MEMBER VARIABLES
299 //****************
300
301 //The container for the widget
302 var _mainDiv = document.createElement("DIV");
303 _mainDiv.setAttribute("class", "ui-widget-content pageSlider");
304
305 //The table of images
306 var _linkTable = document.createElement("TABLE");
307 _mainDiv.appendChild(_linkTable);
308
309 //The image row of the table
310 var _linkRow = document.createElement("TR");
311 _linkTable.appendChild(_linkRow);
312
313 //The list of titles we can search through
314 var _titles = new Array();
315
316 //****************
317 //PUBLIC FUNCTIONS
318 //****************
319
320 //Function that returns the widget element
321 this.getElem = function()
322 {
323 return _mainDiv;
324 }
325
326 //*****************
327 //PRIVATE FUNCTIONS
328 //*****************
329
330 var setUpFilterBox = function()
331 {
332 var filter = $("#filterText");
333 filter.keyup(function()
334 {
335 var currentValue = filter.val();
336 var isRange = (currentValue.search(/\d+-\d+/) != -1)
337
338 var found = false;
339 for(var i = 0; i < _titles.length; i++)
340 {
341 if(_titles[i][0] == currentValue)
342 {
343 found = true;
344 }
345 }
346
347 if(!found && isRange)
348 {
349 var firstNumber = currentValue.replace(/^(\d+)-\d+$/, "$1");
350 var secondNumber = currentValue.replace(/^\d+-(\d+)$/, "$1");
351
352 if(firstNumber <= secondNumber)
353 {
354 var matchingTitles = new Array();
355 for(var i = firstNumber; i <= secondNumber; i++)
356 {
357 var numString = i + "";
358 for(var j = 0; j < _titles.length; j++)
359 {
360 var currentTitle = _titles[j];
361 if(currentTitle[0].search(numString) != -1)
362 {
363 matchingTitles.push(currentTitle);
364 }
365 }
366 }
367
368 for(var i = 0; i < _titles.length; i++)
369 {
370 _titles[i][1].cell.style.display = "none";
371 }
372
373 for(var i = 0; i < matchingTitles.length; i++)
374 {
375 matchingTitles[i][1].cell.style.display = "table-cell";
376 }
377 }
378 }
379 else
380 {
381 for(var i = 0; i < _titles.length; i++)
382 {
383 var currentTitle = _titles[i];
384 if(currentTitle[0].search(currentValue.replace(/\./g, "\\.")) != -1)
385 {
386 currentTitle[1].cell.style.display = "table-cell";
387 }
388 else
389 {
390 currentTitle[1].cell.style.display = "none";
391 }
392 }
393 }
394 });
395 }
396
397 var getImage = function(page)
398 {
399 var ajax = gs.functions.ajaxRequest();
400
401 var href = page.getAttribute("href");
402 var template = '';
403 template += '<xsl:template match="/">';
404 template += '<html>';
405 template += '<img>';
406 template += '<xsl:attribute name="src">';
407 template += "<xsl:value-of disable-output-escaping=\"yes\" select=\"/page/pageResponse/collection/metadataList/metadata[@name = 'httpPath']\"/>";
408 template += '<xsl:text>/index/assoc/</xsl:text>';
409 template += "<xsl:value-of disable-output-escaping=\"yes\" select=\"/page/pageResponse/document/metadataList/metadata[@name = 'assocfilepath']\"/>";
410 template += '<xsl:text>/</xsl:text>';
411 template += "<xsl:value-of disable-output-escaping=\"yes\" select=\"/page/pageResponse/document/documentNode/metadataList/metadata[@name = 'Thumb']\"/>";
412 template += '</xsl:attribute>';
413 template += '</img>';
414 template += '<p>';
415 template += "<xsl:value-of disable-output-escaping=\"yes\" select=\"/page/pageResponse/document/documentNode/metadataList/metadata[@name = 'Title']\"/>";
416 template += '</p>';
417 template += '</html>';
418 template += '</xsl:template>';
419 ajax.open("GET", href + "&ilt=" + template.replace(" ", "%20"));
420 ajax.onreadystatechange = function()
421 {
422 if(ajax.readyState == 4 && ajax.status == 200)
423 {
424 var text = ajax.responseText;
425 var hrefStart = text.indexOf("src=\"") + 5;
426 if(hrefStart == -1)
427 {
428 page.isLoading = false;
429 page.noImage = true;
430 page.image.setAttribute("src", gs.imageURLs.blank);
431 return;
432 }
433 var hrefEnd = text.indexOf("\"", hrefStart);
434 var href = text.substring(hrefStart, hrefEnd);
435
436 var image = document.createElement("IMG");
437 $(image).load(function()
438 {
439 page.link.innerHTML = "";
440 page.link.appendChild(image);
441 page.isLoading = false;
442 page.imageLoaded = true;
443 });
444 $(image).error(function()
445 {
446 page.isLoading = false;
447 page.noImage = true;
448 image.setAttribute("src", gs.imageURLs.blank);
449 });
450 image.setAttribute("src", href);
451
452 var titleStart = text.indexOf("<p>") + 3;
453 var titleEnd = text.indexOf("</p>");
454 var title = text.substring(titleStart, titleEnd);
455 }
456 else if (ajax.readyState == 4 && !page.failed)
457 {
458 page.failed = true;
459 getImage(page);
460 }
461 }
462 ajax.send();
463 }
464
465 var startCheckFunction = function()
466 {
467 var checkFunction = function()
468 {
469 var widgetLeft = _mainDiv.scrollLeft;
470 var widgetRight = _mainDiv.clientWidth + _mainDiv.scrollLeft;
471
472 var visiblePages = new Array();
473 for(var i = 0; i < _links.length; i++)
474 {
475 var current = _links[i].cell;
476 var currentLeft = current.offsetLeft;
477 var currentRight = currentLeft + current.clientWidth;
478 if(currentRight > widgetLeft && currentLeft < widgetRight)
479 {
480 visiblePages.push(_links[i]);
481 }
482 }
483
484 for(var i = 0; i < visiblePages.length; i++)
485 {
486 var page = visiblePages[i];
487 if(!page || page.imageLoaded || page.noImage || page.isLoading)
488 {
489 continue;
490 }
491
492 page.isLoading = true;
493 getImage(page);
494 }
495 }
496 setInterval(checkFunction, 1000);
497 }
498
499 //***********
500 //CONSTRUCTOR
501 //***********
502
503 for(var i = 0; i < _links.length; i++)
504 {
505 var col = document.createElement("TD");
506 _linkRow.appendChild(col);
507 col.setAttribute("class", "pageSliderCol");
508 _links[i].cell = col;
509
510 var link = document.createElement("A");
511 col.appendChild(link);
512 _links[i].link = link;
513 var href = _links[i].getAttribute("href");
514 link.setAttribute("href", "javascript:changePage(\"" + href + "\");");
515
516 if(!_linkCellMap[href])
517 {
518 _linkCellMap[href] = new Array();
519 }
520 _linkCellMap[href].push(_links[i]);
521
522 var image = document.createElement("IMG");
523 link.appendChild(image);
524 image.setAttribute("src", gs.imageURLs.loading);
525 _links[i].image = image;
526
527 var title = _links[i].innerHTML;
528 if(title.search(/^[^ ]+ [^ ]+$/) != -1)
529 {
530 var section = title.replace(/^([^ ]+) [^ ]+$/, "$1");
531 var page = title.replace(/^[^ ]+ ([^ ]+)$/, "$1");
532 if(page.search(/^[0-9]+$/) != -1)
533 {
534 title = page;
535 }
536 }
537 _titles.push([title, _links[i]]);
538
539 var text = document.createTextNode(title);
540 col.appendChild(text);
541 }
542
543 setUpFilterBox();
544 startCheckFunction();
545}
546
547/***********************
548* HIGHLIGHTING SCRIPTS *
549***********************/
550function addHighlight()
551{
552 var spans = document.getElementsByTagName("span");
553 for(var i = 0; i < spans.length; i++)
554 {
555 var currentSpan = spans[i];
556 if(currentSpan.getAttribute("class") == "noTermHighlight")
557 {
558 currentSpan.setAttribute("class", "termHighlight");
559 }
560 }
561
562 var option = document.getElementById("highlightOption");
563 option.setAttribute("onclick", "removeHighlight();");
564}
565
566function removeHighlight()
567{
568 var spans = document.getElementsByTagName("span");
569 for(var i = 0; i < spans.length; i++)
570 {
571 var currentSpan = spans[i];
572 if(currentSpan.getAttribute("class") == "termHighlight")
573 {
574 currentSpan.setAttribute("class", "noTermHighlight");
575 }
576 }
577
578 var option = document.getElementById("highlightOption");
579 option.setAttribute("onclick", "addHighlight();");
580}
581
582/**************************
583* REALISTIC BOOKS SCRIPTS *
584**************************/
585
586function bookInit()
587{
588 loadBook();
589 hideText();
590 showBook();
591 swapLinkJavascript(false);
592}
593
594function hideText()
595{
596 var textDiv = document.getElementById("gs-document-text");
597 textDiv.style.visibility = "hidden";
598}
599
600function showText()
601{
602 var textDiv = document.getElementById("gs-document-text");
603 textDiv.style.visibility = "visible";
604}
605
606function hideBook()
607{
608 var bookDiv = document.getElementById("bookdiv");
609 bookDiv.style.visibility = "hidden";
610 bookDiv.style.height = "0px";
611
612 var bookObject = document.getElementById("bookObject");
613 bookObject.style.visibility = "hidden";
614 bookObject.style.height = "0px";
615
616 var bookEmbed = document.getElementById("bookEmbed");
617 bookEmbed.style.visibility = "hidden";
618 bookEmbed.style.height = "0px";
619}
620
621function showBook()
622{
623 var bookDiv = document.getElementById("bookdiv");
624 bookDiv.style.visibility = "visible";
625 bookDiv.style.height = "600px";
626
627 var bookObject = document.getElementById("bookObject");
628 bookObject.style.visibility = "visible";
629 bookObject.style.height = "600px";
630
631 var bookEmbed = document.getElementById("bookEmbed");
632 bookEmbed.style.visibility = "visible";
633 bookEmbed.style.height = "600px";
634}
635
636function swapLinkJavascript(rbOn)
637{
638 var option = document.getElementById("rbOption");
639 if(rbOn)
640 {
641 option.setAttribute("onclick", "hideText(); showBook(); swapLinkJavascript(false);");
642 }
643 else
644 {
645 option.setAttribute("onclick", "hideBook(); showText(); swapLinkJavascript(true);");
646 }
647}
648
649//Helper function to create param elements
650function createParam(name, value)
651{
652 var param = document.createElement("PARAM");
653 param.setAttribute("name", name);
654 param.setAttribute("value", value);
655 return param;
656}
657
658function loadBook()
659{
660 var doc_url = document.URL;
661 doc_url = doc_url.replace(/(&|\?)book=[a-z]+/gi,'');
662 doc_url += '&book=flashxml';
663
664 var img_cover = gs.collectionMetadata.httpPath + '/index/assoc/' + gs.documentMetadata.assocfilepath + '/cover.jpg';
665
666 var flash_plug_html = ""
667 flash_plug_html += '<OBJECT align="middle" classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" \n';
668 flash_plug_html += ' height="600px" id="bookObject" swLiveConnect="true" \n';
669 flash_plug_html += ' codebase="http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=8,0,0,0" \n';
670 flash_plug_html += ' width="70%">\n';
671 flash_plug_html += ' <PARAM name="allowScriptAccess" value="always" />\n';
672 flash_plug_html += ' <PARAM name="movie" value="Book.swf';
673 flash_plug_html += '?src_image=' + escape(img_cover);
674 flash_plug_html += '&doc_url=' + escape(doc_url);
675 flash_plug_html += '" />\n';
676 flash_plug_html += ' <PARAM name="quality" value="high" />\n';
677 flash_plug_html += ' <PARAM name="bgcolor" value="#FFFFFF" />\n';
678 flash_plug_html += ' <EMBED align="middle" \n';
679 flash_plug_html += ' allowScriptAccess="always" swLiveConnect="true" \n';
680 flash_plug_html += ' bgcolor="#FFFFFF" height="600px" name="Book" \n';
681 flash_plug_html += ' pluginspage="http://www.macromedia.com/go/getflashplayer" \n';
682 flash_plug_html += ' quality="high" id="bookEmbed"\n';
683 flash_plug_html += ' src="Book.swf';
684 flash_plug_html += '?src_image=' + escape(img_cover);
685 flash_plug_html += '&doc_url=' + escape(doc_url);
686 flash_plug_html += '"\n';
687 flash_plug_html += ' type="application/x-shockwave-flash" width="70%" />\n';
688 flash_plug_html += '</OBJECT>\n';
689 var flash_div = document.getElementById("bookdiv");
690 flash_div.innerHTML = flash_plug_html;
691}
692
693function addEditMetadataLink(cell)
694{
695 var id = cell.getAttribute("id").substring(6);
696 var metaTable = document.getElementById("meta" + id);
697
698 var row = cell.parentNode;
699 var newCell = document.createElement("TD");
700 newCell.setAttribute("style", "font-size:0.7em; padding:0px 10px");
701 newCell.setAttribute("class", "editMetadataButton");
702
703 var linkSpan = document.createElement("SPAN");
704 linkSpan.setAttribute("class", "ui-state-default ui-corner-all");
705 linkSpan.setAttribute("style", "padding: 2px; float:left;");
706
707 var linkLabel = document.createElement("SPAN");
708 linkLabel.innerHTML = "edit metadata";
709 newCell.linkLabel = linkLabel;
710 var linkIcon = document.createElement("SPAN");
711 linkIcon.setAttribute("class", "ui-icon ui-icon-folder-collapsed");
712 newCell.linkIcon = linkIcon;
713
714 var uList = document.createElement("UL");
715 var labelItem = document.createElement("LI");
716 var iconItem = document.createElement("LI");
717 uList.appendChild(iconItem);
718 uList.appendChild(labelItem);
719 labelItem.appendChild(linkLabel);
720 iconItem.appendChild(linkIcon);
721
722 uList.setAttribute("style", "outline: 0 none; margin:0px; padding:0px;");
723 labelItem.setAttribute("style", "float:left; list-style:none outside none;");
724 iconItem.setAttribute("style", "float:left; list-style:none outside none;");
725
726 var newLink = document.createElement("A");
727 newLink.setAttribute("href", "javascript:;");
728 newLink.onclick = function()
729 {
730 if(metaTable.style.display == "none")
731 {
732 linkLabel.innerHTML = "hide metadata";
733 linkIcon.setAttribute("class", "ui-icon ui-icon-folder-open");
734 metaTable.style.display = "block";
735 metaTable.metaNameField.style.display = "inline";
736 metaTable.addRowButton.style.display = "inline";
737 }
738 else
739 {
740 linkLabel.innerHTML = "edit metadata";
741 linkIcon.setAttribute("class", "ui-icon ui-icon-folder-collapsed");
742 metaTable.style.display = "none";
743 metaTable.metaNameField.style.display = "none";
744 metaTable.addRowButton.style.display = "none";
745 }
746 }
747 newLink.appendChild(uList);
748 linkSpan.appendChild(newLink);
749 newCell.appendChild(linkSpan);
750 row.appendChild(newCell);
751
752 addFunctionalityToTable(metaTable);
753 metaTable.metaNameField.style.display = "none";
754 metaTable.addRowButton.style.display = "none";
755}
756
757function setEditingFeaturesVisible(visible)
758{
759 if(visible)
760 {
761 document.getElementById("editContentButton").innerHTML = "Hide editor";
762 }
763 else
764 {
765 document.getElementById("editContentButton").innerHTML = "Edit content";
766 }
767
768 var saveButton = document.getElementById("saveButton");
769 var metadataListLabel = document.getElementById("metadataListLabel");
770 var metadataList = document.getElementById("metadataSetList");
771
772 var visibility = (visible ? "" : "none");
773 saveButton.style.display = visibility;
774 metadataListLabel.style.display = visibility;
775 metadataList.style.display = visibility;
776
777 var buttons = gs.functions.getElementsByClassName("editMetadataButton");
778
779 for(var i = 0; i < buttons.length; i++)
780 {
781 buttons[i].style.display = visibility;
782 buttons[i].linkLabel.innerHTML = "edit metadata";
783 buttons[i].linkIcon.setAttribute("class", "ui-icon ui-icon-folder-collapsed");
784 }
785
786 var tables = document.getElementsByTagName("TABLE");
787 for(var i = 0; i < tables.length; i++)
788 {
789 var currentTable = tables[i];
790 if(currentTable.getAttribute("id") && currentTable.getAttribute("id").search(/^meta/) != -1)
791 {
792 currentTable.style.display = "none";
793 currentTable.metaNameField.style.display = "none";
794 currentTable.addRowButton.style.display = "none";
795 }
796 }
797}
798
799function readyPageForEditing()
800{
801 if(document.getElementById("metadataSetList"))
802 {
803 var setList = document.getElementById("metadataSetList");
804 if(!setList.style.display || setList.style.display == "")
805 {
806 setEditingFeaturesVisible(false);
807 }
808 else
809 {
810 setEditingFeaturesVisible(true);
811 }
812 return;
813 }
814
815 document.getElementById("editContentButton").innerHTML = "Hide Editor";
816
817 var textDivs = gs.functions.getElementsByClassName("sectionText");
818 for(var i = 0; i < textDivs.length; i++)
819 {
820 de.doc.registerEditSection(textDivs[i]);
821 }
822
823 var editBar = document.getElementById("editBarLeft");
824 var saveButton = document.createElement("BUTTON");
825 saveButton.onclick = save;
826 saveButton.innerHTML = "Save changes";
827 saveButton.setAttribute("id", "saveButton");
828 editBar.appendChild(saveButton);
829
830 var visibleMetadataList = document.createElement("SELECT");
831 var allOption = document.createElement("OPTION");
832 allOption.innerHTML = "All";
833 visibleMetadataList.appendChild(allOption);
834 visibleMetadataList.setAttribute("id", "metadataSetList");
835 var metadataListLabel = document.createElement("SPAN");
836 metadataListLabel.setAttribute("id", "metadataListLabel");
837 metadataListLabel.setAttribute("style", "margin-left:20px;");
838 metadataListLabel.innerHTML = "Visible metadata: ";
839 editBar.appendChild(metadataListLabel);
840 editBar.appendChild(visibleMetadataList);
841 visibleMetadataList.onchange = onVisibleMetadataSetChange;
842
843 var statusBarDiv = document.createElement("DIV");
844 editBar.appendChild(statusBarDiv);
845 _statusBar = new StatusBar(statusBarDiv);
846
847 var titleDivs = gs.functions.getElementsByClassName("sectionTitle");
848 for(var i = 0; i < titleDivs.length; i++)
849 {
850 addEditMetadataLink(titleDivs[i]);
851 }
852
853 _baseURL = gs.xsltParams.library_name;
854}
Note: See TracBrowser for help on using the repository browser.