Bug 29083: Don't pass _count var
[koha.git] / koha-tmpl / opac-tmpl / bootstrap / en / modules / opac-detail.tt
1 [% USE raw %]
2 [% USE Asset %]
3 [% USE Math %]
4 [% USE Koha %]
5 [% USE KohaDates %]
6 [% USE Branches %]
7 [% USE TablesSettings %]
8 [% USE AuthorisedValues %]
9 [% SET TagsShowEnabled = ( ( Koha.Preference( 'TagsEnabled' ) == 1 ) && TagsShowOnDetail ) %]
10 [% SET TagsInputEnabled = ( ( Koha.Preference( 'opacuserlogin' ) == 1 ) && ( Koha.Preference( 'TagsEnabled' ) == 1 ) && TagsInputOnDetail ) %]
11 [% IF Koha.Preference('AmazonAssocTag') %]
12     [% AmazonAssocTag = '?tag=' _ Koha.Preference('AmazonAssocTag') %]
13 [% ELSE %]
14     [% AmazonAssocTag = '' %]
15 [% END %]
16 [% SET AdlibrisEnabled = Koha.Preference('AdlibrisCoversEnabled') %]
17 [% SET AdlibrisURL = Koha.Preference('AdlibrisCoversURL') %]
18
19 [% ShowCourseReservesHeader = 0 %]
20 [% IF Koha.Preference( 'UseCourseReserves' ) == 1 %]
21     [% FOREACH ITEM_RESULT IN itemloop %]
22        [% IF ITEM_RESULT.course_reserves %]
23            [% FOREACH r IN ITEM_RESULT.course_reserves %]
24                [% IF r.course.enabled == 'yes' %]
25                    [% ShowCourseReservesHeader = 1 %]
26                [% END %]
27            [% END %]
28         [% END %]
29     [% END %]
30 [% END %]
31
32 [% INCLUDE 'doc-head-open.inc' %]
33 <title>Details for: [% INCLUDE 'biblio-title-head.inc' %] &rsaquo; [% IF ( LibraryNameTitle ) %][% LibraryNameTitle | html %][% ELSE %]Koha online[% END %] catalog</title>
34 [% INCLUDE 'doc-head-close.inc' %]
35     [% Asset.css("lib/emoji-picker/css/emoji.css") | $raw %]
36     [% IF ( Koha.Preference('OPACShowMusicalInscripts') ) %]
37         [% Asset.css("lib/verovio/midiplayer.css") | $raw %]
38     [% END %]
39 </head>
40 [% BLOCK cssinclude %][% END %]
41 [% INCLUDE 'bodytag.inc' bodyid='opac-detail' bodyclass='scrollto' %]
42 [% INCLUDE 'masthead.inc' %]
43
44 <div class="main">
45     <nav aria-label="breadcrumb">
46         <ul class="breadcrumb">
47             <li class="breadcrumb-item">
48                 <a href="/cgi-bin/koha/opac-main.pl">Home</a>
49             </li>
50             <li class="breadcrumb-item" aria-current="page">
51                 <a href="#"><span>Details for: </span>[% INCLUDE 'biblio-title.inc' %]</a>
52             </li>
53         </ul>
54     </nav>
55
56     <div class="container-fluid">
57         <div class="row">
58             <div class="col-lg-9">
59                 <div id="catalogue_detail_biblio" class="maincontent" data-biblionumber="[% biblio.biblionumber | html %]">
60
61                     <div id="bookcover">
62                         [% IF ( biblio.title ) %]
63                             [% img_title = biblio.title %]
64                         [% ELSE %]
65                             [% img_title = biblio.biblionumber %]
66                         [% END %]
67
68                         [% IF ( OPACLocalCoverImages ) %]
69                             <div title="[% img_title | html %]" class="[% biblio.biblionumber | html %]" id="local-thumbnail-preview"></div>
70                         [% END %]
71
72                         [% IF ( AdlibrisEnabled && normalized_isbn ) %]
73                             <a href="[% AdlibrisURL | url %]?isbn=[% normalized_isbn | uri %]"><img src="[% AdlibrisURL | url %]?isbn=[% normalized_isbn | uri %]" alt="Cover image" class="adlibris-cover-big" /></a>
74                         [% END %]
75
76                         [% IF ( OPACAmazonCoverImages ) %]
77                             [% IF ( OPACURLOpenInNewWindow ) %]
78                                 <a href="http://www.amazon[% AmazonTld | uri %]/gp/reader/[% normalized_isbn | uri %][% AmazonAssocTag | uri %]#reader-link" target="_blank" rel="noreferrer">
79                             [% ELSE %]
80                                 <a href="http://www.amazon[% AmazonTld | uri %]/dp/[% normalized_isbn | uri %][% AmazonAssocTag | uri %]">
81                             [% END %]
82                             <img src="https://images-na.ssl-images-amazon.com/images/P/[% normalized_isbn | html %].01.MZZZZZZZ.jpg" alt="Cover image" /></a>
83                         [% END %]
84
85                         [% IF ( SyndeticsEnabled && SyndeticsCoverImages ) %]
86                             [% IF ( content_identifier_exists ) %]
87                                 <img src="https://secure.syndetics.com/index.aspx?isbn=[% normalized_isbn | html %]/[% SyndeticsCoverImageSize | html %].GIF&amp;client=[% SyndeticsClientCode | html %]&amp;type=xw10&amp;upc=[% normalized_upc | html %]&amp;oclc=[% normalized_oclc | html %]" alt="" class="thumbnail" />
88                             [% ELSE %]
89                                 <span class="no-image">No cover image available</span>
90                             [% END %]
91                         [% END %]
92
93                         [% IF ( GoogleJackets ) %]
94                             <div title="[% img_title | html %]" class="[% normalized_isbn | html %]" id="gbs-thumbnail-preview"></div>
95                         [% END %]
96                         [% IF ( Koha.Preference('OpacCoce') && Koha.Preference('CoceProviders') ) %]
97                             [% coce_id = normalized_ean || normalized_isbn | html %]
98                             <div title="[% img_title | html %]" class="[% coce_id | html %]" id="coce-thumbnail-preview"></div>
99                         [% END %]
100                         [% IF OpenLibraryCovers %]
101                             <div title="[% img_title | html %]" class="[% normalized_isbn | html %]" id="openlibrary-thumbnail-preview"></div>
102                         [% END %]
103                         [% bt_id = ( normalized_upc || normalized_isbn ) %]
104                         [% IF ( BakerTaylorEnabled && bt_id ) %]
105                             [% IF BakerTaylorBookstoreURL %]
106                                 [% IF ( OPACURLOpenInNewWindow ) %]
107                                     <a href="https://[% BakerTaylorBookstoreURL | url %][% bt_id | url %]" target="_blank" rel="noreferrer"><img alt="See Baker &amp; Taylor" src="[% BakerTaylorImageURL | html %][% bt_id | html %]" /></a>
108                                 [% ELSE %]
109                                     <a href="https://[% BakerTaylorBookstoreURL | url %][% bt_id | url %]"><img alt="See Baker &amp; Taylor" src="[% BakerTaylorImageURL | html %][% bt_id | html %]" /></a>
110                                 [% END %]
111                             [% ELSE %]
112                                 <img alt="See Baker &amp; Taylor" src="[% BakerTaylorImageURL | html %][% bt_id | html %]" />
113                             [% END %]
114                         [% END %]
115                         [% IF Koha.Preference('OPACCustomCoverImages') AND Koha.Preference('CustomCoverImagesURL') %]
116                             [% SET custom_cover_image_url = biblio.custom_cover_image_url %]
117                             [% IF custom_cover_image_url %]
118                                 [% IF ( OPACURLOpenInNewWindow ) %]
119                                     <a class="custom_cover_image" href="[% custom_cover_image_url | url %]" target="_blank" rel="noreferrer"><img alt="Cover image" src="[% custom_cover_image_url | url %]" /></a>
120                                 [% ELSE %]
121                                     <a class="custom_cover_image" href="[% custom_cover_image_url | url %]"><img alt="Cover image" src="[% custom_cover_image_url | url %]" /></a>
122                                 [% END %]
123                             [% END %]
124                         [% END %]
125                     </div><!-- / #bookcover -->
126
127                     <abbr class="unapi-id" title="koha:biblionumber:[% biblio.biblionumber | html %]"><!-- unAPI --></abbr>
128                     [% IF ( ocoins ) # COinS / Openurl %]
129                         <span class="Z3988" title="[% ocoins | html %]"></span>
130                     [% END %]
131
132                     <div id="views">
133                         <span class="view current-view"><span id="Normalview"><i class="fa fa-file-text-o" aria-hidden="true"></i> Normal view</span></span>
134                         <span class="view">
135                             <a id="MARCview" class="btn btn-link" href="/cgi-bin/koha/opac-MARCdetail.pl?biblionumber=[% biblio.biblionumber | html %]"><i class="fa fa-list-alt" aria-hidden="true"></i> MARC view</a>
136                         </span>
137                         [% IF ( ISBD ) %]
138                             <span class="view"><a id="ISBDview" class="btn btn-link" href="/cgi-bin/koha/opac-ISBDdetail.pl?biblionumber=[% biblio.biblionumber | html %]"><i class="fa fa-list-ul" aria-hidden="true"></i> ISBD view</a></span>
139                             [% END %]
140                     </div>
141
142                     [% XSLTBloc | $raw %]
143
144                     [% IF ( !item_level_itypes || Koha.Preference('BiblioItemtypeInfo') ) %]
145                         <span class="results_summary itemtype"><span class="label">Item type: </span>
146                             [% IF ( imageurl && !Koha.Preference('OpacNoItemTypeImages') ) %]
147                                 <img src="[% imageurl | html %]" alt="" />
148                             [% END %]
149                             [% IF ( description ) %]
150                                 [% description | html %]
151                             [% ELSE %]
152                                 [% itemtype | html %]
153                             [% END %]
154                         </span>
155                     [% END %]
156
157                     [% IF ( LibraryThingForLibrariesID ) %]
158                         <!-- This puts the LTFL reviews in, and if TabbedView is not set, puts the remaining content above the Tabs instead of in them -->
159                         [% UNLESS ( LibraryThingForLibrariesTabbedView ) %]
160                             <div class="results_summary"><div id="ltfl_related" class="ltfl"></div></div>
161                             <div class="results_summary"><div id="ltfl_similars" class="ltfl"></div></div>
162                             <div class="results_summary"><div id="ltfl_tagbrowse" class="ltfl"></div></div>
163                         [% END %]
164                         <span class="results_summary">
165                             <span class="label">Reviews from LibraryThing.com:</span>
166                             <span style="display: block;" class="ltfl_reviews"></span>
167                         </span>
168                     [% END # / LibraryThingForLibrariesID %]
169
170                     [% IF shelves.count %]
171                         <!--This grabs all of the lists a bib record appears in -->
172                         <span class="results_summary lists"><span class="label">List(s) this item appears in: </span>
173                         [% FOREACH s IN shelves %]
174                             <a href="/cgi-bin/koha/opac-shelves.pl?op=view&amp;shelfnumber=[% s.shelfnumber | uri %]">[% s.shelfname | html %]</a>
175                             [% IF ( loop.last ) %][% ELSE %]|[% END %]
176                         [% END %]
177                         </span>
178                     [% END %]
179
180                     [% IF ( TagsShowEnabled ) %]
181                         <div class="results_summary tags">
182                             [% IF ( TagLoop ) %]
183                                 <span class="label">Tags from this library:</span>
184                                 <ul id="tagslist">
185                                     [% FOREACH TagLoo IN TagLoop %]
186                                         <li><a href="/cgi-bin/koha/opac-search.pl?tag=[% TagLoo.term |url %]&amp;q=[% TagLoo.term |url %]">[% TagLoo.term | html %]</a> <span class="weight">([% TagLoo.weight_total | html %])</span>
187                                         [% IF ( loop.last ) %][% ELSE %], [% END %]
188                                         </li>
189                                     [% END %]
190                                 </ul>
191                             [% ELSE %]
192                                 <span class="label">Tags from this library:</span>
193                                 <span class="notags">No tags from this library for this title.</span>
194                             [% END # / IF ( TagLoop )%]
195                             [% IF ( TagsInputEnabled ) %]
196                                 [% IF ( loggedinusername ) %]
197                                     <a class="tag_add btn btn-sm btn-link" id="tag_add[% biblio.biblionumber | html %]" href="#"><i class="fa fa-tag" aria-hidden="true"></i> Add tag(s)</a>
198                                 [% ELSE %]
199                                     <span class="login4tags">
200                                         [% IF Koha.Preference('casAuthentication') %]
201                                             [%# CAS authentication is too complicated for modal window %]
202                                             <a href="/cgi-bin/koha/opac-user.pl">Log in to add tags.</a>
203                                         [% ELSE %]
204                                             <a class="loginModal-trigger" data-toggle="modal" role="button" href="/cgi-bin/koha/opac-user.pl">Log in to add tags.</a>
205                             [% END %]
206                                     </span>
207                                 [% END # / IF ( loggedinusername ) %]
208                             [% END # / IF ( TagsInputEnabled ) %]
209                         </div> <!-- /.results_summary.tags -->
210                     [% END # /IF TagsShowEnabled %]
211
212                     [% IF ( TagsInputEnabled ) %]
213                         [% IF ( loggedinusername ) %]
214                             <form id="tagform[% biblio.biblionumber | html %]" method="post" action="/cgi-bin/koha/opac-tags.pl" style="display:none;">
215                                 <legend class="sr-only">Tags</legend>
216                                 <div class="form-row">
217                                     <div class="col-3">
218                                         <label for="newtag[% biblio.biblionumber | html %]">New tag(s), separated by a comma:</label>
219                                     </div> <!-- /.col-3 -->
220                                     <div class="col-6">
221                                         <p class="emoji-picker-container">
222                                             <input
223                                             name="newtag[% biblio.biblionumber | html %]"
224                                             id="newtag[% biblio.biblionumber | html %]"
225                                             type="text"
226                                             maxlength="100"
227                                             data-emojiable="true"
228                                             data-emoji-input="unicode">
229                                         </p>
230                                     </div> <!-- /.col-6 -->
231                                     <div class="col-auto">
232                                         <input name="tagbutton" class="btn btn-sm btn-primary tagbutton" title="[% biblio.biblionumber | html %]" type="submit" value="Add" />
233                                         <a class="cancel_tag_add" id="cancel[% biblio.biblionumber | html %]" href="#">(done)</a>
234                                         <span id="newtag[% biblio.biblionumber | html %]_status" class="tagstatus" style="display:none;">
235                                             Tag status here.
236                                         </span>
237                                     </div> <!-- /.col-auto -->
238                                 </div> <!-- /.form-row -->
239                             </form>
240                         [% END # / IF ( loggedinusername ) %]
241                     [% END # / IF TagsInputEnabled %]
242
243                     [% IF ( SyndeticsEnabled ) %]
244                         [% IF ( SyndeticsSeries && SyndeticsSERIES1Exists ) %]
245                             <span class="results_summary">
246                                 <span class="label">Series information:</span>
247                                 <a target="_blank" rel="noreferrer" href="https://secure.syndetics.com/ffseries.aspx?isbn=[% normalized_isbn | html %]&amp;type=series&amp;num=1&amp;client=[% SyndeticsClientCode | html %][% IF ( normalized_upc ) %]&amp;upc=[% normalized_upc | html %][% END %][% IF ( normalized_oclc ) %]&amp;oclc=[% normalized_oclc | html %][% END %]">Click to open in new window</a>
248                             </span>
249                         [% END # / IF SyndeticsSeries && SyndeticsSERIES1Exists%]
250                         [% IF ( SyndeticsAVPROFILEExists ) %]
251                             <span class="results_summary">
252                                 <span class="label">Audiovisual profile:</span>
253                                 <a target="_blank" rel="noreferrer" href="https://secure.syndetics.com/index.aspx?isbn=[% normalized_isbn | html %]/avprofile.html&amp;client=[% SyndeticsClientCode | html %][% IF ( normalized_upc ) %]&amp;upc=[% normalized_upc | html %][% END %][% IF ( normalized_oclc ) %]&amp;oclc=[% normalized_oclc | html %][% END %]&amp;type=xw10">Click to open in new window</a>
254                             </span>
255                         [% END # / IF SyndeticsAVPROFILEExists %]
256
257                         [% IF ( SyndeticsFICTIONExists ) %]
258                             <span class="results_summary">
259                                 <span class="label">Fiction notes:</span>
260                                 <a target="_blank" rel="noreferrer" href="https://secure.syndetics.com/index.aspx?isbn=[% normalized_isbn | html %]/fiction.html&amp;client=[% SyndeticsClientCode | html %][% IF ( normalized_upc ) %]&amp;upc=[% normalized_upc | html %][% END %][% IF ( normalized_oclc ) %]&amp;oclc=[% normalized_oclc | html %][% END %]&amp;type=xw10">Click to open in new window</a>
261                             </span>
262                         [% END # / IF SyndeticsFICTIONExists %]
263
264                         [% IF ( SyndeticsAwards && SyndeticsAWARDS1Exists ) %]
265                             <span class="results_summary">
266                                 <span class="label">Awards:</span>
267                                 <a target="_blank" rel="noreferrer" href="https://secure.syndetics.com/ffawards.aspx?isbn=[% normalized_isbn | html %]&amp;type=awards&amp;client=[% SyndeticsClientCode | html %][% IF ( normalized_upc ) %]&amp;upc=[% normalized_upc | html %][% END %][% IF ( normalized_oclc ) %]&amp;oclc=[% normalized_oclc | html %][% END %]">Click to open in new window</a>
268                             </span>
269                         [% END # / IF SyndeticsAwards && SyndeticsAWARDS1Exists %]
270                     [% END # / IF SyndeticsEnabled%]
271
272                     [%# Following on one line due to translation issues %]
273                     [% INCLUDE "openlibrary-readapi.inc" bib = { normalized_isbn => normalized_isbn,lccn => lccn, normalized_oclc => normalized_oclc } %]
274
275                     [% IF ( OpacStarRatings != 'disable' ) %]
276                         <form method="post" action="/cgi-bin/koha/opac-ratings.pl">
277                             <legend class="sr-only">Star ratings</legend>
278                             <div class="results_summary ratings">
279
280                                 [% SET rating_avg = ratings.get_avg_rating() %]
281                                 [% rating_avg_int = BLOCK %][% rating_avg | format("%.0f") %][% END %]
282
283                                 [% IF ( borrowernumber ) %]
284                                     <select id="star_rating" name="rating" data-rating-enabled="1" autocomplete="off">
285                                 [% ELSE %]
286                                     <select id="star_rating" name="rating" data-rating-enabled="0" disabled="disabled" autocomplete="off">
287                                 [% END %]
288                                     [% IF ( rating_avg_int == 0 ) %]
289                                         <option value="" selected="selected"></option>
290                                     [% END %]
291                                     [% FOREACH i IN [ 1 2 3 4 5  ] %]
292                                         [% IF rating_avg_int == i %]
293                                             <option value="[% i | html %]" selected="selected">[% i | html %]</option>
294                                         [% ELSE %]
295                                             <option value="[% i | html %]">[% i | html %]</option>
296                                         [% END %]
297                                     [% END %]
298                                 </select>
299                                 <img id="rating-loading" style="display:none" src="[% interface | html %]/[% theme | html %]/images/spinner-small.gif" alt="" />
300
301                                 <!-- define some hidden vars for ratings -->
302
303                                 <input  type="hidden" name='biblionumber'  value="[% biblio.biblionumber | html %]" />
304                                 <input  type="hidden" name='rating_value' id='rating_value' value="[% my_rating.rating_value | html %]" />
305
306                                 [% UNLESS ( rating_readonly ) %]&nbsp;  <input name="rate_button" type="submit" value="Rate me" />[% END %]&nbsp;
307
308                                 [% IF my_rating %]
309                                     <span id="rating_value_text">Your rating: [% my_rating.rating_value | html %].</span>
310                                     <span id="cancel_rating_text"><a href="#"><i class="fa fa-remove" aria-hidden="true"></i> Cancel rating</a>.</span>
311                                 [% ELSE %]
312                                     <span id="rating_value_text"></span>
313                                     <span id="cancel_rating_text" style="display:none;"><a href="#"><i class="fa fa-remove" aria-hidden="true"></i> Cancel rating</a>.</span>
314                                 [% END %]
315
316                                 <span id="rating_text">Average rating: [% rating_avg | html %] ([% ratings.count | html %] votes)</span>
317                             </div>
318                         </form>
319                     [% END # / IF OpacStarRatings != 'disable' %]
320
321                     [% IF ( BakerTaylorContentURL ) %]
322                         <span class="results_summary">
323                         <span class="label">Enhanced content: </span>
324                               [% IF ( OPACURLOpenInNewWindow ) %]<a href="[% BakerTaylorContentURL | url %]" target="_blank" rel="noreferrer">Content Cafe</a>[% ELSE %]<a href="[% BakerTaylorContentURL | url %]">Content Cafe</a>[% END %]
325                         </span>
326                     [% END # / IF BakerTaylorContentURL %]
327
328                     [% IF ( NovelistSelectProfile && (normalized_isbn || normalized_upc) ) %]
329                         [% IF ( NovelistSelectView == 'above') %]
330                             <span class="results_summary NovelistSelect" style="display:none;">
331                             <span class="label">Novelist Select: </span>
332                             <div data-novelist-novelistselect=[% IF normalized_isbn %][% normalized_isbn | html %][% ELSE %][% normalized_upc | html %][% END %]></div>
333
334                             </span>
335                         [% END %]
336                     [% END # / IF NovelistSelectProfile %]
337
338                     [% IF ( Babeltheque ) %]
339                         <input type="hidden" name="BW_id_isbn" id="BW_id_isbn" value="[% normalized_isbn | html %]"/>
340                         <div id="BW_notes"></div>
341                         <div id="BW_critiques"></div>
342                         <div id="BW_critiques_pro"></div>
343                         <div id="BW_citations"></div>
344                     [% END # / IF Babeltheque%]
345
346                 </div> <!-- / #catalogue_detail_biblio -->
347
348                 <div id="bibliodescriptions" class="toptabs">
349                     <ul>
350                         [% IF ( defaulttab == 'holdings' ) %]
351                             <li id="tab_holdings" class="ui-tabs-active">
352                         [% ELSE %]
353                             <li id="tab_holdings">
354                         [% END %]
355                             [% BLOCK holding_tab_title %]
356                                 [% IF SeparateHoldings %]
357                                     <span>[% Branches.GetLoggedInBranchname | html %] holdings</span>
358                                 [% ELSE %]
359                                     [% IF specific_item %]
360                                         <span>Item details</span>
361                                     [% ELSE %]
362                                         <span>Holdings</span>
363                                     [% END %]
364                                 [% END %]
365                             [% END %]
366                             <a href="#holdings">[% PROCESS holding_tab_title %] [% UNLESS too_many_items OR specific_item %][% ' ( ' _ (itemloop.size || 0) _ ' )' | html %][% END %]</a>
367                         </li>
368                         [% IF (SeparateHoldings) %]
369                             <li><a href="#otherholdings">Other holdings [% ' ( ' _ (otheritemloop.size || 0) _ ' )' | html %]</a></li>
370                         [% END %]
371                         [% IF ( MARCNOTES || notes || ( SyndeticsEnabled && SyndeticsSummary && SYNDETICS_SUMMARY )) %]
372                             [% SET title_notes_count = 0 %]
373                             [% IF MARCNOTES %]
374                                 [% SET title_notes_count = MARCNOTES.size %]
375                             [% ELSIF notes %]
376                                 [% SET title_notes_count = 1 %]
377                             [% END %]
378                             [% IF SYNDETICS_SUMMARY %][% SET title_notes_count = title_notes_count + 1 %][% END %]
379                             <li id="tab_descriptions"> <a href="#descriptions">Title notes ( [% title_notes_count | html %] )</a></li>
380                         [% END %]
381                         [% IF ( SYNDETICS_TOC ) %]
382                             <li id="tab_toc"> <a href="#toc">TOC</a></li>
383                         [% END %]
384                         [% IF ( SyndeticsEnabled ) %]
385                             [% IF ( SyndeticsExcerpt && SYNDETICS_EXCERPT ) %]
386                                 <li id="tab_excerpt"> <a href="#excerpt">Excerpt</a></li>
387                             [% END %]
388                             [% IF ( ( SyndeticsReviews && SYNDETICS_REVIEWS ) || ( LibraryThingForLibrariesTabbedView && LibraryThingForLibrariesID) ) %]
389                                 <li id="tab_reviews"> <a href="#reviews">Reviews</a></li>
390                                 [% IF ( LibraryThingForLibrariesID ) %]
391                                     <li id="tab_LTFLreviews">
392                                         <script src="https://www.librarything.com/forlibraries/widget.js?id=[% LibraryThingForLibrariesID | html %]"></script>
393                                         <noscript>This page contains enriched content visible when JavaScript is enabled or by clicking <a href="https://www.librarything.com/forlibraries/noscript.php?id=[% LibraryThingForLibrariesID | uri %]&amp;accessibility=1">here</a>.</noscript>
394                                     </li>
395                                 [% END %]
396                             [% END %]
397                             [% IF ( SyndeticsAuthorNotes && SYNDETICS_ANOTES ) %]
398                                 <li id="tab_anotes"> <a href="#anotes">About the author</a></li>
399                             [% END %]
400                         [% END # / IF SyndeticsEnabled %]
401
402                         [% IF ( LibraryThingForLibrariesID && LibraryThingForLibrariesTabbedView ) %]
403                             <li id="tab_LFTLSimilarItems"> <a href="#LFTLSimilarItems">Similar items</a></li>
404                             <li id="tab_LTFLTagBrowse"> <a href="#LTFLTagBrowse">Tag browser</a></li>
405                         [% END %]
406
407                         [% IF ( subscriptionsnumber ) %]
408                             [% IF ( defaulttab == 'subscriptions' ) %]<li id="tab_subscriptions" class="ui-tabs-active">[% ELSE %]<li id="tab_subscriptions">[% END %]
409                                 <a href="#subscriptions">Subscriptions ( [% subscriptionsnumber | html %] )</a>
410                             </li>
411                         [% END %]
412
413                         [% IF Koha.Preference( 'OPACComments' ) == 1 %]
414                             <li id="tab_comments"><a href="#comments">Comments[% ' ( ' _ (reviews.size || 0) _ ' )' | html %]</a></li>
415                         [% END %]
416
417                         [% IF ( NovelistSelectProfile && (normalized_isbn || normalized_upc) ) %]
418                             [% IF ( NovelistSelectView == 'tab') %]
419                                 <li id="tab_NovelistSelect" class="NovelistSelect" style="display:none;"> <a href="#NovelistSelect">Novelist Select</a></li>
420                             [% END %]
421                         [% END %]
422
423                         [% IF ( OPACFRBRizeEditions && XISBNS ) %]
424                             <li id="tab_editions"><a href="#editions">Editions</a></li>
425                         [% END %]
426
427                         [% IF ( serialcollection ) %]
428                             [% IF ( defaulttab == 'serialcollection' ) %]<li id="tab_serialcollection" class="ui-tabs-active">[% ELSE %]<li id="tab_serialcollection">[% END %]
429                                 <a href="#serialcollection">Serial collection</a>
430                             </li>
431                         [% END %]
432
433                         [% IF ( OPACLocalCoverImages && localimages.count ) %]
434                             <li id="tab_images"><a href="#images">Images</a></li>
435                         [% END %]
436
437                         [% IF HTML5MediaEnabled && HTML5MediaSets.size %]
438                             [% IF ( defaulttab == 'media' ) %]<li id="tab_html5media" class="ui-tabs-active">[% ELSE %]<li id="tab_html5media">[% END %]<a href="#html5media">Play media</a></li>
439                         [% END %]
440
441                     </ul>
442
443                     [% IF ( serialcollection ) %]
444                         <div id="serialcollection">
445                             <table id="serialcollectiont" class="table table-bordered table-striped">
446                                 <caption class="sr-only">Serial collections</caption>
447                                 <thead>
448                                     <tr>
449                                         <th id="serial_library">Library</th>
450                                         <th id="serial_collection">Serial collection</th>
451                                         <th id="serial_itemcallnumber">Item call number</th>
452                                     </tr>
453                                 </thead>
454                                 <tbody>
455                                     [% FOREACH serialcollection IN serialcollections %]
456                                         <tr>
457                                             <td>[% serialcollection.branch | html %]</td>
458                                             <td>[% serialcollection.text | html %]</td>
459                                             <td>[% serialcollection.itemcallnumber | html %]</td>
460                                         </tr>
461                                     [% END %]
462                                 </tbody>
463                             </table>
464                         </div> <!-- /#serialcollection -->
465                     [% END # / IF serialcollection %]
466
467
468                     <div id="holdings">
469                         [% IF too_many_items %]
470                             <p>This record has many physical items ([% items_count | html %]). <a href="/cgi-bin/koha/opac-detail.pl?biblionumber=[% biblio.biblionumber | uri %]&amp;viewallitems=1">View all the physical items.</a></p>
471                         [% ELSIF ( itemloop.size ) %]
472                             [% INCLUDE items_table items=itemloop tab="holdings" table_id="holdingst" %]
473                             [% IF specific_item %]
474                                 <p><a href="/cgi-bin/koha/opac-detail.pl?biblionumber=[% biblio.biblionumber | uri %]">Show all items</a></p>
475                             [% ELSE %]
476                                 [% IF Koha.Preference('OPACAcquisitionDetails') and acquisition_details.total_quantity > 0 %]
477                                     [% IF acquisition_details.total_quantity == 1 %]
478                                         <span>1 item is on order.</span>
479                                     [% ELSE %]
480                                         <span>[% acquisition_details.total_quantity | html %] items are on order.</span>
481                                     [% END %]
482                                 [% END %]
483                                 [% IF holds_count.defined || priority %]
484                                     <div id="bib_holds">
485                                         [% IF holds_count.defined %]
486                                             <span>Total holds: [% holds_count | html %]</span>
487                                         [% END %]
488                                         [% IF priority %]
489                                             [% IF holds_count.defined %]
490                                                 <span>(priority [% priority | html %])</span>
491                                             [% ELSE %]
492                                                 <span>Overall queue priority: [% priority | html %]</span>
493                                             [% END %]
494                                         [% END %]
495                                     </div>
496                                 [% END %]
497
498                             [% END # /IF specific_item %]
499                         [% ELSE %]
500                             [% IF ( ALTERNATEHOLDINGS ) %]
501                                 [% FOREACH ALTERNATEHOLDING IN ALTERNATEHOLDINGS %]
502                                     <div id="alternateholdings"><span class="holdings_label">Holdings:</span> [% ALTERNATEHOLDING.holding | html %]</div>
503                                 [% END %]
504                             [% ELSE %]
505                                 [% IF Koha.Preference('OPACAcquisitionDetails') and acquisition_details.total_quantity > 0 %]
506                                     [% IF acquisition_details.total_quantity == 1 %]
507                                         <span>1 item is on order.</span>
508                                     [% ELSE %]
509                                         <span>[% acquisition_details.total_quantity | html %] items are on order.</span>
510                                     [% END %]
511                                 [% ELSE %]
512                                     <div id="noitems">No physical items for this record</div>
513                                 [% END %]
514                             [% END %]
515                         [% END # IF itemloop.size %]
516                         [% PROCESS 'shelfbrowser.inc' %]
517                         [% INCLUDE shelfbrowser tab='holdings' %]
518                         <br style="clear:both;" />
519                     </div> <!-- / #holdings -->
520
521                     [% IF (SeparateHoldings) %]
522                         <div id="otherholdings">
523                             [% IF (otheritemloop.size) %]
524                                 [% INCLUDE items_table items=otheritemloop tab="otherholdings" table_id="otherholdingst" %]
525                             [% ELSE %]
526                                 <span>No other items.</span>
527                             [% END %]
528                             [% INCLUDE shelfbrowser tab='otherholdings' %]
529                         </div>
530                     [% END # / SeparateHoldings %]
531
532                     [% IF ( MARCNOTES || notes || ( SyndeticsEnabled && SyndeticsSummary && SYNDETICS_SUMMARY )) %]
533                         <div id="descriptions">
534                             <div class="content_set">
535
536                                 [% IF ( SyndeticsEnabled && SyndeticsSummary && SYNDETICS_SUMMARY ) %]
537                                     <h2>Enhanced descriptions from Syndetics:</h2>
538                                     <p>[% SYNDETICS_SUMMARY | $raw %]</p>
539                                 [% END %]
540
541                                 [% IF ( MARCNOTES ) %]
542                                     <div id="marcnotes">
543                                     [% FOREACH MARCNOTE IN MARCNOTES %]
544                                         <p>
545                                         [% IF MARCNOTE.marcnote.match('^https?://\S+$') %]
546                                             <a href="[% MARCNOTE.marcnote | url %]">[% MARCNOTE.marcnote | html %]</a>
547                                         [% ELSE %]
548                                             [% MARCNOTE.marcnote | html | html_line_break %]
549                                         [% END %]
550                                         </p>
551                                     [% END %]
552                                     </div>
553                                 [% ELSE %]
554                                     [% IF ( notes ) %]
555                                         <p>[% notes | html %]</p>
556                                     [% END %]
557                                 [% END %]
558
559                             </div> <!-- /.content_set -->
560                         </div> <!-- / #descriptions -->
561                     [% END # / IF MARCNOTES || notes %]
562
563                     [% IF ( SyndeticsEnabled ) %]
564                         [% IF ( SyndeticsTOC && SYNDETICS_TOC ) %]
565                             <div id="toc">
566                                 <div class="content_set">
567                                     <h2>Table of contents provided by Syndetics</h2>
568                                         <ul>
569                                             [% FOREACH SYNDETICS_TO IN SYNDETICS_TOC %]
570                                                 <li><strong>[% SYNDETICS_TO.l | html %] [% SYNDETICS_TO.t | html %]</strong>[% IF ( SYNDETICS_TO.p ) %] ([% SYNDETICS_TO.p | $raw %])[% END %]</li>
571                                             [% END %]
572                                         </ul>
573                                 </div>
574                             </div>
575                         [% END # / IF SyndeticsTOC && SYNDETICS_TOC %]
576
577                         [% IF ( SyndeticsExcerpt && SYNDETICS_EXCERPT ) %]
578                             <div id="excerpt">
579                                 <div class="content_set">
580                                     <h2>Excerpt provided by Syndetics</h2>
581                                     [% SYNDETICS_EXCERPT | $raw %]
582                                 </div>
583                             </div>
584                         [% END # / IF SyndeticsExcerpt && SYNDETICS_EXCERPT %]
585
586                         [% IF ( SyndeticsReviews && SYNDETICS_REVIEWS ) %]
587                             <div id="reviews">
588                                 <div class="content_set">
589                                     <h2>Reviews provided by Syndetics</h2>
590                                     [% FOREACH SYNDETICS_REVIEW IN SYNDETICS_REVIEWS %]
591                                         [% IF ( SYNDETICS_REVIEW.title ) %]
592                                             <h3>[% SYNDETICS_REVIEW.title | html %]</h3>
593                                                 [% FOREACH review IN SYNDETICS_REVIEW.reviews %]
594
595                                                     [% IF ( review.content ) %]
596                                                         [% review.content | $raw %]
597                                                     [% END %]
598
599                                                 [% END %]
600                                         [% END %]
601                                     [% END %]
602                                 </div>
603                             </div>
604                         [% END # / IF SyndeticsReviews && SYNDETICS_REVIEWS %]
605
606                         [% IF ( SyndeticsAuthorNotes && SYNDETICS_ANOTES ) %]
607                             <div id="anotes">
608                                 <div class="content_set">
609                                     <h2>Author notes provided by Syndetics</h2>
610                                     [% FOREACH SYNDETICS_ANOTE IN SYNDETICS_ANOTES %]
611                                         [% IF ( SYNDETICS_ANOTE.content ) %]
612                                             [% SYNDETICS_ANOTE.content | $raw %]
613                                         [% END %]
614                                     [% END %]
615                                 </div>
616                             </div>
617                         [% END # / IF SyndeticsReviews && SYNDETICS_REVIEWS %]
618                     [% END # / IF SyndeticsEnabled %]
619
620                     [% IF ( NovelistSelectProfile && NovelistSelectView == 'tab' && (normalized_isbn || normalized_upc) ) %]
621                        <div id="NovelistSelect" >
622                             <div data-novelist-novelistselect=[% IF normalized_isbn %][% normalized_isbn | html %][% ELSE %][% normalized_upc | html %][% END %]></div>
623                        </div>
624                     [% END # / IF NovelistSelectProfile && NovelistSelectView == 'tab' %]
625
626                     [% IF ( subscriptionsnumber ) %]
627                         <div id="subscriptions">
628                             <h2>This is a serial</h2>
629                             <p class="subscription_count">There are [% subscriptionsnumber | html %] subscription(s) associated with this title.</p>
630                             [% FOREACH subscription IN subscriptions %]
631                                 <div class="subscription">
632                                     [% IF ( subscription.branchcode ) %]
633                                         <h3>At library: [% Branches.GetName( subscription.branchcode ) | html %]</h3>
634                                     [% ELSE %]
635                                         [% IF ( subscription.branchcode ) %]
636                                             <h3>At library: [% subscription.branchcode | html %]</h3>
637                                         [% END %]
638                                     [% END %]
639                                     [% IF ( subscription.closed ) %]
640                                         <p class="subscription_closed">This subscription is closed.</p>
641                                     [% END %]
642                                     [% IF ( subscription.location ) %]
643                                         <p class="subscription_location">Location: [% AuthorisedValues.GetByCode( 'LOC', subscription.location, 1 ) | html %]
644                                     [% END %]
645                                     [% IF ( subscription.callnumber ) %]
646                                         <p class="subscription_callnumber">Call number: [% subscription.callnumber | html %]</p>
647                                     [% END %]
648                                     [% IF ( subscription.subscriptionnotes ) %]
649                                         <p class="subscription_notes">[% subscription.subscriptionnotes | html | html_line_break %] </p>
650                                     [% END %]
651                                     <p class="subscription_dates">Subscription from: [% subscription.histstartdate | $KohaDates %] to:[% IF ( subscription.histenddate ) %] [% subscription.histenddate | $KohaDates %] [% ELSE %] now (current)[% END %]</p>
652                                     [% IF ( subscription.letter ) %]
653                                         <span class="email_notifications">
654                                             [% IF ( loggedinusername ) %]
655                                                 [% IF ( subscription.hasalert ) %]
656                                                     <span>You have subscribed to email notification on new issues. </span><a class="btn btn-secondary" title="Cancel email notification" href="/cgi-bin/koha/opac-alert-subscribe.pl?op=cancel&amp;subscriptionid=[% subscription.subscriptionid | html %]&amp;biblionumber=[% subscription.biblionumber | html %]">Cancel email notification</a>
657                                                 [% ELSE %]
658                                                     <a class="btn btn-secondary" title="Subscribe to email notification on new issues" href="/cgi-bin/koha/opac-alert-subscribe.pl?subscriptionid=[% subscription.subscriptionid | html %]&amp;biblionumber=[% subscription.biblionumber | html %]">Subscribe to email notification on new issues</a>
659                                                 [% END %]
660                                             [% ELSE %]
661                                                 <span>You must log in if you want to subscribe to email notification on new issues</span>
662                                             [% END %]
663                                         </span>
664                                     [% END %]
665                                     [% IF ( subscription.missinglist ) %]
666                                         <p class="subscription_missing">Missing issues: [% subscription.missinglist | html | html_line_break %] </p>
667                                     [% END %]
668                                     [% IF ( subscription.opacnote ) %]
669                                         <p class="subscription_opacnote">[% subscription.opacnote | html | html_line_break %]</p>
670                                     [% END %]
671                                     [% IF ( subscription.latestserials ) %]
672                                         <p class="subscription_latestissues"> The [% subscription.opacdisplaycount | html %] latest issues for this subscription:</p>
673                                         <table class="table table-bordered table-striped" id="subscriptionst">
674                                             <caption class="sr-only">Latest serials</caption>
675                                             <thead>
676                                                 <tr>
677                                                     <th id="serial_serialseq" data-colname="serial_serialseq">Issue #</th>
678                                                     <th id="serial_publisheddate" data-colname="serial_publisheddate">Publication date</th>
679                                                     <th id="serial_planneddate" data-colname="serial_planneddate">Received date</th>
680                                                     <th id="serial_status" data-colname="serial_status">Status</th>
681                                                     <th id="serial_notes" data-colname="serial_notes">Note</th>
682                                                 </tr>
683                                             </thead>
684                                             <tbody>
685                                                 [% FOREACH latestserial IN subscription.latestserials %]
686                                                     <tr>
687                                                         <td class="serialseq">[% latestserial.serialseq | html %]</td>
688                                                         <td class="publisheddate" data-order="[% latestserial.publisheddate | html %]">[% latestserial.publisheddate | $KohaDates %]</td>
689                                                         <td class="planneddate" data-order="[% latestserial.planneddate | html %]">[% latestserial.planneddate | $KohaDates %]</td>
690                                                         <td class="serial_status">
691                                                             [% IF (latestserial.status1 ) %]<span>Expected</span>[% END %]
692                                                             [% IF (latestserial.status2 ) %]<span>Arrived</span>[% END %]
693                                                             [% IF (latestserial.status3 ) %]<span>Late</span>[% END %]
694                                                             [% IF (latestserial.status4 ) %]<span>Missing</span>[% END %]
695                                                                 [% IF (latestserial.status41 ) %]<span>Missing (never received)</span>[% END %]
696                                                                 [% IF (latestserial.status42 ) %]<span>Missing (sold out)</span>[% END %]
697                                                                 [% IF (latestserial.status43 ) %]<span>Missing (damaged)</span>[% END %]
698                                                                 [% IF (latestserial.status44 ) %]<span>Missing (lost)</span>[% END %]
699                                                             [% IF (latestserial.status5 ) %]<span>Not issued</span>[% END %]
700                                                             [% IF (latestserial.status6 ) %]<span>Delete</span>[% END %]
701                                                             [% IF (latestserial.status7 ) %]<span>Claimed</span>[% END %]
702                                                             [% IF (latestserial.status8 ) %]<span>Stopped</span>[% END %]
703                                                         </td>
704                                                         <td class="serial_notes">[% latestserial.notes | html %]</td>
705                                                     </tr>
706                                                 [% END # / FOREACH latestserials %]
707                                             </tbody>
708                                         </table>
709                                     [% END # / IF subscription.latestserials %]
710                                 </div>
711                             [% END # / FOREACH subscriptions %]
712                             <p class="subscription_moredetails"><a href="opac-serial-issues.pl?biblionumber=[% biblio.biblionumber | uri %]">More details</a></p>
713                         </div> <!-- / #subscriptions -->
714                     [% END # IF subscriptionsnumber %]
715
716                     [% IF ( LibraryThingForLibrariesID && LibraryThingForLibrariesTabbedView ) %]
717                         <!-- Library Thing for Libraries Content -->
718                         <div id="LFTLSimilarItems">
719                             <div class="content_set">
720                                 <!-- Uncommenting this span makes the font smaller in the tab for LTFL -->
721                                 <!-- but breaks Xhtml validation -->
722                                 <!--    <span class="results_summary">-->
723                                 <div id="ltfl_related"></div>
724                                 <div id="ltfl_similars"></div>
725                                 <!--            </span>-->
726                             </div>
727                         </div>
728                         <div id="LTFLTagBrowse">
729                             <div class="content_set">
730                                 <!-- <span class="results_summary"> -->
731                                 <div id="ltfl_tagbrowse" class="ltfl"></div>
732                                 <!-- </span> -->
733                             </div>
734                         </div>
735                     [% END # / IF LibraryThingForLibrariesID && LibraryThingForLibrariesTabbedView %]
736
737                     [% IF Koha.Preference( 'OPACComments' ) == 1 %]
738                         <div id="comments">
739                             <div id="newcomment"></div>
740                                 [% IF ( reviews ) %]
741                                     [% FOREACH review IN reviews %]
742                                         [% IF borrowernumber && review.borrowernumber == borrowernumber %]
743                                             <div class="commentline yours" id="c[% review.reviewid | html %]">
744                                                 [% IF ( review.avatarurl ) %]
745                                                     <img class="avatar" src="[% review.avatarurl | html %]" height="80" width="80" alt="" />
746                                                 [% END %]
747                                                 [% IF review.approved %]
748                                                     <h2 id="comment">Your comment</h2>
749                                                 [% ELSE %]
750                                                     <h2 id="comment">Your comment (preview, pending approval)</h2>
751                                                 [% END %]
752                                                 <small>[% review.datereviewed | $KohaDates %]</small>
753                                                 <p>
754                                                     [% FILTER html_break %]
755                                                         [% review.review | html %]
756                                                     [% END %]
757                                                     <a href="#" onclick="Dopop('/cgi-bin/koha/opac-review.pl?biblionumber=[% review.biblionumber | uri %]&amp;reviewid=[% review.reviewid | uri %]');">Edit</a>
758                                                 </p>
759                                             </div>
760                                         [% ELSE %]
761                                             <div class="commentline">
762                                                 [% IF ( ShowReviewer != "none" && review.patron) %]
763
764                                                     [% IF ( review.avatarurl ) %]
765                                                         <img class="avatar" src="[% review.avatarurl | html %]" height="80" width="80" alt="" />
766                                                     [% END %]
767                                                     [% SWITCH ShowReviewer %]
768                                                     [% CASE 'full' %]
769                                                         <h2 id="comment">Comment by [% review.patron.title | html %] [% review.patron.firstname | html %] [% review.patron.surname | html %]</h2>
770                                                     [% CASE 'first' %]
771                                                         <h2 id="comment">Comment by [% review.patron.firstname | html %]</h2>
772                                                     [% CASE 'surname' %]
773                                                         <h2 id="comment">Comment by [% review.patron.surname | html %]</h2>
774                                                     [% CASE 'firstandinitial' %]
775                                                         <h2 id="comment">Comment by [% review.patron.firstname | html %] [% review.patron.surname|truncate(2,'.') | html %]</h2>
776                                                     [% CASE 'username' %]
777                                                         <h2 id="comment">Comment by [% review.patron.userid | html %]</h2>
778                                                     [% END %]
779
780                                                     <small>[% review.datereviewed | $KohaDates %]</small>
781                                                 [% ELSE %]
782                                                     <h2 id="comment">Patron comment on [% review.datereviewed | $KohaDates %]</h2>
783                                                 [% END # / IF ShowReviewer != "none" && review.patron %]
784                                                 <p>
785                                                     [% FILTER html_break %]
786                                                     [% review.review | html %]
787                                                     [% END %]
788                                                 </p>
789                                             </div> <!-- / .commentline -->
790                                         [% END %]
791                                     [% END # / FOREACH reviews %]
792                                 [% ELSE %]
793                                     <p>There are no comments on this title.</p>
794                                 [% END # / IF reviews %]
795
796                                 [% IF ( loggedinusername ) %]
797                                     [% UNLESS ( loggedincommenter ) %]
798                                         <div id="addcomment">
799                                             <a href="#" onclick="Dopop('/cgi-bin/koha/opac-review.pl?biblionumber=[% biblio.biblionumber | uri %]'); return false;">
800                                             Post your comments on this title.
801                                             </a>
802                                         </div>
803                                     [% END %]
804                                 [% ELSE %]
805                                     <div id="addcomment">
806                                         <a class="login-link loginModal-trigger" role="button" data-toggle="modal" href="/cgi-bin/koha/opac-user.pl">Log in to your account</a> to post a comment.
807                                     </div>
808                                 [% END # / IF loggedinusername %]
809                             </div> <!-- / #comments -->
810                         [% END # / IF OPACComments %]
811
812                         [% IF ( OPACFRBRizeEditions && XISBNS ) %]
813                             <div id="editions">
814                                 <h2>Other editions of this work</h2>
815                                 <table class="table table-bordered table-striped">
816                                     <caption class="sr-only">Other editions</caption>
817                                     [% FOREACH XISBN IN XISBNS %]
818                                         <tr>
819                                             <td>
820                                                 [% IF ( OPACAmazonCoverImages ) %]
821                                                     <img src="https://images-na.ssl-images-amazon.com/images/P/[% XISBN.normalized_isbn | html %].01._AA75_PU_PU-5_.jpg" alt="" />
822                                                 [% END %]
823
824                                                 [% IF ( SyndeticsEnabled && SyndeticsCoverImages ) %]
825                                                     [% IF ( XISBN.content_identifier_exists ) %]
826                                                         <img src="https://secure.syndetics.com/index.aspx?isbn=[% XISBN.browser_normalized_isbn | html %]/SC.GIF&amp;client=[% SyndeticsClientCode | html %][% IF ( XISBN.browser_normalized_upc ) %]&amp;upc=[% XISBN.browser_normalized_upc | html %][% END %][% IF ( XISBN.browser_normalized_oclc ) %]&amp;oclc=[% XISBN.browser_normalized_oclc | html %][% END %]&amp;type=xw10" alt="" />
827                                                     [% ELSE %]
828                                                         <span class="no-image">No cover image available</span>
829                                                     [% END # / IF  XISBN.content_identifier_exists %]
830                                                 [% END # / IF SyndeticsEnabled && SyndeticsCoverImages %]
831                                             </td>
832
833                                             [% UNLESS ( item_level_itypes ) %]
834                                                 <td>[% XISBN.description | html %]</td>
835                                             [% END %]
836                                             <td>
837                                                 <a href="/cgi-bin/koha/opac-detail.pl?biblionumber=[% XISBN.biblionumber | uri %]">[% XISBN.title | html %]</a>
838                                                 [% IF ( XISBN.author ) %]<span> by </span>[% XISBN.author | html %][% END %]
839                                                 [% IF ( XISBN.copyrightdate ) %]<span> &copy;</span>[% XISBN.copyrightdate | html %][% END %]
840                                                 [% IF ( XISBN.publishercode ) %]
841                                                     <p>[% XISBN.publishercode | html %]
842                                                         [% IF ( XISBN.place ) %]([% XISBN.place | html %])[% END %]
843                                                         [% IF ( XISBN.publicationyear ) %][% ', ' _ XISBN.publicationyear | html %][% END %]
844                                                         [% IF ( XISBN.pages ) %][% XISBN.pages | html %] [% XISBN.illus | html %] [% XISBN.size | html %][% END %]
845                                                     </p>
846                                                 [% END %]
847                                             </td>
848                                         </tr>
849                                     [% END # / FOREACH XISBNS %]
850                                 </table>
851                             </div> <!-- / #editions -->
852                         [% END # / IF OPACFRBRizeEditions && XISBNS %]
853
854                         [% IF ( HTML5MediaEnabled ) %]
855                             <div id="html5media">
856                               [% FOREACH HTML5MediaSet IN HTML5MediaSets %]
857                                 <p>
858                                     [% IF HTML5MediaSet.is_youtube %]
859                                         <iframe id="player" type="text/html" width="640" height="360"
860                                             src="[% HTML5MediaSet.srcblock | url %]" frameborder="0"></iframe>
861                                     [% ELSE %]
862                                         [% SET ctrl_preload = ' controls preload=none' #translatability %]
863                                         <[% HTML5MediaParent _ ctrl_preload | html %] >
864                                           <[% HTML5MediaSet.child | html %] src="[% HTML5MediaSet.srcblock | url %]" [% HTML5MediaSet.typeblock | html %] />
865                                           <span>[[% HTML5MediaParent | html %] tag not supported by your browser.]</span>
866                                         </[% HTML5MediaParent | html %]>
867                                     [% END %]
868                                 </p>
869                               [% END %]
870                             </div>
871                         [% END # / IF HTML5MediaEnabled %]
872
873                         [% IF ( OPACLocalCoverImages && localimages.count ) %]
874                             <div id="images">
875                                 <p>Click on an image to view it in the image viewer</p>
876                                 [% FOREACH image IN localimages %]
877                                     <a class="localimage" href="/cgi-bin/koha/opac-imageviewer.pl?biblionumber=[% biblio.biblionumber | html %]&amp;imagenumber=[% image.imagenumber | html %]"><img alt="" src="/cgi-bin/koha/opac-image.pl?thumbnail=1&amp;imagenumber=[% image.imagenumber | html %]" /></a>
878                                 [% END %]
879                             </div><!-- / #images -->
880                         [% END # / IF OPACLocalCoverImages && localimages.size %]
881
882                 </div> <!-- / #bibliodescriptions -->
883
884                 [% IF ( NovelistSelectProfile && NovelistSelectView == 'below' && ( normalized_isbn || normalized_upc ) ) %]
885                     <div id="NovelistSelect">
886                         <h2>Novelist Select</h2>
887                         <div data-novelist-novelistselect="[% IF normalized_isbn %][% normalized_isbn | html %][% ELSE %][% normalized_upc | html %][% END %]"></div>
888                     </div>
889                 [% END %]
890
891                 [% IF ( Babeltheque ) %]
892                     <div>
893                         <div id="BW_etiquettes"></div>
894                         <div id="BW_suggestions"></div>
895                     </div>
896                     <div class="clearfix"></div>
897                     <div>
898                         <div id="BW_podcasts"></div>
899                     </div>
900                     <div class="clearfix"></div>
901                     <div>
902                         <div id="BW_videos"></div>
903                     </div>
904                 [% END # / IF Babeltheque %]
905
906             </div> <!-- /.col-lg-10 -->
907
908             <div class="col-lg-3">
909                 <div id="ulactioncontainer">
910
911                     [% IF ( Koha.Preference('OpacBrowseResults') && busc ) %]
912                         <div class="nav_results">
913                             <div class="l_Results" style="display:none;">
914                                 [% IF ( listResults ) %]
915                                     <a href="#" id="a_listResults"><i class="fa fa-bars" aria-hidden="true"></i> Browse results</a>
916                                 [% ELSE %]
917                                     <span><i class="fa fa-bars" aria-hidden="true"></i> Browse results</span>
918                                 [% END %]
919                                 <a href="#" class="close_pagination"><i class="fa fa-remove" aria-hidden="true"></i> Close</a>
920                             </div>
921
922                             <div class="pg_menu">
923                                 <div class="pg_link left_results">
924                                     [% IF ( previousBiblionumber ) %]
925                                         <a href="opac-detail.pl?biblionumber=[% previousBiblionumber | uri %][% IF ( query_desc && OpacHighlightedWords ) %]&query_desc=[% query_desc |uri %][% END %]" title="See: [% IF ( previousTitle ) %][% previousTitle | html %][% ELSE %]previous biblio[% END %]"><i class="fa fa-angle-double-left" aria-hidden="true"></i> Previous</a>
926                                     [% ELSE %]
927                                         <span>Previous</span>
928                                     [% END %]
929                                 </div>
930                                 [%# busc is already URI encoded %]
931                                 <div class="pg_link back_results">
932                                     <a href="opac-search.pl?[% busc | $raw %]" title="Back to the results search list">Back to results</a>
933                                 </div>
934                                 <div class="pg_link right_results">
935                                     [% IF ( nextBiblionumber ) %]
936                                         <a href="opac-detail.pl?biblionumber=[% nextBiblionumber | uri %][% IF ( query_desc && OpacHighlightedWords ) %]&query_desc=[% query_desc |uri %][% END %]" title="See: [% IF ( nextTitle ) %][% nextTitle | html %][% ELSE %]next biblio[% END %]">Next <i class="fa fa-angle-double-right" aria-hidden="true"></i></a>
937                                     [% ELSE %]
938                                         <span>Next</span>
939                                     [% END %]
940                                 </div>
941                             </div> <!-- /.pg_menu -->
942
943                             [% IF ( listResults ) %]
944                                 <div class="results-pagination">
945                                     <div class="nav_pages">
946                                         <ul id="listResults">
947                                             [% FOREACH listitem IN listResults %]
948                                                 [% IF ( listitem.biblionumber == biblionumber ) %]
949                                                     <li class="li_pag_[% loop.count | html %] highlight">
950                                                 [% ELSE %]
951                                                     <li class="li_pag_[% loop.count | html %]">
952                                                 [% END %]
953                                                     <a href="opac-detail.pl?biblionumber=[% listitem.biblionumber | uri %]&amp;query_desc=[% query_desc |uri %]" title="View record &quot;[% listitem.title | html %]&quot;" class="a_pag" id="a_pag_[% loop.count | html %]">[% loop.count + offset | html %]</a>
954                                                 </li>
955                                             [% END # /FOREACH listitem %]
956                                         </ul> <!-- /#listResults -->
957                                     </div> <!-- /.nav_pages -->
958                                     <div class="pagination_list">
959                                         <ul id="ul_pagination_lists">
960                                             [% FOREACH listitem IN listResults %]
961                                                 [% IF ( listitem.biblionumber == biblionumber ) %]
962                                                     <li id="li_pag_[% loop.count | html %]" class="highlight" title="Go to detail">
963                                                         <span class="li_pag_index"><i class="fa fa-arrow-left" aria-hidden="true"></i> [% loop.count  + offset | html %]</span>
964                                                         <a href="opac-detail.pl?biblionumber=[% biblionumber | uri %]&amp;query_desc=[% query_desc |uri %]">[% title | html %]</a><br> [% IF ( author ) %]by [% author | html %][% END %]
965                                                     </li>
966                                                 [% ELSE %]
967                                                     <li id="li_pag_[% loop.count | html %]" title="Go to detail">
968                                                         <span class="li_pag_index">[% loop.count + offset | html %]</span>
969                                                         <a href="opac-detail.pl?biblionumber=[% listitem.biblionumber | uri %]&amp;query_desc=[% query_desc |uri %]">[% listitem.title | html %]</a><br> [% IF ( listitem.author ) %]by [% listitem.author | html %][% END %]
970                                                     </li>
971                                                 [% END # /IF listitem.biblionumber %]
972                                             [% END # /FOREACH listitem %]
973                                         </ul> <!-- /#ul_pagination_list -->s
974                                     </div> <!-- /.pagination_list -->
975                                 </div> <!-- /.results-pagination -->
976                             [% END # /IF ( listResults ) %]
977                             <div class="pagination_footer">
978                                 <a href="#" class="close_pagination"><i class="fa fa-remove" aria-hidden="true"></i> Close</a>
979                             </div>
980                         </div> <!-- /.nav_results -->
981                     [% END # / IF OpacBrowseResults && busc %]
982
983                     [% INCLUDE 'opac-detail-sidebar.inc' %]
984
985                     [% IF ( NovelistSelectProfile && NovelistSelectView == 'right' && ( normalized_isbn || normalized_upc ) ) %]
986                         <div id="NovelistSelect">
987                             <h2>Novelist Select</h2>
988                             <div data-novelist-novelistselect="[% IF normalized_isbn %][% normalized_isbn | html %][% ELSE %][% normalized_upc | html %][% END %]"></div>
989                         </div>
990                     [% END %]
991
992                     [% IF ( Babeltheque ) %]
993                         <div class="babeltheque_adds">
994                             <div id="BW_critiques_aj"></div>
995                             <div id="BW_citations_aj"></div>
996                         </div>
997                     [% END %]
998
999                     [% IF ( Koha.Preference('SocialNetworks') ) %]
1000                         <div id="social_networks" class="clearfix">
1001                             <span>Share</span>
1002                             [% SET SocialNetworks = Koha.Preference('SocialNetworks') %]
1003                             [% FOREACH network IN SocialNetworks.split(",") %]
1004                                 [% SWITCH network -%]
1005                                     [% CASE "facebook" -%]
1006                                         <div><a id="facebook" href="https://www.facebook.com/sharer.php?u=[% current_url |url %]&amp;t=[% title |url %]" title="Share on Facebook"><i class="fa fa-facebook" aria-hidden="true"></i></a></div>
1007                                     [% CASE "linkedin" -%]
1008                                         <div><a id="linkedin" href="https://www.linkedin.com/shareArticle?mini=true&amp;url=[% current_url |url %]&amp;title=[% title |url %]" title="Share on LinkedIn"><i class="fa fa-linkedin" aria-hidden="true"></i></a></div>
1009                                     [% CASE "email" -%]
1010                                         <div><a id="email" href="mailto:?subject=[% title |url %]&amp;body=[% title |url %]%20([% current_url |url %])" title="Share by email"><i class="fa fa-envelope-o" aria-hidden="true"></i></a></div>
1011                                     [% CASE "twitter" -%]
1012                                         <div><a id="twitter" href="https://twitter.com/share?url=[% current_url|url %]&text=[% title | uri %]" class="twitter-share-button" data-count="none" data-lang="[% lang | html %]" title="Share on Twitter"><i class="fa fa-twitter" aria-hidden="true"></i></a></div>
1013                                 [% END # /SWITCH network -%]
1014                             [% END # /FOREACH network %]
1015                         </div> <!-- /#social_networks -->
1016                     [% END # /IF SocialNetworks %]
1017                 </div> <!-- / .ulactioncontainer -->
1018             </div> <!-- / .col-lg-3 -->
1019         </div> <!-- / .row -->
1020         <div class="row">
1021             [% IF ( LibraryThingForLibrariesID ) %]
1022                 <script src="https://ltfl.librarything.com/forlibraries/widget.js?systype=koha&amp;id=[% LibraryThingForLibrariesID | html %]"></script>
1023                 <noscript>This page contains enriched content visible when JavaScript is enabled or by clicking
1024                 <a href="https://www.librarything.com/forlibraries/noscript.php?id=[% LibraryThingForLibrariesID | uri %]&amp;accessibility=1">here</a>.</noscript>
1025             [% END %]
1026
1027             [% IF ( NovelistSelectProfile && ( normalized_isbn || normalized_upc ) ) %]
1028                 <script src="https://imageserver.ebscohost.com/novelistselect/ns2init.js"></script>
1029             [% END %]
1030
1031             [% IF ( Babeltheque ) %]
1032                 <script src="[% Babeltheque_url_js | html %]"></script>
1033             [% END %]
1034         </div> <!-- / .row -->
1035     </div> <!-- / .container-fluid -->
1036 </div> <!-- / .main -->
1037
1038 [% IF ( OPACPopupAuthorsSearch  ) %]
1039     <!-- Modal -->
1040     <div class="modal" id="multiSearch" tabindex="-1" role="dialog" aria-labelledby="multiSearchLabel">
1041         <div class="modal-dialog" role="document">
1042             <div class="modal-content">
1043                 <div class="modal-header">
1044                     <h1 id="multiSearchLabel">Select the item(s) to search</h1>
1045                     <button type="button" class="closebtn" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">&times;</span></button>
1046                 </div>
1047                 <div class="modal-body">
1048                     <a href="#" class="check_all btn btn-link btn-sm"><i class="fa fa-check" aria-hidden="true"></i> Select all</a> <span class="sep">|</span>
1049                     <a href="#" class="check_none btn btn-link btn-sm"><i class="fa fa-remove" aria-hidden="true"></i> Select none</a>
1050                     <ul id="termsList">
1051                     </ul>
1052                 </div>
1053                 <div class="modal-footer">
1054                     <button id="validMultiSearch" class="btn btn-primary">Search</button>
1055                     <a href="#" class="cancel" data-dismiss="modal" aria-hidden="true">Cancel</a>
1056                 </div>
1057             </div> <!-- /.modal-content -->
1058         </div> <!-- /.modal-dialog -->
1059     </div> <!-- /#myModal -->
1060 [% END %]
1061
1062 [% INCLUDE 'opac-bottom.inc' %]
1063
1064 [%# End of template %]
1065
1066 [% BLOCK items_table %]
1067     <table class="table table-bordered table-striped" id="[% table_id | html %]">
1068         <caption class="sr-only">Holdings</caption>
1069         <thead>
1070             <tr>
1071
1072                 [% IF Koha.Preference('OPACLocalCoverImages') && ( tab == 'holdings' && itemloop_has_images || tab == 'otherholdings' && otheritemloop_has_images ) %]
1073                     <th id="item_cover" data-colname="item_cover">Cover image</th>
1074                 [% END %]
1075                 [% IF ( item_level_itypes ) %]
1076                     <th id="item_itemtype" data-colname="item_itemtype" class="itype">Item type</th>
1077                 [% END %]
1078                 [% IF ( OpacLocationBranchToDisplay == 'holding' || OpacLocationBranchToDisplay == 'both' ) %]
1079                     <th id="item_current_location" data-colname="item_current_location" class="item_location">Current library</th>
1080                 [% END %]
1081                 [% IF ( OpacLocationBranchToDisplay == 'home' || OpacLocationBranchToDisplay == 'both' ) %]
1082                     <th id="item_home_location" data-colname="item_home_location" class="item_location">Home library</th>
1083                 [% END %]
1084                 [% IF ( itemdata_ccode ) %]
1085                     <th id="item_ccode" data-colname="item_ccode" class="collection">Collection</th>
1086                 [% END %]
1087                 [% IF ( Koha.Preference('OpacLocationOnDetail') == 'column' && itemdata_location ) %]
1088                     <th id="item_shelving_location" data-colname="item_shelving_location" class="shelving_location">Shelving location</th>
1089                 [% END %]
1090                     <th id="item_callnumber" data-colname="item_callnumber" class="call_no">Call number</th>
1091                 [% UNLESS TablesSettings.is_hidden( 'opac', 'biblio-detail', 'holdingst', 'item_materials') %]
1092                     <th id="item_materials" data-colname="item_materials" class="materials">Materials specified</th>
1093                 [% END %]
1094                 [% IF ( itemdata_enumchron ) %]
1095                     <th id="item_enumchron" data-colname="item_enumchron" class="vol_info">Vol info</th>
1096                 [% END %]
1097                 [% IF ( itemdata_uri ) %]
1098                     <th id="item_url" data-colname="item_url" class="url">URL</th>
1099                 [% END %]
1100                 [% IF ( itemdata_copynumber ) %]
1101                     <th id="item_copy" data-colname="item_copy" class="copynumber">Copy number</th>
1102                 [% END %]
1103                     <th id="item_status" data-colname="item_status" class="status">Status</th>
1104                 [% IF ( itemdata_itemnotes ) %]
1105                     <th id="item_notes" data-colname="item_notes" class="notes">Notes</th>
1106                 [% END %]
1107                     <th id="item_datedue" data-colname="item_datedue" class="date_due">Date due</th>
1108                     <th id="item_barcode" data-colname="item_barcode" class="barcode">Barcode</th>
1109                 [% IF holds_count.defined %]
1110                     <th id="item_holds" data-colname="item_holds">Item holds</th>
1111                 [% ELSIF show_priority %]
1112                     <th id="item_priority" data-colname="item_priority">Item hold queue priority</th>
1113                 [% END %]
1114                 [% IF ( ShowCourseReservesHeader ) %]
1115                     <th id="item_coursereserves" data-colname="item_coursereserves">Course reserves</th>
1116                 [% END %]
1117             </tr>
1118         </thead>
1119         <tbody>
1120             [% FOREACH ITEM_RESULT IN items %]
1121                 <tr vocab="http://schema.org/" typeof="Offer">
1122
1123                 [% IF Koha.Preference('OPACLocalCoverImages') && ( tab == 'holdings' && itemloop_has_images || tab == 'otherholdings' && otheritemloop_has_images ) %]
1124                     <td class="cover">
1125                         [% FOR image IN ITEM_RESULT.cover_images %]
1126                             <div title="[% ITEM_RESULT.itemnumber | html %]" data-imagenumber="[% image.imagenumber | html %]" data-biblionumber="[% ITEM_RESULT.biblionumber | html %]" class="local-thumbnail-preview"></div>
1127                         [% END %]
1128                     </td>
1129                 [% END %]
1130
1131                 [% IF ( item_level_itypes ) %]
1132                     <td class="itype">
1133                         [% UNLESS ( Koha.Preference('OpacNoItemTypeImages') ) %]
1134                             [% IF ( ITEM_RESULT.imageurl ) %]
1135                                 <img src="[% ITEM_RESULT.imageurl | html %]" title="[% ITEM_RESULT.description | html %]" alt="[% ITEM_RESULT.description | html %]" />
1136                             [% END %]
1137                         [% END %]
1138                         [% ITEM_RESULT.description | html %]
1139                     </td>
1140                 [% END %]
1141                 [% IF ( OpacLocationBranchToDisplay == 'holding' || OpacLocationBranchToDisplay == 'both' ) %]
1142                     <td class="location" property="seller">
1143                         <link property="itemOffered" href="#record" />
1144                         <link property="businessFunction" href="http://purl.org/goodrelations/v1#LeaseOut">
1145                         <span class="[% ITEM_RESULT.holding_branch_opac_info ? 'branch-info-tooltip-trigger' : '' %]" title="">
1146                             [% IF ( ITEM_RESULT.branchurl ) %]
1147                                 <a href="[% ITEM_RESULT.branchurl | url %]">[% ITEM_RESULT.branchname | html %]</a>
1148                             [% ELSE %]
1149                                 <span>[% ITEM_RESULT.branchname | html %]</span>
1150                             [% END %]
1151                         </span>
1152                         <div class="branch-info-tooltip">[% ITEM_RESULT.holding_branch_opac_info | $raw %]</div>
1153
1154                         [% IF ( Koha.Preference('OpacLocationOnDetail') == 'holding' || Koha.Preference('OpacLocationOnDetail') == 'both' ) %]
1155                             <span class="shelvingloc">[% ITEM_RESULT.location_description | html %]</span>
1156                         [% END %]
1157
1158                     </td>
1159                 [% END %]
1160
1161                 [% IF ( OpacLocationBranchToDisplay == 'home' || OpacLocationBranchToDisplay == 'both' ) %]
1162                     <td class="location" property="seller">
1163                         <link property="itemOffered" href="#record" />
1164                         <link property="businessFunction" href="http://purl.org/goodrelations/v1#LeaseOut">
1165                         <span class="[% ITEM_RESULT.home_branch_opac_info ? 'branch-info-tooltip-trigger' : '' %]" title="">
1166                             [% IF Branches.GetURL( ITEM_RESULT.homebranch ) %]
1167                                 [% home_branch_url = Branches.GetURL( ITEM_RESULT.homebranch ) %]
1168                                 [% IF ( home_branch_url ) %]
1169                                      <a href="[% home_branch_url | url %]">[% Branches.GetName( ITEM_RESULT.homebranch ) | html %]</a>
1170                                 [% ELSE %]
1171                                     <span>[% Branches.GetName( ITEM_RESULT.homebranch ) | html %]</span>
1172                                 [% END %]
1173                             [% ELSE %]
1174                                 <span>[% Branches.GetName( ITEM_RESULT.homebranch ) | html %]</span>
1175                             [% END %]
1176                         </span>
1177                         <div class="branch-info-tooltip">[% ITEM_RESULT.home_branch_opac_info | $raw %]</div>
1178
1179                         [% IF ( Koha.Preference('OpacLocationOnDetail') == 'home' || Koha.Preference('OpacLocationOnDetail') == 'both' ) %]
1180                             <span class="shelvingloc">[% ITEM_RESULT.location_description | html %]</span>
1181                         [% END %]
1182
1183                     </td>
1184                 [% END %]
1185
1186                 [% IF ( itemdata_ccode ) %]
1187                     <td class="collection">[% ITEM_RESULT.ccode | html %]</td>
1188                 [% END %]
1189
1190                 [% IF ( Koha.Preference('OpacLocationOnDetail') == 'column' && itemdata_location ) %]
1191                     <td class="shelving_location"><span class="shelvingloc">[% ITEM_RESULT.location_description | html %]</span></td>
1192                 [% END %]
1193
1194                 <td class="call_no" property="sku">
1195                     [% IF ( ITEM_RESULT.itemcallnumber ) %]
1196                         [% ITEM_RESULT.itemcallnumber | html %]
1197                         [% IF ( OPACShelfBrowser ) %]
1198                             [% IF ( ITEM_RESULT.itemnumber == starting_itemnumber ) %]
1199                                 (<a class="close_shelf" href="/cgi-bin/koha/opac-detail.pl?biblionumber=[% ITEM_RESULT.biblionumber | html %]&amp;shelfbrowse_itemnumber=[% ITEM_RESULT.itemnumber | html %]#[% tab | html %]">Browse shelf<span class="sr-only">(Opens below)</span></a>)
1200                             [% ELSE %]
1201                                 (<a href="/cgi-bin/koha/opac-detail.pl?biblionumber=[% ITEM_RESULT.biblionumber | uri %]&amp;shelfbrowse_itemnumber=[% ITEM_RESULT.itemnumber | uri %]#[% tab | uri %]">Browse shelf<span class="sr-only">(Opens below)</span></a>)
1202                             [% END %]
1203                         [% END %]
1204                     [% END %]
1205                 </td>
1206
1207                 [% UNLESS TablesSettings.is_hidden( 'opac', 'biblio-detail', 'holdingst', 'item_materials') %]
1208                     <td class="materials">[% ITEM_RESULT.materials | html %]</td>
1209                 [% END %]
1210
1211                 [% IF ( itemdata_enumchron ) %]
1212                     <td class="vol_info">
1213                         [% IF ITEM_RESULT.enumchron && ITEM_RESULT.serialseq %]
1214                             <span class="enum">[% ITEM_RESULT.enumchron | html %]</span>
1215                             [% IF ( ITEM_RESULT.serialseq && ITEM_RESULT.enumchron!=ITEM_RESULT.serialseq ) %]
1216                                 <span class="sep"> -- </span>
1217                                 <span class="serialseq">[% ITEM_RESULT.serialseq | html %]</span>
1218                             [% END %]
1219                         [% ELSIF ITEM_RESULT.enumchron %]
1220                             <span class="enum">[% ITEM_RESULT.enumchron | html %]</span>
1221                         [% ELSIF ITEM_RESULT.serialseq %]
1222                                 <span class="serialseq">[% ITEM_RESULT.serialseq | html %]</span>
1223                         [% END %]
1224                         [% IF ( ITEM_RESULT.publisheddate ) %]
1225                             <span class="pubdate">([% ITEM_RESULT.publisheddate | $KohaDates %])</span>
1226                         [% END %]
1227                     </td>
1228                 [% END %]
1229                 [% IF ( itemdata_uri ) %]
1230                     <td class="url">
1231                     [% IF ITEM_RESULT.uri %]
1232                         [%# Initialize two helper vars %]
1233                         [% SET target_attr = ''; SET rel_attr = '' %]
1234                         [% IF Koha.Preference('OPACURLOpenInNewWindow') %][% SET target_attr = '_blank'; SET rel_attr = 'noreferrer' %][% END %]
1235
1236                         [%# Check if there are multiple URIs; in the single case we only use pref URLLinkText or Link to resource %]
1237                         [% IF ITEM_RESULT.uri.split(' \| ').size > 1 %]
1238                             [% FOREACH uri IN ITEM_RESULT.uri.split(' \| ') %]
1239                                 [% IF trackclicks == 'track' || trackclicks == 'anonymous' %]
1240                                     <a target="[% target_attr | html %]" rel="[% rel_attr | html %]" href="/cgi-bin/koha/tracklinks.pl?uri=[% uri | uri %]&amp;biblionumber=[% biblio.biblionumber | html %]&amp;itemnumber=[% ITEM_RESULT.itemnumber | html %]" property="url">[% uri | html %]</a>
1241                                 [% ELSE %]
1242                                     <a target="[% target_attr | html %]" rel="[% rel_attr | html %]" href="[% uri | url %]" property="url">[% uri | html %]</a>
1243                                 [% END %]
1244                             [% END %]
1245                         [% ELSE %]
1246                             [% IF trackclicks == 'track' || trackclicks == 'anonymous' %]
1247                                 <a target="[% target_attr | html %]" rel="[% rel_attr | html %]" href="/cgi-bin/koha/tracklinks.pl?uri=[% ITEM_RESULT.uri | uri %]&amp;biblionumber=[% biblio.biblionumber | html %]&amp;itemnumber=[% ITEM_RESULT.itemnumber | html %]" property="url">
1248                             [% ELSE %]
1249                                 <a target="[% target_attr | html %]" rel="[% rel_attr | html %]" href="[% ITEM_RESULT.uri | url %]" property="url">
1250                             [% END %]
1251                                 [% IF Koha.Preference('URLLinkText') %][% Koha.Preference('URLLinkText') | html %][% ELSE %]Link to resource[% END %]
1252                             </a>
1253                         [% END %]
1254                     [% END %]
1255                     </td>
1256                 [% END # /IF itemdata_uri %]
1257                 [% IF ( itemdata_copynumber ) %]<td class="copynumber">[% ITEM_RESULT.copynumber | html %]</td>[% END %]
1258                 <td class="status">[% INCLUDE 'item-status-schema-org.inc' item = ITEM_RESULT %][% INCLUDE 'item-status.inc' item = ITEM_RESULT %]</td>
1259                 [% IF ( itemdata_itemnotes ) %]<td class="notes" property="description">[% ITEM_RESULT.itemnotes | $raw %]</td>[% END %]
1260                 <td class="date_due" data-order="[% ITEM_RESULT.datedue | html %]">[% ITEM_RESULT.datedue | $KohaDates  as_due_date => 1 %]</td>
1261                     <td class="barcode" property="serialNumber">[% ITEM_RESULT.barcode | html %]</td>
1262                 [% IF holds_count.defined || show_priority %]
1263                     <td class="holds_count">
1264                         [% IF holds_count.defined %] [% ITEM_RESULT.holds_count | html %] [% END %]
1265                         [% IF ITEM_RESULT.priority %]
1266                             [% IF holds_count.defined %]
1267                                 <span>(priority [% ITEM_RESULT.priority | html %])</span>
1268                             [% ELSE %]
1269                                 <span>[% ITEM_RESULT.priority | html %]</span>
1270                             [% END %]
1271                         [% END %]
1272                     </td>
1273                 [% END %]
1274                 [% IF ShowCourseReservesHeader %]
1275                     <td>
1276                         [% IF ITEM_RESULT.course_reserves %]
1277                             [% FOREACH r IN ITEM_RESULT.course_reserves %]
1278                                 [% IF r.course.enabled == 'yes' %]
1279                                     <p>
1280                                         <a href="opac-course-details.pl?course_id=[% r.course.course_id | uri %]">
1281                                         [% r.course.course_name | html %]
1282                                         <!--[% IF r.course.course_number %] [% r.course.course_number | html %] [% END %]-->
1283                                         [% IF r.course.section %] [% r.course.section | html %] [% END %]
1284                                         [% IF r.course.term %] [% AuthorisedValues.GetByCode( 'TERM', r.course.term, 1 ) | html %] [% END %]
1285                                         </a>
1286                                     </p>
1287                                 [% END %]
1288                             [% END %]
1289                         [% END %]
1290                     </td>
1291                 [% END  # /IF ShowCourseReservesHeader %]
1292                 </tr>
1293             [% END %]
1294         </tbody>
1295     </table>
1296 [% END %][%# end of items_table block %]
1297
1298 [% BLOCK jsinclude %]
1299     [% INCLUDE 'datatables.inc' %]
1300     [% INCLUDE 'columns_settings.inc' %]
1301     [% INCLUDE greybox.inc %]
1302     [% IF ( OpacStarRatings != 'disable' ) %][% Asset.js("lib/jquery/plugins/jquery.barrating.min.js") | $raw %][% END %]
1303
1304     [% IF ( OpacHighlightedWords ) %][% Asset.js("lib/jquery/plugins/jquery.highlight-3.js") | $raw %][% END %]
1305     [% IF ( Koha.Preference('OPACDetailQRCode') ) %]
1306         [% Asset.js("lib/kjua/kjua.min.js") | $raw %]
1307     [% END %]
1308
1309     [% IF ( Koha.Preference('OPACShowMusicalInscripts') ) %]
1310         <script>
1311             var interface = "[% interface | html %]";
1312             var PREF_OPACPlayMusicalInscripts = "[% Koha.Preference('OPACPlayMusicalInscripts') | html %]";
1313         </script>
1314         [% Asset.js("js/verovio.js") | $raw %]
1315     [% END %]
1316     [% Asset.js("lib/emoji-picker/js/emoji-picker-all.min.js") | $raw %]
1317     [% IF OpenLibraryCovers || OpenLibrarySearch %]
1318         [% Asset.js("js/openlibrary.js") | $raw %]
1319     [% END %]
1320
1321     <script>
1322         window.emojiPicker = new EmojiPicker({
1323         emojiable_selector: '[data-emojiable=true]',
1324         assetsPath: '[% interface | html %]/lib/emoji-picker/img/',
1325         popupButtonClasses: 'fa fa-smile-o'
1326         });
1327         window.emojiPicker.discover();
1328
1329         var OPACPopupAuthorsSearch = "[% Koha.Preference('OPACPopupAuthorsSearch') | html %]";
1330         [% IF ( OpacHighlightedWords ) %]
1331             var q_array = new Array();  // holds search terms if available
1332
1333             function highlightOff() {
1334                 $("#catalogue_detail_biblio").removeHighlight();
1335                 $(".highlight_toggle").toggle();
1336             }
1337             function highlightOn() {
1338                 var x;
1339                 for (x in q_array) {
1340                     if ( q_array[x].length > 0 ) {
1341                         q_array[x] = q_array[x].replace(/\w*:([\w])/, "$1");
1342                         q_array[x] = q_array[x].toLowerCase();
1343                         var myStopwords = "[% Koha.Preference('NotHighlightedWords') | html %]".toLowerCase().split('|');
1344                         if( $.inArray(q_array[x], myStopwords) == -1 ) {
1345                             $(".title").highlight(q_array[x]);
1346                             $(".author").highlight(q_array[x]);
1347                             $(".results_summary").highlight(q_array[x]);
1348                         }
1349                     }
1350                     $(".highlight_toggle").toggle();
1351                 }
1352             }
1353         [% END # /IF OpacHighlightedWords %]
1354
1355         $(document).ready(function() {
1356
1357             [% IF ( Koha.Preference('OPACDetailQRCode') ) %]
1358
1359                 var qrcode = kjua({
1360                     ecLevel: "H",
1361                     render: "canvas",
1362                     rounded: 100,
1363                     size: 150,
1364                     text: location.href,
1365                 });
1366                 if (qrcode) {
1367                     document.getElementById("qrcode").appendChild( qrcode );
1368                 }
1369
1370                 $(".show_qrcode").on("click", function(){
1371                     var qrcodeImg = $("#qrcode");
1372                     if( qrcodeImg.hasClass("d-none") ){
1373                         qrcodeImg.removeClass("d-none");
1374                     } else {
1375                         qrcodeImg.addClass("d-none");
1376                     }
1377                 });
1378             [% END # /IF OPACDetailQRCode %]
1379
1380             $('#bibliodescriptions').tabs();
1381             $(".branch-info-tooltip-trigger").uitooltip({
1382                 position: { my: "left+15 center", at: "right center" },
1383                 show: 50,
1384                 hide: 50,
1385                 content: function(){
1386                     var element = $(this).next("div");
1387                     return element.html();
1388                 }
1389             });
1390
1391             [% IF ( Koha.Preference('OpacBrowseResults') && busc ) %]
1392                 $(".l_Results").show();
1393                 $("#a_listResults").on("click", function(e){
1394                     e.preventDefault();
1395                     $(".results-pagination, .close_pagination, .pg_menu").toggle();
1396                 });
1397
1398                 $(".close_pagination").on("click", function(e){
1399                     e.preventDefault();
1400                     $(".results-pagination, .close_pagination, .pg_menu").toggle();
1401                 });
1402             [% END # /IF OpacBrowseResults %]
1403
1404             var columns_settings = [% TablesSettings.GetColumns( 'opac', 'biblio-detail', 'holdingst', 'json' ) | $raw %];
1405
1406             KohaTable("#holdingst", {
1407                 dom: '<"clearfix">t',
1408                 "columnDefs": [
1409                     { "targets": [ -1 ], "sortable": false, "searchable": false },
1410                     ],
1411                 "bKohaColumnsUseNames": true,
1412                 "autoWidth": false
1413             }, columns_settings);
1414
1415             KohaTable("#otherholdingst", {
1416                 dom: '<"clearfix">t',
1417                 "columnDefs": [
1418                     { "targets": [ -1 ], "sortable": false, "searchable": false },
1419                     ],
1420                 "bKohaColumnsUseNames": true,
1421                 "autoWidth": false
1422             }, columns_settings);
1423
1424             var serial_column_settings = [% TablesSettings.GetColumns( 'opac', 'biblio-detail', 'subscriptionst', 'json' ) | $raw %];
1425
1426             KohaTable("#subscriptionst", {
1427                 dom: '<"clearfix">t',
1428                 "sorting": [[ 1, "desc" ]],
1429                 "autoWidth": false,
1430                 "bKohaColumnsUseNames": true
1431             }, serial_column_settings);
1432
1433             [% IF ( TagsInputEnabled && loggedinusername ) %]
1434                     $(".tag_add").click(function(){
1435                         var thisid = $(this).attr("id");
1436                         thisid = thisid.replace("tag_add","");
1437                         $(this).hide();
1438                         $("#tagform"+thisid).show();
1439                         $("#newtag"+thisid).focus();
1440                         $("#newtag"+thisid+"_status").empty().hide();
1441                         return false;
1442                     });
1443                     $(".cancel_tag_add").click(function(){
1444                         var thisid = $(this).attr("id");
1445                         thisid = thisid.replace("cancel","");
1446                         $("#tagform"+thisid).hide();
1447                         $("#tag_add"+thisid).show();
1448                         $("#newtag"+thisid).val("");
1449                         $("#newtag"+thisid+"_status").empty().hide();
1450                         return false;
1451                     });
1452                     $(".tagbutton").click(function(){
1453                         var thisid = $(this).attr("title");
1454                         var tag = $("#newtag"+thisid).val();
1455                         if (!tag || (tag == "")) {
1456                             alert(MSG_NO_TAG_SPECIFIED);
1457                             return false;
1458                         }
1459                         KOHA.Tags.add_tag_button(thisid, tag);
1460                         return false;
1461                     });
1462             [% END %]
1463
1464             [%# Note that there is no way atm to target a column with its class name to set it as the default sort order %]
1465             [% IF Koha.Preference('OpacLocationBranchToDisplay') == 'home' AND Koha.Preference('OPACHoldingsDefaultSortField') == 'homebranch' AND item_level_itypes OR Koha.Preference('OpacLocationBranchToDisplay') == 'holding' AND Koha.Preference('OPACHoldingsDefaultSortField') == 'holdingbranch' AND item_level_itypes OR Koha.Preference('OpacLocationBranchToDisplay') == 'both' AND Koha.Preference('OPACHoldingsDefaultSortField') == 'homebranch' AND NOT item_level_itypes OR Koha.Preference('OpacLocationBranchToDisplay') == 'both' AND Koha.Preference('OPACHoldingsDefaultSortField') == 'holdingbranch' AND item_level_itypes %]
1466                 var default_order_index = 1;
1467             [% ELSIF Koha.Preference('OpacLocationBranchToDisplay') == 'both' AND Koha.Preference('OPACHoldingsDefaultSortField') == 'homebranch' AND item_level_itypes %]
1468                 var default_order_index = 2;
1469             [% ELSE %]
1470                 var default_order_index = 0;
1471             [% END %]
1472
1473             [% IF ( query_desc ) %]
1474                 [% IF ( OpacHighlightedWords ) %]
1475                     var query_desc = "[% query_desc |replace("'", "\'") |replace('\n', '\\n') |replace('\r', '\\r') | html %]";
1476                     q_array = query_desc.split(" ");
1477                     q_array = q_array.filter(function(n){ return n }); // Remove empty strings
1478                     highlightOn();
1479                     $("#highlight_toggle_on" ).hide().click(function() {highlightOn() ; return false;});
1480                     $("#highlight_toggle_off").show().click(function() {highlightOff(); return false;});
1481                 [% END %]
1482             [% END %]
1483             [% IF ( GoogleJackets ) %]
1484                 KOHA.Google.GetCoverFromIsbn([% covernewwindow | html %]);
1485             [% END %]
1486             [% IF ( Koha.Preference('OpacCoce') && Koha.Preference('CoceProviders') ) %]
1487                 KOHA.coce.getURL('[% Koha.Preference('CoceHost') | html %]', '[% Koha.Preference('CoceProviders') | html %]',[% covernewwindow | html %]);
1488             [% END %]
1489
1490             [% IF OpenLibraryCovers %]
1491                 KOHA.OpenLibrary.GetCoverFromIsbn();
1492             [% END %]
1493             [% IF OPACLocalCoverImages %]
1494                 KOHA.LocalCover.GetCoverFromBibnumber(true);
1495                 [% IF itemloop_has_images OR oheritemloop_has_images %]
1496                     KOHA.LocalCover.GetCoverFromItemnumber(true);
1497                 [% END %]
1498             [% END %]
1499             [% IF ( NovelistSelectProfile && ( normalized_isbn || normalized_upc ) ) %]
1500                 novSelect.loadContentForQuery(
1501                     {
1502                         ClientIdentifier : '[% IF normalized_isbn %][% normalized_isbn | html %][% ELSE %][% normalized_upc | html %][% END %]',
1503                         ISBN : '[% IF normalized_isbn %][% normalized_isbn | html %][% ELSE %][% normalized_upc | html %][% END %]',
1504                         version : '2.1'
1505                     },
1506                     '[% NovelistSelectProfile | html %]',
1507                     '[% NovelistSelectPassword | html %]',
1508                     function(d){
1509                         if ( d.length > 0 ){ //If no content
1510                             $(".NovelistSelect").show();
1511                         }
1512                     });
1513             [% END %]
1514
1515             [% IF ( OPACShelfBrowser ) %]
1516                 // Focus on shelf browser if present
1517                 var shelfbrowser = $("#shelfbrowser");
1518                 if (shelfbrowser.length > 0) {
1519                     $('html,body').animate({
1520                         scrollTop: shelfbrowser.first().offset().top
1521                     },
1522                     'slow');
1523                     shelfbrowser.first().find(':focusable').eq(0).focus();
1524                 }
1525
1526                 (function prepareShelfBrowser(){
1527
1528                     $(".main").on("click",".close_shelf",function(e){
1529                         e.preventDefault();
1530                         $("#shelfbrowser").toggle();
1531                     });
1532                     $(".main").on("click", "#browser_previous a", function(e){
1533                         e.preventDefault();
1534                         $.ajax({
1535                             url: "/cgi-bin/koha/svc/shelfbrowser.pl",
1536                             type: "POST",
1537                             data: {
1538                                 "shelfbrowse_itemnumber": $("#browser_previous a").data( "prev-itemnumber" )
1539                             },
1540                             success: function(data){
1541                                 $("#shelfbrowser").replaceWith(data);
1542                                 [% IF ( GoogleJackets ) %]
1543                                     KOHA.Google.GetCoverFromIsbn([% covernewwindow | html %]);
1544                                 [% END %]
1545                                 [% IF ( Koha.Preference('OpacCoce') && Koha.Preference('CoceProviders') ) %]
1546                                     KOHA.coce.getURL('[% Koha.Preference('CoceHost') | html %]', '[% Koha.Preference('CoceProviders') | html %]',[% covernewwindow | html %]);
1547                                 [% END %]
1548                                 [% IF OpenLibraryCovers %]
1549                                     KOHA.OpenLibrary.GetCoverFromIsbn();
1550                                 [% END %]
1551                                 [% IF OPACLocalCoverImages %]
1552                                     KOHA.LocalCover.GetCoverFromBibnumber(true);
1553                                 [% END %]
1554                             }
1555                         });
1556                     });
1557
1558                     $(".main").on("click", "#browser_next a", function(e){
1559                         e.preventDefault();
1560                         $.ajax({
1561                             url: "/cgi-bin/koha/svc/shelfbrowser.pl",
1562                             type: "POST",
1563                             data: {
1564                                 "shelfbrowse_itemnumber": $("#browser_next a").data( "next-itemnumber" )
1565                             },
1566                             success: function(data){
1567                                 $("#shelfbrowser").replaceWith(data);
1568                                 [% IF ( GoogleJackets ) %]
1569                                     KOHA.Google.GetCoverFromIsbn([% covernewwindow | html %]);
1570                                 [% END %]
1571                                 [% IF ( Koha.Preference('OpacCoce') && Koha.Preference('CoceProviders') ) %]
1572                                     KOHA.coce.getURL('[% Koha.Preference('CoceHost') | html %]', '[% Koha.Preference('CoceProviders') | html %]',[% covernewwindow | html %]);
1573                                 [% END %]
1574                                 [% IF OpenLibraryCovers %]
1575                                     KOHA.OpenLibrary.GetCoverFromIsbn();
1576                                 [% END %]
1577                                 [% IF OPACLocalCoverImages %]
1578                                     KOHA.LocalCover.GetCoverFromBibnumber(true);
1579                                 [% END %]
1580                             }
1581                         });
1582                     });
1583                 }());
1584             [% END # /IF ( OPACShelfBrowser ) %]
1585
1586             [% IF ( OpacStarRatings != 'disable' ) %]
1587                 // -----------------------------------------------------
1588                 // star-ratings code
1589                 // -----------------------------------------------------
1590                 // hide 'rate' button if javascript enabled
1591
1592                 $('input[name="rate_button"]').remove();
1593
1594                 var rating_enabled = ( $("#star_rating").data("rating-enabled") == "1" ) ? false : true;
1595                 $('#star_rating').barrating({
1596                     theme: 'fontawesome-stars',
1597                     showSelectedRating: false,
1598                     allowEmpty: true,
1599                     deselectable: false,
1600                     readonly: rating_enabled,
1601                     onSelect: function(value, text) {
1602                         $("#rating-loading").show();
1603                         $.post("/cgi-bin/koha/opac-ratings-ajax.pl", {
1604                             rating_old_value: $("#rating_value").attr("value"),
1605                             borrowernumber: "[% borrowernumber | html %]",
1606                             biblionumber: "[% biblio.biblionumber | html %]",
1607                             rating_value: value,
1608                             auth_error: value
1609                         }, function (data) {
1610                                 $("#rating_value").val(data.rating_value);
1611                                 if (data.rating_value) {
1612                                     $("#rating_value_text").text(_("Your rating: %s, ").format(data.rating_value));
1613                                     $("#cancel_rating_text").show();
1614                                 } else {
1615                                     $("#rating_value_text").text('');
1616                                     $("#cancel_rating_text").hide();
1617                                 }
1618                                 $("#rating_text").text(_("Average rating: %s (%s votes)").format(data.rating_avg, data.rating_total));
1619                                 $("#rating-loading").hide();
1620                         }, "json");
1621                     }
1622                 });
1623
1624                 $("#cancel_rating_text a").on("click", function(e){
1625                     e.preventDefault();
1626                     $("#star_rating").barrating("set", "");
1627                 });
1628
1629             [% END # / IF ( OpacStarRatings != 'disable' )%]
1630         });
1631
1632         $(document).ready(function() {
1633             if( OPACPopupAuthorsSearch == "1" ){
1634                 var terms = {
1635                     contributors : {
1636                         "label" : "author",
1637                         "keyword_search" : "au:",
1638                     },
1639                     subject : {
1640                         "label" : "subject",
1641                         "keyword_search" : "su:",
1642                     }
1643                 }
1644                 $(".contributors,.subject").on("click", function(e){
1645                     e.preventDefault();
1646                     var term = $(this).attr("class");
1647                     var selected_term = $(this).text();
1648                     var term_links = $("." + term );
1649                     if( term_links.length > 1 ){
1650                         term_links.each(function( index ){
1651                             var authid = "";
1652                             var preselected = false;
1653                             var search_label = $(this).text().trim();
1654                             if( $(this).text() == selected_term ){ preselected = true }
1655                             if( $(this).hasClass("authority_link") ){
1656                                 authid = $(this).data("authid");
1657                                 search_string = "an:" + authid;
1658                             } else {
1659                                 search_string = terms[term]["keyword_search"] + encodeURIComponent( search_label );
1660                             }
1661                             var termLink = $("<li>")
1662                                 .append( $("<input>", { type: "checkbox", class: "select_term", value: search_string, id: terms[term]["label"] + index } ).prop("checked", preselected ) )
1663                                 .append("&nbsp;")
1664                                 .append( $("<label>", { for: terms[term]["label"] + index, text: search_label } ) )
1665                             $("#termsList").append( termLink );
1666                             $("#multiSearch").modal("show");
1667                         });
1668                     } else {
1669                         location.href = $(this).attr("href");
1670                     }
1671                 });
1672
1673                 $("#multiSearch").on("hide.bs.modal", function(){
1674                     $("#termsList").html("");
1675                 });
1676
1677                 $(".check_all").on("click", function(e){
1678                     e.preventDefault();
1679                     $(".select_term").each(function(){
1680                         $(this).prop("checked", true );
1681                     });
1682                 });
1683
1684                 $(".check_none").on("click", function(e){
1685                     e.preventDefault();
1686                     $(".select_term").each(function(){
1687                         $(this).prop("checked", false );
1688                     });
1689                 });
1690
1691                 $("#validMultiSearch").on("click", function(e){
1692                     e.preventDefault();
1693                     multiSearchRequest();
1694                 });
1695             } /* if( OPACPopupAuthorsSearch == "1" ) */
1696         });
1697
1698         function multiSearchRequest(){
1699             var values = [];
1700             $(".select_term").each(function(){
1701                 if( $(this).prop("checked") ){
1702                     values.push( $(this).val() );
1703                 }
1704             });
1705
1706             if (values.length > 0) {
1707                 var request = "/cgi-bin/koha/opac-search.pl?q=" + values.join(' and ');
1708                 location.href = request;
1709             }
1710
1711         }
1712     </script>
1713 [% END %]