]> git.evergreen-ils.org Git - Evergreen.git/blob - Open-ILS/src/templates/opac/parts/js.tt2
LP#1710512 - OPAC js strings need to be i18n-izable
[Evergreen.git] / Open-ILS / src / templates / opac / parts / js.tt2
1 <!-- JS imports, etc.  -->
2 <script type="text/javascript" src="[% ctx.media_prefix %]/js/ui/default/opac/simple.js"></script>
3
4 [% INCLUDE "opac/i18n_strings.tt2" %]
5 <!-- DOB validation for Patron Registration in OPAC -->
6 <script type="text/javascript">
7     function dobValidate(input) {
8         var validformat = /^(19|20)\d\d([- /.])(0[1-9]|1[012])\2(0[1-9]|[12][0-9]|3[01])$/
9         var returnval = false
10         if (!validformat.test(input.value))
11             alert("[% l('You have entered an invalid date, or an improperly formatted date.  Please enter Date of Birth in YYYY-MM-DD or YYYY/MM/DD format and try again.') %]")
12         else
13             returnval = true
14         if (returnval == false) input.select()
15         return returnval
16 }
17 </script>
18
19 [%- IF ctx.use_stripe %]
20 <script type="text/javascript">unHideMe($("pay_fines_now"));[%# the DOM is loaded now, right? %]</script>
21 [% END -%]
22
23 [%- IF ctx.is_staff %]
24 <script type="text/javascript" src="[% ctx.media_prefix %]/js/ui/default/opac/staff.js"></script>
25     [% IF ctx.page == 'record' %]
26         [% IF ctx.search_result_index >= 0 %]
27         <script>
28             rdetail_next_prev_actions(
29                 "[% ctx.search_result_index %]",
30                 "[% ctx.hit_count %]",
31                 "[% ctx.prev_rec_url || '' %]",
32                 "[% ctx.next_rec_url || '' %]",
33                 "[% mkurl(ctx.first_search_record, {page => 0}) %]",
34                 "[% mkurl(ctx.opac_root _ '/results', {find_last => 1, page => POSIX.floor(ctx.hit_count / ctx.page_size)}) %]",
35                 "[% mkurl(ctx.opac_root _ '/results', {}, ['expand','cnoffset']) %]"
36             );
37         </script>
38         [% END %]
39         [% IF ctx.mfhd_summaries.size %]
40         <script>
41             window.mfhdDetails = [
42                 [% FOR summary IN ctx.mfhd_summaries %]
43                     [% IF summary.sre_id != -1 %]
44                 {
45                     'id' : '[% summary.sre_id %]', 
46                     'label' : '[% summary.location | replace("'", "\\'") %]',
47                     'entryNum' : [% loop.index %],
48                     'owning_lib' : '[% summary.owning_lib %]'
49                 },
50                     [% END %]
51                 [% END %]
52             ];
53         </script>
54         [% END %]
55     [% END %]
56 [%- END %]
57
58 [%- IF ENV.OILS_NOVELIST_URL AND ctx.page == 'record';
59     url = ENV.OILS_NOVELIST_URL;
60     IF CGI.https; url = url.replace('^http:', 'https:'); END; %]
61 <script type='text/javascript' id='EIT' src='[% url %]'></script>
62 [%- END %]
63
64 <!-- Require some inputs and selections for browsers that don't support required form field element -->
65 [% IF ctx.page == 'place_hold' %]
66   <script type="text/javascript" src="[% ctx.media_prefix %]/js/ui/default/opac/holds-validation.js">
67   </script>
68 [% END %]
69
70 [%- IF want_dojo; -%]
71 <script type="text/javascript">
72      var djConfig = {
73          locale: "[% ctx.locale | lower | replace('_', '-') %]",
74          parseOnLoad: true,
75          isDebug: false
76      }, lang, bidi;
77 </script>
78 <script type="text/javascript" src="[% ctx.media_prefix %]/js/dojo/dojo/dojo.js?[% ctx.eg_cache_hash %]"></script>
79 <script type="text/javascript" src="[% ctx.media_prefix %]/js/dojo/dojo/openils_dojo.js?[% ctx.eg_cache_hash %]"></script>
80
81 [%- # So the following works in Mozilla and Chrome, but not in IE8.
82     # Seems like it /should/ work anywhere, though, and obviate the
83     # next three script tags: %]
84 <!-- <script type="text/javascript" src="[% ctx.media_prefix %]/js/dojo/DojoSRF.js?[% ctx.eg_cache_hash %]"></script> -->
85
86 <script type="text/javascript" src="[% ctx.media_prefix %]/js/dojo/opensrf/opensrf.js?[% ctx.eg_cache_hash %]"></script>
87 <script type="text/javascript" src="[% ctx.media_prefix %]/js/dojo/opensrf/opensrf_xhr.js?[% ctx.eg_cache_hash %]"></script>
88 <script type="text/javascript" src="[% ctx.media_prefix %]/js/dojo/opensrf/JSON_v1.js?[% ctx.eg_cache_hash %]"></script>
89
90 [% IF use_autosuggest.enabled == "t" AND basic_search != "f"; %]
91 <script type="text/javascript">
92     dojo.require("openils.widget.AutoSuggest");
93
94     /* Set focus, and place the cursor at the end of the input string */
95     dojo.addOnLoad(function() {
96         /* Don't error out if the object doesn't exist, like on advanced search pages */
97         if (dojo.byId('search_box')) {
98             dijit.byId('search_box').focus();
99
100             var sb_value = dijit.byId('search_box').value;
101             /* Dojo won't trigger a change if the value doesn't change */
102             if (sb_value) {
103                 dijit.byId('search_box').setValue(sb_value + ' ');
104                 dijit.byId('search_box').setValue(sb_value);
105             }
106         }
107     });
108 </script>
109 [% END; # use_autosuggest %]
110
111 [% INCLUDE "opac/parts/acjs.tt2" IF ctx.page == 'record' %]
112 [% INCLUDE "opac/parts/ac_google_books.tt2" IF ctx.page == 'record' AND ctx.google_books_preview %]
113 [% IF ctx.page == 'advanced' %]
114 <script type="text/javascript" 
115     src="[% ctx.media_prefix %]/js/ui/default/opac/copyloc.js"></script>
116 [% END %]
117
118 [% IF ebook_api.enabled == 'true' %]
119     [% INCLUDE "opac/parts/ebook_api/base_js.tt2" %]
120     [% INCLUDE "opac/parts/ebook_api/avail_js.tt2" IF (ctx.page == 'rresult' OR ctx.page == 'record') %]
121     [% INCLUDE "opac/parts/ebook_api/login_js.tt2" IF (ctx.page == 'login') %]
122 [% END %]
123
124 <!-- provide a JS friendly org unit hash -->
125 <script type="text/javascript">
126 var aou_hash = {
127 [% FOR org_unit IN ctx.aou_list %]
128     [% org_unit.id %] : {
129         id : "[% org_unit.id %]",
130         name : "[% org_unit.name | replace('"', '\"') %]",
131         parent_ou : "[% org_unit.parent_ou %]",
132         depth : "[% org_unit.ou_type.depth %]",
133         can_have_vols : "[% org_unit.ou_type.can_have_vols %]"
134     }[%- ',' UNLESS loop.last -%]
135 [% END %]
136 };
137 </script>
138
139 <script type="text/javascript">if ($('client_tz_id')) { $('client_tz_id').value = OpenSRF.tz }</script>
140 [%- END; # want_dojo -%]