1 <!-- JS imports, etc. -->
2 <script type="text/javascript" src="[% ctx.media_prefix %]/js/ui/default/opac/simple.js[% ctx.cache_key %]"></script>
4 <!-- DOB validation for Patron Registration in OPAC -->
5 <script type="text/javascript">
6 function dobValidate(input) {
7 var validformat = /^(19|20)\d\d([- /.])(0[1-9]|1[012])\2(0[1-9]|[12][0-9]|3[01])$/
9 if (!validformat.test(input.value))
10 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.') %]")
13 if (returnval == false) input.select()
18 [%- IF ctx.use_stripe %]
19 <script type="text/javascript">unHideMe($("pay_fines_now"));[%# the DOM is loaded now, right? %]</script>
22 [%- IF ctx.is_staff %]
23 <script type="text/javascript" src="[% ctx.media_prefix %]/js/ui/default/opac/staff.js[% ctx.cache_key %]"></script>
24 [% IF ctx.page == 'record' %]
25 [% IF ctx.search_result_index >= 0 %]
27 rdetail_next_prev_actions(
28 "[% ctx.search_result_index %]",
29 "[% ctx.hit_count %]",
30 "[% ctx.prev_rec_url || '' %]",
31 "[% ctx.next_rec_url || '' %]",
32 "[% mkurl(ctx.first_search_record, {page => 0}) %]",
33 "[% mkurl(ctx.opac_root _ '/results', {find_last => 1, page => POSIX.floor(ctx.hit_count / ctx.page_size)}) %]",
34 "[% mkurl(ctx.opac_root _ '/results', {}, ['expand','cnoffset']) %]"
38 [% IF ctx.mfhd_summaries.size %]
40 window.mfhdDetails = [
41 [% FOR summary IN ctx.mfhd_summaries %]
42 [% IF summary.sre_id != -1 %]
44 'id' : '[% summary.sre_id %]',
45 'label' : '[% summary.location | replace("'", "\\'") %]',
46 'entryNum' : [% loop.index %],
47 'owning_lib' : '[% summary.owning_lib %]'
57 [%- IF ENV.OILS_NOVELIST_URL AND ctx.page == 'record';
58 url = ENV.OILS_NOVELIST_URL;
59 IF CGI.https; url = url.replace('^http:', 'https:'); END; %]
60 <script type='text/javascript' id='EIT' src='[% url %]'></script>
62 [%- IF ctx.page == 'record' AND ctx.google_books_preview %]
63 <script src='[% ctx.media_prefix %]/js/ui/default/opac/ac_google_books.js' async defer></script>
66 <script type="text/javascript">
68 locale: "[% ctx.locale | lower | replace('_', '-') %]",
73 <script type="text/javascript" src="[% ctx.media_prefix %]/js/dojo/dojo/dojo.js?[% ctx.eg_cache_hash %]"></script>
74 <script type="text/javascript" src="[% ctx.media_prefix %]/js/dojo/dojo/openils_dojo.js?[% ctx.eg_cache_hash %]"></script>
76 [%- # So the following works in Mozilla and Chrome, but not in IE8.
77 # Seems like it /should/ work anywhere, though, and obviate the
78 # next three script tags: %]
79 <!-- <script type="text/javascript" src="[% ctx.media_prefix %]/js/dojo/DojoSRF.js?[% ctx.eg_cache_hash %]"></script> -->
81 <script type="text/javascript" src="[% ctx.media_prefix %]/js/dojo/opensrf/opensrf.js?[% ctx.eg_cache_hash %]"></script>
82 <script type="text/javascript" src="[% ctx.media_prefix %]/js/dojo/opensrf/opensrf_xhr.js?[% ctx.eg_cache_hash %]"></script>
83 <script type="text/javascript" src="[% ctx.media_prefix %]/js/dojo/opensrf/JSON_v1.js?[% ctx.eg_cache_hash %]"></script>
85 [% IF use_autosuggest.enabled == "t" AND basic_search != "f"; %]
86 <script type="text/javascript">
87 dojo.require("openils.widget.AutoSuggest");
89 /* Set focus, and place the cursor at the end of the input string */
90 dojo.addOnLoad(function() {
91 /* Don't error out if the object doesn't exist, like on advanced search pages */
92 if (dojo.byId('search_box')) {
93 dijit.byId('search_box').focus();
95 var sb_value = dijit.byId('search_box').value;
96 /* Dojo won't trigger a change if the value doesn't change */
98 dijit.byId('search_box').setValue(sb_value + ' ');
99 dijit.byId('search_box').setValue(sb_value);
104 [% END; # use_autosuggest %]
106 [% INCLUDE "opac/parts/acjs.tt2" IF ctx.page == 'record' %]
107 [% IF ctx.page == 'advanced' %]
108 <script type="text/javascript"
109 src="[% ctx.media_prefix %]/js/ui/default/opac/copyloc.js[% ctx.cache_key %]"></script>
112 [% IF ebook_api.enabled == 'true' %]
113 [% INCLUDE "opac/parts/ebook_api/base_js.tt2" %]
114 [% INCLUDE "opac/parts/ebook_api/avail_js.tt2" IF (ctx.page == 'rresult' OR ctx.page == 'record') %]
115 [% INCLUDE "opac/parts/ebook_api/login_js.tt2" IF (ctx.page == 'login') %]
118 <!-- provide a JS friendly org unit hash -->
119 <script type="text/javascript">
121 [% FOR org_unit IN ctx.aou_list %]
122 [% org_unit.id %] : {
123 id : "[% org_unit.id %]",
124 name : "[% org_unit.name | replace('"', '\"') %]",
125 parent_ou : "[% org_unit.parent_ou %]",
126 depth : "[% org_unit.ou_type.depth %]",
127 can_have_vols : "[% org_unit.ou_type.can_have_vols %]"
128 }[%- ',' UNLESS loop.last -%]
133 <!-- Require radio parts selection for browsers that don't support required form field element -->
134 [% IF ctx.page == 'place_hold' %]
135 <script type="text/javascript">
136 function validateRadioSelection (radios) {
137 for (i = 0; i < radios.length; ++ i)
139 if (radios[i].checked) return true;
143 function validateHoldForm() {
144 if (validateRadioSelection (document.getElementsByName("part")))
150 alert ("Please select a part");
157 <script type="text/javascript">if ($('client_tz_id')) { $('client_tz_id').value = OpenSRF.tz }</script>
158 [%- END; # want_dojo -%]