Bug 5685: [OPAC follow-up] Validation of email address field
[koha.git] / koha-tmpl / opac-tmpl / bootstrap / en / includes / opac-bottom.inc
1 [% UNLESS ( is_popup ) %]
2     [% SET OpacLangSelectorMode = Koha.Preference('OpacLangSelectorMode') %]
3     [% IF ( opaccredits ) %]
4         <div class="container-fluid">
5             <div class="row-fluid">
6                 <div class="span12">
7                     <div id="opaccredits" class="noprint">
8                         [% opaccredits %]
9                     </div>
10                 </div>
11             </div>
12         </div>
13     [% END #/ opaccredits %]
14
15     [% IF ( OpacKohaUrl ) %]
16         <div class="container-fluid">
17             <div class="row-fluid">
18                 <div class="span12">
19                     <div id="koha_url" class="clearfix noprint">
20                         <p>Powered by
21                         [% IF template.name.match('opac-main.tt') %]
22                             <a class="koha_url" href="http://koha-community.org">Koha</a>
23                         [% ELSE %]
24                             <a class="koha_url" rel="nofollow" href="http://koha-community.org">Koha</a>
25                         [% END %]</p>
26                     </div>
27                 </div> <!-- /.span12 -->
28             </div> <!-- /.row-fluid -->
29         </div> <!-- /.container-fluid -->
30     [% END # / OpacKohaUrl %]
31
32 </div> <!-- / #wrap in masthead.inc -->
33 [% IF OpacLangSelectorMode == 'both' || OpacLangSelectorMode == 'footer' %]
34     [% IF ( opaclanguagesdisplay ) %]
35         [% IF ( languages_loop && opaclanguagesdisplay ) %]
36             [% UNLESS ( one_language_enabled ) %]
37                 <div id="changelanguage" class="navbar navbar-fixed-bottom navbar-static-bottom noprint">
38                     <div class="navbar-inner">
39                         <ul id="i18nMenu" class="nav">
40                             <li><p class="lang navbar-text"><strong>Languages:&nbsp;</strong></p></li>
41                             [% FOREACH languages_loo IN languages_loop.sort('rfc4646_subtag') %]
42                                 [% IF ( languages_loo.group_enabled ) %]
43                                     [% IF ( languages_loo.plural ) %]
44                                         <li class="dropdown">
45                                             <a data-toggle="dropdown" class="dropdown-toggle sublangs" id="show[% languages_loo.rfc4646_subtag %]" href="#">[% IF ( languages_loo.native_description ) %][% languages_loo.native_description %][% ELSE %][% languages_loo.rfc4646_subtag %][% END %] <b class="caret"></b></a>
46                                                 <ul id="sub[% languages_loo.rfc4646_subtag %]" class="dropdown-menu">
47                                                     [% FOREACH sublanguages_loo IN languages_loo.sublanguages_loop %]
48                                                         [% IF ( sublanguages_loo.enabled ) %]
49                                                             [% IF ( sublanguages_loo.sublanguage_current ) %]
50                                                                 <li> <p>[% sublanguages_loo.native_description %] [% sublanguages_loo.script_description %] [% sublanguages_loo.region_description %] [% sublanguages_loo.variant_description %] ([% sublanguages_loo.rfc4646_subtag %])</p></li>
51                                                             [% ELSE %]
52                                                                 <li><a href="/cgi-bin/koha/opac-changelanguage.pl?language=[% sublanguages_loo.rfc4646_subtag %]"> [% sublanguages_loo.native_description %] [% sublanguages_loo.script_description %] [% sublanguages_loo.region_description %] [% sublanguages_loo.variant_description %] ([% sublanguages_loo.rfc4646_subtag %])</a></li>
53                                                             [% END %]
54                                                         [% END # / IF sublanguages_loo.enabled %]
55                                                     [% END # / FOREACH sublanguages_loo %]
56                                                 </ul>
57                                         </li> <!-- / .more -->
58                                     [% ELSE %]
59                                         [% IF ( languages_loo.group_enabled ) %]
60                                             [% IF ( languages_loo.current ) %]
61                                                 <li class="active"><p class="navbar-text">[% IF ( languages_loo.native_description ) %][% languages_loo.native_description %][% ELSE %][% languages_loo.rfc4646_subtag %][% END %]</p></li>
62                                             [% ELSE %]
63                                                 <li><a href="/cgi-bin/koha/opac-changelanguage.pl?language=[% languages_loo.rfc4646_subtag %]">[% IF ( languages_loo.native_description ) %][% languages_loo.native_description %][% ELSE %][% languages_loo.rfc4646_subtag %][% END %]</a></li>
64                                             [% END %]
65                                         [% END # / IF languages_loo.current %]
66                                     [% END # / IF ( languages_loo.plural ) %]
67                                 [% END # / IF ( languages_loo.group_enabled ) %]
68                             [% END # / FOREACH languages_loo IN languages_loop %]
69                         </ul> <!-- / #i18menu -->
70                     </div> <!-- / .navbar-inner -->
71                 </div> <!-- / #changelanguage -->
72             [% END # / UNLESS ( one_language_enabled ) %]
73         [% END # / IF ( languages_loop && opaclanguagesdisplay ) %]
74     [% END # / IF opaclanguagesdisplay %]
75 [% END %]
76 [% END # / UNLESS is_popup %]
77
78
79 <!-- JavaScript includes -->
80 <script type="text/javascript" src="[% interface %]/[% theme %]/lib/jquery/jquery.js"></script>
81 <script type="text/javascript" src="[% interface %]/[% theme %]/lib/jquery/jquery-ui.js"></script>
82 <script type="text/javascript">
83 // Resolve name collision between jQuery UI and Twitter Bootstrap
84 $.widget.bridge('uitooltip', $.ui.tooltip);
85 </script>
86 <script type="text/javascript" src="[% interface %]/[% theme %]/lib/bootstrap/js/bootstrap.min.js"></script>
87 <script type="text/javascript" src="[% interface %]/[% theme %]/js/global.js"></script>
88 <script type="text/javascript">
89     Modernizr.load([
90         // Test need for polyfill
91         {
92             test: window.matchMedia,
93             nope: "[% interface %]/[% theme %]/lib/media.match.min.js"
94         },
95         // and then load enquire
96         "[% interface %]/[% theme %]/lib/enquire.min.js",
97         "[% interface %]/[% theme %]/js/script.js"
98     ]);
99 </script>
100 [% IF ( OPACAmazonCoverImages || SyndeticsCoverImages ) %]
101 <script type="text/javascript">//<![CDATA[
102         var NO_AMAZON_IMAGE = _("No cover image available");
103     //]]>
104 </script>
105 <script type="text/javascript" src="[% interface %]/[% theme %]/js/amazonimages.js"></script>
106 [% END %]
107
108 <script type="text/javascript">
109     //<![CDATA[
110     var MSG_CONFIRM_AGAIN = _("Warning: Cannot be undone. Please confirm once again")
111     var MSG_DELETE_SEARCH_HISTORY = _("Are you sure you want to delete your search history?");
112     var MSG_NO_SUGGESTION_SELECTED = _("No suggestion was selected");
113     [% IF Koha.Preference( 'opacbookbag' ) == 1 or Koha.Preference( 'virtualshelves' ) == 1 %]
114         var MSG_BASKET_EMPTY = _("Your cart is currently empty");
115         var MSG_RECORD_IN_BASKET = _("The item is already in your cart");
116         var MSG_RECORD_ADDED = _("The item has been added to your cart");
117         var MSG_RECORD_REMOVED = _("The item has been removed from your cart");
118         var MSG_NRECORDS_ADDED = _(" item(s) added to your cart");
119         var MSG_NRECORDS_IN_BASKET = _("already in your cart");
120         var MSG_NO_RECORD_SELECTED = _("No item was selected");
121         var MSG_NO_RECORD_ADDED = _("No item was added to your cart");
122         var MSG_CONFIRM_DEL_BASKET = _("Are you sure you want to empty your cart?");
123         var MSG_CONFIRM_DEL_RECORDS = _("Are you sure you want to remove the selected items?");
124         var MSG_ITEM_IN_CART = _("In your cart");
125         var MSG_IN_YOUR_CART = _("Items in your cart: ");
126         var MSG_ITEM_NOT_IN_CART = _("Add to your cart");
127         var MSG_NO_RECORD_SELECTED = _("No item was selected");
128     [% END %]
129     [% IF ( Koha.Preference( 'opacuserlogin' ) == 1 ) && ( Koha.Preference( 'TagsEnabled' ) == 1 ) %]
130         var MSG_TAGS_DISABLED = _("Sorry, tags are not enabled on this system.");
131         var MSG_TAG_ALL_BAD = _("Error! Your tag was entirely markup code.  It was NOT added.  Please try again with plain text.");
132         var MSG_ILLEGAL_PARAMETER = _("Error! Illegal parameter");
133         var MSG_TAG_SCRUBBED = _("Note: your tag contained markup code that was removed. The tag was added as ");
134         var MSG_ADD_TAG_FAILED = _("Error! The add_tag operation failed on");
135         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.");
136         var MSG_DELETE_TAG_FAILED = _("Error! You cannot delete the tag");
137         var MSG_DELETE_TAG_FAILED_NOTE = _("Note: you can only delete your own tags.")
138         var MSG_LOGIN_REQUIRED = _("You must be logged in to add tags.");
139         var MSG_TAGS_ADDED = _("Tags added: ");
140         var MSG_TAGS_DELETED = _("Tags added: ");
141         var MSG_TAGS_ERRORS = _("Errors: ");
142         var MSG_MULTI_ADD_TAG_FAILED = _("Unable to add one or more tags.");
143         var MSG_NO_TAG_SPECIFIED = _("No tag was specified.");
144     [% END %]
145     [% IF ( OPACAmazonCoverImages || SyndeticsCoverImages ) %]
146         $(window).load(function() {
147             verify_images();
148          });
149     [% END %]
150     //]]>
151 </script>
152
153 [% IF Koha.Preference( 'opacbookbag' ) == 1 %]
154     <script type="text/javascript" src="[% interface %]/[% theme %]/js/basket.js"></script>
155 [% ELSIF ( Koha.Preference( 'virtualshelves' ) == 1 ) %]
156     <script type="text/javascript" src="[% interface %]/[% theme %]/js/basket.js"></script>
157 [% ELSE %]
158     <script type="text/javascript">var readCookie;</script>
159 [% END %]
160
161 [% IF Koha.Preference( 'opacuserlogin' ) == 1 %][% IF Koha.Preference( 'TagsEnabled' ) == 1 %]<script type="text/javascript" src="[% interface %]/[% theme %]/js/tags.js"></script>[% END %][% ELSE %][% END %]
162 [% IF ( GoogleJackets ) %]
163     <script type="text/javascript" src="[% interface %]/[% theme %]/js/google-jackets.js"></script>
164     <script type="text/javascript">
165         //<![CDATA[
166         var NO_GOOGLE_JACKET = _("No cover image available");
167         //]]>
168     </script>
169 [% END %]
170 [% IF ( Koha.Preference('Coce') && Koha.Preference('CoceProviders') ) %]
171     <script type="text/javascript" src="[% interface %]/[% theme %]/js/coce.js"></script>
172     <script type="text/javascript">
173         //<![CDATA[
174         var NO_COCE_JACKET = _("No cover image available");
175         //]]>
176     </script>
177 [% END %]
178
179 [% IF OpenLibraryCovers %]
180     <script type="text/javascript" src="[% interface %]/[% theme %]/js/openlibrary.js"></script>
181     <script type="text/javascript">
182     //<![CDATA[
183     var NO_OL_JACKET = _("No cover image available");
184     var OL_PREVIEW = _("Preview");
185     //]]>
186     </script>
187 [% END %]
188
189 [% IF OPACLocalCoverImages %]
190     <script type="text/javascript" src="[% interface %]/[% theme %]/js/localcovers.js"></script>
191     <script type="text/javascript">
192     //<![CDATA[
193     var NO_LOCAL_JACKET = _("No cover image available");
194     //]]>
195     </script>
196 [% END %]
197
198 [% IF ( BakerTaylorEnabled ) %]
199     <script type="text/javascript" src="[% interface %]/[% theme %]/js/bakertaylorimages.js"></script>
200     <script type="text/javascript">
201         //<![CDATA[
202         var NO_BAKERTAYLOR_IMAGE = _("No cover image available");
203         $(window).load(function(){
204             bt_verify_images();
205         });
206         //]]>
207     </script>
208 [% END %]
209 [% IF ( GoogleIndicTransliteration ) %]
210     <script type="text/javascript" src="http://www.google.com/jsapi"></script>
211     <script type="text/javascript" src="[% interface %]/[% theme %]/js/googleindictransliteration.js"></script>
212 [% END %]
213 [% IF persona %]
214     <script src="https://login.persona.org/include.js"></script>
215     <script type="text/javascript">
216
217     navigator.id.watch({
218         loggedInUser: [% IF emailaddress && loggedinpersona %]'[% emailaddress %]'[% ELSE %]null[% END %],
219         onlogin: function (assertion) {
220             $.post('/cgi-bin/koha/svc/login',
221                 { assertion: assertion },
222                 function (data) {
223                     window.location = '/cgi-bin/koha/opac-user.pl';
224                 }
225             )
226             .fail(function() { var errstr = _("Could not login, perhaps your Persona email does not match your Koha one");
227                 alert(errstr);
228             });
229         },
230         onlogout: function () {
231             window.location = '/cgi-bin/koha/opac-main.pl?logout.x=1';
232         }
233     });
234
235     var signinLink = document.getElementById('browserid');
236
237     if (signinLink) {
238         signinLink.onclick = function(evt) {
239             // Requests a signed identity assertion from the user.
240             navigator.id.request({
241                 siteName: "[% LibraryName | html %]",
242                 returnTo: '/cgi-bin/koha/opac-user.pl',
243                 oncancel: function() { alert('user refuses to share identity.'); }
244                 });
245             };
246     }
247
248     </script>
249 [% END #  / IF persona %]
250
251 <script type="text/javascript" src="[% interface %]/[% theme %]/lib/jquery/plugins/jquery.cookie.min.js"></script>
252 <script type="text/javascript">
253 $(document).ready(function() {
254     if($('#searchsubmit').length) {
255         $(document).on("click", '#searchsubmit', function(e) {
256             jQuery.removeCookie("form_serialized", { path: '/'});
257             jQuery.removeCookie("form_serialized_itype", { path: '/'});
258             jQuery.removeCookie("form_serialized_limits", { path: '/'});
259             jQuery.removeCookie("num_paragraph", { path: '/'});
260             jQuery.removeCookie("search_path_code", { path: '/'});
261         });
262     }
263 });
264 </script>
265 [% PROCESS jsinclude %]
266
267 [% IF ( OPACUserJS ) %]
268     <script type="text/javascript">
269         //<![CDATA[
270         [% OPACUserJS %]
271         //]]>
272     </script>
273 [% END %]
274 </body>
275 </html>