Bug 34857: Do not enable hidden select element (regression from bug 33233).
[koha.git] / koha-tmpl / opac-tmpl / bootstrap / en / modules / opac-advsearch.tt
1 [% USE raw %]
2 [% USE Asset %]
3 [% USE Koha %]
4 [% USE Branches %]
5 [% INCLUDE 'doc-head-open.inc' %]
6 <title>Advanced search &rsaquo; [% IF ( LibraryNameTitle ) %][% LibraryNameTitle | html %][% ELSE %]Koha online[% END %] catalog</title>
7 [% INCLUDE 'doc-head-close.inc' %]
8 [% BLOCK cssinclude %][% END %]
9 </head>
10 [% INCLUDE 'bodytag.inc' bodyid='advsearch' bodyclass='scrollto' %]
11 [% INCLUDE 'masthead.inc' %]
12 <form id="advsearch_form" action="/cgi-bin/koha/opac-search.pl" method="get">
13     <input type="hidden" name="advsearch" value="1"/>
14     <div class="main">
15         <nav id="breadcrumbs" aria-label="Breadcrumb" class="breadcrumbs">
16             <ol class="breadcrumb">
17                 <li class="breadcrumb-item">
18                     <a href="/cgi-bin/koha/opac-main.pl">Home</a>
19                 </li>
20                 <li class="breadcrumb-item active">
21                     <a href="#" aria-current="page">Advanced search</a>
22                 </li>
23             </ol>
24         </nav> <!-- /#breadcrumbs -->
25
26         <div class="container-fluid">
27             <div class="row">
28                 <div class="col order-first order-md-first order-lg-2">
29                     <!-- BOOLEAN SEARCH OPTIONS -->
30                     <div id="booleansearch" class="maincontent">
31                         <h1>Advanced search</h1>
32                         <fieldset>
33                             <legend>Search for:</legend>
34                             [% IF ( expanded_options ) %]
35                                 <div class="advanced-search-terms extended">
36                             [% ELSE %]
37                                 <div class="advanced-search-terms">
38                             [% END # /IF ( expanded_options ) %]
39                                 [% FOREACH search_box IN [ 1, 2, 3] %]
40                                     <div class="search-term-row">
41                                         <div class="search-term-input">
42                                             [% IF ( expanded_options ) %]
43                                                     <select name="op" class="form-control">
44                                                         <option value="AND" selected="selected">and</option>
45                                                         <option value="OR">or</option>
46                                                         <option value="NOT">not</option>
47                                                     </select>
48                                             [% ELSE %]
49                                                 <label for="search-field_[% loop.index | html %]">
50                                                     [% IF loop.index == 0 %]
51                                                         &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
52                                                     [% ELSE %]
53                                                         and
54                                                     [% END %]
55                                                 </label>
56                                             [% END # /IF ( expanded_options ) %]
57                                         </div> <!-- .search-term-input -->
58
59                                         <div class="search-term-input">
60                                             <select class="form-control" name="idx" aria-label="Choose search type for field [% loop.index + 1 | html %]" id="search-field_[% loop.index | html %]">
61                                                 <option value="kw">Keyword</option>
62                                                 [% IF ( expanded_options ) %]
63                                                     <option value="kw,phr">&nbsp;&nbsp;&nbsp;&nbsp; Keyword phrase</option>
64                                                 [% END %]
65                                                 <option value="su,wrdl">Subject</option>
66                                                 [% IF ( expanded_options ) %]
67                                                     <option value="su,phr">&nbsp;&nbsp;&nbsp;&nbsp; Subject phrase</option>
68                                                     <option value="su-br">&nbsp;&nbsp;&nbsp;&nbsp; Subject and broader terms</option>
69                                                     <option value="su-na">&nbsp;&nbsp;&nbsp;&nbsp; Subject and narrower terms</option>
70                                                     <option value="su-rl">&nbsp;&nbsp;&nbsp;&nbsp; Subject and related terms</option>
71                                                 [% END %]
72                                                 <option value="ti">Title</option>
73                                                 [% IF ( expanded_options ) %]
74                                                     <option value="ti,phr">&nbsp;&nbsp;&nbsp;&nbsp; Title phrase</option>
75                                                     <option value="se,wrdl">Series title</option>
76                                                     [% IF ( Koha.Preference('OPACNumbersPreferPhrase') ) %]
77                                                         <option value="callnum,phr">Call number</option>
78                                                     [% ELSE %]
79                                                         <option value="callnum">Call number</option>
80                                                     [% END %]
81
82                                                 [% END %]
83                                                 <option value="au,wrdl">Author</option>
84                                                 [% IF ( expanded_options ) %]
85                                                     <option value="au,phr">&nbsp;&nbsp;&nbsp;&nbsp; Author phrase</option>
86                                                     <option value="cpn,wrdl">&nbsp;&nbsp;&nbsp;&nbsp; Corporate name</option>
87                                                     <option value="cfn,wrdl">&nbsp;&nbsp;&nbsp;&nbsp; Conference name</option>
88                                                     <option value="cfn,phr">&nbsp;&nbsp;&nbsp;&nbsp; Conference name phrase</option>
89                                                     <option value="pn,wrdl">&nbsp;&nbsp;&nbsp;&nbsp; Personal name</option>
90                                                     <option value="pn,phr">&nbsp;&nbsp;&nbsp;&nbsp; Personal name phrase</option>
91                                                 [% END %]
92                                                 [% IF ( expanded_options ) %]
93                                                     <option value="nt">Notes/Comments</option>
94                                                     [% IF (marcflavour != 'UNIMARC') %]
95                                                         <option value="curriculum">Curriculum</option>
96                                                     [% END %]
97                                                 [% END %]
98                                                 <option value="pb,wrdl">Publisher</option>
99                                                 <option value="pl,wrdl">Publisher location</option>
100                                                 [% IF ( expanded_options ) %]
101                                                     [% IF ( Koha.Preference('OPACNumbersPreferPhrase') ) %]
102                                                         <option value="ident,phr">Standard number</option>
103                                                     [% ELSE %]
104                                                         <option value="ident">Standard number</option>
105                                                     [% END %]
106                                                     <option value="nb">&nbsp;&nbsp;&nbsp;&nbsp; ISBN</option>
107                                                     <option value="ns">&nbsp;&nbsp;&nbsp;&nbsp; ISSN</option>
108                                                 [% ELSE %]
109                                                     <option value="nb">ISBN</option>
110                                                 [% END %]
111                                                 <option value="bc">Barcode</option>
112                                             </select> <!-- /#search-field_[% loop.index | html %] -->
113                                         </div> <!-- .search-term-input -->
114                                         <div class="search-term-input">
115                                             <input class="form-control" type="text" name="q" aria-label="Enter field [% loop.index + 1 | html %] search terms" value="" />
116                                         </div> <!-- .search-term-input -->
117                                         [% IF ( expanded_options ) %]
118                                             <div class="search-term-input">
119                                                     <a class="ButtonPlus" title="Add another field" href="#">
120                                                         <i class="fa fa-plus-square" aria-hidden="true"></i>
121                                                     </a>
122                                                     <a class="ButtonLess" title="Remove field" href="#">
123                                                         <i class="fa fa-minus-square" aria-hidden="true"></i>
124                                                     </a>
125                                             </div> <!-- .search-term-input -->
126                                         [% END %]
127                                     </div> <!-- /.search-term-row -->
128                                 [% END # FOREACH search_box %]
129                                 [% IF ( expanded_options ) %]
130                                     [% IF Koha.Preference('SearchEngine') == 'Elasticsearch' %]
131                                         <div id="weight_search">
132                                             <label>
133                                                 <input type="checkbox" name="weight_search" checked="checked">
134                                                 Apply field weights to search
135                                             </label>
136                                         </div>
137                                     [% END %]
138                                 [% ELSE %]
139                                     <input type="hidden" name="weight_search" value="1" />
140                                 [% END %]
141                                 [% IF Koha.Preference('IncludeSeeFromInSearches') %]
142                                     <div class="hint included-see-from-headings-info">
143                                         <i class="fa fa-info-circle" aria-hidden="true"></i>
144                                         See from (non-preferred form) headings are included
145                                     </div>
146                                 [% END %]
147                             </div> <!-- /.advanced-search-terms -->
148                         </fieldset>
149                     </div> <!-- /#booleansearch -->
150                 </div> <!-- / .col -->
151             </div> <!-- / .row -->
152
153             <div class="text-center">
154                 <!-- SEARCH BUTTONS -->
155                 <fieldset class="action">
156                     [% PROCESS searchbuttons %]
157                 </fieldset>
158                 <!-- /SEARCH BUTTONS -->
159             </div>
160
161             <div class="row">
162                 [%# Following on one line for translatability %]
163                 [% IF ( ( OpacAdvSearchOptions and OpacAdvSearchOptions.grep('itemtype').size > 0 and not expanded_options ) or ( OpacAdvSearchMoreOptions and OpacAdvSearchMoreOptions.grep('itemtype').size > 0 and expanded_options ) ) %]
164                     <div class="col order-first order-md-first order-lg-2">
165                         [% WRAPPER tabs id= "advsearches" %]
166                             [% WRAPPER tabs_nav %]
167                                 [% FOREACH advsearchloo IN advancedsearchesloop %]
168                                     [% WRAPPER tab_item tabname= "advsearch-tab-${advsearchloo.advanced_search_type}" bt_active= "0" %]
169                                         [% IF ( advsearchloo.advanced_search_type == 'itemtypes' ) %]<span>Item type</span>
170                                         [% ELSIF ( advsearchloo.advanced_search_type == 'ccode' ) %]<span>Collection</span>
171                                         [% ELSIF ( advsearchloo.advanced_search_type == 'loc' ) %]<span>Shelving location</span>
172                                         [% ELSE %]<span>Something else</span>
173                                         [% END %]
174                                     [% END %]
175                                 [% END %]
176                             [% END # /WRAPPER tabs_nav %]
177                             [% WRAPPER tab_panels id= "advsearches" %]
178                                 [% FOREACH advsearchloo IN advancedsearchesloop %]
179                                     [% WRAPPER tab_panel tabname="advsearch-tab-${advsearchloo.advanced_search_type}" %]
180                                         <fieldset>
181                                             <legend>Limit to any of the following:</legend>
182                                             <div class="row">
183                                                 [% FOREACH itemtypeloo IN advsearchloo.code_loop %]
184                                                     [% IF (advsearchloo.advanced_search_type != 'itemtypes') OR (((!itemtypeloo.searchcategory) AND (itemtypeloo.cat == 0)) OR (itemtypeloo.cat == 1)) %]
185                                                         <div class="col-sm-6 col-lg-3">
186                                                             <input type="checkbox"
187                                                                 id="[% itemtypeloo.ccl FILTER remove(',') | html %]-[% itemtypeloo.number | html %]"
188                                                                 name="[% IF ( itemtypeloo.cat == 1 ) %]searchcat[% ELSE %]limit[% END %]"
189                                                                 value="[% IF ( itemtypeloo.cat == 1 ) %][% itemtypeloo.code | html %][% ELSE %]mc-[% itemtypeloo.ccl | html %]:[% itemtypeloo.code | html %][% END %]"
190                                                             />
191                                                             <label for="[% itemtypeloo.ccl FILTER remove(',') | html %]-[% itemtypeloo.number | html %]">
192                                                                 [% UNLESS ( Koha.Preference('OpacNoItemTypeImages')) %]
193                                                                     [% IF ( itemtypeloo.imageurl ) %]
194                                                                         <img src="[% itemtypeloo.imageurl | html %]" alt="[% itemtypeloo.description | html %]" />
195                                                                     [% END %]
196                                                                     &nbsp;
197                                                                 [% END %]
198                                                                 <span class="itypetext">[% itemtypeloo.description | html %]</span>
199                                                             </label>
200                                                         </div>
201                                                     [% IF ( loop.last ) %]</div>[% ELSE %][% UNLESS ( loop.count % 4 ) %]</div><div class="row">[% END %][% END %]
202                                                     [% END %]
203                                                 [% END %]
204                                         </fieldset>
205                                     [% END # /tab_panel#advsearch-advsearchloo.advanced_search_type %]
206                                 [% END # / FOREACH advancedsearchesloop %]
207                             [% END # /tab_panels %]
208                         [% END # /WRAPPER tabs#advsearches %]
209                     </div> <!-- / .col -->
210                 [% END # /IF OpacAdvSearchOptions %]
211             </div> <!-- /.row -->
212
213             <div id="advsearch_limits" class="row">
214
215                 [%# Following on one line for translatability %]
216                 [% IF ( ( OpacAdvSearchOptions and OpacAdvSearchOptions.grep('location').size > 0 and not expanded_options ) or ( OpacAdvSearchMoreOptions and OpacAdvSearchMoreOptions.grep('location').size > 0 and expanded_options ) ) %]
217                     [% IF ( singleBranchMode ) %]
218                         <div class="col-sm-6 col-lg-3">
219                             <!-- AVAILABILITY LIMITS -->
220                             <div id="location" class="advsearch_limit">
221                                 <fieldset>
222                                     <legend>Availability: </legend>
223                                     <div style="margin-top:.4em">
224                                         <label for="available-items"><input type="checkbox" id="available-items" name="limit" value="available" /> Only items currently available for loan or reference</label>
225                                     </div>
226                                 </fieldset>
227                             </div> <!-- / #location -->
228                             <!-- /AVAILABILITY LIMITS -->
229                         </div> <!-- / .col -->
230                     [% ELSE %]
231                         <div class="col-sm-6 col-lg-3">
232                             <!-- AVAILABILITY LIMITS -->
233                             <div id="location" class="advsearch_limit">
234                                 <fieldset>
235                                     <label for="branchloop">Location and availability:</label>
236                                     <select name="limit" id="branchloop">
237                                     <option value="">All libraries</option>
238                                     [% FOREACH BranchesLoo IN Branches.all( selected => opac_name ) %]
239                                         [% NEXT UNLESS BranchesLoo.public %]
240                                         [% IF BranchesLoo.selected %]
241                                             <option value="branch:[% BranchesLoo.branchcode | html %]" selected="selected">[% BranchesLoo.branchname | html %]</option>
242                                         [% ELSE %]
243                                             <option value="branch:[% BranchesLoo.branchcode | html %]">[% BranchesLoo.branchname | html %]</option>
244                                         [% END %]
245                                     [% END %]
246                                     </select>
247                                     [% IF search_groups %]
248                                         <p>OR</p>
249                                         <label for="categoryloop">Groups of libraries</label>
250                                         <select name="limit" id="categoryloop">
251                                             <option value=""> -- none -- </option>
252                                             [% FOREACH sg IN search_groups %]
253                                                 <option value="multibranchlimit:[% sg.id | html %]">[% sg.title | html %]</option>
254                                             [% END %]
255                                         </select>
256                                     [% END %]
257                                     <div style="margin-top:.4em">
258                                         <label for="available-items"><input type="checkbox" id="available-items" name="limit" value="available" /> Only items currently available for loan or reference</label>
259                                     </div>
260                                 </fieldset>
261                             </div> <!-- / #location -->
262                             <!-- /AVAILABILITY LIMITS -->
263                         </div> <!-- / .col -->
264                     [% END # / IF singleBranchMode %]
265                 [% END %]
266
267                 [%# Following on one line for translatability %]
268                 [% IF ( ( OpacAdvSearchOptions and OpacAdvSearchOptions.grep('sorting').size > 0 and not expanded_options ) or ( OpacAdvSearchMoreOptions and OpacAdvSearchMoreOptions.grep('sorting').size > 0 and expanded_options ) ) %]
269                     <div class="col-sm-6 col-lg-3">
270                         <!-- RANK LIMITS -->
271                         <div id="sortby" class="advsearch_limit">
272                             <fieldset>
273                                 <label for="sort_by">Sort by:</label>
274                                 <select id="sort_by" name="sort_by">
275                                     [% INCLUDE 'resort_form.inc' %]
276                                 </select>
277                             </fieldset>
278                         </div>
279                         <!-- RANK LIMITS -->
280                     </div> <!-- / .col -->
281                 [% END %]
282
283                 [%# Following on one line for translatability %]
284                 [% IF ( ( OpacAdvSearchOptions and OpacAdvSearchOptions.grep('pubdate').size > 0 and not expanded_options ) or ( OpacAdvSearchMoreOptions and OpacAdvSearchMoreOptions.grep('pubdate').size > 0 and expanded_options ) ) %]
285                     <div class="col-sm-6 col-lg-3">
286                         <div id="pubrange" class="advsearch_limit">
287                             <!-- PUB RANGE OPTION -->
288                             <fieldset>
289                                 <label for="limit-yr">Publication date range</label>
290                                 <input type="text" size="30" id="limit-yr" name="limit-yr" title="Enter search terms" value="" />
291                                 <div class="hint">For example:  1999-2001.  You could also use "-1987" for everything published in and before 1987 or "2008-" for everything published in 2008 and after.</div>
292                             </fieldset>
293                             <!-- /PUB RANGE OPTION -->
294                         </div>
295                     </div>
296                 [% END %]
297
298                 [%# Following on one line for translatability %]
299                 [% IF ( ( OpacAdvSearchOptions and OpacAdvSearchOptions.grep('language').size > 0 and not expanded_options ) or ( OpacAdvSearchMoreOptions and OpacAdvSearchMoreOptions.grep('language').size > 0 and expanded_options ) ) %]
300                     <div class="col-sm-6 col-lg-3">
301                         <div id="langfilter" class="advsearch_limit">
302                             <fieldset>
303                                 <!-- LANGUAGE LIMIT -->
304                                 <label for="language-limit">Language</label>
305                                 <select id="language-limit" name="limit">
306                                     <option value="">No limit</option>
307                                     [% FOREACH search_languages_loo IN search_languages_loop %]
308                                         [% IF ( search_languages_loo.selected ) %]
309                                             <option value="ln,rtrn:[% search_languages_loo.iso639_2_code | html %]" selected="selected">[% search_languages_loo.language_description | html %]</option>
310                                         [% ELSE %]
311                                             <option value="ln,rtrn:[% search_languages_loo.iso639_2_code | html %]">[% search_languages_loo.language_description | html %]</option>
312                                         [% END %]
313                                     [% END %]
314                                 </select>
315                                 <!-- /LANGUAGE LIMIT -->
316                             </fieldset>
317                         </div> <!-- / #langfilter -->
318                     </div> <!-- / .col -->
319                 [% END %]
320             </div> <!-- / .row -->
321
322             [%# Following on one line for translatability %]
323             [% IF ( ( OpacAdvSearchOptions and OpacAdvSearchOptions.grep('subtype').size > 0 and not expanded_options ) or ( OpacAdvSearchMoreOptions and OpacAdvSearchMoreOptions.grep('subtype').size > 0 and expanded_options ) ) %]
324                 [% IF ( usmarc ) %]
325                     <div id="subtypes" class="row">
326                         <!-- SUBTYPE LIMITS -->
327                         <div class="col-sm-6 col-lg-3">
328                             <div class="advsearch_limit">
329                                 <fieldset>
330                                     <label for="subtype_audience">Audience</label>
331                                     <select id="subtype_audience" name="limit" class="subtype">
332                                         <option value="" selected="selected" class="menuheader">Any audience</option>
333                                         <option value="aud:a">Preschool</option>
334                                         <option value="aud:b">Primary</option>
335                                         <option value="aud:c">Pre-adolescent</option>
336                                         <option value="aud:d">Adolescent</option>
337                                         <option value="aud:e">Adult</option>
338                                         <option value="aud:f">Specialized</option>
339                                         <option value="aud:g">General</option>
340                                         <option value="aud:j">Juvenile</option>
341                                     </select>
342                                 </fieldset>
343                             </div> <!-- /.advsearch_limit -->
344                         </div> <!-- / .col-sm-6 col-lg-3 -->
345
346                         <div class="col-sm-6 col-lg-3">
347                             <div class="advsearch_limit">
348                                 <fieldset>
349                                     <label for="subtype_content">Content</label>
350                                     <select id="subtype_content"  name="limit" class="subtype">
351                                         <option value="" selected="selected" class="menuheader">Any content</option>
352                                         <option value="fic:1">Fiction</option>
353                                         <option value="fic:0">Non-fiction</option>
354                                         <option value="bio:b">Biography</option>
355                                         <option value="mus:j">Musical recording</option>
356                                         <option value="mus:i">Non-musical recording</option>
357                                     </select>
358                                 </fieldset>
359                             </div> <!-- /.advsearch_limit -->
360                         </div>
361
362                         <div class="col-sm-6 col-lg-3">
363                             <div class="advsearch_limit">
364                                 <fieldset>
365                                     <label for="subtype_format">Format</label>
366                                     <select id="subtype_format" name="limit" class="subtype">
367                                         <option value="" selected="selected" class="menuheader">Any format</option>
368                                         <option value="l-format:ta">Regular print</option>
369                                         <option value="l-format:tb">Large print</option>
370                                         <option value="l-format:tc or l-format:fb">Braille</option>
371                                         <option value="">-----------</option>
372                                         <option value="l-format:sd">CD audio</option>
373                                         <option value="l-format:ss">Cassette recording</option>
374                                         <option value="l-format:vf">VHS tape / Videocassette</option>
375                                         <option value="l-format:vd">DVD video / Videodisc</option>
376                                         <option value="l-format:co">CD software</option>
377                                         <option value="l-format:cr">Website</option>
378                                     </select>
379                                 </fieldset>
380                             </div> <!-- /.advsearch_limit -->
381                         </div> <!-- / .col-sm-6 col-lg-3 -->
382
383                         <div class="col-sm-6 col-lg-3">
384                             <div class="advsearch_limit">
385                                 <fieldset>
386                                     <label for="subtype_additional">Additional content types for books/printed materials</label>
387                                     <select id="subtype_additional" name="limit" class="subtype">
388                                         <option value="">Any</option>
389                                         <option value="ctype:a">Abstracts/summaries</option>
390                                         <option value="ctype:b">Bibliographies</option>
391                                         <option value="ctype:c">Catalogs</option>
392                                         <option value="ctype:d">Dictionaries</option>
393                                         <option value="ctype:e">Encyclopedias </option>
394                                         <option value="ctype:f">Handbooks</option>
395                                         <option value="ctype:g">Legal articles</option>
396                                         <option value="ctype:i">Indexes</option>
397                                         <option value="ctype:j">Patent document</option>
398                                         <option value="ctype:k">Discographies</option>
399                                         <option value="ctype:l">Legislation</option>
400                                         <option value="ctype:m">Theses</option>
401                                         <option value="ctype:n">Surveys</option>
402                                         <option value="ctype:o">Reviews</option>
403                                         <option value="ctype:p">Programmed texts</option>
404                                         <option value="ctype:q">Filmographies</option>
405                                         <option value="ctype:r">Directories</option>
406                                         <option value="ctype:s">Statistics</option>
407                                         <option value="ctype:t">Technical reports</option>
408                                         <option value="ctype:v">Legal cases and case notes</option>
409                                         <option value="ctype:w">Law reports and digests</option>
410                                         <option value="ctype:z">Treaties </option>
411                                     </select>
412                                 </fieldset>
413                             </div> <!-- /.advsearch_limit -->
414                         </div> <!-- / .col-sm-6 col-lg-3 -->
415                     </div> <!-- / #subtypes.row -->
416                     <!-- SUBTYPE LIMITS -->
417                 [% END # / IF usmarc %]
418
419                 [% IF ( UNIMARC ) %]
420                     <div id="subtypes_unimarc" class="row">
421                         <!-- SUBTYPE LIMITS -->
422                         [% INCLUDE 'subtypes_unimarc.inc' %]
423                     </div>
424                 [% END %]
425             [% END # / IF expanded_options %]
426
427             [% IF ( OpacAdvSearchMoreOptions and OpacAdvSearchMoreOptions.size > 0 and expanded_options ) or ( OpacAdvSearchOptions and OpacAdvSearchOptions.size > 0 and not expanded_options ) %]
428                 <div class="text-center">
429                     <fieldset class="action">
430                         <!-- SEARCH BUTTONS -->
431                         [% PROCESS searchbuttons %]
432                         <!-- /SEARCH BUTTONS -->
433                     </fieldset>
434                 </div>
435             [% END %]
436         </div> <!-- / .container-fluid -->
437    </div> <!-- / .main -->
438 </form>
439
440 [% INCLUDE 'opac-bottom.inc' %]
441 [% BLOCK searchbuttons %]
442     <p>
443         <input class="btn btn-primary" type="submit" accesskey="s" name="do" title="Search" value="Search" />
444
445         [% IF ( OpacAdvSearchMoreOptions and OpacAdvSearchMoreOptions.size > 0 ) %]
446             [% IF expanded_options %]
447                 <a href="/cgi-bin/koha/opac-search.pl?expanded_options=0" class="btn btn-default more-less-options">Fewer options</a>
448             [% ELSIF not expanded_options %]
449                 <a href="/cgi-bin/koha/opac-search.pl?expanded_options=1" class="btn btn-default more-less-options">More options</a>
450             [% END %]
451         [% END %]
452
453         <a href="/cgi-bin/koha/opac-search.pl?do=Clear" class="btn btn-default new-search">New search</a>
454     </p>
455 [% END %]
456
457 [% BLOCK jsinclude %]
458 [% Asset.js("lib/jquery/plugins/jquery.deserialize.min.js") | $raw %]
459 <script>
460 window.addEventListener('pageshow', function( e ){
461     $('.form-control:visible').prop('disabled' , false );
462 });
463 $(document).ready(function() {
464     [% IF search_groups %]
465         function branch_limit() {
466             if( $("#branchloop").val() != "" ){
467                 $("#categoryloop").val("").prop('disabled',true);
468             } else {
469                 $("#categoryloop").prop('disabled',false);
470             }
471             if ( $("#categoryloop").val() != "" ){
472                 $("#branchloop").val("").prop('disabled',true);
473             } else {
474                 $("#branchloop").prop('disabled',false);
475             }
476         }
477         branch_limit();
478         $("#branchloop,#categoryloop").on("change",function(){
479             branch_limit();
480         });
481     [% END %]
482
483     if( $("#advsearches .tab-pane.active").length < 1 ){
484         $("#advsearches li:first a").tab("show");
485     }
486
487     $('.search-term-row .search-term-input select[name="op"]').first().prop("disabled",true).hide();
488
489     [% IF ( ReturnToSearch ) %]
490         if (form_serialized = JSON.parse( Cookies.get("form_serialized") ) ) {
491             // Add missing term inputs if there were more than 3
492             var count = (form_serialized.match(/&q=/g) || []).length;
493             for(var i = 3 ; i < count ; i++) {
494                 $("a.ButtonPlus:last").click();
495             }
496             $('#advsearch form').deserialize(form_serialized);
497         }
498         if (form_serialized_limits = JSON.parse( Cookies.get("form_serialized_limits") ) ) {
499             $('#language-limit')     .val(form_serialized_limits[0]);
500             $('#branchloop')         .val(form_serialized_limits[1]);
501             $('#subtype_audience')   .val(form_serialized_limits[2]);
502             $('#subtype_content')    .val(form_serialized_limits[3]);
503             $('#subtype_format')     .val(form_serialized_limits[4]);
504             $('#subtype_additional') .val(form_serialized_limits[5]);
505             $('#locloop')            .val(form_serialized_limits[6]);
506         }
507     [% ELSE %]
508         //Clear all form cookies
509         Cookies.remove("form_serialized", { path: '/'});
510         Cookies.remove("form_serialized_limits", { path: '/'});
511         Cookies.remove("search_path_code", { path: '/'});
512     [% END %]
513     $('#advsearch_form').submit(function() {
514         $('[name^="limit"]').each(function(){
515             if( $(this).val() == '' ){
516                 $(this).prop("disabled","disabled");
517             }
518         });
519         $(".search-term-row").each(function(){
520             if( $(this).find('input[name="q"]').val() == "" ){
521                 $(this).find('input[name="q"]').prop("disabled","disabled");
522                 $(this).find('select[name="op"]').prop("disabled","disabled");
523                 $(this).find('select[name="idx"]').prop("disabled","disabled");
524             }
525         });
526         form_serialized = $(this).serialize();
527         Cookies.set("form_serialized", JSON.stringify( form_serialized ), { path: '/', sameSite: 'Lax' });
528         form_serialized_limits = [
529             $('#language-limit').val(),   $('#branchloop').val(),
530             $('#subtype_audience').val(), $('#subtype_content').val(),
531             $('#subtype_format').val(),   $('#subtype_additional').val(),
532             $('#locloop').val()
533         ];
534         Cookies.set("form_serialized_limits", JSON.stringify( form_serialized_limits ),{ path: '/', sameSite: 'Lax' });
535         [% IF ( expanded_options ) %]
536             Cookies.set("search_path_code", 'exs', { path: '/', sameSite: 'Lax' });
537         [% ELSE %]
538             Cookies.set("search_path_code", 'ads', { path: '/', sameSite: 'Lax' });
539         [% END %]
540     });
541
542 });
543     /* This function allows to display a new field to search.
544     */
545     $(document).on("click", '.ButtonPlus', function(e) {
546         e.preventDefault();
547         $('.ButtonLess').show();
548         var thisLine = $(this).parent().parent();
549         var newLine = thisLine.clone();
550         $(newLine).find('.search-term-input select[name="op"]').first().prop("disabled",false).show();
551         newLine.find('input').val('');
552         thisLine.after(newLine);
553     });
554
555     $(document).on("click", '.ButtonLess', function(e) {
556         e.preventDefault();
557         if( $("a.ButtonLess").length <= 2 ) {
558            $('.ButtonLess').hide();
559         }
560         $(this).parent().parent().remove();
561         $('.search-term-row .search-term-input select[name="op"]').first().prop("disabled",true).hide();
562     });
563 </script>
564 [% END %]