Bug 8646 - prevent the highlighter from going infinite loop
[koha.git] / koha-tmpl / opac-tmpl / prog / en / modules / opac-results.tt
1 [% INCLUDE 'doc-head-open.inc' %]
2 [% IF ( LibraryNameTitle ) %][% LibraryNameTitle %][% ELSE %]Koha online[% END %] catalog ›
3 [% IF ( searchdesc ) %]
4     Results of search [% IF ( query_desc ) %]for '[% query_desc | html%]'[% END %][% IF ( limit_desc ) %] with limit(s): '[% limit_desc | html %]'[% END %]
5 [% ELSE %]
6     You did not specify any search criteria.
7 [% END %]
8 [% INCLUDE 'doc-head-close.inc' %]
9 <link rel="alternate" type="application/rss+xml" title="[% LibraryName |html %] Search RSS Feed" href="[% OPACBaseurl %]/cgi-bin/koha/opac-search.pl?[% query_cgi |html %][% limit_cgi |html %]&amp;count=[% countrss |html %]&amp;sort_by=acqdate_dsc&amp;format=rss2" />
10 [% IF ( OpacStarRatings == 'all' ) %]<script type="text/javascript" src="/opac-tmpl/prog/en/lib/jquery/plugins/jquery.rating.js"></script>
11 <link rel="stylesheet" type="text/css" href="/opac-tmpl/prog/en/css/jquery.rating.css" />[% END %]
12
13 <script type="text/javascript" src="[% themelang %]/lib/jquery/plugins/jquery.checkboxes.min.js"></script>
14 [% IF ( OpacHighlightedWords ) %]<script type="text/javascript" src="[% themelang %]/lib/jquery/plugins/jquery.highlight-3.js"></script>
15 [% END %]<script type="text/javascript">
16 //<![CDATA[
17 [% IF ( opacuserlogin ) %][% IF ( RequestOnOpac ) %]
18 function holdMultiple() {
19     var checkedBiblioNums = ""; // Separated by "/"
20     var checkedCount = 0;
21     if(document.bookbag_form.biblionumber.length > 0) {
22         for (var i=0; i < document.bookbag_form.biblionumber.length; i++) {
23             if (document.bookbag_form.biblionumber[i].checked) {
24                 checkedBiblioNums += (document.bookbag_form.biblionumber[i].value + "/");
25                 checkedCount++;
26             }
27         }
28     }
29
30     if (checkedCount > 0) {
31         holdBiblioNums(checkedBiblioNums);
32     } else {
33         alert(MSG_NO_RECORD_SELECTED);
34     }
35 }
36
37 function holdBiblioNums(numList) {
38     // numList: biblio numbers separated by "/"
39     $("#hold_form_biblios").attr("value", numList);
40     $("#hold_form").submit();
41 }[% END %]
42
43 [% IF ( TagsEnabled ) %]
44 function tagSelected() {
45     var checkedBoxes = $(".searchresults :checkbox:checked");
46     if ($(checkedBoxes).size() == 0) {
47         alert(MSG_NO_RECORD_SELECTED);
48     } else {
49         $("#tagsel_tag").hide();
50         $("#sort_by").hide();
51         $("#tagsel_form").show();
52     }
53 }
54
55 function tagCanceled() {
56     $("#tagsel_form").hide();
57     $("#tagsel_tag").show();
58     $("#sort_by").show();
59 }
60
61 function tagAdded() {
62     var checkedBoxes = $(".searchresults :checkbox:checked");
63     if ($(checkedBoxes).size() == 0) {
64         alert(MSG_NO_RECORD_SELECTED);
65         return false;
66     }
67
68     var tag = $("#tagsel_new").val();
69     if (!tag || (tag == "")) {
70         return false;
71     }
72
73     var bibs = [];
74     for (var i = 0; i < $(checkedBoxes).size(); i++) {
75         var box = $(checkedBoxes).get(i);
76         bibs[i] = $(box).val();
77     }
78
79     KOHA.Tags.add_multitags_button(bibs, tag);
80     return false;
81 }[% END %][% END %]
82 [% IF ( OpacHighlightedWords ) %]
83 var q_array = new Array();  // holds search terms if available
84
85 function highlightOff() {
86     $("td").removeHighlight();
87     $(".highlight_toggle").toggle();
88 }
89 function highlightOn() {
90     var x;
91     for (x in q_array) {
92         $(".title").highlight(q_array[x]);
93         $(".author").highlight(q_array[x]);
94         $(".results_summary").highlight(q_array[x]);
95     }
96     $(".highlight_toggle").toggle();
97 }
98 [% END %]
99 $(document).ready(function(){
100     [% IF ( opacbookbag ) %]$(".addtocart").show();[% END %]
101
102 [% IF ( opacbookbag ) %]
103     [% IF ( virtualshelves ) %]
104     var param1 = "<label for=\"addto\">"+_("Add to: ")+"<\/label><select name=\"addto\" id=\"addto\"><option value=\"\"><\/option>";
105     [% IF ( opacbookbag ) %]    param1 += "<option value=\"addtocart\">"+_("Cart")+"<\/option>";
106     [% END %][% IF ( virtualshelves ) %][% IF ( loggedinusername ) %][% IF ( addbarshelves ) %]
107     param1 += "<optgroup label=\""+_("Your lists:")+"\">";[% FOREACH addbarshelvesloo IN addbarshelvesloop %]
108     param1 += "<option id=\"s[% addbarshelvesloo.shelfnumber %]\" value=\"addtolist\">[% addbarshelvesloo.shelfname |html %]<\/option>";[% END %]
109     param1 += "<\/optgroup>";[% END %]
110     [% IF ( addpubshelves ) %]param1 += "<optgroup label=\""+_("Public lists:")+"\">"[% FOREACH addpubshelvesloo IN addpubshelvesloop %]+"<option id=\"s[% addpubshelvesloo.shelfnumber %]\" value=\"addtolist\">[% addpubshelvesloo.shelfname |html %]<\/option>"[% END %];
111     param1 += "<\/optgroup>";[% END %]
112     [% IF (( addbarshelvesloop && addbarshelvesloop.size>9) || (addpubshelvesloop && addpubshelvesloop.size>9 )) %]
113         param1 += "<option value=\"morelists\">[ "+_("More lists")+" ]<\/option>";
114     [% END %]
115     param1 += "<option value=\"newlist\">[ "+_("New list")+" ]<\/option>";
116     [% END %]
117     [% END %]
118     param1 += "<\/select> <input type=\"submit\" class=\"submit\" value=\""+_("Save")+"\" />";
119     [% ELSE %]
120         var param1 = "<a id=\"addto\" class=\"addtocart\" href=\"#\">Add to cart<\/a>";
121     [% END %]
122 [% ELSE %]
123         var param1 = "<label for=\"addto\">"+_("Add to list: ")+"<\/label><select name=\"addto\" id=\"addto\"><option value=\"\"><\/option>";
124 [% IF ( virtualshelves ) %][% IF ( loggedinusername ) %][% IF ( addbarshelves ) %]
125     param1 += "<optgroup label=\""+_("Your lists:")+"\">";[% FOREACH addbarshelvesloo IN addbarshelvesloop %]
126     param1 += "<option id=\"s[% addbarshelvesloo.shelfnumber %]\" value=\"addtolist\">[% addbarshelvesloo.shelfname |html %]<\/option>";[% END %]
127     param1 += "<\/optgroup>";[% END %]
128     [% IF ( addpubshelves ) %]param1 += "<optgroup label=\""+_("Public lists:")+"\">"[% FOREACH addpubshelvesloo IN addpubshelvesloop %]+"<option id=\"s[% addpubshelvesloo.shelfnumber %]\" value=\"addtolist\">[% addpubshelvesloo.shelfname |html %]<\/option>"[% END %][% END %]
129     param1 +="<\/optgroup><option value=\"newlist\">[ "+_("New list")+" ]<\/option>"
130     [% END %]
131     [% END %]
132     param1 += "<\/select> <input type=\"submit\" class=\"submit\" value=\""+_("Save")+"\" />";
133 [% END %]
134
135     $('#sortsubmit').hide();
136     $('#sort_by').change(function() {
137         $('#bookbag_form').submit();
138     });
139     $("span.clearall").html("<a id=\"CheckNone\" href=\"#\">"+_("Clear all")+"<\/a>");
140     $("span.checkall").html("<a id=\"CheckAll\" href=\"#\">"+_("Select all")+"<\/a>");
141 [% IF ( opacbookbag ) %]$("span.addto").html(param1);[% ELSE %][% IF ( virtualshelves ) %][% IF ( loggedinusername ) %]$("span.addto").html(param1);[% END %][% END %][% END %]
142 [% IF ( opacbookbag ) %]
143     [% IF ( virtualshelves ) %]
144     $("#addto").change(function(){
145         cartList();
146     });
147     $(".addto").find("input:submit").click(function(){
148         cartList();
149         return false;
150     });
151     [% ELSE %]
152     $("#addto").click(function(){
153         cartList();
154         return false;
155     });
156     [% END %]
157 [% END %]
158     [% IF ( opacuserlogin ) %][% IF ( TagsEnabled ) %]$("#tagsel_span").html("<input id=\"tagsel_tag\" class=\"submit\" type=\"submit\" value=\"Tag\"/>");[% END %][% END %]
159
160     function cartList(){
161         if($("#addto").find("option:selected").attr("value") == "addtolist"){
162             var shelfnumber = $("#addto").find("option:selected").attr("id").replace("s","");
163             if (vShelfAdd()) {
164             Dopop('/cgi-bin/koha/opac-addbybiblionumber.pl?selectedshelf='+shelfnumber+'&' + vShelfAdd());
165             }
166             return false;
167         } else if($("#addto").find("option:selected").attr("value") == "newlist"){
168             [% IF ( loggedinusername ) %]if (vShelfAdd()) {
169             Dopop('/cgi-bin/koha/opac-addbybiblionumber.pl?newshelf=1&' + vShelfAdd());
170             }[% ELSE %] alert(_('You must be logged in to create or add to lists')); [% END %]
171             return false;
172         } else if($("#addto").find("option:selected").attr("value") == "morelists"){
173             [% IF ( loggedinusername ) %]if (vShelfAdd()) {
174             Dopop('/cgi-bin/koha/opac-addbybiblionumber.pl?' + vShelfAdd());
175             }[% ELSE %] alert(_('You must be logged in to create or add to lists')); [% END %]
176             return false;
177         }
178         if($("#addto").find("option:selected").attr("value") == "addtocart" || $("#addto").attr("class") == "addtocart"){
179             addMultiple();
180             return false;
181          }
182     }
183     $("#CheckAll").click(function(){
184         $("#bookbag_form").checkCheckboxes();
185         return false;
186     });
187     $("#CheckNone").click(function(){
188         $("#bookbag_form").unCheckCheckboxes();
189         return false;
190     });
191 [% IF ( RequestOnOpac ) %]
192   [% IF ( opacuserlogin ) %]
193   [% IF ( DisplayMultiPlaceHold ) %]
194     $("#placehold").html("<input class=\"submit\" type=\"submit\" value=\""+_("Place hold")+"\"/>");
195     $("#placehold").find("input:submit").click(function(){
196         holdMultiple();
197         return false;
198     });
199   [% END %]
200   [% END %]
201 [% END %]
202     $("#holdDetails").hide();
203
204 [% IF ( query_desc ) %][% IF ( OpacHighlightedWords ) %]var query_desc = "[% query_desc |replace("'", "\'") |replace('"', '\"') |replace('\n', '\\n') |replace('\r', '\\r') %]";
205         q_array = query_desc.split(" ");
206         // ensure that we don't have "" at the end of the array, which can
207         // break the highlighter
208         while (q_array.length > 0 && q_array[q_array.length-1] == "") {
209             q_array = q_array.splice(0,-1);
210         }
211         highlightOn();
212         $("#highlight_toggle_on" ).hide().click(function() {highlightOn() ;});
213         $("#highlight_toggle_off").show().click(function() {highlightOff();});[% END %][% END %]
214
215 [% IF ( opacuserlogin ) %]    [% IF ( TagsEnabled ) %]
216         $(".tagbutton").click(KOHA.Tags.add_tag_button);
217         [% IF ( TagsInputOnList ) %]
218         [% IF ( loggedinusername ) %]
219             $("#tagsel_tag").click(function(){
220                 tagSelected();
221                 return false;
222             });
223             $("#tagsel_cancel").click(function(){
224                 tagCanceled();
225                 return false;
226             });
227             $("#tagsel_button").click(function(){
228                 tagAdded();
229                 return false;
230             });
231
232             $(".tag_results_add").click(function(){
233                 var thisid = $(this).attr("id");
234                 thisid = thisid.replace("tag_add","");
235                 $(this).hide();
236                 $("#tagform"+thisid).show();
237                 $("#newtag"+thisid).focus();
238                 return false;
239             })
240
241             $(".cancel_tag_add").click(function(){
242                 var thisid = $(this).attr("id");
243                 thisid = thisid.replace("cancel","");
244                 $(this).parent().hide();
245                 $("#tag_add"+thisid).show();
246                 return false;
247             })
248
249         [% ELSE %]
250             $("#tagsel_tag").click(function(){
251                 window.location = "/cgi-bin/koha/opac-user.pl";
252                 return false;
253             });
254         [% END %]
255         [% END %]
256     [% END %][% END %]
257     [% IF OpenLibraryCovers %]KOHA.OpenLibrary.GetCoverFromIsbn();[% END %]
258     [% IF OPACLocalCoverImages %]KOHA.LocalCover.GetCoverFromBibnumber(false);[% END %]
259     [% IF ( GoogleJackets ) %]KOHA.Google.GetCoverFromIsbn();[% END %]
260 });
261
262 //]]>
263 </script>
264 </head>
265 <body id="results">
266     [% IF ( opacfacets ) %]<div id="doc3" class="yui-t1">[% ELSE %]<div id="doc3" class="yui-t7">[% END %]
267    <div id="bd">
268
269 [% INCLUDE 'masthead.inc' %]
270
271
272     <div id="yui-main">
273     <div class="yui-b">
274     <div id="userresults" class="container">
275   [% IF ( koha_spsuggest ) %]
276     Did you mean:
277     <ul style="list-style: none;">
278         [% FOREACH SPELL_SUGGES IN SPELL_SUGGEST %]
279         <li>
280             <a href="/cgi-bin/koha/opac-search.pl?q=[% SPELL_SUGGES.spsuggestion %]">[% SPELL_SUGGES.spsuggestion %]</a>
281         </li>
282         [% END %]
283     </ul>
284 [% END %]
285
286 [% IF ( query_error ) %]
287 <div class="dialog alert">
288     <h4>Error:</h4>
289     [% query_error %]
290 </div>
291 [% END %]
292
293 <!-- Search Results Table -->
294 [% IF ( total ) %]
295 [% IF ( scan ) %]
296     <h1>Scan index:</h1>
297     <form action="/cgi-bin/koha/opac-search.pl" method="get">
298         <table>
299             <tr>
300                 <td>
301                     Scan index for: <input type="text" name="q" id="scan-index" size="35" value="" />
302                 </td>
303             </tr>
304             <tr>
305                 <td>
306                     <label for="scan-index">Indexed in:</label>
307                     <select name="idx" id="scan-index">
308                         <option value="">Any word</option>
309                         <option value="kw,phr:">Any phrase</option>
310                         <option value="ti:">Title</option>
311                         <option value="ti,phr:">Title phrase</option>
312                         <option value="au,phr:">Author</option>
313                         <option value="su:">Subject</option>
314                         <option value="su,phr:">Subject phrase</option>
315                         <option value="se:">Series</option>
316                         <option value="pb:">Publisher</option>
317                         <option value="nt:">Notes</option>
318                         <option value="se:">Series Title</option>
319                         <option value="sn:">ISBN</option>
320                         <option value="ss:">ISSN</option>
321                     </select>
322                     <input type="hidden" name="scan" value="1" />
323                 </td>
324             </tr>
325         </table>
326     </form>
327
328     <form action="/cgi-bin/koha/opac-search.pl" method="get">
329         <table>
330             <tr>
331                 <th>Term/Phrase</th>
332                 <th>Count</th>
333             </tr>
334             [% FOREACH SEARCH_RESULT IN SEARCH_RESULTS %]
335             [% IF ( SEARCH_RESULT.even ) %]
336             <tr class="highlight">
337             [% ELSE %]
338             <tr>
339             [% END %]
340                 <td>
341                     <a href="/cgi-bin/koha/opac-search.pl?q=[% SEARCH_RESULT.scan_use |url %]&quot;[% SEARCH_RESULT.title |url %]&quot;">[% IF ( SEARCH_RESULT.title ) %][% SEARCH_RESULT.title |html %][% ELSE %]No title[% END %]</a>
342                 </td>
343                 <td>
344                     [% SEARCH_RESULT.author %]
345                 </td>
346             </tr>
347             [% END %]
348         </table>
349     </form>
350 [% ELSE %]
351
352     <div class="searchresults">
353     <form action="/cgi-bin/koha/opac-search.pl" method="get" name="bookbag_form" id="bookbag_form">
354         [% IF ( searchdesc ) %]
355         [% FOREACH QUERY_INPUT IN QUERY_INPUTS %]
356         <input type="hidden" name="[% QUERY_INPUT.input_name |html %]" value="[% QUERY_INPUT.input_value |html %]"/>
357         [% END %]
358         [% FOREACH LIMIT_INPUT IN LIMIT_INPUTS %]
359         <input type="hidden" name="[% LIMIT_INPUT.input_name |html %]" value="[% LIMIT_INPUT.input_value |html %]"/>
360         [% END %]
361         [% END %]
362
363         <!-- TABLE RESULTS START -->
364         <table>
365         <tr><td colspan="5" class="resultscontrol">
366         <div class="resort"> <select id="sort_by" name="sort_by"> [% INCLUDE 'resort_form.inc' %] </select> <input type="submit" class="submit clearfix" id="sortsubmit" value="Go" /></div>
367         <div class="cartlist">
368             <!-- checkall, clearall are now needed for placehold -->
369             <span class="checkall"></span>
370             <span class="clearall"></span>
371             [% IF ( OpacHighlightedWords ) %]
372                 <a href="#" class="highlight_toggle" id="highlight_toggle_off">Unhighlight</a>
373                 <a href="#" class="highlight_toggle" id="highlight_toggle_on">Highlight</a>
374             [% END %]
375             [% IF ( opacbookbag || virtualshelves ) %]
376                 <span class="addto"></span>
377             [% END %]
378             <span id="placehold"><!-- input class="submit" type="submit" value="Place Hold"/ --></span>
379             <div id="holdDetails"></div>
380
381             [% IF ( opacuserlogin ) %][% IF ( loggedinusername ) %][% IF ( TagsEnabled ) %]
382                         [% IF ( TagsInputOnList ) %]
383                             <span id="tagsel_span"></span>
384                           [% IF ( loggedinusername ) %]
385                             <span id="tagsel_form" style="display:none">
386                               <label for="tagsel_new">New tag:</label>
387                               <input name="tagsel_new" id="tagsel_new" maxlength="100" />
388                               <input id="tagsel_button" name="tagsel_button" class="input tagsel_button" title="tagsel_button" type="submit" value="Add" />
389                               <a href="#" id="tagsel_cancel">Cancel</a>
390                             </span>
391                             <span id="tagsel_status" class="tagsel_tatus" style="display:none;">
392                               Tag status here.
393                             </span>
394                           [% END %]
395                         [% END %]
396                 [% END %][% END %][% END %]
397         </div>
398
399         </td></tr>
400             <!-- Actual Search Results -->
401             [% FOREACH SEARCH_RESULT IN SEARCH_RESULTS %]
402             [% UNLESS ( loop.odd ) %]
403                 <tr class="highlight">
404             [% ELSE %]
405                 <tr>
406             [% END %]
407
408                 <td class="select selectcol">[% IF ( opacbookbag ) %]<input type="checkbox" id="bib[% SEARCH_RESULT.biblionumber %]" name="biblionumber" value="[% SEARCH_RESULT.biblionumber %]" /> <label for="bib[% SEARCH_RESULT.biblionumber %]"></label>[% ELSE %]
409 [% IF ( virtualshelves ) %]<input type="checkbox" id="bib[% SEARCH_RESULT.biblionumber %]" name="biblionumber" value="[% SEARCH_RESULT.biblionumber %]" /> <label for="bib[% SEARCH_RESULT.biblionumber %]"></label>[% ELSE %]
410 [% IF ( RequestOnOpac ) %][% UNLESS ( SEARCH_RESULT.norequests ) %][% IF ( opacuserlogin ) %]<input type="checkbox" id="bib[% SEARCH_RESULT.biblionumber %]" name="biblionumber" value="[% SEARCH_RESULT.biblionumber %]" /> <label for="bib[% SEARCH_RESULT.biblionumber %]"></label>[% END %][% END %][% END %][% END %][% END %]</td>
411                 <td class="select selectcol">[% UNLESS suppress_result_number %][% SEARCH_RESULT.result_number %].[% END %]</td>
412
413                 [% UNLESS ( item_level_itypes ) %]
414                 [% UNLESS ( noItemTypeImages ) %]
415
416                 <td class="itypecol">
417                 [% IF ( SEARCH_RESULT.imageurl ) %]
418                 <img src="[% SEARCH_RESULT.imageurl %]" title="[% SEARCH_RESULT.description %]" alt="[% SEARCH_RESULT.description %]" />
419                 [% END %]
420                 [% IF ( SEARCH_RESULT.score_avg ) %]
421                     <img src="[% themelang %]/../images/bonus.png" title="bonus" style="max-height: 35px;"/>
422                 [% END %]
423                 </td>
424                 [% END %]
425                 [% END %]
426
427                 [% IF ( SEARCH_RESULT.AuthorisedValueImages ) %]
428                 <td class="itypecol">
429                 [% FOREACH authorised_value_image IN SEARCH_RESULT.authorised_value_images %]
430                 <img src="[% authorised_value_image.imageurl %]" alt="[% authorised_value_image.label %]" title="[% authorised_value_image.label %]">
431                 [% END %]
432                 </td>
433                 [% END %]
434
435                 <td>
436                 [% IF ( COinSinOPACResults ) %]
437                     [% IF ( SEARCH_RESULT.coins ) %]
438                         <!-- COinS / Openurl --><span class="Z3988" title="[% SEARCH_RESULT.coins %]"></span>
439                     [% END %]
440                 [% END %]
441
442                 [% IF ( OPACXSLTResultsDisplay ) %]
443                 [% SEARCH_RESULT.XSLTResultsRecord %]
444                 [% ELSE %]
445                 [% IF ( BiblioDefaultViewmarc ) %]<a class="title" href="/cgi-bin/koha/opac-MARCdetail.pl?biblionumber=[% SEARCH_RESULT.biblionumber |url %]" title="View details for this title">
446                                 [% ELSE %]
447                                 [% IF ( BiblioDefaultViewisbd ) %]<a class="title" href="/cgi-bin/koha/opac-ISBDdetail.pl?biblionumber=[% SEARCH_RESULT.biblionumber |url %]" title="View details for this title">
448                                 [% ELSE %]<a class="title" href="/cgi-bin/koha/opac-detail.pl?biblionumber=[% SEARCH_RESULT.biblionumber |url %]" title="View details for this title">
449                                 [% END %]
450                                 [% END %]
451                                 [% IF ( SEARCH_RESULT.title ) %][% SEARCH_RESULT.title |html %][% ELSE %]No title[% END %] [% FOREACH subtitl IN SEARCH_RESULT.subtitle %], [% subtitl.subfield|html %][% END %]</a>
452                                 [% IF ( SEARCH_RESULT.author ) %]by <a href="/cgi-bin/koha/opac-search.pl?q=au:[% SEARCH_RESULT.author |url %]" title="Search for works by this author" class="author">[% SEARCH_RESULT.author %]</a>
453                                 [% ELSE %]&nbsp;
454                                 [% END %]
455                 <span class="results_summary"><span class="label">Publication:</span>
456                         [% IF ( SEARCH_RESULT.place ) %][% SEARCH_RESULT.place %] [% END %][% IF ( SEARCH_RESULT.publishercode ) %][% SEARCH_RESULT.publishercode|html %][% END %][% IF ( SEARCH_RESULT.publicationyear ) %] [% SEARCH_RESULT.publicationyear %]
457                     [% ELSE %][% IF ( SEARCH_RESULT.copyrightdate ) %] [% SEARCH_RESULT.copyrightdate %][% END %][% END %]
458                         [% IF ( SEARCH_RESULT.pages ) %]. [% SEARCH_RESULT.pages %][% END %]
459                         [% IF ( SEARCH_RESULT.notes ) %], [% SEARCH_RESULT.notes|html %][% END %]
460                         [% IF ( SEARCH_RESULT.size ) %] [% SEARCH_RESULT.size %][% END %]
461                         [% IF ( SEARCH_RESULT.timestamp ) %] <i>(modified on [% SEARCH_RESULT.timestamp %])</i>[% END %]
462                 </span>
463                 [% IF ( SEARCH_RESULT.summary ) %]
464                 <span class="result_summary">
465                     [% SEARCH_RESULT.summary %]
466                 </span>
467                 [% END %]
468                 [% IF ( SEARCH_RESULT.copyrightdate ) %]<span class="results_summary"><span class="label">Date:</span>[% SEARCH_RESULT.copyrightdate %]</span>[% END %]
469
470                 <span class="results_summary">
471                 <span class="label">Availability:</span>
472                     [% IF ( SEARCH_RESULT.available_items_loop.0 ) %]
473                     <span class="available"><strong>Copies available:</strong>
474                     [% FOREACH available_items_loo IN SEARCH_RESULT.available_items_loop %]
475                     [% UNLESS ( available_items_loo.hideatopac ) %]
476                     [% IF ( singleBranchMode ) %]
477                         [% available_items_loo.location %]
478                     [% ELSE %]
479                         [% available_items_loo.branchname %]
480                     [% END %]
481
482                     [% IF ( OPACItemsResultsDisplay ) %]
483                         [% UNLESS ( singleBranchMode ) %][% available_items_loo.location %][% END %]
484                         [% IF ( available_items_loo.itemcallnumber ) %][<a href="/cgi-bin/koha/opac-search.pl?q=callnum:[% available_items_loo.itemcallnumber |url %]">[% available_items_loo.itemcallnumber %]</a>][% END %]
485                     [% END %]
486                     ([% available_items_loo.count %]),
487                     [% END %]
488                     [% END %]
489                     </span>
490                     [% ELSE %]
491                     [% IF ( SEARCH_RESULT.ALTERNATEHOLDINGS ) %]
492                     [% FOREACH ALTERNATEHOLDING IN SEARCH_RESULT.ALTERNATEHOLDINGS %]
493                         &nbsp;<span id="alternateholdings">[% ALTERNATEHOLDING.holding %]</span>,
494                     [% END %]
495                     [% ELSE %]
496                         <span class="unavailable">No items available:</span>
497                     [% END %]
498                     [% END %]
499                     <span class="unavailable">
500                     [% IF ( SEARCH_RESULT.onloancount ) %] Checked out ([% SEARCH_RESULT.onloancount %]), [% END %]
501                     [% IF ( SEARCH_RESULT.wthdrawncount ) %] Withdrawn ([% SEARCH_RESULT.wthdrawncount %]), [% END %]
502                     [% UNLESS ( SEARCH_RESULT.hidelostitems ) %][% IF ( SEARCH_RESULT.itemlostcount ) %] Lost ([% SEARCH_RESULT.itemlostcount %]),[% END %][% END %]
503                     [% IF ( SEARCH_RESULT.damagedcount ) %] Damaged ([% SEARCH_RESULT.damagedcount %]),[% END %]
504                     [% IF ( SEARCH_RESULT.orderedcount ) %] On order ([% SEARCH_RESULT.orderedcount %]),[% END %]
505                     [% IF ( SEARCH_RESULT.onholdcount ) %] On hold ([% SEARCH_RESULT.onholdcount %]),[% END %]
506                     [% IF ( SEARCH_RESULT.intransitcount ) %] In transit ([% SEARCH_RESULT.intransitcount %]),[% END %]
507                     </span>
508                 </span>
509                 [% END %]
510
511                 [% IF ( SEARCH_RESULT.score_avg ) %]
512                     <span class="result_summary">
513                         <img src="[% themelang %]/../images/Star[% SEARCH_RESULT.score_int %].gif" title="" style="max-height: 15px;"/> <span style="font-size: 85%;">[% SEARCH_RESULT.score_avg %] / 5 (on [% SEARCH_RESULT.num_scores %] rates)</span>
514                         [% IF ( SEARCH_RESULT.num_critics ) %]
515                             <span class="social_data">[% SEARCH_RESULT.num_critics %] Internet user critics</span>
516                         [% END %]
517                         [% IF ( SEARCH_RESULT.num_critics_pro ) %]
518                             <span class="social_data">[% SEARCH_RESULT.num_critics_pro %] Professional critics</span>
519                         [% END %]
520                         [% IF ( SEARCH_RESULT.num_videos ) %]
521                             <span class="social_data">[% SEARCH_RESULT.num_videos %] Video extracts</span>
522                         [% END %]
523                         [% IF ( SEARCH_RESULT.num_quotations ) %]
524                             <span class="social_data">[% SEARCH_RESULT.num_quotations %] Quotations</span>
525                         [% END %]
526                     </span>
527                 [% END %]
528
529                 [% IF ( LibraryThingForLibrariesID ) %]<div class="ltfl_reviews"></div>[% END %]
530                 [% IF ( opacuserlogin ) %][% IF ( TagsEnabled ) %]
531                                 [% IF ( TagsShowOnList ) %]
532                                 [% IF ( SEARCH_RESULT.TagLoop.size ) %]
533                                         <div class="results_summary"><span class="label">Tags:</span>
534                                         <ul style="display: inline; list-style: none;">[% FOREACH TagLoo IN SEARCH_RESULT.TagLoop %]<li style="display: inline; list-style: none;"><a href="/cgi-bin/koha/opac-search.pl?tag=[% TagLoo.term |url %]&amp;q=[% TagLoo.term |url %]">[% TagLoo.term %]</a> <span class="weight">([% TagLoo.weight_total %])</span></li>
535                                             [% END %]
536                                         </ul>
537                                    [% END %]
538                                     [% IF ( SEARCH_RESULT.TagLoop.size ) %]
539                                     </div>[% END %]
540                                 [% END %]
541                                 [% END %][% END %]
542                 [% IF ( SEARCH_RESULT.searchhighlightblob ) %]<span class="results_summary"><span class="label">Match:</span> [% SEARCH_RESULT.searchhighlightblob %]</span>[% END %]
543
544
545
546
547                 [% IF ( OpacStarRatings == 'all' ) %]
548                 <div class="results_summary">
549
550 [% FOREACH i  IN [ 1 2 3 4 5  ] %]
551
552 [% IF ( SEARCH_RESULT.rating_avg == i ) %]
553     <input class="star" type="radio"  name="rating-[% SEARCH_RESULT.biblionumber %]" value="[% i %]" checked="checked" disabled="disabled"   />
554 [% ELSE   %]
555     <input class="star" type="radio"  name="rating-[% SEARCH_RESULT.biblionumber %]" value="[% i %]" disabled="disabled"   />
556 [% END %]
557
558 [% END %]
559                 <input type="hidden" name='biblionumber'  value="[% SEARCH_RESULT.biblionumber %]" />
560                 <input type="hidden" name='loggedinuser'  value="[% loggedinuser %]" />
561
562                 [% IF (  SEARCH_RESULT.rating_total ) > 0  %]
563                     <span id="rating_total_[% SEARCH_RESULT.biblionumber %]">&nbsp;&nbsp;([% SEARCH_RESULT.rating_total %] votes)</span>
564                 [% ELSE %]
565                     <br />
566                 [% END %]
567
568                 </div>
569                 [% END %]
570
571 <span class="results_summary actions"><span class="label">Actions:</span>
572                 [% IF ( RequestOnOpac ) %]
573                     [% UNLESS ( SEARCH_RESULT.norequests ) %]
574                         [% IF ( opacuserlogin ) %]
575                             [% IF ( AllowOnShelfHolds ) %]
576                                 <a class="hold" href="/cgi-bin/koha/opac-reserve.pl?biblionumber=[% SEARCH_RESULT.biblionumber %]">Place hold</a><!-- add back when available 0 holds in queue-->
577                             [% ELSE %]
578                                 [% IF ( SEARCH_RESULT.itemsissued ) %]
579                                     <a class="hold" href="/cgi-bin/koha/opac-reserve.pl?biblionumber=[% SEARCH_RESULT.biblionumber %]">Place hold</a><!-- add back when available 0 holds in queue-->
580                                 [% END %]
581                             [% END %]
582                         [% END %]
583                     [% END %]
584                 [% END %]
585
586                 [% IF ( TagsInputOnList ) %]
587                     [% IF ( loggedinusername ) %]
588                         <a class="tag_results_add" id="tag_add[% SEARCH_RESULT.biblionumber %]" href="#">Add tag</a>
589                         <span id="tagform[% SEARCH_RESULT.biblionumber %]" class="tag_results_input"><label for="newtag[% SEARCH_RESULT.biblionumber %]">New tag(s):</label><input name="newtag[% SEARCH_RESULT.biblionumber %]" id="newtag[% SEARCH_RESULT.biblionumber %]" maxlength="100" />
590                         <input name="tagbutton" class="tagbutton" title="[% SEARCH_RESULT.biblionumber %]" type="submit" value="Add" /> <a class="cancel_tag_add" id="cancel[% SEARCH_RESULT.biblionumber %]" href="#">Cancel</a>
591                         <span id="newtag[% SEARCH_RESULT.biblionumber %]_status" class="tagstatus" style="display:none;">
592                         Tag status here.
593                         </span></span>
594                     [% ELSIF ( loop.first ) %]<span id="login4tags">Log in to add tags.</span>
595                     [% END %]
596                 [% END %]
597
598                 [% IF ( opacuserlogin ) %][% IF ( loggedinusername ) %][% IF ( virtualshelves ) %]<a class="addtoshelf" href="/cgi-bin/koha/opac-addbybiblionumber.pl?biblionumber=[% SEARCH_RESULT.biblionumber %]" onclick="Dopop('opac-addbybiblionumber.pl?biblionumber=[% SEARCH_RESULT.biblionumber %]'); return false;">Save to Lists</a>
599                 [% END %][% END %][% END %]
600                 [% IF ( opacbookbag ) %]
601                     [% IF ( SEARCH_RESULT.incart ) %]
602                         <a class="addtocart cart[% SEARCH_RESULT.biblionumber %]" href="#" onclick="addRecord('[% SEARCH_RESULT.biblionumber %]'); return false;">In your cart</a> <a class="cartRemove cartR[% SEARCH_RESULT.biblionumber %]" href="#" onclick="delSingleRecord('[% SEARCH_RESULT.biblionumber %]'); return false;">(remove)</a>
603                     [% ELSE %]
604                         <a class="addtocart cart[% SEARCH_RESULT.biblionumber %]" href="#" onclick="addRecord('[% SEARCH_RESULT.biblionumber %]'); return false;">Add to cart</a> <a style="display:none;" class="cartRemove cartR[% SEARCH_RESULT.biblionumber %]" href="#" onclick="delSingleRecord('[% SEARCH_RESULT.biblionumber %]'); return false;">(remove)</a>
605                     [% END %]
606                 [% END %]
607                 </span>
608                 </td><td>
609                     <a class="p1" href="/cgi-bin/koha/opac-detail.pl?biblionumber=[% SEARCH_RESULT.biblionumber %]">
610             [% IF ( OPACLocalCoverImages ) %]<span title="[% SEARCH_RESULT.biblionumber |url %]" class="[% SEARCH_RESULT.biblionumber %]" id="local-thumbnail[% loop.count %]"></span>[% END %]
611                     [% IF ( OPACAmazonCoverImages ) %][% IF ( SEARCH_RESULT.normalized_isbn ) %]<img src="http://images.amazon.com/images/P/[% SEARCH_RESULT.normalized_isbn %].01.TZZZZZZZ.jpg" alt="" class="thumbnail" />[% ELSE %]<span class="no-image">No cover image available</span>[% END %][% END %]
612
613                 [% IF ( SyndeticsEnabled ) %]
614                     [% IF ( SyndeticsCoverImages ) %]
615                         [% IF SEARCH_RESULT.normalized_isbn %]
616                                 [% IF ( using_https ) %]
617                             <img src="https://secure.syndetics.com/index.aspx?isbn=[% SEARCH_RESULT.normalized_isbn %]/SC.GIF&amp;client=[% SyndeticsClientCode %]&amp;type=xw10&amp;upc=[% SEARCH_RESULT.normalized_upc %]&amp;oclc=[% SEARCH_RESULT.normalized_oclc %]" alt="" class="thumbnail" />
618                         [% ELSE %]
619                             <img src="http://www.syndetics.com/index.aspx?isbn=[% SEARCH_RESULT.normalized_isbn %]/SC.GIF&amp;client=[% SyndeticsClientCode %]&amp;type=xw10&amp;upc=[% SEARCH_RESULT.normalized_upc %]&amp;oclc=[% SEARCH_RESULT.normalized_oclc %]" alt="" class="thumbnail" />
620                     [% END %]
621                     [% ELSE %]
622                         <span class="no-image">No cover image available</span>
623                     [% END %]
624             [% END %]
625                 [% END %]
626
627                 [% IF ( GoogleJackets ) %][% IF ( SEARCH_RESULT.normalized_isbn ) %]<span style="block" title="[% SEARCH_RESULT.biblionumber |url %]" class="[% SEARCH_RESULT.normalized_isbn %]" id="gbs-thumbnail[% loop.count %]"></span>[% ELSE %]<span class="no-image">No cover image available</span>[% END %][% END %]
628         [% IF OpenLibraryCovers %][% IF SEARCH_RESULT.normalized_isbn %]<span style="block" title="[% SEARCH_RESULT.biblionumber %]" class="[% SEARCH_RESULT.normalized_isbn %]" id="openlibrary-thumbnail[% loop.count %]"></span>[% ELSE %]<span class="no-image">No cover image available</span>[% END %][% END %]
629                 </a>
630                 [% IF ( BakerTaylorEnabled ) %][% IF ( SEARCH_RESULT.normalized_isbn ) %]<a href="https://[% BakerTaylorBookstoreURL |html %][% SEARCH_RESULT.normalized_isbn %]"><img alt="See Baker &amp; Taylor" src="[% BakerTaylorImageURL |html %][% SEARCH_RESULT.normalized_isbn %]" /></a>[% ELSE %]<span class="no-image">No cover image available</span>[% END %][% END %]
631                 </td>
632                 </tr>
633                 [% END %]
634             </table>
635     </form>
636     <form id="hold_form" name="hold_form" method="get" action="/cgi-bin/koha/opac-reserve.pl">
637         <!-- The value will be set by holdBiblioNums() in basket.js -->
638         <input id="hold_form_biblios" type="hidden" name="biblionumbers" value=""/>
639     </form>
640         </div>
641     [% END %]
642     [% INCLUDE 'page-numbers.inc' %]
643
644     [% ELSE %]
645     [% END %]
646
647     [% IF ( suggestion ) %]
648 [% IF ( AnonSuggestions ) %]<div class="suggestion">Not finding what you're looking for?<br />  Make a <a href="/cgi-bin/koha/opac-suggestions.pl?op=add">purchase suggestion</a></div>[% ELSE %][% IF ( loggedinusername ) %]<div class="suggestion">Not finding what you're looking for?<br />  Make a <a href="/cgi-bin/koha/opac-suggestions.pl?op=add">purchase suggestion</a></div>[% END %][% END %]
649 [% END %]
650 </div>
651 </div>
652 </div>
653         [% IF ( opacfacets ) %]
654 <div class="yui-b"><div id="facetcontainer" class="container">
655         <!-- FACETS START -->
656         [% INCLUDE 'opac-facets.inc' %]
657         <!-- FACETS END -->
658 </div></div>
659         [% END %]
660 </div>
661
662 [% IF ( LibraryThingForLibrariesID ) %]
663 [% IF ( using_https ) %]
664 <script src="https://ltfl.librarything.com/forlibraries/widget.js?id=[% LibraryThingForLibrariesID %]&amp;systype=koha" type="text/javascript"></script>
665 [% ELSE %]
666 <script src="http://ltfl.librarything.com/forlibraries/widget.js?id=[% LibraryThingForLibrariesID %]&amp;systype=koha" type="text/javascript"></script>
667 [% END %]
668 [% END %]
669
670 [% INCLUDE 'opac-bottom.inc' %]