Bug 21479: Fix remove from cart links at the OPAC (should remove only 1)
[koha.git] / koha-tmpl / opac-tmpl / bootstrap / en / includes / opac-bottom.inc
1 [% USE raw %]
2 [%- USE KohaPlugins -%]
3 [% USE Asset %]
4 [% UNLESS ( is_popup ) %]
5     [% SET OpacLangSelectorMode = Koha.Preference('OpacLangSelectorMode') %]
6     [% IF ( opaccredits ) %]
7         <div class="container-fluid">
8             <div class="row-fluid">
9                 <div class="span12">
10                     <div id="opaccredits" class="noprint">
11                         [% opaccredits | $raw %]
12                     </div>
13                 </div>
14             </div>
15         </div>
16     [% END #/ opaccredits %]
17
18     [% IF ( OpacKohaUrl ) %]
19         <div class="container-fluid">
20             <div class="row-fluid">
21                 <div class="span12">
22                     <div id="koha_url" class="clearfix noprint">
23                         <p>Powered by
24                         [% IF template.name.match('opac-main.tt') %]
25                             <a class="koha_url" href="http://koha-community.org">Koha</a>
26                         [% ELSE %]
27                             <a class="koha_url" rel="nofollow" href="http://koha-community.org">Koha</a>
28                         [% END %]</p>
29                     </div>
30                 </div> <!-- /.span12 -->
31             </div> <!-- /.row-fluid -->
32         </div> <!-- /.container-fluid -->
33     [% END # / OpacKohaUrl %]
34
35 </div> <!-- / #wrap in masthead.inc -->
36 [% IF OpacLangSelectorMode == 'both' || OpacLangSelectorMode == 'footer' %]
37     [% IF ( opaclanguagesdisplay ) %]
38         [% IF ( languages_loop && opaclanguagesdisplay ) %]
39             [% UNLESS ( one_language_enabled ) %]
40                 <div id="changelanguage" class="navbar navbar-fixed-bottom navbar-static-bottom noprint">
41                     <div class="navbar-inner">
42                         <ul id="i18nMenu" class="nav">
43                             <li><p class="lang navbar-text"><strong>Languages:&nbsp;</strong></p></li>
44                             [% FOREACH languages_loo IN languages_loop %]
45                                 [% IF ( languages_loo.group_enabled ) %]
46                                     [% IF ( languages_loo.plural ) %]
47                                         <li class="dropdown">
48                                             <a data-toggle="dropdown" class="dropdown-toggle sublangs" id="show[% languages_loo.rfc4646_subtag | html %]" href="#">[% IF ( languages_loo.native_description ) %][% languages_loo.native_description | html %][% ELSE %][% languages_loo.rfc4646_subtag | html %][% END %] <b class="caret"></b></a>
49                                                 <ul id="sub[% languages_loo.rfc4646_subtag | html %]" class="dropdown-menu">
50                                                     [% FOREACH sublanguages_loo IN languages_loo.sublanguages_loop %]
51                                                         [% IF ( sublanguages_loo.enabled ) %]
52                                                             [% IF ( sublanguages_loo.sublanguage_current ) %]
53                                                                 <li> <p>[% sublanguages_loo.native_description | html %] [% sublanguages_loo.script_description | html %] [% sublanguages_loo.region_description | html %] [% sublanguages_loo.variant_description | html %] ([% sublanguages_loo.rfc4646_subtag | html %])</p></li>
54                                                             [% ELSE %]
55                                                                 <li><a href="/cgi-bin/koha/opac-changelanguage.pl?language=[% sublanguages_loo.rfc4646_subtag | html %]"> [% sublanguages_loo.native_description | html %] [% sublanguages_loo.script_description | html %] [% sublanguages_loo.region_description | html %] [% sublanguages_loo.variant_description | html %] ([% sublanguages_loo.rfc4646_subtag | html %])</a></li>
56                                                             [% END %]
57                                                         [% END # / IF sublanguages_loo.enabled %]
58                                                     [% END # / FOREACH sublanguages_loo %]
59                                                 </ul>
60                                         </li> <!-- / .more -->
61                                     [% ELSE %]
62                                         [% IF ( languages_loo.group_enabled ) %]
63                                             [% IF ( languages_loo.current ) %]
64                                                 <li class="active"><p class="navbar-text">[% IF ( languages_loo.native_description ) %][% languages_loo.native_description | html %][% ELSE %][% languages_loo.rfc4646_subtag | html %][% END %]</p></li>
65                                             [% ELSE %]
66                                                 <li><a href="/cgi-bin/koha/opac-changelanguage.pl?language=[% languages_loo.rfc4646_subtag | html %]">[% IF ( languages_loo.native_description ) %][% languages_loo.native_description | html %][% ELSE %][% languages_loo.rfc4646_subtag | html %][% END %]</a></li>
67                                             [% END %]
68                                         [% END # / IF languages_loo.current %]
69                                     [% END # / IF ( languages_loo.plural ) %]
70                                 [% END # / IF ( languages_loo.group_enabled ) %]
71                             [% END # / FOREACH languages_loo IN languages_loop %]
72                         </ul> <!-- / #i18menu -->
73                     </div> <!-- / .navbar-inner -->
74                 </div> <!-- / #changelanguage -->
75             [% END # / UNLESS ( one_language_enabled ) %]
76         [% END # / IF ( languages_loop && opaclanguagesdisplay ) %]
77     [% END # / IF opaclanguagesdisplay %]
78 [% END %]
79 [% END # / UNLESS is_popup %]
80
81
82 <!-- JavaScript includes -->
83 [% Asset.js("lib/jquery/jquery.js") | $raw %]
84 [% Asset.js("lib/jquery/jquery-ui.js") | $raw %]
85 <script>
86 // Resolve name collision between jQuery UI and Twitter Bootstrap
87 $.widget.bridge('uitooltip', $.ui.tooltip);
88 </script>
89 [% Asset.js("lib/bootstrap/js/bootstrap.min.js") | $raw %]
90 [% Asset.js("js/global.js") | $raw %]
91 <script>
92     Modernizr.load([
93         // Test need for polyfill
94         {
95             test: window.matchMedia,
96             nope: "[% Asset.url('lib/media.match.min.js') | $raw %]"
97         },
98         // and then load enquire
99         "[% Asset.url('lib/enquire.min.js') | $raw %]",
100         "[% Asset.url('js/script.js') | $raw %]",
101     ]);
102
103     // Fix for datepicker in a modal
104     $.fn.modal.Constructor.prototype.enforceFocus = function () {};
105 </script>
106 [% IF ( OPACAmazonCoverImages || SyndeticsCoverImages ) %]
107 <script>//<![CDATA[
108         var NO_AMAZON_IMAGE = _("No cover image available");
109     //]]>
110 </script>
111 [% Asset.js("js/amazonimages.js") | $raw %]
112 [% END %]
113
114 [% Asset.js("lib/emoji-picker/js/config.js") | $raw %]
115 [% Asset.js("lib/emoji-picker/js/util.js") | $raw %]
116 [% Asset.js("lib/emoji-picker/js/jquery.emojiarea.js") | $raw %]
117 [% Asset.js("lib/emoji-picker/js/emoji-picker.js") | $raw %]
118
119 <script>
120     //<![CDATA[
121     var MSG_CONFIRM_AGAIN = _("Warning: Cannot be undone. Please confirm once again")
122     var MSG_DELETE_SEARCH_HISTORY = _("Are you sure you want to delete your search history?");
123     var MSG_NO_SUGGESTION_SELECTED = _("No suggestion was selected");
124     var MSG_SEARCHING = _("Searching %s...");
125     var MSG_ERROR_SEARCHING_COLLECTION = _("Error searching %s collection");
126     var MSG_NO_RESULTS_FOUND_IN_COLLECTION = _("No results found in the library's %s collection");
127     var MSG_RESULTS_FOUND_IN_COLLECTION = _("Found %s results in the library's %s collection");
128     var MSG_BY = _("by");
129     var MSG_TYPE = _("Type");
130     var MSG_NEXT = _("Next");
131     var MSG_PREVIOUS = _("Previous");
132     var MSG_CHECKOUTS = _("Checkouts");
133     var MSG_NO_CHECKOUTS = _("No checkouts");
134     var MSG_CHECK_OUT = _("Check out");
135     var MSG_CHECK_OUT_CONFIRM = _("Are you sure you want to checkout this item?");
136     var MSG_CHECKED_OUT_UNTIL = _("Checked out until %s");
137     var MSG_CHECK_IN = _("Check in");
138     var MSG_CHECK_IN_CONFIRM = _("Are you sure you want to return this item?");
139     var MSG_NO_CHECKOUTS = _("No checkouts");
140     var MSG_DOWNLOAD = _("Download");
141     var MSG_HOLDS = _("Holds");
142     var MSG_NO_HOLDS = _("No holds");
143     var MSG_PLACE_HOLD = _("Place hold");
144     var MSG_CANCEL_HOLD = _("Cancel");
145     var MSG_CANCEL_HOLD_CONFIRM = _("Are you sure you want to cancel this hold?");
146     var MSG_ON_HOLD = _("On hold");
147     [% IF Koha.Preference( 'opacbookbag' ) == 1 or Koha.Preference( 'virtualshelves' ) == 1 %]
148         var MSG_BASKET_EMPTY = _("Your cart is currently empty");
149         var MSG_RECORD_IN_BASKET = _("The item is already in your cart");
150         var MSG_RECORD_ADDED = _("The item has been added to your cart");
151         var MSG_RECORD_REMOVED = _("The item has been removed from your cart");
152         var MSG_NRECORDS_ADDED = _(" item(s) added to your cart");
153         var MSG_NRECORDS_IN_BASKET = _("already in your cart");
154         var MSG_NO_RECORD_SELECTED = _("No item was selected");
155         var MSG_NO_RECORD_ADDED = _("No item was added to your cart");
156         var MSG_CONFIRM_DEL_BASKET = _("Are you sure you want to empty your cart?");
157         var MSG_CONFIRM_DEL_RECORDS = _("Are you sure you want to remove the selected items?");
158         var MSG_ITEM_IN_CART = _("In your cart");
159         var MSG_IN_YOUR_CART = _("Items in your cart: ");
160         var MSG_ITEM_NOT_IN_CART = _("Add to your cart");
161     [% END %]
162     [% IF ( Koha.Preference( 'opacuserlogin' ) == 1 ) && ( Koha.Preference( 'TagsEnabled' ) == 1 ) %]
163         var MSG_TAGS_DISABLED = _("Sorry, tags are not enabled on this system.");
164         var MSG_TAG_ALL_BAD = _("Error! Your tag was entirely markup code.  It was NOT added.  Please try again with plain text.");
165         var MSG_ILLEGAL_PARAMETER = _("Error! Illegal parameter");
166         var MSG_TAG_SCRUBBED = _("Note: your tag contained markup code that was removed. The tag was added as ");
167         var MSG_ADD_TAG_FAILED = _("Error! Adding tags failed at");
168         var MSG_ADD_TAG_FAILED_NOTE = _("Note: you can only tag an item with a given term once.  Check 'My Tags' to see your current tags.");
169         var MSG_DELETE_TAG_FAILED = _("Error! You cannot delete the tag");
170         var MSG_DELETE_TAG_FAILED_NOTE = _("Note: you can only delete your own tags.")
171         var MSG_LOGIN_REQUIRED = _("You must be logged in to add tags.");
172         var MSG_TAGS_ADDED = _("Tags added: ");
173         var MSG_TAGS_DELETED = _("Tags added: ");
174         var MSG_TAGS_ERRORS = _("Errors: ");
175         var MSG_MULTI_ADD_TAG_FAILED = _("Unable to add one or more tags.");
176         var MSG_NO_TAG_SPECIFIED = _("No tag was specified.");
177     [% END %]
178     [% IF ( OPACAmazonCoverImages || SyndeticsCoverImages ) %]
179         $(window).load(function() {
180             verify_images();
181          });
182     [% END %]
183     $(".print-large").on("click",function(){
184         window.print();
185         return false;
186     });
187     $("#ulactioncontainer > ul > li > a.addtoshelf").on("click",function(){
188         Dopop('opac-addbybiblionumber.pl?biblionumber=[% biblionumber | html %]');
189         return false;
190     });
191     $("body").on("click", ".addtocart", function(e){
192         e.preventDefault();
193         var biblionumber = $(this).data("biblionumber");
194         addRecord( biblionumber );
195     });
196     $("body").on("click", ".cartRemove", function(e){
197         e.preventDefault();
198         var biblionumber = $(this).data("biblionumber");
199         delSingleRecord( biblionumber );
200     });
201     $(".clearsh").on("click", function(e){
202         e.preventDefault();
203         return confirmDelete(MSG_DELETE_SEARCH_HISTORY);
204     });
205     //]]>
206 </script>
207
208 [% IF Koha.Preference( 'opacbookbag' ) == 1 %]
209     [% Asset.js("js/basket.js") | $raw %]
210 [% ELSIF ( Koha.Preference( 'virtualshelves' ) == 1 ) %]
211     [% Asset.js("js/basket.js") | $raw %]
212 [% ELSE %]
213     <script>var readCookie;</script>
214 [% END %]
215
216 [% IF Koha.Preference( 'opacuserlogin' ) == 1 %][% IF Koha.Preference( 'TagsEnabled' ) == 1 %][% Asset.js("js/tags.js") | $raw %][% END %][% ELSE %][% END %]
217 [% IF ( GoogleJackets ) %]
218     [% Asset.js("js/google-jackets.js") | $raw %]
219     <script>
220         //<![CDATA[
221         var NO_GOOGLE_JACKET = _("No cover image available");
222         //]]>
223     </script>
224 [% END %]
225 [% IF ( Koha.Preference('Coce') && Koha.Preference('CoceProviders') ) %]
226     [% Asset.js("js/coce.js") | $raw %]
227     <script>
228         //<![CDATA[
229         var NO_COCE_JACKET = _("No cover image available");
230         //]]>
231     </script>
232 [% END %]
233
234 [% IF OpenLibraryCovers || OpenLibrarySearch %]
235     [% Asset.js("js/openlibrary.js") | $raw %]
236     <script>
237     //<![CDATA[
238     var NO_OL_JACKET = _("No cover image available");
239     var OL_PREVIEW = _("Preview");
240     //]]>
241     </script>
242 [% END %]
243
244 [% IF OPACLocalCoverImages %]
245     [% Asset.js("js/localcovers.js") | $raw %]
246     <script>
247     //<![CDATA[
248     var NO_LOCAL_JACKET = _("No cover image available");
249     //]]>
250     </script>
251 [% END %]
252
253 [% IF ( BakerTaylorEnabled ) %]
254     [% Asset.js("js/bakertaylorimages.js") | $raw %]
255     <script>
256         //<![CDATA[
257         var NO_BAKERTAYLOR_IMAGE = _("No cover image available");
258         $(window).load(function(){
259             bt_verify_images();
260         });
261         //]]>
262     </script>
263 [% END %]
264 [% IF ( GoogleIndicTransliteration ) %]
265     <script src="https://www.google.com/jsapi"></script>
266     [% Asset.js("js/googleindictransliteration.js") | $raw %]
267 [% END %]
268
269 [% IF Koha.Preference( 'OpacNewsLibrarySelect' ) %]
270 <script>
271     $("#news-branch-select").change(function() {
272         $( "#news-branch-select" ).submit();
273     });
274 </script>
275 [% END %]
276
277 [% IF (RecordedBooksEnabled) %]
278   var SPINNER_THROBBER = "[% interface | html %]/lib/jquery/plugins/themes/classic/throbber.gif";
279 [% END %]
280
281 [% Asset.js("lib/jquery/plugins/jquery.cookie.min.js") | $raw %]
282 <script>
283 $(document).ready(function() {
284     if($('#searchsubmit').length) {
285         $(document).on("click", '#searchsubmit', function(e) {
286             jQuery.removeCookie("form_serialized", { path: '/'});
287             jQuery.removeCookie("form_serialized_limits", { path: '/'});
288             jQuery.removeCookie("num_paragraph", { path: '/'});
289             jQuery.removeCookie("search_path_code", { path: '/'});
290         });
291     }
292
293     window.emojiPicker = new EmojiPicker({
294       emojiable_selector: '[data-emojiable=true]',
295       assetsPath: '[% interface | html %]/lib/emoji-picker/img/',
296       popupButtonClasses: 'fa fa-smile-o'
297     });
298     window.emojiPicker.discover();
299 });
300 </script>
301 [% PROCESS jsinclude %]
302 [% IF ( OPACUserJS ) %]
303     <script>
304         //<![CDATA[
305         [% OPACUserJS | $raw %]
306         //]]>
307     </script>
308 [% END %]
309 [% IF SCO_login %]
310     [% SET SCOUserJS = Koha.Preference('SCOUserJS') %]
311     [% IF ( SCOUserJS ) %]
312         <script>
313             //<![CDATA[
314             [% SCOUserJS | $raw %]
315             //]]>
316         </script>
317     [% END %]
318 [% END %]
319 [% KohaPlugins.get_plugins_opac_js | $raw %]
320 </body>
321 </html>