renaming uwin skin to uwin_old
authorrisard <risard@6d9bc8c9-1ec2-4278-b937-99fde70a366f>
Tue, 29 Sep 2009 10:06:50 +0000 (10:06 +0000)
committerrisard <risard@6d9bc8c9-1ec2-4278-b937-99fde70a366f>
Tue, 29 Sep 2009 10:06:50 +0000 (10:06 +0000)
git-svn-id: svn://svn.open-ils.org/ILS-Contrib/conifer/trunk@685 6d9bc8c9-1ec2-4278-b937-99fde70a366f

148 files changed:
web/opac/skin/uwin/css/colors.css [deleted file]
web/opac/skin/uwin/css/layout.css [deleted file]
web/opac/skin/uwin/js/adv_global.js [deleted file]
web/opac/skin/uwin/js/advanced.js [deleted file]
web/opac/skin/uwin/js/cn_browse.js [deleted file]
web/opac/skin/uwin/js/container.js [deleted file]
web/opac/skin/uwin/js/copy_details.js [deleted file]
web/opac/skin/uwin/js/depth_selector.js [deleted file]
web/opac/skin/uwin/js/holds.js [deleted file]
web/opac/skin/uwin/js/mresult.js [deleted file]
web/opac/skin/uwin/js/myopac.js [deleted file]
web/opac/skin/uwin/js/rdetail.js [deleted file]
web/opac/skin/uwin/js/result_common.js [deleted file]
web/opac/skin/uwin/js/rresult.js [deleted file]
web/opac/skin/uwin/js/search_bar.js [deleted file]
web/opac/skin/uwin/js/sidebar.js [deleted file]
web/opac/skin/uwin/js/sidebar_extras.js [deleted file]
web/opac/skin/uwin/js/tips.js [deleted file]
web/opac/skin/uwin/local/images/uwin_main.png [deleted file]
web/opac/skin/uwin/local/images/uwin_small.png [deleted file]
web/opac/skin/uwin/local/locale/en-CA/opac.dtd [deleted file]
web/opac/skin/uwin/local/locale/en-CA/opac_conifer.dtd [deleted file]
web/opac/skin/uwin/local/xml/item_lang_options.xml [deleted file]
web/opac/skin/uwin/xml/advanced/adv_global_row.xml [deleted file]
web/opac/skin/uwin/xml/advanced/advanced_global.xml [deleted file]
web/opac/skin/uwin/xml/advanced/advanced_marc.xml [deleted file]
web/opac/skin/uwin/xml/advanced/advanced_quick.xml [deleted file]
web/opac/skin/uwin/xml/body.xml [deleted file]
web/opac/skin/uwin/xml/common/altcanvas.xml [deleted file]
web/opac/skin/uwin/xml/common/cn_browse.xml [deleted file]
web/opac/skin/uwin/xml/common/css_common.xml [deleted file]
web/opac/skin/uwin/xml/common/fonts.xml [deleted file]
web/opac/skin/uwin/xml/common/format_selector.xml [deleted file]
web/opac/skin/uwin/xml/common/holds.xml [deleted file]
web/opac/skin/uwin/xml/common/ilsevents.xml [deleted file]
web/opac/skin/uwin/xml/common/js_common.xml [deleted file]
web/opac/skin/uwin/xml/common/libselect.xml [deleted file]
web/opac/skin/uwin/xml/common/login.xml [deleted file]
web/opac/skin/uwin/xml/common/logo.xml [deleted file]
web/opac/skin/uwin/xml/common/orgtree.xml [deleted file]
web/opac/skin/uwin/xml/common/searchbar.xml [deleted file]
web/opac/skin/uwin/xml/common/sidebar.xml [deleted file]
web/opac/skin/uwin/xml/common/statusbar.xml [deleted file]
web/opac/skin/uwin/xml/common/stypes_selector.xml [deleted file]
web/opac/skin/uwin/xml/common/tips.xml [deleted file]
web/opac/skin/uwin/xml/footer.xml [deleted file]
web/opac/skin/uwin/xml/header.xml [deleted file]
web/opac/skin/uwin/xml/home/homesearch.xml [deleted file]
web/opac/skin/uwin/xml/home/index_body.xml [deleted file]
web/opac/skin/uwin/xml/html_xsl.xml [deleted file]
web/opac/skin/uwin/xml/index.xml [deleted file]
web/opac/skin/uwin/xml/myopac/myopac_bookbags.xml [deleted file]
web/opac/skin/uwin/xml/myopac/myopac_checked.xml [deleted file]
web/opac/skin/uwin/xml/myopac/myopac_fines.xml [deleted file]
web/opac/skin/uwin/xml/myopac/myopac_holds.xml [deleted file]
web/opac/skin/uwin/xml/myopac/myopac_prefs.xml [deleted file]
web/opac/skin/uwin/xml/myopac/myopac_summary.xml [deleted file]
web/opac/skin/uwin/xml/page_advanced.xml [deleted file]
web/opac/skin/uwin/xml/page_cnbrowse.xml [deleted file]
web/opac/skin/uwin/xml/page_mresult.xml [deleted file]
web/opac/skin/uwin/xml/page_myopac.xml [deleted file]
web/opac/skin/uwin/xml/page_rdetail.xml [deleted file]
web/opac/skin/uwin/xml/page_rresult.xml [deleted file]
web/opac/skin/uwin/xml/rdetail/rdetail_altcanvas.xml [deleted file]
web/opac/skin/uwin/xml/rdetail/rdetail_cn_details.xml [deleted file]
web/opac/skin/uwin/xml/rdetail/rdetail_copyinfo.xml [deleted file]
web/opac/skin/uwin/xml/rdetail/rdetail_extras.xml [deleted file]
web/opac/skin/uwin/xml/rdetail/rdetail_summary.xml [deleted file]
web/opac/skin/uwin/xml/result/filtersort.xml [deleted file]
web/opac/skin/uwin/xml/result/result_common.xml [deleted file]
web/opac/skin/uwin/xml/result/result_info.xml [deleted file]
web/opac/skin/uwin/xml/result/result_lowhits.xml [deleted file]
web/opac/skin/uwin/xml/result/result_table.xml [deleted file]
web/opac/skin/uwin/xml/setenv.xml [deleted file]
web/opac/skin/uwin_old/css/colors.css [new file with mode: 0644]
web/opac/skin/uwin_old/css/layout.css [new file with mode: 0644]
web/opac/skin/uwin_old/js/adv_global.js [new file with mode: 0644]
web/opac/skin/uwin_old/js/advanced.js [new file with mode: 0644]
web/opac/skin/uwin_old/js/cn_browse.js [new file with mode: 0644]
web/opac/skin/uwin_old/js/container.js [new file with mode: 0644]
web/opac/skin/uwin_old/js/copy_details.js [new file with mode: 0644]
web/opac/skin/uwin_old/js/depth_selector.js [new file with mode: 0644]
web/opac/skin/uwin_old/js/holds.js [new file with mode: 0644]
web/opac/skin/uwin_old/js/mresult.js [new file with mode: 0644]
web/opac/skin/uwin_old/js/myopac.js [new file with mode: 0644]
web/opac/skin/uwin_old/js/rdetail.js [new file with mode: 0644]
web/opac/skin/uwin_old/js/result_common.js [new file with mode: 0644]
web/opac/skin/uwin_old/js/rresult.js [new file with mode: 0644]
web/opac/skin/uwin_old/js/search_bar.js [new file with mode: 0644]
web/opac/skin/uwin_old/js/sidebar.js [new file with mode: 0644]
web/opac/skin/uwin_old/js/sidebar_extras.js [new file with mode: 0644]
web/opac/skin/uwin_old/js/tips.js [new file with mode: 0644]
web/opac/skin/uwin_old/local/images/uwin_main.png [new file with mode: 0644]
web/opac/skin/uwin_old/local/images/uwin_small.png [new file with mode: 0644]
web/opac/skin/uwin_old/local/locale/en-CA/opac.dtd [new file with mode: 0644]
web/opac/skin/uwin_old/local/locale/en-CA/opac_conifer.dtd [new file with mode: 0644]
web/opac/skin/uwin_old/local/xml/item_lang_options.xml [new file with mode: 0644]
web/opac/skin/uwin_old/xml/advanced/adv_global_row.xml [new file with mode: 0644]
web/opac/skin/uwin_old/xml/advanced/advanced_global.xml [new file with mode: 0644]
web/opac/skin/uwin_old/xml/advanced/advanced_marc.xml [new file with mode: 0644]
web/opac/skin/uwin_old/xml/advanced/advanced_quick.xml [new file with mode: 0644]
web/opac/skin/uwin_old/xml/body.xml [new file with mode: 0644]
web/opac/skin/uwin_old/xml/common/altcanvas.xml [new file with mode: 0644]
web/opac/skin/uwin_old/xml/common/cn_browse.xml [new file with mode: 0644]
web/opac/skin/uwin_old/xml/common/css_common.xml [new file with mode: 0644]
web/opac/skin/uwin_old/xml/common/fonts.xml [new file with mode: 0644]
web/opac/skin/uwin_old/xml/common/format_selector.xml [new file with mode: 0644]
web/opac/skin/uwin_old/xml/common/holds.xml [new file with mode: 0644]
web/opac/skin/uwin_old/xml/common/ilsevents.xml [new file with mode: 0644]
web/opac/skin/uwin_old/xml/common/js_common.xml [new file with mode: 0644]
web/opac/skin/uwin_old/xml/common/libselect.xml [new file with mode: 0644]
web/opac/skin/uwin_old/xml/common/login.xml [new file with mode: 0644]
web/opac/skin/uwin_old/xml/common/logo.xml [new file with mode: 0644]
web/opac/skin/uwin_old/xml/common/orgtree.xml [new file with mode: 0644]
web/opac/skin/uwin_old/xml/common/searchbar.xml [new file with mode: 0644]
web/opac/skin/uwin_old/xml/common/sidebar.xml [new file with mode: 0644]
web/opac/skin/uwin_old/xml/common/statusbar.xml [new file with mode: 0644]
web/opac/skin/uwin_old/xml/common/stypes_selector.xml [new file with mode: 0644]
web/opac/skin/uwin_old/xml/common/tips.xml [new file with mode: 0644]
web/opac/skin/uwin_old/xml/footer.xml [new file with mode: 0644]
web/opac/skin/uwin_old/xml/header.xml [new file with mode: 0644]
web/opac/skin/uwin_old/xml/home/homesearch.xml [new file with mode: 0644]
web/opac/skin/uwin_old/xml/home/index_body.xml [new file with mode: 0644]
web/opac/skin/uwin_old/xml/html_xsl.xml [new file with mode: 0644]
web/opac/skin/uwin_old/xml/index.xml [new file with mode: 0644]
web/opac/skin/uwin_old/xml/myopac/myopac_bookbags.xml [new file with mode: 0644]
web/opac/skin/uwin_old/xml/myopac/myopac_checked.xml [new file with mode: 0644]
web/opac/skin/uwin_old/xml/myopac/myopac_fines.xml [new file with mode: 0644]
web/opac/skin/uwin_old/xml/myopac/myopac_holds.xml [new file with mode: 0644]
web/opac/skin/uwin_old/xml/myopac/myopac_prefs.xml [new file with mode: 0644]
web/opac/skin/uwin_old/xml/myopac/myopac_summary.xml [new file with mode: 0644]
web/opac/skin/uwin_old/xml/page_advanced.xml [new file with mode: 0644]
web/opac/skin/uwin_old/xml/page_cnbrowse.xml [new file with mode: 0644]
web/opac/skin/uwin_old/xml/page_mresult.xml [new file with mode: 0644]
web/opac/skin/uwin_old/xml/page_myopac.xml [new file with mode: 0644]
web/opac/skin/uwin_old/xml/page_rdetail.xml [new file with mode: 0644]
web/opac/skin/uwin_old/xml/page_rresult.xml [new file with mode: 0644]
web/opac/skin/uwin_old/xml/rdetail/rdetail_altcanvas.xml [new file with mode: 0644]
web/opac/skin/uwin_old/xml/rdetail/rdetail_cn_details.xml [new file with mode: 0644]
web/opac/skin/uwin_old/xml/rdetail/rdetail_copyinfo.xml [new file with mode: 0644]
web/opac/skin/uwin_old/xml/rdetail/rdetail_extras.xml [new file with mode: 0644]
web/opac/skin/uwin_old/xml/rdetail/rdetail_summary.xml [new file with mode: 0644]
web/opac/skin/uwin_old/xml/result/filtersort.xml [new file with mode: 0644]
web/opac/skin/uwin_old/xml/result/result_common.xml [new file with mode: 0644]
web/opac/skin/uwin_old/xml/result/result_info.xml [new file with mode: 0644]
web/opac/skin/uwin_old/xml/result/result_lowhits.xml [new file with mode: 0644]
web/opac/skin/uwin_old/xml/result/result_table.xml [new file with mode: 0644]
web/opac/skin/uwin_old/xml/setenv.xml [new file with mode: 0644]

diff --git a/web/opac/skin/uwin/css/colors.css b/web/opac/skin/uwin/css/colors.css
deleted file mode 100644 (file)
index 7d29585..0000000
+++ /dev/null
@@ -1,105 +0,0 @@
-body a                 { color: black; text-decoration: none;}\r
-body a:visited { color: black; text-decoration: none;}\r
-body a:hover   { color: red; text-decoration: underline;}\r
-\r
-\r
-/* the idea is to have 4 complimentary colors that \r
- * are used throughout the opac.  Edit those colors\r
- * in this file\r
- */\r
\r
-.color_1 { background: #B2BB1E; color: #000000; }\r
-.color_2 { background: #B2BB1E; color: #000000; }\r
-.color_3 { background: #EEE; color: #000000; }\r
-.color_4 { background: #E7E0D5; color: #000000; }\r
-\r
-.border_1 { border: 1px solid #005595; }\r
-.border_2 { border: 1px solid #B2BB1E; }\r
-.border_3 { border: 1px solid #EEE; }\r
-.border_4 { border: 1px solid #E7E0D5; }\r
-\r
-.border_1_2 { border: 2px solid #B2BB1E; }\r
-.border_2_2 { border: 2px solid #B2BB1E; }\r
-.border_3_2 { border: 2px solid #EEE; }\r
-.border_4_2 { border: 2px solid #E7E0D5; }\r
-\r
-.border_1_3 { border: 3px solid #B2BB1E; }\r
-.border_2_3 { border: 3px solid #B2BB1E; }\r
-.border_3_3 { border: 3px solid #EEE; }\r
-.border_4_3 { border: 3px solid #E7E0D5; }\r
-\r
-/* general purpose light borders */\r
-.border_5 { border: 1px solid #D0D0D0; }\r
-.border_6 { border: 1px solid #808080; }\r
-\r
-/* \r
-input:focus { background: #EEE; color: #000000;}\r
-a:focus { background: #E0F0E0; color: #000000;}\r
-*/\r
\r
-/* ---------------------------------------------------------------------- */\r
-\r
-.canvas { /* main content div for each page */\r
-    border-left: 3px solid #005595;\r
-    border-bottom: 3px solid #005595;\r
-    border-top: 3px solid #005595;\r
-}\r
-\r
-/* border around home search box */\r
-.home_search { border: 3px solid #005595; }\r
-\r
-/* main nav sidebar */\r
-.sidebar_item_active { background: #005595; color: #EEE; }\r
-.sidebar_item_active a { background: #005595; color: #EEE; }\r
-.sidebar_item_active a:hover { background: #005595; color: #EEE; text-decoration: none; }\r
-/* #advanced_link { background: #005595; color: #EEE; } */\r
-#sidebar_results_wrapper { border-right: 0; }\r
-\r
-/* record detail summary block */\r
-.rdetail_desc { border: 1px solid #CCC; }\r
-.rdetail_item { border: 1px solid #CCC; }\r
-.rdetails_extra_links { border: 1px solid #CCC; }\r
-.rdetail_extras_td { border: 1px solid #CCC; }\r
-.rdetail_extras_selected { background: #B2BB1E;} \r
-.rdetail_extras_selected a:hover { color: #FF0;} \r
-#rdetail_image_cell { border: 1px solid white; border-right: 1px solid #CCC;}\r
-\r
-\r
-.data_grid thead tr { background: #E7E0D5; color: #000000; }\r
-.data_grid thead td { border: 1px solid #CCC; }\r
-.data_grid tbody td { border: 1px solid #CCC; }\r
-.data_grid_nb thead tr { background: #CCC; color: #000000; }\r
-.data_grid_nb thead td { border: none; }\r
-.data_grid_nb tbody td { border: none; }\r
-.copy_count_cell { border-right: 1px solid #CCC; } \r
-.copy_count_div {      border-left: 2px solid #CCC; border-right: 2px solid #CCC; }\r
-\r
-.light_border { border: 1px solid #CCC; }\r
-\r
-.adv_quick_search_submit { border-bottom: 3px solid #CCC;}\r
-\r
-.myopac_link_active { background: #B2BB1E; }\r
-\r
-.sidebar_extra_link { text-decoration: none; }\r
-#searchbar_tag_on { color: red; }\r
-.searchbar_item { color: black; } \r
-#login_box { border-top: 1px solid #808080; border-bottom: 1px solid #808080; }\r
-#next_prev_links_dead { color: #808080; text-decoration: none; }\r
-\r
-.nav_link_active {font-weight: bold;}\r
-\r
-.search_link { text-decoration: none; }\r
-.result_table_subtable { border-top: 1px solid #E0E0E0; }\r
-\r
-.x_mark { color: red; }\r
-.check_mark { color: green; }\r
-\r
-#myopac_holds_thaw_date_form { border: 1px solid #E0E0E0; } \r
-\r
-.invalid_field { border: 3px solid red; }\r
-\r
-#lib_selector_link:hover { color: #FF0; }\r
-#adv_global_search #lib_selector_link:hover { color: red; }\r
-#rdetail_place_hold:hover { color: #FF0; }\r
-#home_adv_search_link:hover { color: #FF0; }\r
-#home_myopac_link:hover { color: #FF0; }\r
diff --git a/web/opac/skin/uwin/css/layout.css b/web/opac/skin/uwin/css/layout.css
deleted file mode 100644 (file)
index b3695c6..0000000
+++ /dev/null
@@ -1,252 +0,0 @@
-body { margin: 6px; }\r
-body { background-color: white; }\r
-\r
-.main_header   { width: 100%; }\r
-.space                 { padding-right:5px; }\r
-.vert_space            { padding-top: 82px; width: 100%;}\r
-.right                 { position:absolute; right: 0px; }\r
-.hide_me                       { display:none; visibility: hidden; }\r
-\r
-table { border-collapse: collapse; }\r
-\r
-/* generic CSS for a table with data */\r
-.data_grid { font-weight: 500; border-collapse: collapse;}\r
-.data_grid thead tr { }\r
-.data_grid thead td { padding-right: 5px; padding-left: 5px;}\r
-.data_grid tbody td { padding: 5px; }\r
-.data_grid_center { text-align: center; }\r
-\r
-.data_grid_nb { font-weight: 500; border-collapse: collapse;}\r
-.data_grid_nb thead tr { color: #000000; }\r
-.data_grid_nb thead td { padding-right: 5px; padding-left: 5px;}\r
-.data_grid_nb tbody td { padding: 5px; }\r
-\r
-\r
-.classic_link { text-decoration: underline; color: black;}\r
-.classic_link:visited { text-decoration: underline; color: black;}\r
-.classic_link_col { text-decoration: underline; color: red;}\r
-\r
-.encircled { border: 1px solid black; }\r
-\r
-\r
-.adv_quick_search { padding: 3px;}\r
-.adv_quick_search_submit { padding: 3px;}\r
-\r
-.overdue { color: red; font-weight: bold;}\r
-\r
-#main_table { border-collapse: collapse; width: 100%;  }\r
-#main_left_cell { width: 20%; vertical-align: top;margin: 0px; padding: 0px;}\r
-#main_right_cell { width: 80%; vertical-align: top; margin: 0px; padding:0px;}\r
-\r
-\r
-#content { min-height: 300px; }\r
-\r
-.canvas {  min-height: 300px; padding-left: 4px; -moz-border-radius: 6px;}\r
-#canvas_main { padding-bottom: 4px; }\r
-\r
-#loading_div { width: 100%;}\r
-\r
-\r
-\r
-.shadowed { background: #F0F0E0; }\r
-.no_copies { background: #E0E0E0; }\r
-.overdue_circ { border: 2px dashed #F0D0E0; }\r
-\r
-.org_tree { padding-left: 2px; padding-right: 2px; }            \r
-.org_link { padding-right: 15px; }\r
-#org_link_container { margin-bottom: 5px; padding-left: 4px; padding-bottom: 3px; padding-top: 3px; width: 100%; }\r
-#left_div { float:left; width: 20%; }\r
-#statusbar {}\r
-\r
-#frontsearch_table { }\r
-#frontsearch_table tr { margin: 6px; }\r
-\r
-/* ---------------------------------------------------------------------- */\r
-.sidebar_div { width: 100%; font-size: 9pt; margin-top: 12px; }\r
-.sidebar_header { margin-top: 10px; padding-left: 3px; margin-right: 6px; }\r
-\r
-.sidebar_extra_item { padding: 0px; margin-right: 8px;}\r
-.side_bar_item { padding-left: 8px; padding-right: 8px; padding-top: 4px; padding-bottom: 4px; margin-right: 8px; }\r
-\r
-.sidebar_item_active { margin-right: 0px; }\r
-\r
-.sidebar_chunk { width: 100%; }\r
-\r
-/* ---------------------------------------------------------------------- */\r
-\r
-#searchbar { margin-top: 22px; width: 100%; }\r
-#searchbar table tr td {font-weight: bold; font-size: 8pt; }\r
-#searchbar select, input { border-collapse: collapse; font-size: 9pt; }\r
-.searchbar_item { margin: 3px; font-size: 9pt; } \r
-.searchbar_label_span { font-size: 9pt; }\r
-#searchbar_table { border-collapse: collapse; }\r
-\r
-.search_box_container { width: 240px; padding: 3px; }/* border: 1px solid #A0A0A0;' class='color_2'>*/\r
-#search_box { width: 260px; }\r
-\r
-\r
-/* ---------------------------------------------------------------------- */\r
-#login_box { width: 70%; padding: 5px;}\r
-.login_text { margin-left: 8px; }\r
-\r
-/* ---------------------------------------------------------------------- */\r
-#result_table_div { text-align: left; width: 100%; }\r
-\r
-#search_nav_links { width: 100%; }\r
-#result_info_box { text-align: left; }\r
-#next_prev_links { padding-left: 2px; padding-right: 2px; text-align: left;}\r
-#goto_page_links { text-align: left; padding-left: 2px; padding-right: 2px;}\r
-\r
-#next_prev_links_dead {padding-left: 5px; padding-right: 5px;}\r
-\r
-#res_table { width: 100%; }\r
-\r
-.result_table_pic_cell { width: 43px;}\r
-.result_table_pic { height: 50px; width: 40px;  border: none;}\r
-.result_table_pic_header { width: 43px; }\r
-\r
-.result_table_row { text-align: left; width: 100%;}\r
-.result_table_subtable { width: 100%; border-collapse: collapse; vertical-align: top;}\r
-.result_table_subtbody { height: 100%; width: 100%; }\r
-.result_table_title_cell { text-align: left; }\r
-\r
-.copy_count_cell { width: 12%; vertical-align: middle; text-align: center; }\r
-.copy_count_div { width:  4em; height: 99%; vertical-align: middle; text-align: center; }\r
-\r
-.search_page_nav_link { margin-right: 5px; }\r
-\r
-.np_nav_link { margin-right: 5px; }\r
-\r
-/* ---------------------------------------------------------------------- */\r
-\r
-#rdetail_detail_main { width: 100%; }\r
-#rdetail_details_table { padding-top: 10px; width: 100%; padding: 30px; border-collapse: collapse;}\r
-.rdetail_header { padding: 3px; padding-left: 10px;}\r
-.rdetail_desc { padding: 2px; padding-left: 2px; padding-right: 2px;}\r
-.rdetail_item { width: 75%; padding-left: 10px; }\r
-#rdetail_image { padding-right: 10px; }\r
-#rdetail_copy_info_table { padding: 4px; width: 100%; border-collapse: collapse; }\r
-.rdetail_copy_info_header_cell { padding: 2px; }\r
-.rdetail_copy_count_cell { text-align: center; }\r
-\r
-\r
-.tor_pic { width: 17px; height: 17px; border: none;}\r
-\r
-.dim2_border { border: 1px solid #F06000; -moz-border-radius: 3px;}\r
-\r
-.dim2 { \r
-       filter:alpha(opacity=50); \r
-       -moz-opacity:0.5; \r
-       opacity: 0.5; \r
-       text-decoration: none; }\r
-\r
-.dim { \r
-       filter:alpha(opacity=10); \r
-       -moz-opacity:0.1; \r
-       opacity: 0.1; \r
-       text-decoration: none; }\r
-\r
-/* ---------------------------------------------------------------------- */\r
-\r
-.myopac_link { width: 12%; margin: 3px; padding: 3px; text-align: center; vertical-align: middle;  }\r
-.myopac_link_active { font-weight: 700;}\r
-.myopac_table thead tr td { padding: 2px; font-weight: 500; border: 1px solid #808080;}\r
-.myopac_table td { padding: 3px; }\r
-.myopac_form_pic { width: 20px; height: 20px; }\r
-\r
-.tips { padding: 2px; text-align: center; border: solid #E0E0E0 3px; -moz-border-radius: 3px; width: 99%; }\r
-\r
-.holds_cell { border: 1px solid #E0E0E0; padding: 5px; width: 50%;}\r
-.myopac_update_cell { border: 3px solid #E0E0E0; width:100%; padding-top: 4px; padding-bottom: 4px;}\r
-.myopac_update_span { padding: 5px;}\r
-\r
-.lowhits_div { width: 100%; border-top: 1px solid #E0E0E0; text-align: center; \r
-       padding-top: 8px; padding-bottom: 8px; }\r
-\r
-.rdetail_extras_div {\r
-       border-top: 3px solid #E0E0E0;margin-top: 3px; padding-top: 5px; width: 100%;}\r
-\r
-.copy_info_region_row {\r
-       padding: 6px;\r
-       border: 2px solid #E0E0E0;\r
-       font-weight: 600;\r
-}\r
-\r
-.rdetail_extras_td { padding-right: 15px; padding-left: 15px; border-right: 1px solid #888; }\r
-.rdetails_extra_links { border: 1px solid #808080; padding-right: 5px; padding-left: 5px; }\r
-\r
-\r
-.cn_browse_item { height: 190px; }\r
-.cn_browse_info { padding: 4px; border-bottom: 1px dashed #E0E0E0;}\r
-\r
-.bookshelf {\r
-        /*background-image: url(http://10.4.0.10/woodgrain.jpeg);*/\r
-        /*\r
-        background-image: url(http://dev.gapines.org/opac/images/woodgrain.jpg);\r
-        background-repeat: repeat;\r
-        */\r
-        border-bottom: 1px solid black;\r
-}\r
-\r
-.cn_browse_loading { width: 95%; padding: 15px; text-align: center; background: #E0F0E0; }\r
-\r
-.cn_browse_home_cn { border: 2px solid #E0F0E0; background: green; font-weight: 700;}\r
-\r
-.rdetail_context_row { background: #F0E0E0; }\r
-\r
-.unadorned_link { text-decoration: none; vertical-align: bottom; }\r
-\r
-\r
-/* ie does not support disabling <option> elements */\r
-.disabled_option { color: #808080; }\r
-\r
-.copy_more_info { padding-left: 6px; color: #804070; }\r
-\r
-.invalid_hold { background: #F0F0D0; }\r
-.myopac_summary_table td { padding : 3px; }\r
-\r
-.jacket_attrib { font-size: 7pt; }\r
-\r
-/* block that contains footer links and copyright */\r
-#copyright_block { \r
-    width: 100%; \r
-    text-align: center; \r
-    vertical-align: bottom; \r
-    margin-top: 10px;\r
-}\r
-\r
-/* block that contains the footer links */\r
-#footer_links {\r
-    width: 80%;\r
-    text-align: center;\r
-    padding: 10px;\r
-    margin: auto;\r
-}\r
-\r
-/* span for each link in the footer */\r
-.footer-link {\r
-    margin-left: 10px;\r
-    margin-right: 10px;\r
-}\r
-\r
-/* block that contains the copyright text */\r
-#copyright_text {\r
-    margin-top: 4px;\r
-}\r
-\r
-/* block that contains the logo */\r
-#footer_logo {\r
-    text-align: center;\r
-    margin: auto;\r
-}\r
-\r
-#opac.result.sort { margin-left: 5px; }\r
-\r
-#xul_recipient_me { margin-left: 25px; }\r
-#myopac_holds_thaw_date_form {padding: 10px; text-align: center;}\r
-#myopac_holds_freeze_select_thaw {margin-right: 100px; margin-left: 100px; }\r
-\r
-/* titles in result list */\r
-.result_table_title_cell .search_link {\r
-    font-weight: bold;\r
-}
\ No newline at end of file
diff --git a/web/opac/skin/uwin/js/adv_global.js b/web/opac/skin/uwin/js/adv_global.js
deleted file mode 100644 (file)
index a8a0a14..0000000
+++ /dev/null
@@ -1,338 +0,0 @@
-
-attachEvt("common", "run", advgInit);
-attachEvt("common", "locationChanged", advSyncCopyLocLink );
-
-var COOKIE_NOGROUP_RECORDS = 'grpt';
-var advSelectedOrg = null;
-
-function advgInit() {
-
-       /* XXX */
-       if( cookieManager.read(COOKIE_NOGROUP_RECORDS) || SHOW_MR_DEFAULT )
-               $('adv_group_titles').checked = true;
-
-       $n($('adv_global_tbody'), 'term').focus();
-
-       var extras = [ 
-               FETCH_LIT_FORMS, 
-               FETCH_ITEM_FORMS, 
-               FETCH_ITEM_TYPES, 
-               FETCH_AUDIENCES,
-               FETCH_BIB_LEVELS 
-    ];
-
-       for( var x in extras ) {
-
-               var req = new Request(extras[x]);
-
-               if(x == 0) req.request.sel = $('adv_global_lit_form');
-               if(x == 1) req.request.sel = $('adv_global_item_form');
-               if(x == 2) req.request.sel = $('adv_global_item_type');
-               if(x == 3) req.request.sel = $('adv_global_audience');
-               if(x == 4) req.request.sel = $('adv_global_bib_level');
-
-               req.callback(advDrawBibExtras);
-               req.send();
-       }
-
-       var input = $n($('adv_global_trow'), 'term');
-       input.focus();
-       setEnterFunc(input, advSubmitGlobal);
-
-    if(getSort() && getSortDir()) {
-           setSelector($('adv_global_sort_by'), getSort());
-           setSelector($('adv_global_sort_dir'), getSortDir());
-        if(getSort() != 'rel')
-            $('adv_global_sort_dir').disabled = false;
-    }
-
-    if(getAvail())
-        $('opac.result.limit2avail').checked = true;
-
-    // not sure we want to propogate the pubdate filter, 
-    // since other filters are not propogated
-    //advInitPubFilter();
-
-    if(!new CGI().param(PARAM_NOPERSIST_SEARCH))
-        initSearchBoxes();
-    advSyncCopyLocLink(getLocation());
-}
-
-function advInitPubFilter() {
-    var i1 = $('adv_global_pub_date_1');
-    var i2 = $('adv_global_pub_date_2');
-    var sel = $('adv_global_pub_date_type');
-    if(getPubdBefore()) {
-        i1.value = getPubdBefore();
-        setSelector(sel, 'before');
-    } else if(getPubdAfter()) {
-        i1.value = getPubdAfter();
-        setSelector(sel, 'after');
-    } else if(getPubdBetween()) {
-        var values = getPubdBetween().split(','); 
-        i1.value = values[0]
-        if(values[0] == values[1]) {
-            setSelector(sel, 'equals');
-        } else {
-            setSelector(sel, 'between');
-            i2.value = values[1];
-        }
-    }
-}
-
-function advSyncCopyLocLink(org) {
-    // display the option to filter by copy location
-    advLocationsLoaded = false;
-    advSelectedOrg = org;
-    removeChildren($('adv_copy_location_filter_select'));
-
-    if(isTrue(findOrgType(findOrgUnit(org).ou_type()).can_have_vols())) {
-        unHideMe($('adv_copy_location_filter_row'));
-        advLoadCopyLocations(org); 
-    } else {
-        hideMe($('adv_copy_location_filter_row'));
-    }
-
-}
-
-function clearSearchBoxes() {
-    var rows = $('adv_global_tbody').getElementsByTagName('tr');
-    for(var t = 0; t < rows.length; t++) {
-        if($n(rows[t], 'term')) {
-            $n(rows[t], 'term').value = '';
-            setSelector($n(rows[t], 'contains'), 'contains');
-            setSelector($n(rows[t], 'type'), 'keyword');
-        }
-    }
-    $n(rows[0], 'term').focus();
-}
-
-
-function initSearchBoxes() {
-    /* loads the compiled search from the search cookie 
-        and sets the widgets accordingly */
-
-    search = cookieManager.read(COOKIE_SEARCH);
-    if(!search) return;
-    _debug("loaded compiled search cookie: " + search);
-
-    search = JSON2js(search);
-    if(!search) return;
-
-    var types = getObjectKeys(search.searches);
-
-    /* pre-add the needed rows */
-    while($('adv_global_tbody').getElementsByTagName('tr').length - 1 < types.length)
-        advAddGblRow();
-
-    var rows = $('adv_global_tbody').getElementsByTagName('tr');
-
-    for(var t = 0; t < types.length; t++) {
-        var row = rows[t];
-        setSelector($n(row, 'type'), types[t]);
-        var term = search.searches[types[t]].term;
-
-        /* if this is a single -<term> search, set the selector to nocontains */
-        if(match = term.match(/^-(\w+)$/)) {
-            term = match[1];
-            setSelector($n(row, 'contains'), 'nocontains');
-        }
-        $n(row, 'term').value = term;
-    }
-}
-
-function advAddGblRow() {
-       var tbody = $("adv_global_tbody");
-       var newrow = $("adv_global_trow").cloneNode(true);
-       tbody.insertBefore(newrow, $("adv_global_addrow"));
-       var input = $n(newrow, "term");
-       input.value = "";
-       setEnterFunc(input, advSubmitGlobal);
-       $n(newrow, 'type').focus();
-}
-
-function advDrawBibExtras(r) {
-       var data = r.getResultObject();
-       var sel = r.sel;
-
-       data = data.sort( /* sort alphabetically */
-               function(a,b) { 
-                       if( a.value() < b.value() ) return -1;
-                       if( a.value() > b.value() ) return 1;
-                       return 0;
-               }
-       );
-
-       for( var d = 0; d < data.length; d++ ) {
-               var thing = data[d];
-               var opt = insertSelectorVal( sel, -1, thing.value(), thing.code() );
-               opt.setAttribute('title', thing.value());
-       }
-}
-
-function advSelToStringList(sel) {
-       var list = getSelectedList(sel);
-       var vals = [];
-       for( var i = 0; i < list.length; i++ ) {
-               var str = list[i];
-               for( var j = 0; j < str.length; j++ ) {
-                       //if(str.charAt(j) == ' ') continue;
-                       vals.push(str.charAt(j));
-               }
-       }
-       return vals.toString();
-}
-
-function advGetVisSelectorVals(id) {
-       var basic = id + '_basic';
-       if(! $(id).className.match(/hide_me/)) 
-               return advSelToStringList($(id));
-       return advSelToStringList($(basic));
-}
-
-function advSubmitGlobal() {
-       
-       var sortdir = getSelectorVal($('adv_global_sort_dir'));
-       var sortby  = getSelectorVal($('adv_global_sort_by'));
-
-       var litforms  = advGetVisSelectorVals('adv_global_lit_form');
-       var itemforms = advGetVisSelectorVals('adv_global_item_form');
-       var itemtypes = advGetVisSelectorVals('adv_global_item_type');
-       var audiences = advGetVisSelectorVals('adv_global_audience');
-       var biblevels = advGetVisSelectorVals('adv_global_bib_level');
-    var locations = getSelectedList($('adv_copy_location_filter_select')) + '';
-       var languages = getSelectedList($('adv_global_lang')) + '';     
-    var limit2avail = $('opac.result.limit2avail').checked ? 1 : ''
-
-       var searches = advBuildSearchBlob();
-       if(!searches) return;
-
-       clearSearchParams();
-
-       var args = {};
-       args.page = MRESULT;
-       args[PARAM_ITEMFORM] = itemforms;
-       args[PARAM_ITEMTYPE] = itemtypes;
-       args[PARAM_BIBLEVEL] = biblevels;
-       args[PARAM_LITFORM]     = litforms;
-       args[PARAM_AUDIENCE]    = audiences;
-       args[PARAM_LANGUAGE] = languages;
-       args[PARAM_COPYLOCS] = locations;
-       //args[PARAM_SEARCHES]  = js2JSON(searches); /* break these out */
-       args[PARAM_DEPTH]               = depthSelGetDepth();
-       args[PARAM_LOCATION]    = depthSelGetNewLoc();
-       args[PARAM_SORT]                = sortby;
-       args[PARAM_SORT_DIR]    = sortdir;
-       args[PARAM_ADVTYPE]     = ADVTYPE_MULTI;
-       args[PARAM_STYPE]               = "";
-       args[PARAM_TERM]                = searches;
-       args[PARAM_AVAIL]               = limit2avail;
-
-    // publicate year filtering
-    var pub1;
-    if( (pub1 = $('adv_global_pub_date_1').value) && (''+pub1).match(/\d{4}/)) {
-        switch(getSelectorVal($('adv_global_pub_date_type'))) {
-            case 'equals':
-                   args[PARAM_PUBD_BETWEEN] = pub1+','+pub1;
-                break;
-            case 'before':
-                   args[PARAM_PUBD_BEFORE] = pub1;
-                break;
-            case 'after':
-                   args[PARAM_PUBD_AFTER] = pub1;
-                break;
-            case 'between':
-                var pub2 = $('adv_global_pub_date_2').value;
-                if((''+pub2).match(/\d{4}/))
-                       args[PARAM_PUBD_BETWEEN] = pub1+','+pub2;
-                break;
-        }
-    }
-
-       /* pubdate sorting causes a record (not metarecord) search */
-       if( sortby == SORT_TYPE_PUBDATE || !$('adv_group_titles').checked ) {
-               args.page = RRESULT;
-               args[PARAM_RTYPE] = RTYPE_MULTI;
-       }
-
-       if($('adv_group_titles').checked ) 
-               cookieManager.write(COOKIE_NOGROUP_RECORDS,'1',-1);
-       else
-               cookieManager.write(COOKIE_NOGROUP_RECORDS,'');
-
-
-       goTo(buildOPACLink(args));
-}
-
-
-function advBuildSearchBlob() {
-
-       var searches = '';
-       var tbody    = $('adv_global_tbody');
-       var rows     = tbody.getElementsByTagName('tr');
-
-       for( var i = 0; i < rows.length; i++ ) {
-
-               var row = rows[i];
-               if(!(row && typeof row == 'object')) continue;
-               if(!row.getAttribute('type')) continue;
-               
-               var stype        = getSelectorVal($n(row, 'type'));
-               var contains = getSelectorVal($n(row, 'contains'));
-               var term                 = $n(row, 'term').value;
-               if(!term) continue;
-
-               var string = "";
-               switch(contains) {
-                       case 'contains' : 
-                               string += " " + term; 
-                               break;
-
-                       case 'nocontains' : {
-                               var words = term.split(" ");
-                                       for( var j in words ) 
-                                               string += " -" + words[j];
-                               }
-                               break;
-
-                       case 'exact' : 
-                               if(term.indexOf('"') > -1) string += " " + term;
-                               else string += " \"" + term + "\"";
-                               break;
-               }
-               if(string) {
-                       string = string.replace(/'/g,' ');
-                       string = string.replace(/\\/g,' ');
-            string = string.replace(/^\s*/,'');
-            string = string.replace(/\s*$/,'');
-                       //searches[stype].term = string;
-            if(searches) searches += ' ';
-            searches += stype + ':'+ string;
-               }
-       }
-
-    _debug("created search query " + searches);
-       return searches;
-}
-
-
-// retrieves the shelving locations
-var advLocationsLoaded = false;
-function advLoadCopyLocations(org) {
-    if(org == null) 
-        org = advSelectedOrg;
-    var req = new Request(FETCH_COPY_LOCATIONS, org);
-    req.callback(advShowCopyLocations);
-    req.send();
-    advLocationsLoaded = true;
-}
-
-// inserts the shelving locations into the multi-select
-function advShowCopyLocations(r) {
-    var locations = r.getResultObject();
-    var sel = $('adv_copy_location_filter_select');
-    for(var i = 0; i < locations.length; i++) 
-        insertSelectorVal(sel, -1, locations[i].name(), locations[i].id());
-}
-
-
diff --git a/web/opac/skin/uwin/js/advanced.js b/web/opac/skin/uwin/js/advanced.js
deleted file mode 100644 (file)
index 12728c1..0000000
+++ /dev/null
@@ -1,172 +0,0 @@
-/* advanced search interface */
-
-attachEvt("common", "run", advInit);
-
-function advInit() { 
-
-       /* propogate these? */
-
-       depthSelInit(); 
-       setEnterFunc( $n( $('advanced.marc.tbody'), 'advanced.marc.value'), advMARCRun );
-
-       unHideMe($('adv_quick_search_sidebar'));
-
-       /*
-       if(isXUL()) 
-               setSelector($('adv_quick_type'), 'tcn'); */
-
-       setEnterFunc($('adv_quick_text'), advGenericSearch);
-
-       unHideMe($('adv_marc_search_sidebar'));
-}
-
-
-function advAddMARC() {
-       var newt = $('adv_sdbar_table').cloneNode(true);
-       newt.id = "";
-       unHideMe($n(newt, 'crow'));
-       $n(newt, 'advanced.marc.tag').value = "";
-       $n(newt, 'advanced.marc.subfield').value = "";
-       $n(newt, 'advanced.marc.value').value = "";
-       $('adv_marc_search_sidebar').insertBefore(newt, $('adv_marc_submit'));
-}
-
-function advMARCRun() {
-
-       clearSearchParams();
-
-       var div = $('adv_marc_search_sidebar');
-       var tbodies = div.getElementsByTagName('tbody');
-       var searches = [];
-
-       for( var i = 0; i < tbodies.length; i++ ) {
-               var tbody = tbodies[i];
-               var val = advExtractMARC(tbody);
-               if(val) searches.push(val);
-       }
-
-       if(searches.length == 0) return;
-
-       var arg = {};
-       arg.page = RRESULT;
-       arg[PARAM_FORM] = 'all'
-       arg[PARAM_RTYPE] = RTYPE_MARC;
-       arg[PARAM_OFFSET] = 0;
-       arg[PARAM_DEPTH]        = depthSelGetDepth();
-       arg[PARAM_LOCATION]     = depthSelGetNewLoc();
-       arg[PARAM_SEARCHES] = js2JSON(searches);
-       arg[PARAM_ADVTYPE] = ADVTYPE_MARC;
-       arg[PARAM_TERM] = "";
-
-       goTo(buildOPACLink(arg));
-}
-
-
-/* EXAMPLE => {"term":"0516011901","restrict":[{"tag":"020","subfield":"a"}]} */
-function advExtractMARC(tbody) {
-       if(!tbody) return null;
-       var term = $n(tbody, 'advanced.marc.value').value;
-       if(!term) return null;
-
-       var subfield = $n(tbody, 'advanced.marc.subfield').value;
-       if(!subfield) subfield = "_";
-
-       var tag = $n(tbody, 'advanced.marc.tag').value;
-       if(!tag) return null;
-
-       return { 'term' : term.toLowerCase(), 'restrict' :  [ { 'tag' : tag, 'subfield' : subfield } ] };
-}
-
-function advGenericSearch() {
-       clearSearchParams();
-       var type = getSelectorVal($('adv_quick_type'));
-       
-       var term = $('adv_quick_text').value;
-       if(!term) return;
-
-       var arg = {};
-
-       switch(type) {
-
-               case 'isbn' :
-                       arg.page                                        = RRESULT;
-                       arg[PARAM_STYPE]                = "";
-                       arg[PARAM_TERM]         = "";
-                       arg[PARAM_RTYPE]                = RTYPE_ISBN;
-                       arg[PARAM_OFFSET]               = 0;
-                       arg[PARAM_ADVTERM]      = term.toLowerCase();
-                       break;
-               
-               case 'issn' :
-                       arg.page                                        = RRESULT;
-                       arg[PARAM_STYPE]                = "";
-                       arg[PARAM_TERM]         = "";
-                       arg[PARAM_ADVTERM]      = term.toLowerCase();
-                       arg[PARAM_OFFSET]               = 0;
-                       arg[PARAM_RTYPE]                = RTYPE_ISSN;
-                       break;
-
-               case 'tcn' :
-                       arg.page                                        = RRESULT;
-                       arg[PARAM_STYPE]                = "";
-                       arg[PARAM_TERM]         = "";
-                       arg[PARAM_ADVTERM]      = term;
-                       arg[PARAM_OFFSET]               = 0;
-                       arg[PARAM_RTYPE]                = RTYPE_TCN;
-                       break;
-
-        case 'barcode':
-            advFindBarcode(term);
-            break;
-
-
-               case 'cn':
-                       arg.page                        = CNBROWSE;
-                       arg[PARAM_CN]   = term;
-                       arg[PARAM_DEPTH]                = depthSelGetDepth();
-                       arg[PARAM_LOCATION]     = depthSelGetNewLoc();
-                       break;
-
-               case 'lccn':
-                       arg.page = RRESULT;
-                       arg[PARAM_FORM] = 'all'
-                       arg[PARAM_RTYPE] = RTYPE_MARC;
-                       arg[PARAM_OFFSET] = 0;
-                       arg[PARAM_DEPTH]        = depthSelGetDepth();
-                       arg[PARAM_LOCATION]     = depthSelGetNewLoc();
-                       arg[PARAM_SEARCHES] = js2JSON([{ 'term' : term.toLowerCase(), 
-                                       'restrict' :  [ { 'tag' : '010', 'subfield' : '_' } ] }]);
-                       arg[PARAM_ADVTYPE] = ADVTYPE_MARC;
-                       arg[PARAM_TERM] = "";
-                       break;
-
-
-               default: alert('not done');
-       }
-
-       if(arg.page) goTo(buildOPACLink(arg));
-}
-
-
-function advFindBarcode(barcode) {
-    var req = new Request(FETCH_BIB_ID_BY_BARCODE, barcode);
-    req.callback(advDrawBarcode);
-    req.request.alertEvent = false;
-    req.send();
-}
-
-function advDrawBarcode(r) {
-    titleid = r.getResultObject();
-    if(checkILSEvent(titleid)) {
-        alertId('myopac.copy.not.found');
-        return;
-    }
-    if(!titleid) return;
-    var args = {};
-    args.page = RDETAIL;
-    args[PARAM_RID] = titleid;
-    location.href = buildOPACLink(args);
-}
-
-
-
diff --git a/web/opac/skin/uwin/js/cn_browse.js b/web/opac/skin/uwin/js/cn_browse.js
deleted file mode 100644 (file)
index 232e37d..0000000
+++ /dev/null
@@ -1,134 +0,0 @@
-var cnOffset = 0;
-var cnCount = 9;
-var cnBrowseCN;
-var cnBrowseOrg;
-
-if( findCurrentPage() == CNBROWSE ) {
-       attachEvt("common", "run", cnBrowseLoadSearch);
-       attachEvt( "common", "locationUpdated", cnBrowseResubmit );
-       attachEvt( "common", "depthChanged", cnBrowseResubmit );
-}
-
-
-function cnBrowseLoadSearch() {
-       unHideMe($('cn_browse'));
-       cnBrowseGo(getCallnumber(), getLocation(), getDepth());
-}
-
-
-function cnBrowseResubmit() {
-       var args = {}
-       args[PARAM_CN] = cnBrowseCN;
-       args[PARAM_DEPTH] = depthSelGetDepth();
-       args[PARAM_LOCATION] = getNewSearchLocation();
-       goTo(buildOPACLink(args));
-}
-
-
-
-function cnBrowseGo(cn, org, depth) { 
-       if(depth == null) depth = getDepth();
-
-       org = findOrgUnit(org);
-       cnOffset = 0;
-
-       do {
-               var t = findOrgType(org.ou_type());
-               if( t.depth() > depth ) 
-                       org = findOrgUnit(org.parent_ou());
-               else break;
-       } while(true); 
-
-       cnBrowseOrg = org;
-       cnBrowseCN = cn;
-
-       _cnBrowseGo( cn, org );
-       appendClear($('cn_browse_where'), text(org.name()));
-}
-
-
-function _cnBrowseGo( cn, org ) {
-       var req = new Request( FETCH_CNBROWSE, cn, org.id(), cnCount, cnOffset );
-       req.callback( cnBrowseDraw );
-       req.send();
-}
-
-function cnBrowseNext() {
-       cnOffset++;
-       _cnBrowseGo( cnBrowseCN, cnBrowseOrg );
-}
-
-function cnBrowsePrev() {
-       cnOffset--;
-       _cnBrowseGo( cnBrowseCN, cnBrowseOrg );
-}
-
-
-function cnBrowseDraw( r ) {
-       var list = r.getResultObject();
-       _cnBrowseDraw(list);
-}
-
-
-var cnTbody;
-var cnRowT;
-var cnTdT;
-function _cnBrowseDraw( list ) {
-
-       if(!cnTbody) {
-               cnTbody = $('cn_tbody');
-               cnRowT = $('cn_browse_row');
-               cnTdT = cnRowT.removeChild($('cn_browse_td'));
-               cnTbody.removeChild(cnRowT);
-       }
-       removeChildren(cnTbody);
-
-       var counter = 1;
-       var currentRow = cnRowT.cloneNode(true);
-       cnTbody.appendChild(currentRow);
-
-       for( var idx in list ) {
-               
-
-               var currentTd = cnTdT.cloneNode(true);
-               currentRow.appendChild(currentTd);
-
-               var td = cnTdT.cloneNode(true);
-
-               var obj = list[idx];
-               var cn  = obj.cn;
-               var mods = obj.mods;
-
-               var cn_td                       = $n(currentTd, 'cn_browse_cn');
-               var lib_td                      = $n(currentTd, 'cn_browse_lib');
-               var title_td            = $n(currentTd, 'cn_browse_title');
-               var author_td           = $n(currentTd, 'cn_browse_author');
-               var pic_td                      = $n(currentTd, 'cn_browse_pic');
-
-               cn_td.appendChild(text(cn.label()));
-               lib_td.appendChild(text(findOrgUnit(cn.owning_lib()).name()));
-               cnBrowseDrawTitle(mods, title_td, author_td, pic_td);
-
-               if( counter++ % 3 == 0 ) {
-                       counter = 1;
-                       currentRow = cnRowT.cloneNode(true);
-                       cnTbody.appendChild(currentRow);
-               }
-       }
-}
-
-
-function cnBrowseDrawTitle(mods, title_td, author_td, pic_td) {
-
-       buildTitleDetailLink(mods, title_td); 
-       buildSearchLink(STYPE_AUTHOR, mods.author(), author_td);
-       pic_td.setAttribute("src", buildISBNSrc(cleanISBN(mods.isbn())));
-
-       var args = {};
-       args.page = RDETAIL;
-       args[PARAM_OFFSET] = 0;
-       args[PARAM_RID] = mods.doc_id();
-       args[PARAM_MRID] = 0;
-       pic_td.parentNode.setAttribute("href", buildOPACLink(args));
-}
-
diff --git a/web/opac/skin/uwin/js/container.js b/web/opac/skin/uwin/js/container.js
deleted file mode 100644 (file)
index c898663..0000000
+++ /dev/null
@@ -1,67 +0,0 @@
-
-function containerDoRequest( req, callback, args ) {
-
-       if( callback ) {
-               req.callback( callback );
-               req.request.args = args;
-               req.send();
-               return null;
-       }
-
-       req.send(true); 
-       return req.result();
-}
-
-
-function containerFetchAll( callback, args ) {
-       var req = new Request( 
-               FETCH_CONTAINERS, G.user.session, G.user.id(), 'biblio', 'bookbag' );
-       return containerDoRequest( req, callback, args );
-}
-
-function containerFlesh( id, callback, args ) {
-       var req = new Request( FLESH_CONTAINER, G.user.session, 'biblio', id );
-       return containerDoRequest( req, callback, args );
-}
-
-function containerDelete( id, callback, args ) {
-       var req = new Request( DELETE_CONTAINER, G.user.session, 'biblio', id );
-       return containerDoRequest(req, callback, args );
-}
-
-
-function containerCreate( name, pub, callback, args ) {
-
-       var container = new cbreb();
-       container.btype('bookbag');
-       container.owner( G.user.id() );
-       container.name( name );
-       if(pub) container.pub('t');
-       else container.pub('f');
-
-       var req = new Request( 
-               CREATE_CONTAINER, G.user.session, 'biblio', container );
-       return containerDoRequest( req, callback, args );
-}
-
-function containerUpdate( container, callback, args ) {
-       var req = new Request(UPDATE_CONTAINER, G.user.session, 'biblio', container);
-       return containerDoRequest(req, callback, args);
-}
-
-function containerCreateItem( containerId, target, callback, args ) {
-
-       var item = new cbrebi();
-       item.target_biblio_record_entry(target);
-       item.bucket(containerId);
-
-       var req = new Request( CREATE_CONTAINER_ITEM, 
-               G.user.session, 'biblio', item );
-
-       return containerDoRequest( req, callback, args );
-}
-
-function containerRemoveItem( id, callback, args ) {
-       var req = new Request( DELETE_CONTAINER_ITEM, G.user.session, 'biblio', id );
-       return containerDoRequest( req, callback, args );
-}
diff --git a/web/opac/skin/uwin/js/copy_details.js b/web/opac/skin/uwin/js/copy_details.js
deleted file mode 100644 (file)
index 762b13e..0000000
+++ /dev/null
@@ -1,352 +0,0 @@
-var cpdTemplate;
-var cpdCounter = 0;
-var cpdNodes = {};
-
-function cpdBuild( contextTbody, contextRow, record, callnumber, orgid, depth, copy_location ) {
-var i = cpdCheckExisting(contextRow);
-       if(i) return i;
-
-       var counter = cpdCounter++;
-
-       /* yank out all of the template rows */
-       if(!cpdTemplate) cpdTemplate = $('rdetail_volume_details_row');
-       var templateRow = cpdTemplate.cloneNode(true);
-       templateRow.id = 'cpd_row_' + counter;
-
-       /* shove a dummy a tag in before the context previous sibling */
-       /*
-       contextTbody.insertBefore( 
-               elem('a',{name:'slot_'+templateRow.id}), contextRow.previousSibling);
-       goTo('#slot_'+templateRow.id);
-       */
-
-       if(isXUL()) {
-               /* unhide before we unhide/clone the parent */
-               unHideMe($n(templateRow, 'age_protect_label'));
-               unHideMe($n(templateRow, 'create_date_label'));
-               unHideMe($n(templateRow, 'holdable_label'));
-               unHideMe($n(templateRow, 'due_date_label'));
-       }
-
-       unHideMe(templateRow);
-
-       var print = $n(templateRow,'print');
-       print.onclick = function() { cpdBuildPrintPane(
-               contextRow, record, callnumber, orgid, depth) };
-
-       var mainTbody = $n(templateRow, 'copies_tbody');
-       var extrasRow = mainTbody.removeChild($n(mainTbody, 'copy_extras_row'));
-
-       var req = new Request(FETCH_COPIES_FROM_VOLUME, record.doc_id(), callnumber, orgid);
-       req.callback(cpdDrawCopies);
-
-       req.request.args = { 
-               contextTbody    : contextTbody, /* tbody that holds the contextrow */
-               contextRow              : contextRow, /* the row our new row will be inserted after */
-               record                  : record,
-               callnumber              : callnumber, 
-               orgid                           : orgid,
-               depth                           : depth,
-               templateRow             : templateRow, /* contains everything */
-               copy_location           : copy_location,
-               mainTbody               : mainTbody, /* holds the copy rows */
-               extrasRow               : extrasRow, /* wrapper row for all extras */
-               counter                 : counter
-       };
-
-       if( contextRow.nextSibling ) 
-               contextTbody.insertBefore( templateRow, contextRow.nextSibling );
-       else
-               contextTbody.appendChild( templateRow );
-
-       req.send();
-       _debug('creating new details row with id ' + templateRow.id);
-       cpdNodes[templateRow.id] = { templateRow : templateRow };
-       return templateRow.id;
-}
-
-
-function cpdBuildPrintWindow(record, orgid) {
-       var div = $('rdetail_print_details').cloneNode(true);
-       div.id = "";
-
-       $n(div, 'lib').appendChild(text(findOrgUnit(orgid).name()));
-       $n(div, 'title').appendChild(text(record.title()));
-       $n(div, 'author').appendChild(text(record.author()));
-       $n(div, 'edition').appendChild(text(record.edition()));
-       $n(div, 'pubdate').appendChild(text(record.pubdate()));
-       $n(div, 'publisher').appendChild(text(record.publisher()));
-       $n(div, 'phys').appendChild(text(record.physical_description()));
-
-       return div;
-}
-
-function cpdStylePopupWindow(div) {
-       var tds = div.getElementsByTagName('td');
-       for( var i = 0; i < tds.length ; i++ ) {
-               var td = tds[i];
-               var sty = td.getAttribute('style');
-               if(!sty) sty = "";
-               td.setAttribute('style', sty + 'padding: 2px; border: 1px solid #F0F0E0;');
-               if( td.className && td.className.match(/hide_me/) ) 
-                       td.parentNode.removeChild(td);
-       }
-}
-
-
-/* builds a friendly print window for this CNs data */
-function cpdBuildPrintPane(contextRow, record, callnumber, orgid, depth) {
-
-       var div = cpdBuildPrintWindow( record, orgid);
-
-       $n(div, 'cn').appendChild(text(callnumber));
-
-       unHideMe($n(div, 'copy_header'));
-
-       var subtbody = $n(contextRow.nextSibling, 'copies_tbody');
-       var rows = subtbody.getElementsByTagName('tr');
-
-       for( var r = 0; r < rows.length; r++ ) {
-               var row = rows[r];
-               if(!row) continue;
-               var name = row.getAttribute('name');
-               if( name.match(/extras_row/) ) continue; /* hide the copy notes, stat-cats */
-               var clone = row.cloneNode(true);
-               var links = clone.getElementsByTagName('a');
-               for( var i = 0; i < links.length; i++ ) 
-                       links[i].style.display = 'none';
-
-               $n(div, 'tbody').appendChild(clone);
-       }
-
-       cpdStylePopupWindow(div);
-       openWindow( div.innerHTML);
-}
-
-
-
-/* hide any open tables and if we've already 
-       fleshed this cn, just unhide it */
-function cpdCheckExisting( contextRow ) {
-
-       var existingid;
-       var next = contextRow.nextSibling;
-
-       if( next && next.getAttribute('templateRow') ) {
-               var obj = cpdNodes[next.id];
-               if(obj.templateRow.className.match(/hide_me/)) 
-                       unHideMe(obj.templateRow);
-               else hideMe(obj.templateRow);
-               existingid = next.id;
-       }
-
-       if(existingid) _debug('row exists with id ' + existingid);
-
-       for( var o in cpdNodes ) {
-               var node = cpdNodes[o];
-               if( existingid && o == existingid ) continue;
-               hideMe(node.templateRow);
-               removeCSSClass(node.templateRow.previousSibling, 'rdetail_context_row');
-       }
-
-       addCSSClass(contextRow, 'rdetail_context_row');
-       if(existingid) return existingid;
-       return null;
-}
-
-/*
-function cpdFetchCopies(r) {
-       var args = r.args;
-       args.cn = r.getResultObject();
-       var req = new Request(FETCH_COPIES_FROM_VOLUME, args.cn.id());
-       req.request.args = args;
-       req.callback(cpdDrawCopies);
-       req.send();
-}
-*/
-
-function cpdDrawCopies(r) {
-
-       var copies              = r.getResultObject();
-       var args                        = r.args;
-       var copytbody   = $n(args.templateRow, 'copies_tbody');
-       var copyrow             = copytbody.removeChild($n(copytbody, 'copies_row'));
-
-       if(isXUL()) {
-               /* unhide before we unhide/clone the parent */
-               unHideMe($n(copyrow, 'age_protect_value'));
-               unHideMe($n(copyrow, 'create_date_value'));
-               unHideMe($n(copyrow, 'copy_holdable_td'));
-               unHideMe($n(copyrow, 'copy_due_date_td'));
-       }
-
-       for( var i = 0; i < copies.length; i++ ) {
-               var row = copyrow.cloneNode(true);
-               var copyid = copies[i];
-               var req = new Request(FETCH_FLESHED_COPY, copies[i]);
-               req.callback(cpdDrawCopy);
-               req.request.args = r.args;
-               req.request.row = row;
-               req.send();
-               copytbody.appendChild(row);
-       }
-}
-
-function cpdDrawCopy(r) {
-       var copy = r.getResultObject();
-       var row  = r.row;
-
-    if (r.args.copy_location && copy.location().name() != r.args.copy_location) {
-        hideMe(row);
-        return;
-    }
-
-       $n(row, 'barcode').appendChild(text(copy.barcode()));
-       $n(row, 'location').appendChild(text(copy.location().name()));
-       $n(row, 'status').appendChild(text(copy.status().name()));
-
-       if(isXUL()) {
-               /* show the hold link */
-               var l = $n(row, 'copy_hold_link');
-               unHideMe(l);
-               l.onclick = function() {
-                       holdsDrawEditor( 
-                               { 
-                                       type                    : 'C',
-                                       copyObject      : copy,
-                                       onComplete      : function(){}
-                               }
-                       );
-               }
-
-               if( copy.age_protect() ) 
-                       appendClear($n(row, 'age_protect_value'), text(copy.age_protect().name()));
-
-               var cd = copy.create_date();
-               cd = cd.replace(/T.*/, '');
-               $n(row, 'create_date_value').appendChild(text(cd));
-
-               var yes = $('rdetail.yes').innerHTML;
-               var no = $('rdetail.no').innerHTML;
-
-               if( isTrue(copy.holdable()) &&
-                               isTrue(copy.location().holdable()) &&
-                               isTrue(copy.status().holdable()) ) {
-                       $n(row, 'copy_is_holdable').appendChild(text(yes));     
-               } else {
-                       $n(row, 'copy_is_holdable').appendChild(text(no));      
-               }
-
-               var circ;
-               if( copy.circulations() ) {
-                       circ = copy.circulations()[0];
-                       if( circ ) {
-                               $n(row, 'copy_due_date').appendChild(text(circ.due_date().replace(/[T ].*/,'')));
-                       }
-               }
-
-       }
-
-       r.args.copy = copy;
-       r.args.copyrow = row;
-       cpdShowNotes(copy, r.args)
-       cpdShowStats(copy, r.args);
-
-}
-
-function _cpdExtrasInit(args) {
-
-       var newrid      = 'extras_row_' + args.copy.barcode();
-       var newrow      = $(newrid);
-       if(!newrow) newrow = args.extrasRow.cloneNode(true);
-       var tbody       = $n(newrow, 'extras_tbody');
-       var rowt                = $n(tbody, 'extras_row');
-       newrow.id       = newrid;
-
-       var cr = args.copyrow;
-       var nr = cr.nextSibling;
-       var np = args.mainTbody;
-
-       /* insert the extras row into the main table */
-       if(nr) np.insertBefore( newrow, nr );
-       else np.appendChild(newrow);
-
-       var link = $n(args.copyrow, 'details_link');
-       var link2 = $n(args.copyrow, 'less_details_link');
-       var id = newrow.id;
-       link.id = id + '_morelink';
-       link2.id = id + '_lesslink';
-       unHideMe(link);
-       hideMe(link2);
-
-       link.setAttribute('href', 
-                       'javascript:unHideMe($("'+link2.id+'")); hideMe($("'+link.id+'"));unHideMe($("'+newrow.id+'"));');
-
-       link2.setAttribute('href', 
-                       'javascript:unHideMe($("'+link.id+'")); hideMe($("'+link2.id+'"));hideMe($("'+newrow.id+'"));');
-
-       return [ tbody, rowt ];
-}
-
-function cpdShowNotes(copy, args) {
-       var notes = copy.notes();
-       if(!notes || notes.length == 0) return;
-
-       var a = _cpdExtrasInit(args);
-       var tbody = a[0];
-       var rowt = a[1];
-
-       for( var n in notes ) {
-               var note = notes[n];
-               if(!isTrue(note.pub())) continue;
-               var row = rowt.cloneNode(true);
-               $n(row, 'key').appendChild(text(note.title()));
-               $n(row, 'value').appendChild(text(note.value()));
-               unHideMe($n(row, 'note'));
-               unHideMe(row);
-               tbody.appendChild(row);
-       }
-}
-
-
-function cpdShowStats(copy, args) {
-       var entries = copy.stat_cat_entry_copy_maps();
-       if(!entries || entries.length == 0) return;
-
-       var visibleStatCat = false;
-
-       /*
-               check all copy stat cats; if we find one that's OPAC visible,
-               set the flag and break the loop. If we've found one, or we're
-               in the staff client, build the table. if not, we return doing
-               nothing, as though the stat_cat_entry_copy_map was empty or null
-       */
-
-       for( var n in entries )
-       {
-                       var entry = entries[n];
-                       if(isTrue(entry.stat_cat().opac_visible()))
-                       {
-                               visibleStatCat = true;
-                               break;
-                       }
-       }
-
-       if(!(isXUL() || visibleStatCat)) return;
-
-       var a = _cpdExtrasInit(args);
-       var tbody = a[0];
-       var rowt = a[1];
-
-       for( var n in entries ) {
-               var entry = entries[n];
-               if(!(isXUL() || isTrue(entry.stat_cat().opac_visible()))) continue;
-               var row = rowt.cloneNode(true);
-               $n(row, 'key').appendChild(text(entry.stat_cat().name()));
-               $n(row, 'value').appendChild(text(entry.stat_cat_entry().value()));
-               unHideMe($n(row, 'cat'));
-               unHideMe(row);
-               tbody.appendChild(row);
-       }
-}
-
diff --git a/web/opac/skin/uwin/js/depth_selector.js b/web/opac/skin/uwin/js/depth_selector.js
deleted file mode 100644 (file)
index 1bd983e..0000000
+++ /dev/null
@@ -1,122 +0,0 @@
-
-attachEvt( "common", "locationChanged", updateLoc );
-
-var _ds;
-var _libselspan;
-var _libselslink;
-var _dselspan;
-var _newlocation = null;
-
-function depthSelInit() {
-       _ds = $('depth_selector'); 
-       _ds.onchange = depthSelectorChanged;
-       _libselspan = $('lib_selector_span');
-       _libsellink = $('lib_selector_link');
-       _dselspan = $('depth_selector_span');
-
-       if( getLocation() == globalOrgTree.id() ) {
-               unHideMe( _libselspan );
-               _libsellink.onclick = _opacHandleLocationTagClick;
-       } else {
-               unHideMe( _dselspan );
-               buildLocationSelector();
-       }
-
-       setSelector(_ds,        getDepth());
-       _newlocation = getLocation();
-}
-
-
-var orgTreeIsBuilt = false;
-function _opacHandleLocationTagClick() {
-
-       swapCanvas(G.ui.common.org_container);
-
-       if(!orgTreeIsBuilt) {
-               drawOrgTree();
-               orgTreeIsBuilt = true;
-       }
-
-}
-
-function depthSelGetDepth() {
-       var depth = parseInt(_ds.options[_ds.selectedIndex].value);
-       if(isNaN(depth)) depth = 0;
-       return depth;
-}
-
-function depthSelectorChanged() {
-       var i = _ds.selectedIndex;
-       if( i == _ds.options.length - 1 ) {
-               setSelector( _ds, getDepth() );
-               _opacHandleLocationTagClick();
-       } else { 
-               /* this re-submits the search when they change the search range
-                       disabled for testing...
-                       */
-               /*runEvt('common', 'depthChanged');*/ 
-       }
-}
-
-var chooseAnotherNode;
-function buildLocationSelector(newLoc) {
-
-       var loc;
-       if(newLoc != null) loc = newLoc;
-       else loc = getLocation();
-
-       if( loc == globalOrgTree.id() ) return;
-
-       var selector = _ds;
-       if(!chooseAnotherNode) 
-               chooseAnotherNode = selector.removeChild(
-                       selector.getElementsByTagName("option")[0]);
-       var node = chooseAnotherNode;
-       removeChildren(selector);
-       
-       var location = findOrgUnit(loc);
-       var type;
-       if (location) type = findOrgType(location.ou_type());
-
-       while( type && location ) {
-               var n = node.cloneNode(true);   
-               n.setAttribute("value", type.depth());
-               removeChildren(n);
-               n.appendChild(text(type.opac_label()));
-               selector.appendChild(n);
-               location = findOrgUnit(location.parent_ou());
-               if(location) type = findOrgType(location.ou_type());
-               else type = null;
-       }
-
-       selector.appendChild(node);
-}
-
-function getNewSearchDepth() { return newSearchDepth; }
-function getNewSearchLocation() { return (isNull(_newlocation)) ? LOCATION : _newlocation; }
-function depthSelGetNewLoc() { return getNewSearchLocation(); }
-
-function updateLoc(location, depth) {
-       if( depth != null ) {
-               if(depth != 0 ){
-                       _libsellink.onclick = _opacHandleLocationTagClick;
-                       if( location == globalOrgTree.id() ) {
-                               hideMe( _dselspan );
-                               unHideMe( _libselspan );
-                       } else {
-                               buildLocationSelector(location);
-                               hideMe( _libselspan );
-                               unHideMe( _dselspan );
-                       }
-               }
-
-               setSelector(_ds, depth);
-               newSearchDepth = depth;
-       }
-
-       _newlocation = location;
-       runEvt('common','locationUpdated', location);
-}
-
-
-
diff --git a/web/opac/skin/uwin/js/holds.js b/web/opac/skin/uwin/js/holds.js
deleted file mode 100644 (file)
index 0a7370c..0000000
+++ /dev/null
@@ -1,892 +0,0 @@
-var holdsOrgSelectorBuilt = false;
-var holdArgs;
-
-/* 
-note: metarecord holds have a holdable_formats field that contains
-item_type(s)-item_forms(s)-language
-item_form and language are optional - if language exist and no 
-item_form is specified, use item_type(s)--language
-*/
-
-var noEmailMessage;
-var noEmailMessageXUL;
-
-function holdsHandleStaff() {
-
-    // if we know the recipient's barcode, use it
-    if(xulG.patron_barcode) return _holdsHandleStaff();
-
-       swapCanvas($('xulholds_box'));
-       $('xul_recipient_barcode').focus();
-       $('xul_recipient_barcode').onkeypress = function(evt) 
-               {if(userPressedEnter(evt)) { _holdsHandleStaff(); } };
-       $('xul_recipient_barcode_submit').onclick = _holdsHandleStaff;
-       $('xul_recipient_me').onclick = _holdsHandleStaffMe;
-
-       $('xul_recipient_barcode').onkeyup = function(evt) {
-        if($('xul_recipient_barcode').value == '') 
-            $('xul_recipient_me').disabled = false;
-        else
-            $('xul_recipient_me').disabled = true;
-    };
-}
-
-$('holds_frozen_thaw_input').onchange = 
-        function(){holdsVerifyThawDateUI('holds_frozen_thaw_input');}
-$('holds_frozen_thaw_input').onkeyup = 
-        function(){holdsVerifyThawDateUI('holds_frozen_thaw_input');}
-
-function _holdsHandleStaffMe() {
-       holdArgs.recipient = G.user;
-       holdsDrawEditor();
-}
-
-function _holdsHandleStaff() {
-       var barcode = xulG.patron_barcode || $('xul_recipient_barcode').value;
-       var user = grabUserByBarcode( G.user.session, barcode );
-
-       var evt;
-       if(evt = checkILSEvent(user)) {
-               alertILSEvent(user);
-               return;
-       }
-
-       if(!barcode || !user) {
-               alertId('holds_invalid_recipient', barcode);
-               return
-       }
-
-       holdArgs.recipient = user;
-       holdsDrawEditor();
-}
-
-
-
-/** args:
-  * record, volume, copy (ids)
-  * request, recipient, editHold (objects)
-  */
-
-function holdsDrawEditor(args) {
-
-       holdArgs = (args) ? args : holdArgs;
-
-    if(!noEmailMessage)
-        noEmailMessage = $('holds_email').removeChild($('holds.no_email'));
-
-    if(!noEmailMessageXUL)
-        noEmailMessageXUL = $('holds_email').removeChild($('holds.no_email.xul'));
-
-       if(isXUL() && holdArgs.recipient == null 
-                       && holdArgs.editHold == null) {
-               holdsHandleStaff();
-               return;
-       }
-
-       if(!holdArgs.recipient) holdArgs.recipient = G.user;
-       if(!holdArgs.requestor) holdArgs.requestor = G.user;
-
-       if(!(holdArgs.requestor && holdArgs.requestor.session)) {
-               detachAllEvt('common','locationChanged');
-               attachEvt('common','loggedIn', holdsDrawEditor)
-               initLogin();
-               return;
-       }
-
-       if(holdArgs.editHold) // flesh the args with the existing hold 
-               holdArgsFromHold(holdArgs.editHold, holdArgs);
-
-       holdsDrawWindow();
-}
-
-
-// updates the edit window with the existing hold's data 
-function _holdsUpdateEditHold() {
-
-       var hold = holdArgs.editHold;
-       var qstats = holdArgs.status;
-
-       var orgsel = $('holds_org_selector');
-    var frozenbox = $('holds_frozen_chkbox');
-
-       setSelector(orgsel, hold.pickup_lib());
-
-       if( hold.capture_time() || qstats.status > 2 ) {
-        frozenbox.disabled = true;
-        $('holds_frozen_thaw_input').disabled = true;
-        if(qstats.status == 3) {
-            // no pickup lib changes while in-transit
-                   orgsel.disabled = true;
-        } else {
-            var orgs = fetchPermOrgs('UPDATE_PICKUP_LIB_FROM_HOLDS_SHELF');
-            if(orgs[0] == -1)
-                       orgsel.disabled = true;
-        }
-    } else {
-               orgsel.disabled = false;
-        frozenbox.disabled = false;
-    }
-
-
-       $('holds_submit').onclick = holdsEditHold;
-       $('holds_update').onclick = holdsEditHold;
-
-       if(hold.phone_notify()) {
-               $('holds_enable_phone').checked = true;
-               $('holds_phone').value = hold.phone_notify();
-
-       } else {
-               $('holds_phone').disabled = true;
-               $('holds_enable_phone').checked = false;
-       }
-
-       if(isTrue(hold.email_notify())) {
-               $('holds_enable_email').checked = true;
-
-       } else {
-               $('holds_enable_email').checked = false;
-       }
-
-    dijit.byId('holds_expire_time').setValue(dojo.date.stamp.fromISOString(hold.expire_time()));
-
-    /* populate the hold freezing info */
-    if(!frozenbox.disabled && isTrue(hold.frozen())) {
-        frozenbox.checked = true;
-        unHideMe($('hold_frozen_thaw_row'));
-        if(hold.thaw_date()) {
-            dijit.byId('holds_frozen_thaw_input').setValue(dojo.date.stamp.fromISOString(hold.thaw_date()));
-        } else {
-            dijit.byId('holds_frozen_thaw_input').setValue('');
-        }
-    } else {
-        frozenbox.checked = false;
-        dijit.byId('holds_frozen_thaw_input').setValue('');
-        hideMe($('hold_frozen_thaw_row'));
-    }
-}
-
-function holdsEditHold() {
-       var hold = holdsBuildHoldFromWindow();
-       if(!hold) return;
-       holdsUpdate(hold);
-       showCanvas();
-       if(holdArgs.onComplete)
-               holdArgs.onComplete(hold);
-}
-
-function holdArgsFromHold(hold, oargs) {
-       var args = (oargs) ? oargs : {};
-       args.type = hold.hold_type();
-       var target = hold.target();
-
-       switch(args.type) {
-               case 'M':
-                       args.metarecord = target;
-                       break;
-               case 'T':
-                       args.record = target;
-                       break;
-               case 'V':
-                       args.volume = target;
-                       break;
-               case 'C':
-                       args.copy = target;
-                       break;
-       }
-       return args;
-}
-
-function holdFetchObjects(hold, doneCallback) {
-
-       var args = (hold) ? holdArgsFromHold(hold) : holdArgs;
-
-       var type = args.type;
-
-       if( type == 'C' ) {
-
-               if( args.copyObject ) {
-
-                       args.copy = args.copyObject.id();
-                       args.volume = args.copyObject.call_number();
-                       _h_set_vol(args, doneCallback);
-
-               } else {
-                       var creq = new Request(FETCH_COPY, args.copy);
-
-                       creq.callback(
-                               function(r) {
-                                       var cp = r.getResultObject();
-                                       args.copyObject = cp;
-                                       args.volume = args.copyObject.call_number();
-                                       _h_set_vol(args, doneCallback);
-                               }
-                       );
-                       creq.send();
-               }
-       } else {
-               if( type == 'V' ) {
-                       _h_set_vol(args, doneCallback);
-
-               } else {
-                       if( type == 'T' ) {
-                               _h_set_rec(args, doneCallback);
-                       } else {
-                               _h_set_rec_descriptors(args, doneCallback);
-                       }
-               }
-       }
-
-       return args;
-}
-
-function _h_set_vol(args, doneCallback) {
-
-       if( args.volumeObject ) {
-               args.volume = args.volumeObject.id();
-               args.record = args.volumeObject.record();
-               _h_set_rec(args, doneCallback);
-
-       } else {
-
-               var vreq = new Request(FETCH_VOLUME, args.volume);
-               vreq.callback(
-                       function(r) {
-                               var vol = r.getResultObject();
-                               args.volumeObject = vol;
-                               args.record = vol.record();
-                               _h_set_rec(args, doneCallback);
-                       }
-               );
-               vreq.send();
-       }
-}
-
-function _h_set_rec(args, doneCallback) {
-
-       if(args.recordObject) 
-               args.record = args.recordObject.doc_id();
-       else 
-               args.recordObject = findRecord( args.record, 'T' );
-       
-       if( args.type == 'T' || args.type == 'M' ) 
-               _h_set_rec_descriptors(args, doneCallback);
-       else 
-               if(doneCallback) doneCallback(args);
-}
-
-
-function _h_set_rec_descriptors(args, doneCallback) {
-
-       // grab the list of record desciptors attached to this records metarecord 
-       if( ! args.recordDescriptors )  {
-               var params = { record: args.record };
-
-               if( ! args.record ) {
-                       if( args.metarecord )
-                               params = { metarecord : args.metarecord };
-                       else 
-                               params = { metarecord : args.metarecordObject.doc_id() };
-               }
-
-               var req = new Request(FETCH_MR_DESCRIPTORS, params );
-               req.callback(
-                       function(r) {
-                               var data = r.getResultObject();
-                               args.recordDescriptors = data.descriptors;
-                               args.metarecord = data.metarecord;
-                               if( args.type == 'M' && ! args.metarecordObject) 
-                                       args.metarecordObject = findRecord(args.metarecord, 'M');       
-                                
-                               if(doneCallback) doneCallback(args);
-                       }
-               );
-               req.send();
-
-       } else {
-               if(doneCallback) doneCallback(args);
-       }
-
-       return args;
-}
-
-
-
-function holdsDrawWindow() {
-       swapCanvas($('holds_box'));
-       $('holds_cancel').onclick = function(){ runEvt('common', 'holdUpdateCanceled'), showCanvas() };
-       $('holds_submit').onclick = function(){holdsPlaceHold(holdsBuildHoldFromWindow())};
-       $('holds_update').onclick = function(){holdsPlaceHold(holdsBuildHoldFromWindow())};
-       holdFetchObjects(null, 
-               function(){
-                       __holdsDrawWindow();
-
-                       if(holdArgs.editHold) {
-                               hideMe($('holds_submit'));
-                               unHideMe($('holds_update'));
-                               var req = new Request(FETCH_HOLD_STATUS, 
-                                       G.user.session, holdArgs.editHold.id());
-                               req.send(true);
-                               holdArgs.status = req.result();
-                               _holdsUpdateEditHold();
-                       }  
-               }
-       );
-}
-
-function __holdsDrawWindow() {
-
-       var rec = holdArgs.recordObject;
-       var vol = holdArgs.volumeObject;
-       var copy = holdArgs.copyObject;
-       var mr = holdArgs.metarecordObject;
-
-       rec = (rec) ? rec : mr;
-
-       if(!holdsOrgSelectorBuilt) {
-               holdsBuildOrgSelector(null,0);
-               holdsOrgSelectorBuilt = true;
-               var selector = $('holds_org_selector');
-
-               /*
-               var o_loc = findOrgUnit(getOrigLocation());
-               var t = findOrgType(o_loc.ou_type());
-               if( t.can_have_users() ) 
-                       setSelector(selector, o_loc.id());
-               else 
-               */
-
-               setSelector(selector, holdArgs.recipient.home_ou());
-       
-       }
-
-       /*
-       if(isXUL()) {
-               var dsel = $('holds_depth_selector');
-               unHideMe($('holds_depth_selector_row'));
-               if(dsel.getElementsByTagName('option').length == 0) {
-                       var types = globalOrgTypes;
-                       var depth = findOrgDepth(G.user.ws_ou());
-                       iterate(types, 
-                               function(t) {
-                                       if(t.depth() > depth) return;
-                                       insertSelectorVal(dsel, -1, t.opac_label(), t.depth());
-                               }
-                       );
-               }
-       }
-       */
-
-       appendClear($('holds_recipient'), text(
-               holdArgs.recipient.family_name() + ', ' +  
-                       holdArgs.recipient.first_given_name()));
-       appendClear($('holds_title'), text(rec.title()));
-       appendClear($('holds_author'), text(rec.author()));
-
-       if( holdArgs.type == 'V' || holdArgs.type == 'C' ) {
-
-               unHideMe($('holds_type_row'));
-               unHideMe($('holds_cn_row'));
-               appendClear($('holds_cn'), text(holdArgs.volumeObject.label()));
-
-               if( holdArgs.type == 'V'  ) {
-                       unHideMe($('holds_is_cn'));
-                       hideMe($('holds_is_copy'));
-
-               } else {
-                       hideMe($('holds_is_cn'));
-                       unHideMe($('holds_is_copy'));
-                       unHideMe($('holds_copy_row'));
-                       appendClear($('holds_copy'), text(holdArgs.copyObject.barcode()));
-               }
-
-       } else {
-               hideMe($('holds_type_row'));
-               hideMe($('holds_copy_row'));
-               hideMe($('holds_cn_row'));
-       }
-
-       removeChildren($('holds_format'));
-
-       var mods_formats = rec.types_of_resource();
-       var formats;
-
-       if(holdArgs.recordDescriptors)
-               formats = holdArgs.recordDescriptors[0].item_type();
-
-       if( holdArgs.type == 'T' ) {
-               var desc = grep( holdArgs.recordDescriptors,
-                       function(i) {
-                               return (i.record() == holdArgs.record); 
-                       }
-               );
-               formats = desc[0].item_type();
-       }
-
-       if( holdArgs.type == 'M' ) {
-               var data = holdsParseMRFormats(holdArgs.editHold.holdable_formats());
-               mods_formats = data.mods_formats;
-               formats = data.formats;
-       }
-
-
-       for( var i in mods_formats ) {
-               var res = mods_formats[i];
-               var img = elem("img");
-               setResourcePic(img, res);
-               $('holds_format').appendChild(img);
-               if(formats)
-                       $('holds_format').appendChild(text(' '+ MARCTypeToFriendly(formats[i]) +' '));
-               else
-                       $('holds_format').appendChild(text(' '+ mods_formats[i] +' '));
-               $('holds_format').appendChild(elem('br'));
-       }
-
-
-       $('holds_phone').value = holdArgs.recipient.day_phone();
-       appendClear( $('holds_email'), text(holdArgs.recipient.email()));
-
-       var pref = G.user.prefs[PREF_HOLD_NOTIFY];
-
-       if(pref) {
-               if( ! pref.match(/email/i) ) 
-                       $('holds_enable_email').checked = false;
-
-               if( ! pref.match(/phone/i) ) {
-                       $('holds_phone').disabled = true;
-                       $('holds_enable_phone').checked = false;
-               }
-       }
-
-    if(!holdArgs.recipient.email()) {
-               $('holds_enable_email').checked = false;        
-               $('holds_enable_email').disabled = true;
-        var message;
-        if(isXUL()) {
-            message = noEmailMessageXUL.cloneNode(true);
-               appendClear($('holds_email'), message);
-        } else {
-            message = noEmailMessage.cloneNode(true);
-               appendClear($('holds_email'), message);
-            $('holds.no_email.my_account').setAttribute('href', buildOPACLink({page:MYOPAC},null,true));
-        }
-        unHideMe(message);
-    }
-
-       if(!$('holds_phone').value) 
-               $('holds_enable_phone').checked = false;        
-
-       appendClear($('holds_physical_desc'), text(rec.physical_description()));
-
-       if(holdArgs.type == 'M') hideMe($('hold_physical_desc_row'));
-
-       holdsSetFormatSelector();
-
-    $('holds_frozen_chkbox').checked = false;
-    hideMe($('hold_frozen_thaw_row'));
-
-    var interval = fetchOrgSettingDefault(holdArgs.recipient.home_ou(), 'circ.hold_expire_interval');
-    var secs = 0;
-    if(interval) {
-        secs = interval_to_seconds(interval);
-        var expire = new Date();
-        expire.setTime(expire.getTime() + Number(secs + '000'));
-        dijit.byId('holds_expire_time').setValue(expire);
-    }
-}
-
-function holdsParseMRFormats(str) {
-       var data = str.split(/-/);      
-
-       var formats = [];
-       var mods_formats = [];
-
-       for( var i = 0; i < data[0].length; i++ ) {
-               formats.push( data[0].charAt(i) );
-               mods_formats.push( MARCFormatToMods( formats[i] ) );
-       }
-       
-       formats = uniquify(formats);
-       mods_formats = uniquify(mods_formats);
-
-       return {
-               formats                 : formats,
-               mods_formats    : mods_formats,
-               lang                            : data[2],
-               largeprint              : data[1]
-       };
-}
-
-
-function holdsSetFormatSelector() {
-       var type = holdArgs.type;
-       if( type == 'C' || type == 'V' || holdArgs.editHold ) return;
-
-       var data                                = holdsGetFormats();
-       var avail_formats       = data.avail_formats;
-       var sel_formats = data.sel_formats;
-       holdArgs.language = data.lang;
-
-       unHideMe($('holds_alt_formats_row_extras'));
-       var selector = $('hold_alt_form_selector');
-
-       for( var i = 0; i < avail_formats.length; i++ ) {
-               var form = avail_formats[i];
-               unHideMe(findSelectorOptByValue(selector, form));
-       }
-}
-
-
-function holdsGetFormats() {
-
-       var lang;
-       var formats = [];
-       var sformats = []; // selected formats 
-
-       var type = holdArgs.type;
-       var desc = holdArgs.recordDescriptors;
-       var rec = holdArgs.record;
-       var mrec = holdArgs.metarecord;
-
-       if( type == 'T' ) {
-
-               for( var i = 0; i < desc.length; i++ ) {
-                       var d = desc[i];
-                       if( d.record() == holdArgs.record ) {
-                               lang = d.item_lang();
-                               holdArgs.myFormat =  _t_f_2_format(d.item_type(), d.item_form());
-                               sformats.push(holdArgs.myFormat);
-                               break;
-                       }
-               }
-       }
-
-       for( var i = 0; i < desc.length; i++ ) {
-               var d = desc[i];
-               if( d.item_lang() != lang ) continue;
-               formats.push( _t_f_2_format(d.item_type(), d.item_form()));
-       }
-
-       formats = uniquify(formats);
-
-       return {
-               lang : lang,
-               avail_formats : formats, 
-               sel_formats : sformats
-       };
-}
-
-
-
-function _t_f_2_format(type, form) {
-       if( form == 'd' ) return 'at-d';
-       return (type == 'a' || type == 't') ? 'at' : 
-               ( type == 'i' || type == 'g' || type == 'j' ) ? type : null;
-}
-
-function holdsSetSelectedFormats() {
-
-       var cn = $('holds_alt_formats_row').className;
-       if( cn && cn.match(/hide_me/) ) return;
-
-       var selector = $('hold_alt_form_selector');
-       var vals = getSelectedList(selector);
-
-       if(vals.length == 0) return;
-
-       var fstring = "";
-
-       if( contains(vals, 'at-d') ) {
-               if( contains(vals, 'at') )
-                       fstring = 'at';
-               else 
-                       fstring = 'at-d';
-       } else {
-               if( contains(vals, 'at') )
-                       fstring = 'at';
-       }
-
-       for( var i = 0; i < vals.length; i++ ) {
-               var val = vals[i];
-               if( !val.match(/at/) ) fstring = val + fstring;
-       }
-
-       if( holdArgs.language ) {
-               if( fstring.match(/-/) )
-                       fstring = fstring + '-' + holdArgs.language;
-               else
-                       fstring = fstring + '--' + holdArgs.language;
-       }
-
-
-       return fstring;
-}
-
-
-function holdsCheckPossibility(pickuplib, hold, recurse) {
-
-       var args = { 
-               titleid : holdArgs.record,
-               volume_id : holdArgs.volume,
-               copy_id : holdArgs.copy,
-               hold_type : holdArgs.type,
-               patronid : holdArgs.recipient.id(),
-               depth : 0, 
-               pickup_lib : pickuplib 
-       };
-
-       if(recurse) {
-               /* if we're calling create again (recursing), 
-                       we know that the hold possibility check already succeeded */
-               holdHandleCreateResponse({_recurse:true, _hold:hold}, true );
-
-       } else {
-               _debug("hold possible args = "+js2JSON(args));
-       
-               var req = new Request(CHECK_HOLD_POSSIBLE, G.user.session, args );
-       
-               req.request.alertEvent = false;
-               req.request._hold = hold;
-               req.request._recurse = recurse;
-               req.callback(holdHandleCreateResponse);
-               req.send();
-       }
-}
-
-
-function holdsBuildOrgSelector(node) {
-
-       if(!node) node = globalOrgTree;
-    if(!isTrue(node.opac_visible())) return;
-
-       var selector = $('holds_org_selector');
-       var index = selector.options.length;
-
-       var type = findOrgType(node.ou_type());
-       var indent = type.depth() - 1;
-       var opt = setSelectorVal( selector, index, node.name(), node.id(), null, indent );
-       if(!type.can_have_users()) {
-               opt.disabled = true;
-               addCSSClass(opt, 'disabled_option');
-       }
-       
-       for( var i in node.children() ) {
-               var child = node.children()[i];
-               if(child) holdsBuildOrgSelector(child);
-       }
-}
-
-function holdsBuildHoldFromWindow() {
-
-       var org = getSelectorVal($('holds_org_selector'));
-       var node = findOrgUnit(org);
-       var ntype = findOrgType(node.ou_type());
-       if(!ntype.can_have_users()) {
-               alertId('holds_pick_good_org');
-               return;
-       }
-
-       var hold = new ahr();
-       if(holdArgs.editHold) {
-               hold = holdArgs.editHold;
-               holdArgs.editHold = null;
-       }
-
-       if( $('holds_enable_phone').checked ) {
-               var phone = $('holds_phone').value;
-               if( !phone || !phone.match(REGEX_PHONE) ) {
-                       alert($('holds_bad_phone').innerHTML);
-                       return null;
-               }
-               hold.phone_notify(phone);
-
-       } else {
-               hold.phone_notify("");
-       }
-
-       if( $('holds_enable_email').checked ) 
-               hold.email_notify(1);
-       else
-               hold.email_notify(0);
-
-       var target;
-
-       switch(holdArgs.type) {
-               case 'M':
-                       target = holdArgs.metarecord; break;
-               case 'T':
-                       target = holdArgs.record; break;
-               case 'V':
-                       target = holdArgs.volume; break;
-               case 'C':
-                       target = holdArgs.copy; break;
-       }
-
-
-
-       hold.pickup_lib(org); 
-       //hold.request_lib(org); 
-       hold.requestor(holdArgs.requestor.id());
-       hold.usr(holdArgs.recipient.id());
-       hold.target(target);
-       hold.hold_type(holdArgs.type);
-
-    var expDate = dijit.byId('holds_expire_time').getValue();
-    if(expDate) {
-        var expireDate = dojo.date.stamp.toISOString(expDate);
-        expireDate = holdsVerifyThawDate(expireDate); 
-        if(expireDate)
-            hold.expire_time(expireDate);
-        else 
-            return;
-    }
-
-    // see if this hold should be frozen and for how long
-    if($('holds_frozen_chkbox').checked) {
-        hold.frozen('t');
-        unHideMe($('hold_frozen_thaw_row'));
-        thawDate = dojo.date.stamp.toISOString(dijit.byId('holds_frozen_thaw_input').getValue());
-        if(thawDate) {
-            thawDate = holdsVerifyThawDate(thawDate); 
-            if(thawDate) 
-                hold.thaw_date(thawDate);
-            else
-                return;
-        } else {
-            hold.thaw_date(null);
-        }
-    } else {
-        hold.frozen('f');
-        hold.thaw_date(null);
-    }
-
-       //check for alternate hold formats 
-       var fstring = holdsSetSelectedFormats();
-       if(fstring) { 
-               hold.hold_type('M'); 
-               hold.holdable_formats(fstring);
-               hold.target(holdArgs.metarecord);
-       }
-       return hold;
-}
-       
-function holdsPlaceHold(hold, recurse) {
-       if(!hold) return;
-       swapCanvas($('check_holds_box'));
-       holdsCheckPossibility(hold.pickup_lib(), hold, recurse);
-}
-
-
-function holdHandleCreateResponse(r, recurse) {
-
-       if(!recurse) {
-               var res = r.getResultObject();
-               if(checkILSEvent(res) || res.success != 1) {
-                       if(res.success != 1) {
-                               alert($('hold_not_allowed').innerHTML);
-                       } else {
-                               if( res.textcode == 'PATRON_BARRED' ) {
-                                       alertId('hold_failed_patron_barred');
-                       } else {
-                                       alert($('hold_not_allowed').innerHTML);
-                               }
-                       }
-                       swapCanvas($('holds_box'));
-                       return;
-               }
-        r._hold.selection_depth(res.depth);
-       }       
-
-       holdCreateHold(r._recurse, r._hold);
-}
-
-
-function holdCreateHold( recurse, hold ) {
-       var method = CREATE_HOLD;
-       if(recurse) method = CREATE_HOLD_OVERRIDE;
-       var req = new Request( method, holdArgs.requestor.session, hold );
-       req.request.alertEvent = false;
-       req.send(true);
-       var res = req.result();
-       holdProcessResult(hold, res, recurse);
-       
-       showCanvas();
-
-       runEvt('common', 'holdUpdated');
-}
-
-
-function holdProcessResult( hold, res, recurse ) {
-
-       if( res == '1' ) {
-               alert($('holds_success').innerHTML);
-               holdArgs = null;
-
-       } else {
-
-               if( recurse ) {
-                       alert($('holds_failure').innerHTML);
-                       return;
-               }
-
-               if( grep(res, function(e) { return (e.textcode == 'HOLD_EXISTS'); }) ) {
-                       if( fetchPermOrgs('HOLD_EXISTS.override')[0] != -1 ) {
-                               if( confirm($('hold_dup_exists_override').innerHTML) ) {
-                                       return holdsPlaceHold(hold, true);
-                               }
-
-                       } else {
-                               return alert($('hold_dup_exists').innerHTML);
-                       }
-               }
-
-               alert($('holds_failure').innerHTML);
-       }
-}
-
-
-function holdsCancel(holdid, user) {
-       if(!user) user = G.user;
-       var req = new Request(CANCEL_HOLD, user.session, holdid, /* Patron via OPAC */ 6);
-       req.send(true);
-       return req.result();
-       runEvt('common', 'holdUpdated');
-}
-
-function holdsUpdate(hold, user) {
-       if(!user) user = G.user;
-       var req = new Request(UPDATE_HOLD, user.session, hold);
-       req.send(true);
-       var x = req.result(); // cause an exception if there is one 
-       runEvt('common', 'holdUpdated');
-}
-
-/* verify that the thaw date is valid and after today */
-function holdsVerifyThawDate(dateString, isGreater) {
-    thawDate = dojo.date.stamp.fromISOString(dateString);
-    if(thawDate) {
-        if(isGreater) {
-            if(dojo.date.compare(thawDate) > 0) {
-                return dojo.date.stamp.toISOString(thawDate);
-            }
-        } else {
-            return dojo.date.stamp.toISOString(thawDate);
-        }
-    }
-    return null;
-}
-
-function holdsVerifyThawDateUI(element) {
-    value = dojo.date.stamp.toISOString(dijit.byId(element).getValue());
-
-    if(!value) {
-        removeCSSClass($(element), 'invalid_field');
-        return;
-    }
-
-    if(!holdsVerifyThawDate(value, true)) {
-        addCSSClass($(element), 'invalid_field');
-    } else {
-        removeCSSClass($(element), 'invalid_field');
-    }
-}
-
diff --git a/web/opac/skin/uwin/js/mresult.js b/web/opac/skin/uwin/js/mresult.js
deleted file mode 100644 (file)
index 5185052..0000000
+++ /dev/null
@@ -1,121 +0,0 @@
-//var records = {};
-var records = [];
-var ranks = [];
-var onlyrecord = {};
-var table;
-var mresultPreCache = 200;
-var searchTimer;
-
-attachEvt("common", "unload", mresultUnload);
-attachEvt("common", "run", mresultDoSearch);
-attachEvt("result", "idsReceived", mresultSetRecords); 
-attachEvt("result", "idsReceived", mresultCollectRecords); 
-
-function mresultUnload() { removeChildren(table); table = null;}
-
-hideMe($('copyright_block')); 
-
-function mresultDoSearch() {
-
-
-       TFORM = null; /* clear the rresult tform var so it's not propogated */
-
-       swapCanvas($('loading_alt'));
-       table = G.ui.result.main_table;
-
-       while( table.parentNode.rows.length <= (getDisplayCount() + 1) )  
-               table.appendChild(G.ui.result.row_template.cloneNode(true));
-
-       if( (getSearches() || getAdvTerm()) && !getTerm() ) {
-               if(getAdvType() == ADVTYPE_MULTI ) mresultCollectAdvIds();
-
-       } else {
-               _mresultCollectIds(); 
-               ADVTERM = "";
-               ADVTYPE = "";
-       }
-}
-
-function _mresultCollectIds() { 
-       resultCollectSearchIds(true, SEARCH_MRS_QUERY, mresultHandleMRIds ); 
-}
-
-function mresultCollectAdvIds() { 
-       resultCollectSearchIds(false, SEARCH_MRS_QUERY, mresultHandleMRIds ); 
-}
-
-
-function mresultHandleMRIds(r) {
-       var res = r.getResultObject();
-    resultCompiledSearch = res.compiled_search;
-    cookieManager.write(COOKIE_SEARCH, js2JSON(res.compiled_search), -1);
-       if(res.count != null) {
-               if( getOffset() == 0 ) HITCOUNT = res.count;
-               runEvt('result', 'hitCountReceived');
-       } 
-       runEvt('result', 'idsReceived', res.ids);
-}
-
-
-
-function mresultSetRecords(idstruct) {
-       if(!idstruct) return;
-       var o = getOffset();
-       for( var x = o; x < idstruct.length + o; x++ ) {
-               if( idstruct[x-o] != null ) {
-                       var r = parseInt(idstruct[x - o][0]);
-                       var ra = parseFloat(idstruct[x - o][1]);
-                       var or = parseInt(idstruct[x - o][2]);
-                       if(!isNull(r) && !isNaN(r)) records[x] = r;
-                       if(!isNull(ra) && !isNaN(ra)) ranks[x] = ra;
-                       if(!isNull(or) && !isNaN(or)) onlyrecord[x] = or;
-               }
-       }
-
-       TOPRANK = ranks[getOffset()];
-}
-
-
-
-function mresultCollectRecords() {
-       if(getHitCount() > 0 ) runEvt("result", "preCollectRecords");
-       var i = 0;
-       for( var x = getOffset(); x!= getDisplayCount() + getOffset(); x++ ) {
-               if(isNull(records[x])) break;
-               if(isNaN(records[x])) continue;
-               var req = new Request(FETCH_MRMODS, records[x]);
-
-               req.request.userdata = i++;
-
-               /* wait at most 10 seconds for the mods rec to come back */
-               /* this needs more testing  */
-               req.request.timeout(10); 
-               req.request.abortCallback(
-                       function(){
-                               recordsHandled++;
-                               if(resultPageIsDone()) {
-                                       runEvt('result', 'allRecordsReceived', recordsCache);
-                                       unHideMe($('copyright_block'));
-                               }
-                       }
-               );
-
-               req.callback(mresultHandleMods);
-               req.send();
-       }
-}
-
-function mresultHandleMods(r) {
-       var rec = r.getResultObject();
-       var pagePosition = r.userdata;
-       runEvt('result', 'recordReceived', rec, pagePosition, true);
-       if(rec) resultCollectCopyCounts(rec, pagePosition, FETCH_MR_COPY_COUNTS);
-       if(resultPageIsDone()) {
-               runEvt('result', 'allRecordsReceived', recordsCache);
-               unHideMe($('copyright_block')); /* *** */
-       }
-}
-
-
-
-
diff --git a/web/opac/skin/uwin/js/myopac.js b/web/opac/skin/uwin/js/myopac.js
deleted file mode 100644 (file)
index cd1cdae..0000000
+++ /dev/null
@@ -1,1715 +0,0 @@
-\r
-attachEvt("common", "run", myOPACInit );\r
-//attachEvt("common", "loggedIn", myOPACInit );\r
-attachEvt('common','locationUpdated', myopacReload );\r
-\r
-var fleshedUser = null;\r
-var fleshedContainers = {};\r
-var holdCache = {};\r
-var holdStatusCache = {};\r
-var allowPendingAddr = false;\r
-\r
-function clearNodes( node, keepArray ) {\r
-       if(!node) return;\r
-       for( var n in keepArray ) node.removeChild(keepArray[n]);\r
-       removeChildren(node);\r
-       for( var n in keepArray ) node.appendChild(keepArray[n]);\r
-}\r
-\r
-function myOPACInit() {\r
-\r
-       if(!(G.user && G.user.session)) {\r
-        initLogin();\r
-\r
-    } else {\r
-\r
-        allowPendingAddr = fetchOrgSettingDefault(G.user.home_ou(), 'opac.allow_pending_address');\r
-        if(allowPendingAddr)\r
-            unHideMe($('myopac_pending_addr_td'));\r
-           myOPACChangePage( "summary" );\r
-    }\r
-\r
-    $('myopac_holds_thaw_date_input').onkeyup = \r
-        function(){holdsVerifyThawDateUI('myopac_holds_thaw_date_input'); }\r
-    $('myopac_holds_thaw_date_input').onchange = \r
-        function(){holdsVerifyThawDateUI('myopac_holds_thaw_date_input'); }\r
-\r
-}\r
-\r
-function myopacReload() {\r
-       //swapCanvas($('myopac_reloading'));\r
-       var a = {};\r
-       a[PARAM_LOCATION] = getNewSearchLocation();\r
-       a[PARAM_DEPTH] = getNewSearchDepth();\r
-       hideMe($('canvas_main'));\r
-       goTo(buildOPACLink(a, true));\r
-}\r
-\r
-\r
-function myOPACChangePage( page ) {\r
-       showCanvas();\r
-\r
-       var s = $("myopac_summary_td");\r
-       var c = $("myopac_checked_td");\r
-       var f = $("myopac_fines_td");\r
-       var h = $("myopac_holds_td");\r
-       var p = $("myopac_prefs_td");\r
-       var b = $('myopac_bookbag_td');\r
-\r
-       var ss = $("myopac_summary_div");\r
-       var cc = $("myopac_checked_div");\r
-       var ff = $("myopac_fines_div");\r
-       var hh = $("myopac_holds_div");\r
-       var pp = $("myopac_prefs_div");\r
-       var bb = $('myopac_bookbag_div');\r
-\r
-       var cls = "myopac_link";\r
-       var acls = "myopac_link_active";\r
-\r
-       hideMe(ss);\r
-       hideMe(cc); hideMe(ff);\r
-       hideMe(hh); hideMe(pp);\r
-       hideMe(bb);\r
-\r
-       removeCSSClass(s, acls );\r
-       removeCSSClass(c, acls );\r
-       removeCSSClass(f, acls );\r
-       removeCSSClass(h, acls );\r
-       removeCSSClass(p, acls );\r
-       removeCSSClass(b, acls );\r
-\r
-       switch( page ) {\r
-\r
-               case "summary": \r
-                       unHideMe(ss);\r
-                       addCSSClass(s, acls );\r
-                       myOPACShowSummary();\r
-                       break;\r
-\r
-               case "checked": \r
-                       unHideMe(cc);\r
-                       addCSSClass(c, acls );\r
-                       myOPACShowChecked();\r
-                       break;\r
-\r
-               case "holds": \r
-                       unHideMe(hh);\r
-                       addCSSClass(h, acls );\r
-                       myOPACShowHolds();\r
-                       break;\r
-\r
-               case "fines": \r
-                       unHideMe(ff);\r
-                       addCSSClass(f, acls );\r
-                       myOPACShowFines();\r
-                       break;\r
-\r
-               case "prefs": \r
-                       unHideMe(pp);\r
-                       addCSSClass(p, acls );\r
-                       myOPACShowPrefs();\r
-                       break;\r
-\r
-               case 'bookbag':\r
-                       unHideMe(bb);\r
-                       addCSSClass(b, acls);\r
-                       myOPACShowBookbags();\r
-                       break;\r
-       }\r
-}\r
-\r
-function myOPACShowChecked() {\r
-       if(checkedDrawn) return;\r
-       var req = new Request(FETCH_CHECKED_OUT_SUM, G.user.session, G.user.id());      \r
-       req.callback(myOPACDrawCheckedOutSlim);\r
-       req.send();\r
-\r
-       var nreq = new Request(FETCH_NON_CAT_CIRCS, G.user.session);\r
-       nreq.callback(myOPACDrawNonCatCircs);\r
-       nreq.send();\r
-}\r
-\r
-\r
-var checkedRowTemplate;\r
-var circsCache = new Array();\r
-var checkedDrawn = false;\r
-\r
-function moClearCheckedTable() {\r
-       var tbody                       = $("myopac_checked_tbody");\r
-       var loading                     = $("myopac_checked_loading");\r
-       var none                                = $("myopac_checked_none");\r
-       clearNodes( tbody, [ loading, none ] );\r
-}\r
-\r
-var __can_renew_one = false;\r
-\r
-function myOPACDrawCheckedOutSlim(r) {\r
-\r
-       var checked                     = r.getResultObject();\r
-       var tbody                       = $("myopac_checked_tbody");\r
-       var loading                     = $("myopac_checked_loading");\r
-       var none                                = $("myopac_checked_none");\r
-\r
-   __can_renew_one = false;\r
-\r
-       if(checkedDrawn) return;\r
-       checkedDrawn = true;\r
-       if(!checkedRowTemplate) \r
-               checkedRowTemplate = tbody.removeChild($("myopac_checked_row"));\r
-\r
-   moClearCheckedTable();\r
-\r
-       hideMe(loading); /* remove all children and start over */\r
-       if(!(checked && (checked.out || checked.overdue))) {\r
-               unHideMe(none);\r
-               return;\r
-       }\r
-\r
-       for( var i = 0; i < checked.overdue.length; i++ ) {\r
-               var req = new Request(FETCH_CIRC_BY_ID, G.user.session, checked.overdue[i]);\r
-               req.request.tbody = tbody;\r
-               req.request.od = true;\r
-               req.callback(myOPACDrawCheckedItem);\r
-               req.send();\r
-       }\r
-\r
-\r
-       for( var i = 0; i < checked.out.length; i++ ) {\r
-               var req = new Request(FETCH_CIRC_BY_ID, G.user.session, checked.out[i]);\r
-               req.request.tbody = tbody;\r
-               req.callback(myOPACDrawCheckedItem);\r
-               req.send();\r
-       }\r
-\r
-   appendClear($('mo_items_out_count'), \r
-      text(new String( parseInt(checked.overdue.length) + parseInt(checked.out.length) )) );\r
-\r
-   if( checked.overdue.length > 0 ) {\r
-      addCSSClass($('mo_items_overdue_count'), 'overdue');\r
-      appendClear($('mo_items_overdue_count'),\r
-         text(new String( parseInt(checked.overdue.length) )) );\r
-   }\r
-\r
-}\r
-\r
-\r
-function myOPACDrawCheckedItem(r) {\r
-\r
-       var circ = r.getResultObject();\r
-       var tbody = r.tbody;\r
-       var row = checkedRowTemplate.cloneNode(true);\r
-       row.id = 'myopac_checked_row_ ' + circ.id();\r
-   row.setAttribute('circid', circ.id());\r
-\r
-       var due = _trimTime(circ.due_date());\r
-\r
-       var dlink = $n( row, "myopac_checked_due" );\r
-       var rlink = $n( row, "myopac_checked_renewals" );\r
-       //var rnlink = $n( row, "myopac_checked_renew_link" );\r
-\r
-       //if( r.od ) due = elem('b', {style:'color:red;font-size:110%'},due);\r
-       if( r.od ) {\r
-      due = elem('b', null, due);\r
-      addCSSClass(due, 'overdue');\r
-   } else {\r
-      due = text(due);\r
-   }\r
-\r
-       dlink.appendChild(due);\r
-       rlink.appendChild(text(circ.renewal_remaining()));\r
-       unHideMe(row);\r
-       //rnlink.setAttribute('href', 'javascript:myOPACRenewCirc("'+circ.id()+'");');\r
-       circsCache.push(circ);\r
-\r
-       if( circ.renewal_remaining() < 1 ) {\r
-      $n(row, 'selectme').disabled = true;\r
-      if(!__can_renew_one)\r
-         $('mo_renew_button').disabled = true;\r
-   } else {\r
-      __can_renew_one = true;\r
-      $('mo_renew_button').disabled = false;\r
-      $n(row, 'selectme').disabled = false;\r
-   }\r
-\r
-       tbody.appendChild(row);\r
-\r
-       var req = new Request(FETCH_MODS_FROM_COPY, circ.target_copy() );\r
-       req.request.alertEvent = false;\r
-       req.request.circ = circ.id();\r
-       req.request.copy = circ.target_copy();\r
-       req.callback(myOPACDrawCheckedTitle);\r
-       req.send();\r
-}\r
-\r
-var __circ_titles = {};\r
-\r
-function myOPACDrawCheckedTitle(r) {\r
-       var record = r.getResultObject();\r
-       var circid = r.circ;\r
-\r
-       if(!record || checkILSEvent(record)) {\r
-               var req = new Request( FETCH_COPY, r.copy );\r
-               req.request.circ = circid\r
-               req.callback(myOPACDrawNonCatalogedItem);\r
-               req.send();\r
-               return;\r
-       }\r
-\r
-       var row = $('myopac_checked_row_ ' + circid);\r
-       var tlink = $n( row, "myopac_checked_title_link" );\r
-       var alink = $n( row, "myopac_checked_author_link" );\r
-       buildTitleDetailLink(record, tlink);\r
-       buildSearchLink(STYPE_AUTHOR, record.author(), alink);\r
-   __circ_titles[circid] = record.title();\r
-}\r
-\r
-function myOPACDrawNonCatalogedItem(r) {\r
-       var copy = r.getResultObject();\r
-       var circid = r.circ;\r
-\r
-       var row = $('myopac_checked_row_ ' + circid);\r
-       var tlink = $n( row, "myopac_checked_title_link" );\r
-       var alink = $n( row, "myopac_checked_author_link" );\r
-\r
-       tlink.parentNode.appendChild(text(copy.dummy_title()));\r
-       alink.parentNode.appendChild(text(copy.dummy_author()));\r
-   __circ_titles[circid] = copy.dummy_title();\r
-}\r
-\r
-\r
-/*\r
-function myOPACRenewCirc(circid) {\r
-\r
-       var circ;\r
-       for( var i = 0; i != circsCache.length; i++ ) \r
-               if(circsCache[i].id() == circid)\r
-                       circ = circsCache[i];\r
-\r
-       if(!confirm($('myopac_renew_confirm').innerHTML)) return;\r
-\r
-       var req = new Request(RENEW_CIRC, G.user.session, \r
-               { patron : G.user.id(), copyid : circ.target_copy(), opac_renewal : 1 } );\r
-       req.request.alertEvent = false;\r
-       req.send(true);\r
-       var res = req.result();\r
-\r
-       if(checkILSEvent(res) || checkILSEvent(res[0])) {\r
-               alertId('myopac_renew_fail');\r
-               return;\r
-       }\r
-\r
-       alert($('myopac_renew_success').innerHTML);     \r
-       checkedDrawn = false;\r
-       myOPACShowChecked();\r
-}\r
-*/\r
-\r
-\r
-\r
-function myOPACShowHolds() {\r
-       var req = new Request(FETCH_HOLDS, G.user.session, G.user.id());        \r
-       req.callback(myOPACDrawHolds);\r
-       req.send();\r
-    $('myopac_holds_actions_none').selected = true;\r
-}\r
-\r
-var holdsTemplateRowOrig;\r
-var holdsTemplateRow;\r
-var myopacForceHoldsRedraw = false;\r
-function myOPACDrawHolds(r) {\r
-\r
-       var tbody = $("myopac_holds_tbody");\r
-       if(holdsTemplateRow && !myopacForceHoldsRedraw) return;\r
-    myopacForceHoldsRedraw = false;\r
-\r
-       if(holdsTemplateRowOrig) {\r
-               holdsTemplateRow = holdsTemplateRowOrig;\r
-               removeChildren(tbody);\r
-       } else {\r
-               holdsTemplateRow = tbody.removeChild($("myopac_holds_row"));\r
-               holdsTemplateRowOrig = holdsTemplateRow;\r
-       }\r
-\r
-       hideMe($('myopac_holds_loading'));\r
-\r
-       var holds = r.getResultObject();\r
-\r
-       if(!holds || holds.length < 1) unHideMe($('myopac_holds_none'));\r
-       for( var i = 0; i != holds.length; i++ ) {\r
-\r
-               var h = holds[i];\r
-               holdCache[h.id()] = h;\r
-\r
-               var row = holdsTemplateRow.cloneNode(true);\r
-               row.id = "myopac_holds_row_" + h.id();\r
-\r
-               var form = $n(row, "myopac_holds_formats");\r
-               form.id = "myopac_holds_form_" + h.id();\r
-\r
-               var orglink = $n(row, "myopac_holds_location");\r
-               orglink.appendChild(text(findOrgUnit(h.pickup_lib()).name()));\r
-\r
-               tbody.appendChild(row);\r
-\r
-               $n(row,'myopac_holds_edit_link').setAttribute(\r
-                       'href','javascript:myOPACEditHold("'+ h.id()+'");'); \r
-\r
-        if(isTrue(h.frozen())) {\r
-            hideMe($n(row, 'myopac_hold_unfrozen_true'))\r
-            unHideMe($n(row, 'myopac_hold_unfrozen_false'))\r
-            if(h.thaw_date()) {\r
-                var d = dojo.date.stamp.fromISOString(h.thaw_date());\r
-                $n(row, 'myopac_holds_frozen_until').appendChild(text(dojo.date.locale.format(d, {selector: 'date', fullYear: true})));\r
-            }\r
-        } else {\r
-            unHideMe($n(row, 'myopac_hold_unfrozen_true'))\r
-            hideMe($n(row, 'myopac_hold_unfrozen_false'))\r
-        }\r
-\r
-        $n(row, 'myopac_holds_selected_chkbx').checked = false;\r
-\r
-        var exp_date;\r
-        if(h.expire_time()) {\r
-            exp_date = dojo.date.stamp.fromISOString(h.expire_time());\r
-            $n(row, 'myopac_hold_expire_time').appendChild(\r
-                text(dojo.date.locale.format(exp_date, {selector:'date'})));\r
-        }\r
-\r
-               unHideMe(row);\r
-\r
-        var interval = fetchOrgSettingDefault(G.user.home_ou(), 'circ.hold_expire_alert_interval');\r
-        if(interval && exp_date) {\r
-            secs = interval_to_seconds(interval) * 1000;\r
-            var diff = exp_date.getTime() - new Date().getTime();\r
-            if(diff < secs)\r
-                addCSSClass($n(row, 'myopac_hold_expire_time'), 'hold_expire_warning');\r
-        }\r
-\r
-        myOPACDrawHoldTitle(h);\r
-        myOPACDrawHoldStatus(h);\r
-    }\r
-}\r
-\r
-function myOPACEditHold(holdid) {\r
-       var hold = holdCache[holdid];\r
-\r
-       holdsDrawEditor( \r
-               { \r
-                       editHold : hold,\r
-                       onComplete : function(){ \r
-                               holdsTemplateRow = null;\r
-                               myOPACShowHolds(); \r
-                       }\r
-               }\r
-       );\r
-}\r
-\r
-\r
-function myOPACDrawHoldStatus(hold) {\r
-       var req = new Request(FETCH_HOLD_STATUS, G.user.session, hold.id() );\r
-       req.callback(myOShowHoldStatus);\r
-       req.request.hold = hold;\r
-       req.send();\r
-}\r
-\r
-var myopacShowHoldEstimate = false;\r
-function myOShowHoldStatus(r) {\r
-\r
-       var hold = r.hold;\r
-       var qstats = r.getResultObject();\r
-    holdStatusCache[hold.id()] = qstats;\r
-\r
-       var row = $("myopac_holds_row_" + r.hold.id());\r
-\r
-    if(qstats.estimated_wait || myopacShowHoldEstimate) {\r
-        myopacShowHoldEstimate = true;\r
-        if(qstats.estimated_wait)\r
-            $n(row, 'myopac_holds_estimated_wait').appendChild(text(qstats.estimated_wait));\r
-        unHideMe($('myopac_holds_estimated_wait_column'));\r
-        unHideMe($n(row, 'myopac_holds_estimated_wait'));\r
-    } \r
-\r
-       if( qstats.status == 4 ) {\r
-               unHideMe($n(row, 'hold_status_available'));\r
-               hideMe($n(row, 'myopac_holds_cancel_link'));\r
-       }\r
-\r
-    if(false) {\r
-        var node = $n(row, 'hold_qstats');\r
-        // XXX best way to display this info + dojo i18n\r
-        node.appendChild(text('hold #' + qstats.queue_position+' of '+qstats.queue_position+' and '+qstats.potential_copies+' item(s)'));\r
-        unHideMe(node);\r
-\r
-    } else {\r
-           if( qstats.status < 3 )\r
-                   unHideMe($n(row, 'hold_status_waiting'));\r
-    \r
-           if( qstats.status == 3 )\r
-                   unHideMe($n(row, 'hold_status_transit'));\r
-    }\r
-}\r
-\r
-\r
-function myOPACDrawHoldTitle(hold) {\r
-       var method;\r
-\r
-       if( hold.hold_type() == 'T' || hold.hold_type() == 'M' ) {\r
-               if(hold.hold_type() == "M") method = FETCH_MRMODS;\r
-               if(hold.hold_type() == "T") method = FETCH_RMODS;\r
-               var req = new Request(method, hold.target());\r
-               req.callback(myOPACFleshHoldTitle);\r
-               req.request.hold = hold;\r
-               req.request.alertEvent = false;\r
-               req.send();\r
-\r
-       } else {\r
-               holdFetchObjects(hold, \r
-                       function(a) { _myOPACFleshHoldTitle(hold, a);});\r
-       }\r
-}\r
-\r
-function myOPACFleshHoldTitle(r) {\r
-       var rec = r.getResultObject();\r
-       _myOPACFleshHoldTitle(r.hold, {recordObject: rec});\r
-}\r
-\r
-function _myOPACFleshHoldTitle(hold, holdObjects) {\r
-\r
-       var record = holdObjects.recordObject;\r
-       var volume      = holdObjects.volumeObject;\r
-       var copy        = holdObjects.copyObject;\r
-\r
-       var row = $("myopac_holds_row_" + hold.id());\r
-       var title_link = $n(row, "myopac_holds_title_link");\r
-       var author_link = $n(row, "myopac_holds_author_link");\r
-\r
-       if(!record || checkILSEvent(record) ) {\r
-               addCSSClass(row, 'invalid_hold');\r
-               $n(row, 'myopac_holds_edit_link').setAttribute('href', 'javascript:void(0);');\r
-               $n(row, 'myopac_holds_edit_link').onclick = function(){alertId('invalid_hold');};\r
-               return;\r
-       }\r
-\r
-       buildTitleDetailLink(record, title_link);\r
-       buildSearchLink(STYPE_AUTHOR, record.author(), author_link);\r
-\r
-       if( volume ) {\r
-               $n(row, 'volume').appendChild(text(volume.label()));\r
-               unHideMe($n(row, 'vol_copy'));\r
-               if(copy) $n(row, 'copy').appendChild(text(copy.barcode()));\r
-       }\r
-\r
-       var form = $("myopac_holds_form_" + hold.id());\r
-\r
-       if(form) {\r
-               var mods_formats = record.types_of_resource();\r
-\r
-               if( hold.hold_type() == 'M' ) {\r
-                       var data = holdsParseMRFormats(hold.holdable_formats());\r
-                       mods_formats = data.mods_formats;\r
-               }\r
-\r
-               for( var i = 0; i < mods_formats.length; i++ ) {\r
-                       var img = elem("img");\r
-                       setResourcePic(img, mods_formats[i]);\r
-                       form.appendChild(img);\r
-               }\r
-       }\r
-}\r
-\r
-var finesShown = false;\r
-function myOPACShowFines() {\r
-       if(finesShown) return; finesShown = true;\r
-       var req = new Request(FETCH_FINES_SUMMARY, G.user.session, G.user.id() );\r
-       req.callback(_myOPACShowFines);\r
-       req.send();\r
-}\r
-\r
-function _myOPACShowFines(r) {\r
-       hideMe($('myopac_fines_summary_loading'));\r
-       unHideMe($('myopac_fines_summary_row'));\r
-\r
-       var summary = r.getResultObject();\r
-       var total       = "0.00"; /* localization? */\r
-       var paid                = "0.00";\r
-       var balance = "0.00";\r
-       if( instanceOf(summary,mous) ) {\r
-\r
-               total           = _finesFormatNumber(summary.total_owed());\r
-               paid            = _finesFormatNumber(summary.total_paid());\r
-               balance = _finesFormatNumber(summary.balance_owed());\r
-\r
-               var req = new Request(FETCH_TRANSACTIONS, G.user.session, G.user.id() );\r
-               req.callback(myOPACShowTransactions);\r
-               req.send();\r
-       }\r
-\r
-       $('myopac_fines_summary_total').appendChild(text(total));\r
-       $('myopac_fines_summary_paid').appendChild(text(paid));\r
-       $('myopac_fines_summary_balance').appendChild(text(balance));\r
-}\r
-\r
-function _finesFormatNumber(num) {\r
-       if(isNull(num)) num = 0;\r
-       num = num + "";\r
-       if(num.length < 2 || !num.match(/\./)) num += ".00";\r
-       if(num.match(/\./) && num.charAt(num.length-2) == '.') num += "0";\r
-       return num;\r
-}          \r
-\r
-//function _trimTime(time) { if(!time) return ""; return time.replace(/\ .*/,""); }\r
-function _trimTime(time) { \r
-       if(!time) return ""; \r
-    var d = dojo.date.stamp.fromISOString(time);\r
-    if(!d) return ""; /* date parse failed */\r
-    return d.iso8601Format('YMD');\r
-}\r
-\r
-function _trimSeconds(time) { \r
-    if(!time) return ""; \r
-    var d = dojo.date.stamp.fromISOString(time);\r
-    if(!d) return ""; /* date parse failed */\r
-    return d.iso8601Format('YMDHM',null,true,true);\r
-}\r
-\r
-function myOPACShowTransactions(r) {\r
-\r
-       if(myopacGenericTransTemplate || myopacCircTransTemplate) return;\r
-\r
-       var transactions = r.getResultObject();\r
-\r
-       for( var idx in transactions ) {\r
-\r
-               var trans       = transactions[idx].transaction;\r
-               var record      = transactions[idx].record;\r
-               var circ                = transactions[idx].circ;\r
-\r
-               if(trans.xact_type() == 'circulation') \r
-                       myOPACShowCircTransaction(trans, record, circ);\r
-\r
-               else if(trans.xact_type() == 'grocery' ) \r
-                       myopacShowGenericTransaction( trans );\r
-       }\r
-}\r
-\r
-var myopacGenericTransTemplate;\r
-function myopacShowGenericTransaction( trans ) {\r
-       var tbody = $('myopac_trans_tbody');\r
-\r
-       if(!myopacGenericTransTemplate) {\r
-               myopacGenericTransTemplate = \r
-                       tbody.removeChild($('myopac_trans_row'));\r
-               removeChildren(tbody);\r
-       }\r
-\r
-       var row = myopacGenericTransTemplate.cloneNode(true);\r
-\r
-       $n(row,'myopac_trans_start').appendChild(\r
-                       text(_trimSeconds(trans.xact_start())));\r
-\r
-       $n(row,'myopac_trans_last_payment').appendChild(\r
-                       text(_trimSeconds(trans.last_payment_ts())));\r
-\r
-       $n(row,'myopac_trans_init_amount').appendChild(\r
-                       text(_finesFormatNumber(trans.total_owed())));\r
-\r
-       $n(row,'myopac_trans_total_paid').appendChild(\r
-                       text(_finesFormatNumber(trans.total_paid())));\r
-\r
-       $n(row,'myopac_trans_balance').appendChild(\r
-                       text(_finesFormatNumber(trans.balance_owed())));\r
-\r
-       var req = new Request(FETCH_MONEY_BILLING, G.user.session, trans.id());\r
-       req.send(true);\r
-       var bills = req.result();\r
-       if(bills && bills[0])\r
-               $n(row,'myopac_trans_bill_type').appendChild(\r
-                               text(bills[0].billing_type()));\r
-\r
-       tbody.appendChild(row);\r
-       unHideMe($('myopac_trans_div'));\r
-}\r
-\r
-\r
-\r
-/* draws a circulation transaction summary */\r
-var myopacCircTransTemplate;\r
-function myOPACShowCircTransaction(trans, record, circ) {\r
-       var tbody = $('myopac_circ_trans_tbody');\r
-\r
-       if(!myopacCircTransTemplate) {\r
-               myopacCircTransTemplate = tbody.removeChild($('myopac_circ_trans_row'));\r
-               removeChildren(tbody);\r
-       }\r
-\r
-       var row = myopacCircTransTemplate.cloneNode(true);\r
-\r
-       if(record) {\r
-               buildTitleDetailLink(record, $n(row,'myopac_circ_trans_title'));\r
-\r
-               $n(row,'myopac_circ_trans_author').appendChild(text(\r
-                       normalize(truncate(record.author(), 65))));\r
-\r
-       } else {\r
-\r
-               var req = new Request( FETCH_COPY, circ.target_copy() );\r
-               req.alertEvents = false;\r
-               req.send(true);\r
-               var copy = req.result();\r
-               if( copy ) {\r
-                       $n(row,'myopac_circ_trans_title').appendChild(text(copy.dummy_title()));\r
-                       $n(row,'myopac_circ_trans_author').appendChild(text(copy.dummy_author()));\r
-               }\r
-       }\r
-\r
-\r
-       $n(row,'myopac_circ_trans_start').\r
-               appendChild(text(_trimTime(trans.xact_start())));\r
-\r
-   var due = _trimTime(circ.due_date());\r
-       var checkin = _trimTime(circ.stop_fines_time());\r
-\r
-       $n(row,'myopac_circ_trans_due').appendChild(text(due))\r
-       if(checkin)\r
-               appendClear($n(row,'myopac_circ_trans_finished'), text(checkin));\r
-       if(circ.stop_fines() == 'LOST')\r
-               appendClear($n(row,'myopac_circ_trans_finished'), text(circ.stop_fines()));\r
-       if(circ.stop_fines() == 'CLAIMSRETURNED')\r
-               appendClear($n(row,'myopac_circ_trans_finished'), text(""));\r
-\r
-\r
-       $n(row,'myopac_circ_trans_balance').\r
-               appendChild(text(_finesFormatNumber(trans.balance_owed())));\r
-\r
-       tbody.appendChild(row);\r
-       unHideMe($('myopac_circ_trans_div'));\r
-}\r
-\r
-\r
-function myOPACSavePrefs() {\r
-       G.user.prefs[PREF_HITS_PER] = getSelectorVal($('prefs_hits_per'));\r
-       G.user.prefs[PREF_DEF_FONT] = getSelectorVal($('prefs_def_font'));\r
-       G.user.prefs[PREF_HOLD_NOTIFY] = getSelectorVal($('prefs_hold_notify'));\r
-       G.user.prefs[PREF_DEF_DEPTH] = getSelectorVal($('prefs_def_range'));\r
-\r
-       if( $('myopac_pref_home_lib').checked == true )\r
-               G.user.prefs[PREF_DEF_LOCATION] = null;\r
-       else\r
-               G.user.prefs[PREF_DEF_LOCATION] = getSelectorVal($('prefs_def_location'));\r
-\r
-       if(commitUserPrefs())\r
-               alert($('prefs_update_success').innerHTML);\r
-       else alert($('prefs_update_failure').innerHTML);\r
-}\r
-\r
-\r
-function myOPACShowDefFont() {\r
-       var font;\r
-       if(G.user.prefs[PREF_DEF_FONT])\r
-               font = G.user.prefs[PREF_DEF_FONT];\r
-       else font = "regular";\r
-       setSelector($('prefs_def_font'), font);\r
-}\r
-\r
-function myOPACShowHoldNotify() {\r
-       var pref = G.user.prefs[PREF_HOLD_NOTIFY];\r
-\r
-       if(pref) {\r
-               if(pref.match(/email/i) && pref.match(/phone/i)) {\r
-                       setSelector($('prefs_hold_notify'), 'phone:email');\r
-               } else if( pref.match(/email/i) ) {\r
-                       setSelector($('prefs_hold_notify'), 'email');\r
-               } else if( pref.match(/phone/i) ) {\r
-                       setSelector($('prefs_hold_notify'), 'phone');\r
-               }\r
-\r
-       } else {\r
-               setSelector($('prefs_hold_notify'), 'phone:email');\r
-       }\r
-}\r
-\r
-function myOPACShowPrefs() {\r
-       grabUserPrefs();\r
-       myOPACShowHitsPer();\r
-       myOPACShowDefFont();\r
-       myOPACShowHoldNotify();\r
-       myOPACShowDefLocation();\r
-       hideMe($('myopac_prefs_loading'));\r
-}\r
-\r
-var defSearchLocationDrawn = false;\r
-var defDepthIndex = 0;\r
-function myOPACShowDefLocation() {\r
-\r
-       var selector = $('prefs_def_location');\r
-       var rsel = $('prefs_def_range');\r
-\r
-       if(!defSearchLocationDrawn) {\r
-\r
-               defSearchLocationDrawn = true;\r
-\r
-               var org = G.user.prefs[PREF_DEF_LOCATION];\r
-\r
-               if(!org) {\r
-                       $('myopac_pref_home_lib').checked = true;\r
-                       $('prefs_def_location').disabled = true;\r
-                       org = G.user.home_ou();\r
-               }\r
-\r
-               buildOrgSel(selector, globalOrgTree, 0);\r
-\r
-               globalOrgTypes = globalOrgTypes.sort(\r
-                       function(a, b) {\r
-                               if( a.depth() < b.depth() ) return -1;\r
-                               return 1;\r
-                       }\r
-               );\r
-\r
-               iterate(globalOrgTypes,\r
-                       function(t) {\r
-                               if( t.depth() <= findOrgDepth(org) ) {\r
-                                       setSelectorVal(rsel, defDepthIndex++, t.opac_label(), t.depth());\r
-                                       if( t.depth() == findOrgDepth(org) ) \r
-                                               setSelector(rsel, t.depth());\r
-                               }\r
-                       }\r
-               );\r
-       }\r
-\r
-       setSelector(selector, org);\r
-}\r
-\r
-function myOPACShowHitsPer() {\r
-       var hits = 10;\r
-       if(G.user.prefs[PREF_HITS_PER])\r
-               hits = G.user.prefs[PREF_HITS_PER];\r
-       var hitsSel = $('prefs_hits_per');\r
-       setSelector(hitsSel, hits);\r
-}\r
-\r
-var userShown = false;\r
-function myOPACShowSummary() {\r
-       if(userShown) return; userShown = true;\r
-       var req = new Request(FETCH_FLESHED_USER,G.user.session, G.user.id());\r
-       req.callback(_myOPACSummaryShowUer);\r
-       req.send();\r
-}\r
-\r
-var addrRowTemplate;\r
-var notesTemplate;\r
-function _myOPACSummaryShowUer(r) {\r
-\r
-       var user = r.getResultObject();\r
-       fleshedUser = user;\r
-       if(!user) return;\r
-\r
-    var expireDate = dojo.date.stamp.fromISOString(user.expire_date());\r
-    if( expireDate < new Date() ) {\r
-        appendClear($('myopac.expired.date'), expireDate.iso8601Format('YMD'));\r
-        unHideMe($('myopac.expired.alert'));\r
-    }\r
-\r
-       var iv1 = user.ident_value()+'';\r
-    if (iv1.length > 4 && iv1.match(/\d{4}/)) iv1 = iv1.substring(0,4) + '***********';\r
-\r
-\r
-       appendClear($('myopac_summary_prefix'),text(user.prefix()));\r
-       appendClear($('myopac_summary_first'),text(user.first_given_name()));\r
-       appendClear($('myopac_summary_middle'),text(user.second_given_name()));\r
-       appendClear($('myopac_summary_dayphone'),text(user.day_phone()));\r
-       appendClear($('myopac_summary_eveningphone'),text(user.evening_phone()));\r
-       appendClear($('myopac_summary_otherphone'),text(user.other_phone()));\r
-       appendClear($('myopac_summary_last'),text(user.family_name()));\r
-       appendClear($('myopac_summary_suffix'),text(user.suffix()));\r
-       appendClear($('myopac_summary_username'),text(user.usrname()));\r
-       appendClear($('myopac_summary_email'),text(user.email()));\r
-       appendClear($('myopac_summary_barcode'),text(user.card().barcode()));\r
-       appendClear($('myopac_summary_ident1'),text(iv1));\r
-       appendClear($('myopac_summary_homelib'),text(findOrgUnit(user.home_ou()).name()));\r
-       appendClear($('myopac_summary_create_date'),text(_trimTime(user.create_date())));\r
-\r
-       var req = new Request( \r
-               FETCH_USER_NOTES, G.user.session, {pub:1, patronid:G.user.id()});\r
-       req.callback(myopacDrawNotes);\r
-       req.send();\r
-\r
-\r
-       var tbody = $('myopac_addr_tbody');\r
-       var template;\r
-\r
-       if(addrRowTemplate) { \r
-               template = addrRowTemplate;\r
-       } else {\r
-               template = tbody.removeChild($('myopac_addr_row'));\r
-               addrRowTemplate = template;\r
-       }\r
-       removeChildren(tbody);\r
-\r
-    var addrs = user.addresses();\r
-       for( var a in addrs ) {\r
-        var addr = addrs[a];\r
-        if(!allowPendingAddr && isTrue(addr.pending()))\r
-            continue;\r
-        if(addr.replaces() != null) continue;\r
-               var row = template.cloneNode(true);\r
-               myOPACDrawAddr(row, addr, addrs);\r
-               tbody.appendChild(row);\r
-       }\r
-}\r
-\r
-\r
-function myopacDrawNotes(r) {\r
-       var notes = r.getResultObject();\r
-       var tbody = $('myopac.notes.tbody');\r
-       if(!notesTemplate)\r
-               notesTemplate = tbody.removeChild($('myopac.notes.tr'));\r
-       removeChildren(tbody);\r
-\r
-       iterate(notes, \r
-               function(note) {\r
-                       unHideMe($('myopac.notes.div'));\r
-                       var row = notesTemplate.cloneNode(true);\r
-                       $n(row, 'title').appendChild(text(note.title()));\r
-                       $n(row, 'value').appendChild(text(note.value()));\r
-                       tbody.appendChild(row);\r
-               }\r
-       );\r
-}\r
-\r
-\r
-\r
-function myOPACDrawAddr(row, addr, addrs) {\r
-    appendClear($n(row, 'myopac_addr_type'),text(addr.address_type()));\r
-    appendClear($n(row, 'myopac_addr_street'),text(addr.street1()));\r
-    appendClear($n(row, 'myopac_addr_street2'),text(addr.street2()));\r
-    appendClear($n(row, 'myopac_addr_city'),text(addr.city()));\r
-    appendClear($n(row, 'myopac_addr_county'),text(addr.county()));\r
-    appendClear($n(row, 'myopac_addr_state'),text(addr.state()));\r
-    appendClear($n(row, 'myopac_addr_country'),text(addr.country()));\r
-    appendClear($n(row, 'myopac_addr_zip'),text(addr.post_code()));\r
-\r
-    if(!allowPendingAddr) return;\r
-\r
-    $n(row, 'myopac_addr_edit_link').onclick = function(){myopacEditAddress(addr)};\r
-    unHideMe($n(row, 'myopac_addr_edit_td'));\r
-\r
-    /* if we have a replacement address, plop it into the table next to this addr */\r
-    var repl = grep(addrs,\r
-        function(a) { \r
-            return a.replaces() == addr.id(); \r
-        } \r
-    );\r
-\r
-    $n(row, 'myopac_pending_addr_td').id = 'myopac_pending_addr_td_' + addr.id();\r
-\r
-    if(repl) {\r
-        hideMe($n(row, 'myopac_addr_edit_td')); // hide the edit link\r
-        repl = repl[0];\r
-        myopacSetAddrInputs(row, repl);\r
-    }\r
-}\r
-\r
-function myopacEditAddress(addr) {\r
-    var td = $('myopac_pending_addr_td_' + addr.id());\r
-    var row = td.parentNode;\r
-    myopacSetAddrInputs(row, addr);\r
-}\r
-\r
-function myopacSetAddrInputs(row, addr, prefix) {\r
-    unHideMe($n(row, 'myopac_pending_addr_td'));\r
-    $n(row, 'myopac_pending_addr_type').value = addr.address_type();\r
-    $n(row, 'myopac_pending_addr_street').value = addr.street1();\r
-    $n(row, 'myopac_pending_addr_street2').value = addr.street2();\r
-    $n(row, 'myopac_pending_addr_city').value = addr.city();\r
-    $n(row, 'myopac_pending_addr_county').value = addr.county();\r
-    $n(row, 'myopac_pending_addr_state').value = addr.state();\r
-    $n(row, 'myopac_pending_addr_country').value = addr.country();\r
-    $n(row, 'myopac_pending_addr_zip').value = addr.post_code();\r
-    $n(row, 'myopac_pending_addr_edit_link').onclick = function(){myopacSaveAddress(row, addr)};\r
-    $n(row, 'myopac_pending_addr_del_link').onclick = function(){myopacSaveAddress(row, addr, true)};\r
-}\r
-\r
-// if no pending addr exists, this is called with the original address\r
-function myopacSaveAddress(row, addr, deleteMe) {\r
-\r
-    if(addr.replaces() == null) {\r
-        // we are editing a non-pending address.  create a pending address to manage that\r
-        var repl = new aua();\r
-        repl.usr(addr.usr());\r
-        repl.address_type(addr.address_type());\r
-        repl.within_city_limits(addr.within_city_limits());\r
-        repl.replaces(addr.id());\r
-        repl.pending('t');\r
-        repl.isnew(true);\r
-        repl.id(null);\r
-        addr = repl;\r
-    }\r
-\r
-    if(deleteMe) {\r
-        if(addr.id() == null) {\r
-            hideMe($n(row, 'myopac_pending_addr_td'));\r
-            return;\r
-        }\r
-        addr.isdeleted(true);\r
-    } else {\r
-        addr.address_type($n(row, 'myopac_pending_addr_type').value);\r
-        addr.street1($n(row, 'myopac_pending_addr_street').value);\r
-        addr.street2($n(row, 'myopac_pending_addr_street2').value);\r
-        addr.city($n(row, 'myopac_pending_addr_city').value);\r
-        addr.county($n(row, 'myopac_pending_addr_county').value);\r
-        addr.state($n(row, 'myopac_pending_addr_state').value);\r
-        addr.country($n(row, 'myopac_pending_addr_country').value);\r
-        addr.post_code($n(row, 'myopac_pending_addr_zip').value);\r
-    }\r
-\r
-       var req = new Request(\r
-        'open-ils.actor:open-ils.actor.user.address.pending.cud', \r
-        G.user.session, addr);\r
-\r
-    req.callback(\r
-        function(r) {\r
-            var resp = r.getResultObject(); \r
-\r
-            if(addr.isnew()) {\r
-                // new, add to list of addrs\r
-                addr.id(resp);\r
-                fleshedUser.addresses().push(addr);\r
-\r
-            } else {\r
-                // deleted, remove from list of addrs\r
-                if(addr.isdeleted()) {\r
-                    hideMe($n(row, 'myopac_pending_addr_td'));\r
-                    var addrs = [];\r
-                    for(var i in fleshedUser.addresses()) {\r
-                        var a = fleshedUser.addresses()[i];\r
-                        if(a.id() != addr.id())\r
-                            addrs.push(a);\r
-                    }\r
-                    fleshedUser.addresses(addrs);\r
-                }\r
-            }\r
-           alertId('myopac_addr_changes_saved');\r
-        }\r
-    );\r
-    req.send();\r
-};\r
-\r
-\r
-function myOPACUpdateUsername() {\r
-       var username = $('myopac_new_username').value;\r
-       if(username == null || username == "") {\r
-               alert($('myopac_username_error').innerHTML);\r
-               return;\r
-       }\r
-\r
-       if( username.match(/.*\s.*/) ) {\r
-               alert($('myopac_invalid_username').innerHTML);\r
-               return;\r
-       }\r
-\r
-    r = fetchOrgSettingDefault(globalOrgTree.id(), 'opac.barcode_regex');\r
-    if(r) REGEX_BARCODE = new RegExp(r);\r
-\r
-    if(username.match(REGEX_BARCODE)) {\r
-        alert($('myopac_invalid_username').innerHTML);\r
-        return;\r
-    }\r
-\r
-       /* first see if the requested username is taken */\r
-       var req = new Request(CHECK_USERNAME, G.user.session, username);\r
-       req.send(true);\r
-       var res = req.result();\r
-       /* If the username does not already exist, res will be null;\r
-        * we can move on to updating the username.\r
-        * \r
-        * If the username does exist, then res will be the user ID.\r
-        * G.user.id() gives us the currently authenticated user ID.\r
-        * If res == G.user.id(), we try to update the username anyways.\r
-        */\r
-       if( res !== null && res != G.user.id() ) {\r
-               alertId('myopac_username_dup');\r
-               return;\r
-       }\r
-\r
-       var req = new Request(UPDATE_USERNAME, G.user.session, username );\r
-       req.send(true);\r
-       if(req.result()) {\r
-\r
-               var evt;\r
-               var res = req.result();\r
-               if(evt = checkILSEvent(res)) {\r
-                       alertILSEvent(res);\r
-                       return;\r
-               }\r
-\r
-               G.user.usrname(username);\r
-               hideMe($('myopac_update_username_row'));\r
-               userShown = false;\r
-               alertId('myopac_username_success');\r
-               myOPACShowSummary();\r
-               return;\r
-       }\r
-\r
-       alert($('myopac_username_failure').innerHTML);\r
-}\r
-\r
-function myOPACUpdateEmail() {\r
-       var email = $('myopac_new_email').value;\r
-       if(email == null || email == "") {\r
-               alert($('myopac_email_error').innerHTML);\r
-               return;\r
-       }\r
-\r
-       var req = new Request(UPDATE_EMAIL, G.user.session, email );\r
-       req.send(true);\r
-       if(req.result()) {\r
-               G.user.usrname(email);\r
-               hideMe($('myopac_update_email_row'));\r
-               userShown = false;\r
-               alertId('myopac_email_success');\r
-               myOPACShowSummary();\r
-               return;\r
-       }\r
-\r
-       alert($('myopac_email_failure').innerHTML);\r
-}\r
-\r
-\r
-function myOPACUpdatePassword() {\r
-       var curpassword = $('myopac_current_password').value;\r
-       var password = $('myopac_new_password').value;\r
-       var password2 = $('myopac_new_password2').value;\r
-\r
-       if(     curpassword == null || curpassword == "" || \r
-                       password == null || password == "" || \r
-                       password2 == null || password2 == "" || password != password2 ) {\r
-               alert($('myopac_password_error').innerHTML);\r
-               return;\r
-       }\r
-\r
-       if(!strongPassword(password, true)) return;\r
-\r
-       var req = new Request(UPDATE_PASSWORD, G.user.session, password, curpassword );\r
-       req.send(true);\r
-       if(req.result()) {\r
-               hideMe($('myopac_update_password_row'));\r
-               userShown = false;\r
-               alertId('myopac_password_success');\r
-               myOPACShowSummary();\r
-               return;\r
-       }\r
-\r
-       alert($('myopac_password_failure').innerHTML);\r
-}\r
-\r
-\r
-\r
-\r
-var containerTemplate;\r
-function myOPACShowBookbags(force) {\r
-\r
-       var tbody =$('myopac_bookbag_tbody') ;\r
-\r
-       if(!containerTemplate) \r
-               containerTemplate = tbody.removeChild($('myopac_bookbag_tr'));\r
-       else if(!force) return;\r
-\r
-       removeChildren(tbody);\r
-\r
-       var containers = containerFetchAll();\r
-\r
-       var found = false;\r
-       for( var i in containers ) {\r
-               found = true;\r
-               var cont = containers[i];\r
-               var row = containerTemplate.cloneNode(true);\r
-               row.id = 'myopac_bookbag_row_' + cont.id();\r
-               var link = $n(row, 'myopac_expand_bookbag');\r
-               var dlink = $n(row, 'myopac_container_delete');\r
-               link.appendChild( text(cont.name()) );\r
-               link.setAttribute('href', \r
-                       'javascript:myOPACExpandBookbag("' + cont.id() + '","' + cont.name() + '");');\r
-               myOPACFetchBBItems( cont.id(), row );\r
-               dlink.setAttribute('href', 'javascript:myOPACDeleteBookbag("'+cont.id()+'");');\r
-\r
-               if( isTrue(cont.pub()) ) {\r
-                       unHideMe($n(row, 'myopac_bb_published_yes'));\r
-                       var link = $n(row, 'myopac_bb_published_view');\r
-                       link.setAttribute('href', buildExtrasLink( 'feed/bookbag/html-full/'+cont.id(), false));  \r
-                       link.setAttribute('target', '_blank' );\r
-                       unHideMe(link);\r
-\r
-                       link = $n(row, 'myopac_bb_published_atom');\r
-                       link.setAttribute('href', buildExtrasLink( 'feed/bookbag/rss2-full/'+cont.id(), false));  \r
-                       link.setAttribute('target', '_blank' );\r
-                       unHideMe(link);\r
-\r
-                       link = $n(row, 'myopac_bb_make_unpublished');\r
-                       link.setAttribute('href', 'javascript:myOPACMakeBBPublished("'+cont.id()+'", true);');\r
-                       unHideMe(link);\r
-\r
-               } else { \r
-                       unHideMe($n(row, 'myopac_bb_published_no')); \r
-                       var link = $n(row, 'myopac_bb_make_published');\r
-                       link.setAttribute('href', 'javascript:myOPACMakeBBPublished("'+cont.id()+'");');\r
-                       unHideMe(link);\r
-               }\r
-\r
-               tbody.appendChild(row); \r
-       }\r
-\r
-       if(!found) unHideMe($('myopac_bookbags_none'));\r
-       else unHideMe($('myopac_bookbag_table'));       \r
-}\r
-\r
-function myOPACMakeBBPublished(bbid, hideme) {\r
-\r
-       var bb = fleshedContainers[bbid];\r
-\r
-       if(hideme) {\r
-               if(!confirm($('myopac_make_unpublished_confirm').innerHTML)) return;\r
-               bb.pub('f');\r
-       } else {\r
-               if(!confirm($('myopac_make_published_confirm').innerHTML)) return;\r
-               bb.pub('t');\r
-       }\r
-\r
-       var result = containerUpdate(bb);\r
-\r
-       var code = checkILSEvent(result);\r
-       if(code) { alertILSEvent(result); return; }\r
-\r
-       alert($('myopac_bb_update_success').innerHTML);\r
-       myOPACShowBookbags(true);\r
-}\r
-\r
-\r
-\r
-function myOPACDeleteBookbag(id) {\r
-       if( confirm( $('myopac_delete_bookbag_warn').innerHTML ) ) {\r
-               var result = containerDelete(id);\r
-               var code = checkILSEvent(result);\r
-               if(code) { alertILSEvent(result); return; }\r
-               alert($('myopac_bb_update_success').innerHTML);\r
-               hideMe($('myopac_bookbag_items_table'));\r
-               hideMe($('myopac_bookbag_items_name'));\r
-               hideMe($('myopac_bookbag_no_items'));\r
-               myOPACShowBookbags(true);\r
-       }\r
-}\r
-\r
-function myOPACFetchBBItems( id, row, block ) {\r
-       if(!block) {\r
-               containerFlesh( id, _myOPACSetBBItems, { row: row }  );\r
-       } else {\r
-               var cont = containerFlesh(id);\r
-               myOPACSetBBItems( cont, row );\r
-       }\r
-}\r
-\r
-function _myOPACSetBBItems(r) { myOPACSetBBItems( r.getResultObject(), r.args.row ); }\r
-\r
-function myOPACSetBBItems( container, row ) {\r
-       fleshedContainers[container.id()] = container;\r
-       var node = $n(row, 'myopac_bookbag_item_count');\r
-       removeChildren(node);\r
-       node.appendChild( text(container.items().length) );\r
-}\r
-\r
-var BBItemsRow;\r
-function myOPACExpandBookbag( id, name ) {\r
-       \r
-       var tbody = $('myopac_bookbag_items_tbody');\r
-       if(!BBItemsRow) BBItemsRow = tbody.removeChild($('myopac_bookbag_items_row'));\r
-       removeChildren(tbody);\r
-       removeChildren($('myopac_bookbag_items_name'));\r
-\r
-       $('myopac_bookbag_items_name').appendChild(text(name));\r
-\r
-       if( fleshedContainers[id] ) {\r
-               var len = fleshedContainers[id].items().length;\r
-\r
-               if( len == 0 ) {\r
-                       unHideMe($('myopac_bookbag_no_items'));\r
-                       hideMe($('myopac_bookbag_items_table'));\r
-                       return;\r
-               }\r
-\r
-               hideMe($('myopac_bookbag_no_items'));\r
-               unHideMe($('myopac_bookbag_items_table'));\r
-\r
-               for( var i = 0; i != len; i++ ) {\r
-                       var row = BBItemsRow.cloneNode(true);\r
-                       found = true;\r
-\r
-                       var item = fleshedContainers[id].items()[i];\r
-                       var tlink = $n(row,'myopac_bookbag_items_title');\r
-                       var alink = $n(row,'myopac_bookbag_items_author');\r
-\r
-                       var req = new Request( FETCH_RMODS, item.target_biblio_record_entry() );\r
-                       req.request.tlink = tlink;\r
-                       req.request.alink = alink;\r
-                       req.callback(myOPACShowBBItem);\r
-                       req.send();\r
-\r
-                       var clink = $n(row, 'myopac_bookbag_items_remove');\r
-                       clink.setAttribute('href', 'javascript:myOPACRemoveBBItem("'+item.id()+'","'+id+'","'+name+'");');\r
-\r
-                       tbody.appendChild(row);\r
-               }\r
-       }\r
-}\r
-\r
-function myOPACRemoveBBItem( id, containerid, container_name ) {\r
-       if(!confirm($('myopac_remove_bb_item_confirm').innerHTML)) return;\r
-       var stat = containerRemoveItem( id );\r
-       if(stat) alert($('myopac_bb_update_success').innerHTML);\r
-       myOPACFetchBBItems( containerid, $('myopac_bookbag_row_' + containerid), true);\r
-       myOPACExpandBookbag( containerid, container_name );\r
-}\r
-\r
-function myOPACShowBBItem(r) {\r
-       var record = r.getResultObject();\r
-       buildTitleDetailLink(record, r.tlink);\r
-       buildSearchLink(STYPE_AUTHOR, record.author(), r.alink);\r
-}\r
-\r
-function myOPACCreateBookbag() {\r
-       var name = $('myopac_bookbag_new_name').value;  \r
-       if(!name) return;\r
-\r
-       var exists = false;\r
-       for( var c in fleshedContainers ) { exists = true; break; }\r
-\r
-       /* let them know what they are getting into... */\r
-       if(!exists) if(!confirm($('bb_create_warning').innerHTML)) return;\r
-\r
-       var result = containerCreate( name, $('bb_public_yes').checked );\r
-       var code = checkILSEvent(result);\r
-       if(code) { alertILSEvent(result); return; }\r
-       if(result) alert($('myopac_bb_update_success').innerHTML);\r
-       myOPACShowBookbags(true);\r
-}\r
-\r
-\r
-/* ---------------------------------------------------------------------- */\r
-/* Non cat circs */\r
-/* ---------------------------------------------------------------------- */\r
-\r
-var nonCatCircIds;\r
-var nonCatTypes;\r
-/* if we have some circs, grab the non-cat types */\r
-function myOPACDrawNonCatCircs(r) {\r
-       var ids = r.getResultObject();\r
-       if(ids.length == 0) return;\r
-       nonCatCircIds = ids;\r
-       unHideMe($('non_cat_circs_div'));\r
-       var req = new Request(FETCH_NON_CAT_TYPES, G.user.home_ou());\r
-       req.callback(myOPACDrawNonCatCircs2);\r
-       req.send();\r
-}\r
-\r
-\r
-/* now we have circs and the types.. draw each one */\r
-var nonCatTbody;\r
-var nonCatRow;\r
-function myOPACDrawNonCatCircs2(r) {\r
-       nonCatTypes = r.getResultObject();\r
-       nonCatTbody = $('non_cat_circs_tbody');\r
-       if(!nonCatRow) nonCatRow = \r
-               nonCatTbody.removeChild($('non_cat_circs_row'));\r
-       removeChildren(nonCatTbody);\r
-       for( var i in nonCatCircIds ) {\r
-               var req = new Request(FETCH_NON_CAT_CIRC, G.user.session, nonCatCircIds[i]);\r
-               req.callback(myOPACDrawNonCatCirc);\r
-               req.send();\r
-       }\r
-}\r
-\r
-\r
-/* draw a single circ */\r
-function myOPACDrawNonCatCirc(r) {\r
-       var circ = r.getResultObject();\r
-\r
-\r
-       var type = grep(nonCatTypes, \r
-               function(i){\r
-                       return (i.id() == circ.item_type());\r
-               }\r
-       )[0];\r
-\r
-\r
-       var row = nonCatTbody.appendChild(nonCatRow.cloneNode(true));\r
-       appendClear($n(row, 'circ_lib'), text(findOrgUnit(circ.circ_lib()).name()));\r
-       appendClear($n(row, 'item_type'), text(type.name()));\r
-\r
-       var duration = interval_to_seconds(type.circ_duration());\r
-       duration = parseInt(duration + '000');\r
-\r
-       var dtf = circ.circ_time();\r
-    var start = dojo.date.stamp.fromISOString(circ.circ_time());\r
-       var due = new Date(  start.getTime() + duration );\r
-       appendClear($n(row, 'circ_time'), text(due.iso8601Format('YMDHM', null, true, true)));\r
-}\r
-\r
-\r
-\r
-\r
-function myopacSelectAllChecked() {\r
-   __myopacSelectChecked(true);\r
-}\r
-\r
-function myopacSelectNoneChecked() {\r
-   __myopacSelectChecked(false);\r
-}\r
-\r
-function __myopacSelectChecked(value) {\r
-   var rows = myopacGetCheckedOutRows();\r
-   for( var i = 0; i < rows.length; i++ ) {\r
-      var row = rows[i];\r
-      var box = $n(row, 'selectme');\r
-      if( box && ! box.disabled )\r
-      box.checked = value;\r
-   }\r
-}\r
-\r
-function myopacGetCheckedOutRows() {\r
-   var rows = [];\r
-   var tbody = $('myopac_checked_tbody');\r
-   var children = tbody.childNodes;\r
-   for( var i = 0; i < children.length; i++ ) {\r
-      var child = children[i];\r
-      if( child.nodeName.match(/^tr$/i) ) \r
-         if( $n(child, 'selectme') ) \r
-            rows.push(child);\r
-   }\r
-   return rows;\r
-}\r
-\r
-var __renew_circs = [];\r
-\r
-/* true if 1 renewal succeeded */\r
-var __success_count = 0;\r
-\r
-/*\r
-       holdBlock - checking for holds before allowing renewals\r
-\r
-*/\r
-function holdBlock(r) {\r
-       var rec = r.getResultObject();\r
-       var circ = r.circ;\r
-                               \r
-       //this may be inefficient, but go this route to snag needed title id\r
-       var new_req = new Request( FETCH_BIB_ID_BY_BARCODE, rec.barcode() );\r
-       new_req.send(true);\r
-                               \r
-       if (new_req) {\r
-               var record = new_req.result();\r
-                               \r
-               if (record){\r
-                       //alert(HOLDSU + ' start for ' + circ.id() + ' - ' + rec.barcode());\r
-                       /*\r
-                       var init_request = new Request( LOGIN_INIT, HOLDSU );\r
-                       init_request.send(true);\r
-                       var seed = init_request.result();\r
-\r
-                       var args = {\r
-                               password : hex_md5(seed + hex_md5(HOLDSP)),\r
-                               type            : "opac",\r
-                               org             : getOrigLocation(),\r
-                               username : HOLDSU\r
-                       };\r
-\r
-                       var auth_request = new Request( LOGIN_COMPLETE, args );\r
-\r
-                       auth_request.request.alertEvent = false;\r
-                       auth_request.send(true);\r
-                       var auth_result = auth_request.result();\r
-\r
-                               if(!auth_result) {\r
-                               alertId('problem with renewing');\r
-                               return null;\r
-                       }\r
-\r
-                       var temp_session = auth_result.payload.authtoken;\r
-                       */\r
-                               \r
-                       //if you needed a special session for this, would use the above\r
-                       //and pass it in the call, however, this doesn't seem to matter\r
-                       //for this call\r
-                       /*\r
-                       new_req = new Request( "open-ils.circ:open-ils.circ.open_holds.retrieve", \r
-                               temp_session, record, 'T', getOrigLocation() );\r
-                       */\r
-\r
-                       //make the call with user's credentials\r
-                       new_req = new Request( "open-ils.circ:open-ils.circ.open_holds.retrieve", \r
-                               G.user.session, record, 'T', getOrigLocation() );\r
-                               \r
-                       new_req.send(true);\r
-\r
-                       //we would clean up session right away if we had created one\r
-                       /*\r
-                       var sess_req = new Request(LOGIN_DELETE, temp_session);\r
-                       sess_req.send(true);\r
-                       try { sess_req.result(); } catch(E){}\r
-                       */\r
-                               \r
-                       if (new_req) {\r
-                               record = new_req.result();\r
-                               if (record.length > 0) {\r
-                                       var renewTitle = __circ_titles[circ.id()];\r
-                                       if (renewTitle) {\r
-                                               alert('Sorry, someone has requested \"' + renewTitle +\r
-                                                       '\", it can not be renewed, please return this title to the library.');\r
-                                       }//if renewTitle\r
-                                       return null;\r
-                               } else {\r
-                                       //alert('renew for ' + circ.id());\r
-                                       moRenewCirc( circ.target_copy(), G.user.id(), circ );\r
-                               }//if record\r
-                       }//if new_req\r
-               \r
-               }//if record\r
-       }//if new_req\r
-\r
-}//holdBlock\r
-\r
-\r
-/* renews all selected circulations */\r
-function myOPACRenewSelected() {\r
-\r
-       var rows = myopacGetCheckedOutRows();\r
-       if(!confirm($('myopac_renew_confirm').innerHTML)) return;\r
-       __success_count = 0;\r
-\r
-       for( var i = 0; i < rows.length; i++ ) {\r
-\r
-               var row = rows[i];\r
-               if( ! $n(row, 'selectme').checked ) continue;\r
-               var circ_id = row.getAttribute('circid');\r
-\r
-               var circ;\r
-               for( var j = 0; j != circsCache.length; j++ ) {\r
-                       if(circsCache[j].id() == circ_id) {\r
-                               circ = circsCache[j];\r
-                               var cp =  circ.target_copy();\r
-                               if (cp) {\r
-                                       var hold_req = new Request(FETCH_FLESHED_COPY, \r
-                                               circ.target_copy() );\r
-                                       hold_req.request.circ = circ;\r
-                                       hold_req.callback(holdBlock);\r
-                                       hold_req.send();\r
-                               }//if cp\r
-                       }//if circsCache\r
-               }//for j\r
-       }//for i\r
-}//myOPACRenewSelected\r
-\r
-\r
-/* renews a single circulation */\r
-function moRenewCirc(copy_id, user_id, circ) {\r
-\r
-   _debug('renewing circ ' + circ.id() + ' with copy ' + copy_id);\r
-   var req = new Request(RENEW_CIRC, G.user.session, \r
-      {  patron : user_id, \r
-         copyid : copy_id, \r
-         opac_renewal : 1 \r
-      } \r
-   );\r
-\r
-   req.request.alertEvent = false;\r
-   req.callback(myHandleRenewResponse);\r
-   req.request.circ = circ;\r
-   req.send();\r
-}\r
-\r
-\r
-\r
-/* handles the circ renew results */\r
-function myHandleRenewResponse(r) {\r
-   var res = r.getResultObject();\r
-   var circ = r.circ;\r
-\r
-   /* remove this circ from the list of circs to renew */\r
-   __renew_circs = grep(__renew_circs, function(i) { return (i.id() != circ.id()); });\r
-\r
-   _debug("handling renew result for " + circ.id());\r
-\r
-   if(checkILSEvent(res) || checkILSEvent(res[0])) \r
-      alertIdText('myopac_renew_fail', __circ_titles[circ.id()]);\r
-   else __success_count++;\r
-\r
-   if(__renew_circs) return; /* more to come */\r
-\r
-   __renew_circs = [];\r
-\r
-       if( __success_count > 0 )\r
-      alertIdText('myopac_renew_success', __success_count);\r
-\r
-   hideMe($('my_renewing'));\r
-   checkedDrawn = false;\r
-    myOPACShowChecked();\r
-}\r
-\r
-/** ---- batch hold processing ------------ */\r
-\r
-\r
-/* myopac_holds_checkbx */\r
-function myopacSelectAllHolds() {\r
-    var rows = getTableRows($("myopac_holds_tbody"));\r
-    for(var i = 0; i < rows.length; i++) {\r
-        cb = $n(rows[i], 'myopac_holds_selected_chkbx');\r
-        if(cb) cb.checked = true;\r
-    }\r
-}\r
-\r
-function myopacSelectNoneHolds() {\r
-    var rows = getTableRows($("myopac_holds_tbody"));\r
-    for(var i = 0; i < rows.length; i++) {\r
-        cb = $n(rows[i], 'myopac_holds_selected_chkbx');\r
-        if(cb) cb.checked = false;\r
-    }\r
-}\r
-\r
-function myopacSelectedHoldsRows() {\r
-    var r = [];\r
-    var rows = getTableRows($("myopac_holds_tbody"));\r
-    for(var i = 0; i < rows.length; i++) {\r
-        cb = $n(rows[i], 'myopac_holds_selected_chkbx');\r
-        if(cb && cb.checked)\r
-            r.push(rows[i]);\r
-    }\r
-    return r;\r
-}\r
-\r
-var myopacProcessedHolds = 0;\r
-var myopacHoldsToProcess = 0;\r
-function myopacDoHoldAction() {\r
-\r
-    var selectedRows = myopacSelectedHoldsRows();\r
-    action = getSelectorVal($('myopac_holds_actions'));\r
-    $('myopac_holds_actions_none').selected = true;\r
-    if(selectedRows.length == 0) return;\r
-\r
-    myopacProcessedHolds = 0;\r
-\r
-    if(!confirmId('myopac.holds.'+action+'.confirm')) return;\r
-    myopacSelectNoneHolds(); /* clear the selection */\r
-\r
-\r
-    /* first, let's collect the holds that actually need processing and\r
-        collect the full process count while we're at it */\r
-    var holds = [];\r
-    for(var i = 0; i < selectedRows.length; i++) {\r
-        hold = holdCache[myopacHoldIDFromRow(selectedRows[i])];\r
-        var qstats = holdStatusCache[hold.id()];\r
-        switch(action) {\r
-            case 'cancel':\r
-                holds.push(hold);\r
-                break;\r
-            case 'thaw_date':\r
-            case 'thaw':\r
-                if(isTrue(hold.frozen()))\r
-                    holds.push(hold);\r
-                break;\r
-            case 'freeze':\r
-                if(!isTrue(hold.frozen()) && qstats.status < 3)\r
-                    holds.push(hold);\r
-                break;\r
-        }\r
-    }\r
-    myopacHoldsToProcess = holds;\r
-    if(myopacHoldsToProcess.length == 0) return;\r
-\r
-    if(action == 'thaw_date' || action == 'freeze') \r
-        myopacDrawHoldThawDateForm();\r
-    else\r
-    myopacProcessHolds(action);\r
-}\r
-\r
-\r
-function myopacProcessHolds(action, thawDate) {\r
-\r
-    myopacShowHoldProcessing();\r
-    /* now we process them */\r
-    for(var i = 0; i < myopacHoldsToProcess.length; i++) {\r
-\r
-        hold = myopacHoldsToProcess[i];\r
-        \r
-        var req;\r
-        switch(action) { \r
-\r
-            case 'cancel':\r
-                req = new Request(CANCEL_HOLD, G.user.session, hold.id());\r
-                break;\r
-    \r
-            case 'thaw':\r
-                hold.frozen('f');\r
-                hold.thaw_date(null);\r
-                req = new Request(UPDATE_HOLD, G.user.session, hold);\r
-                break;\r
-\r
-            case 'thaw_date':\r
-            case 'freeze':\r
-                hold.frozen('t');\r
-                hold.thaw_date(thawDate); \r
-                req = new Request(UPDATE_HOLD, G.user.session, hold);\r
-                break;\r
-                //thawDate = prompt($('myopac.holds.freeze.select_thaw').innerHTML);\r
-\r
-        }\r
-\r
-        req.callback(myopacBatchHoldCallback);\r
-        req.send();\r
-        req = null;\r
-    }\r
-}\r
-\r
-function myopacDrawHoldThawDateForm() {\r
-    hideMe($('myopac_holds_main_table'));\r
-    unHideMe($('myopac_holds_thaw_date_form'));\r
-    $('myopac_holds_thaw_date_input').focus();\r
-}\r
-\r
-function myopacApplyThawDate() {\r
-    var dateString = dijit.byId('myopac_holds_thaw_date_input').getValue();\r
-    if(dateString) {\r
-        dateString = dojo.date.stamp.toISOString(dateString);\r
-        if(dateString) {\r
-            dateString = holdsVerifyThawDate(dateString);\r
-            if(!dateString) return;\r
-        } else {\r
-            dateString = null;\r
-        }\r
-    }\r
-    myopacProcessHolds('freeze', dateString);\r
-}\r
-\r
-function myopacHoldIDFromRow(row) {\r
-    return row.id.replace(/.*_(\d+)$/, '$1');\r
-}\r
-\r
-function myopacShowHoldProcessing() {\r
-    unHideMe($('myopac_holds_processing'));\r
-    hideMe($('myopac_holds_main_table'));\r
-}\r
-\r
-function myopacHideHoldProcessing() {\r
-    hideMe($('myopac_holds_processing'));\r
-    unHideMe($('myopac_holds_main_table'));\r
-    hideMe($('myopac_holds_thaw_date_form'));\r
-}\r
-\r
-function myopacBatchHoldCallback(r) {\r
-    if(r) /* force load any exceptions */\r
-        r.getResultObject();\r
-    if(++myopacProcessedHolds >= myopacHoldsToProcess.length) {\r
-        myopacHideHoldProcessing();\r
-        holdCache = {};\r
-        holdStatusCache = {};\r
-        myopacForceHoldsRedraw = true;\r
-        myOPACShowHolds();\r
-    }\r
-}\r
-\r
diff --git a/web/opac/skin/uwin/js/rdetail.js b/web/opac/skin/uwin/js/rdetail.js
deleted file mode 100644 (file)
index 4b43348..0000000
+++ /dev/null
@@ -1,1033 +0,0 @@
-/* */\r
-\r
-detachAllEvt('common', 'run');\r
-attachEvt("common", "run", rdetailDraw);\r
-attachEvt("rdetail", "recordDrawn", rdetailBuildStatusColumns);\r
-attachEvt("rdetail", "recordDrawn", rdetailBuildInfoRows);\r
-attachEvt("rdetail", "recordDrawn", rdetailGetPageIds);\r
-\r
-/* Per-skin configuration settings */\r
-var rdetailLocalOnly = true;\r
-var rdetailShowLocal = true;\r
-var rdetailShowCopyLocation = true;\r
-var rdetailGoogleBookPreview = true;\r
-var rdetailDisplaySerialHoldings = true;\r
-var rdetailEnableRefWorks = true;\r
-var rdetailRefWorksHost = 'http://refworks.scholarsportal.info';\r
-\r
-/* vars vars vars */\r
-var record = null;\r
-var cp_statuses = null;\r
-var recordsCache = [];\r
-\r
-var copyRowParent = null;\r
-var copyRow = null;\r
-var statusRow = null;\r
-var numStatuses = null;\r
-var defaultCN;\r
-var callnumberCache = {};\r
-var globalCNCache = {};\r
-var localTOC;\r
-var cachedRecords;\r
-var _statusPositions = {};\r
-var opac_strings;\r
-\r
-var nextContainerIndex;\r
-\r
-var nextRecord;\r
-var prevRecord;\r
-\r
-var rdetailPrev = null;\r
-var rdetailNext = null;\r
-var rdetailStart = null;\r
-var rdetailEnd = null;\r
-\r
-/* serials are currently the only use of Dojo strings in the OPAC */\r
-if (rdetailDisplaySerialHoldings) {\r
-       dojo.requireLocalization("openils.opac", "opac");\r
-       opac_strings = dojo.i18n.getLocalization("openils.opac", "opac");\r
-}\r
-\r
-function rdetailReload() {\r
-       var args = {};\r
-       args[PARAM_LOCATION] = getNewSearchLocation();\r
-       args[PARAM_DEPTH] = depthSelGetDepth();\r
-       goTo(buildOPACLink(args));\r
-}\r
-\r
-/* looks to see if we have a next and/or previous record in the\r
-   record cache, if so, set up the nav links */\r
-function rdetailSetPaging(ids) {\r
-\r
-       cachedRecords = {};\r
-       cachedRecords.ids = ids;\r
-\r
-       for( var i = 0; i < cachedRecords.ids.length; i++ ) {\r
-               var rec = cachedRecords.ids[i];\r
-               if( rec == getRid() ) {\r
-                       if( i > 0 ) prevRecord = cachedRecords.ids[i-1];\r
-                       if( i < cachedRecords.ids.length - 1 )\r
-                               nextRecord = cachedRecords.ids[i+1];\r
-                       break;\r
-               }\r
-       }\r
-\r
-       $('np_offset').appendChild(text(i + 1));\r
-       $('np_count').appendChild(text(getHitCount()));\r
-\r
-       if(prevRecord) {\r
-               unHideMe($('np_table'));\r
-               unHideMe($('np_prev'));\r
-               unHideMe($('np_start'));\r
-               rdetailPrev = function() { _rdetailNav(prevRecord); };\r
-               rdetailStart = function() { _rdetailNav(cachedRecords.ids[0]); };\r
-       }\r
-\r
-       if(nextRecord) {\r
-               unHideMe($('np_table'));\r
-               unHideMe($('np_next'));\r
-               unHideMe($('np_end'));\r
-               rdetailNext = function() { _rdetailNav(nextRecord); };\r
-               rdetailEnd = function() { _rdetailNav(cachedRecords.ids[cachedRecords.ids.length-1]); };\r
-       }\r
-\r
-       runEvt('rdetail', 'nextPrevDrawn', i, cachedRecords.ids.length);\r
-}\r
-\r
-\r
-function _rdetailNav(id, offset) {\r
-       var args = {};\r
-       args[PARAM_RID] = id;\r
-       goTo(buildOPACLink(args));\r
-}\r
-\r
-function rdetailDraw() {\r
-\r
-       detachAllEvt('common','depthChanged');\r
-       detachAllEvt('common','locationUpdated');\r
-       attachEvt('common','depthChanged', rdetailReload);\r
-       attachEvt('common','locationUpdated', rdetailReload);\r
-       attachEvt('common','holdUpdated', rdetailReload);\r
-       attachEvt('common','holdUpdateCanceled', rdetailReload);\r
-\r
-       copyRowParent = G.ui.rdetail.cp_info_row.parentNode;\r
-       copyRow = copyRowParent.removeChild(G.ui.rdetail.cp_info_row);\r
-       statusRow = G.ui.rdetail.cp_status.parentNode;\r
-       statusRow.id = '__rdsrow';\r
-\r
-       G.ui.rdetail.cp_info_local.onclick = rdetailShowLocalCopies;\r
-       G.ui.rdetail.cp_info_all.onclick = rdetailShowAllCopies;\r
-\r
-       if(getLocation() == globalOrgTree.id())\r
-               hideMe(G.ui.rdetail.cp_info_all);\r
-\r
-       var req = new Request(FETCH_RMODS, getRid());\r
-       req.callback(_rdetailDraw);\r
-       req.send();\r
-\r
-       if (rdetailDisplaySerialHoldings) {\r
-               var req = new Request(FETCH_MFHD_SUMMARY, getRid());\r
-               req.callback(_holdingsDraw);\r
-               req.send();\r
-       }\r
-\r
-       detachAllEvt("result", "idsReceived");\r
-       G.evt.result.hitCountReceived = [];\r
-       G.evt.result.recordReceived = [];\r
-       G.evt.result.copyCountsReceived = [];\r
-       G.evt.result.allRecordsReceived = [];\r
-}\r
-\r
-function rdetailGetPageIds() {\r
-       attachEvt("result", "idsReceived", rdetailSetPaging );\r
-       resultFetchAllRecords = true;\r
-       rresultCollectIds(true);\r
-}\r
-\r
-\r
-function buildunAPISpan (span, type, id) {\r
-       var cgi = new CGI();\r
-       var d = new Date();\r
-\r
-       addCSSClass(span,'unapi-id');\r
-\r
-       span.setAttribute(\r
-                       'title', 'tag:' + cgi.server_name + ',' +\r
-                       d.getFullYear() + ':' + type + '/' + id\r
-                       );\r
-}\r
-\r
-function rdetailViewMarc(r,id) {\r
-       hideMe($('rdetail_extras_loading'));\r
-       $('rdetail_view_marc_box').innerHTML = r.getResultObject();\r
-\r
-       var div = elem('div', { "class" : 'hide_me' });\r
-       var span = div.appendChild( elem('abbr') );\r
-\r
-       buildunAPISpan( span, 'biblio-record_entry', record.doc_id() );\r
-\r
-       $('rdetail_view_marc_box').insertBefore(span, $('rdetail_view_marc_box').firstChild);\r
-}\r
-\r
-\r
-function rdetailShowLocalCopies() {\r
-       rdetailShowLocal = true;\r
-       rdetailBuildInfoRows();\r
-       hideMe(G.ui.rdetail.cp_info_local);\r
-       unHideMe(G.ui.rdetail.cp_info_all);\r
-       hideMe(G.ui.rdetail.cp_info_none); \r
-}\r
-\r
-function rdetailShowAllCopies() {\r
-\r
-       rdetailShowLocal = false;\r
-       rdetailBuildInfoRows();\r
-       hideMe(G.ui.rdetail.cp_info_all);\r
-       unHideMe(G.ui.rdetail.cp_info_local);\r
-       hideMe(G.ui.rdetail.cp_info_none); \r
-}\r
-\r
-function OpenMarcEditWindow(pcrud, rec) {\r
-       /*\r
-          To run in Firefox directly, must set signed.applets.codebase_principal_support\r
-          to true in about:config\r
-        */\r
-       netscape.security.PrivilegeManager.enablePrivilege('UniversalXPConnect');\r
-       win = window.open('/xul/server/cat/marcedit.xul'); // XXX version?\r
-       dojo.require('openils.PermaCrud');\r
-\r
-       win.xulG = {\r
-               "record": {"marc": rec.marc()},\r
-               "save": {\r
-                       "label": opac_strings.SAVE_MFHD_LABEL,\r
-                       "func": function(xmlString) {\r
-                               rec.marc(xmlString);\r
-                               rec.ischanged(true);\r
-                               pcrud.update(rec);\r
-                       }\r
-               }\r
-       };\r
-}\r
-\r
-function loadMarcEditor(recId) {\r
-       var pcrud = new openils.PermaCrud({"authtoken": G.user.session});\r
-       var rec = pcrud.retrieve("sre", recId);\r
-       if (rec) {\r
-               OpenMarcEditWindow(pcrud, rec);\r
-       }\r
-}\r
-\r
-/*\r
- * This function could be written much more intelligently\r
- * Limited brain power means that I'm brute-forcing it for now\r
- */\r
-function _holdingsDraw(h) {\r
-       holdings = h.getResultObject();\r
-       if (!holdings) { return null; }\r
-\r
-       dojo.forEach(holdings, _holdingsDrawMFHD);\r
-}\r
-\r
-function _holdingsDrawMFHD(holdings, entryNum) {\r
-        var here = findOrgUnit(getLocation());\r
-        if (getDepth() > 0 || getDepth === 0 ) {\r
-                while (getDepth() < findOrgDepth(here))\r
-                here = findOrgUnit( here.parent_ou() );\r
-               if (!orgIsMine(findOrgUnit(here), findOrgUnit(holdings.owning_lib()))) {\r
-                       return null;\r
-               }\r
-        }\r
-\r
-       var hh = holdings.holdings();\r
-       var hch = holdings.current_holdings();\r
-       var hs = holdings.supplements();\r
-       var hcs = holdings.current_supplements();\r
-       var hi = holdings.indexes();\r
-       var hci = holdings.current_indexes();\r
-       var ho = holdings.online();\r
-       var hm = holdings.missing();\r
-       var hinc = holdings.incomplete();\r
-       var hloc = holdings.location() || 'MFHD';\r
-\r
-       if (    hh.length == 0 && hch.length == 0 && hs.length == 0 &&\r
-               hcs.length == 0 && hi.length == 0 && hci.length == 0 &&\r
-               ho.length == 0 && hm.length == 0 && hinc.length == 0 && !isXUL()\r
-       ) {\r
-               return null;\r
-       }\r
-\r
-       dojo.place("<table style='width: 100%;'><caption id='mfhdHoldingsCaption' class='rdetail_header color_1'>" +\r
-               dojo.string.substitute(opac_strings.HOLDINGS_TABLE_CAPTION, [hloc]) +\r
-               "</caption><tbody id='rdetail_holdings_tbody_" + entryNum +\r
-               "'></tbody></table>", "rdetail_details_table", "after"\r
-       );\r
-       if (hh.length > 0) { _holdingsDrawMFHDEntry(entryNum, opac_strings.HOLDINGS, hh); }\r
-       if (hch.length > 0) { _holdingsDrawMFHDEntry(entryNum, opac_strings.CURRENT_HOLDINGS, hch); }\r
-       if (hs.length > 0) { _holdingsDrawMFHDEntry(entryNum, opac_strings.SUPPLEMENTS, hs); }\r
-       if (hcs.length > 0) { _holdingsDrawMFHDEntry(entryNum, opac_strings.CURRENT_SUPPLEMENTS, hcs); }\r
-       if (hi.length > 0) { _holdingsDrawMFHDEntry(entryNum, opac_strings.INDEXES, hi); }\r
-       if (hci.length > 0) { _holdingsDrawMFHDEntry(entryNum, opac_strings.CURRENT_INDEXES, hci); }\r
-       if (ho.length > 0) { _holdingsDrawMFHDEntry(entryNum, opac_strings.ONLINE_VOLUMES, ho); }\r
-       if (hm.length > 0) { _holdingsDrawMFHDEntry(entryNum, opac_strings.MISSING_VOLUMES, hm); }\r
-       if (hinc.length > 0) { _holdingsDrawMFHDEntry(entryNum, opac_strings.INCOMPLETE_VOLUMES, hinc); }\r
-\r
-       if (isXUL()) {\r
-               dojo.require('openils.Event');\r
-               dojo.require('openils.PermaCrud');\r
-               dojo.place("<span> - </span><a class='classic_link' href='javascript:loadMarcEditor(" +\r
-                       holdings.id() + ")'>" + opac_strings.EDIT_LABEL + "</a>", \r
-                       "mfhdHoldingsCaption", "last"\r
-               );\r
-       }\r
-}\r
-\r
-function _holdingsDrawMFHDEntry(entryNum, entryName, entry) {\r
-       var flatEntry = entry.toString().replace(/,/g, ', ');\r
-       dojo.place("<tr><td> </td><td nowrap='nowrap' class='rdetail_desc'>" + entryName + "</td><td class='rdetail_item'>" + flatEntry + "</td></tr>", "rdetail_holdings_tbody_" + entryNum, "last");\r
-}\r
-\r
-function _rdetailDraw(r) {\r
-       record = r.getResultObject();\r
-\r
-       runEvt('rdetail', 'recordRetrieved', record.doc_id());\r
-\r
-       G.ui.rdetail.title.appendChild(text(record.title()));\r
-       buildSearchLink(STYPE_AUTHOR, record.author(), G.ui.rdetail.author);\r
-       G.ui.rdetail.isbn.appendChild(text(cleanISBN(record.isbn())));\r
-       G.ui.rdetail.edition.appendChild(text(record.edition()));\r
-       G.ui.rdetail.pubdate.appendChild(text(record.pubdate()));\r
-       G.ui.rdetail.publisher.appendChild(text(record.publisher()));\r
-       $('rdetail_physical_desc').appendChild(text(record.physical_description()));\r
-       r = record.types_of_resource();\r
-       if(r) {\r
-               G.ui.rdetail.tor.appendChild(text(r[0]));\r
-               setResourcePic( G.ui.rdetail.tor_pic, r[0]);\r
-       }\r
-       G.ui.rdetail.abstr.appendChild(text(record.synopsis()));\r
-\r
-       try{\r
-               if(record.isbn()) {\r
-                       if(ENABLE_ADDED_CONTENT_ATTRIB_LINKS) {\r
-                               unHideMe($('rdetail.jacket_attrib_div'));\r
-                               var href = $('rdetail.jacket_attrib_link').getAttribute('href') +cleanISBN(record.isbn());\r
-                               $('rdetail.jacket_attrib_link').setAttribute('href', href);\r
-                       }\r
-                       rdetailCheckForGBPreview();\r
-\r
-               } else {\r
-                       hideMe($("rdetail.jacket_attrib_div"));\r
-                       hideMe($("rdetail_img_link"));\r
-               }\r
-       } catch(E) {}\r
-\r
-\r
-       // see if the record has any external links \r
-       var links = record.online_loc();\r
-       for( var i = 0; links && links.length > 0 && i < links.length; i = i + 3 ) {\r
-               var href = links[i];\r
-               // avoid matching "HTTP: The Complete Reference"\r
-               if( href.match(/https?:\/|ftps?:\/|mailto:/i) ) {\r
-                       unHideMe($('rdetail_online_row'));\r
-                       // MODS can contain a display label (used for the text of the link)\r
-                       // as well as a note about the URL; many legacy systems conflate the\r
-                       // two and generate MARC records that expect the note to be used as\r
-                       // the text of the link, with no display label; here's the canonical\r
-                       // format:\r
-                       //\r
-                       // 856 40 $uhttp://localhost$yDisplay label$zPublic note\r
-                       //\r
-                       // Note that the MARC21slim2MODS XSL concatenates $3 and $y together\r
-                       // (as $y was defined later in MARC21's life as the display label)\r
-                       var displayLabel = '' + links[i+1];\r
-                       var note = '' + links[i+2];\r
-                       if(!displayLabel || displayLabel.match(/https?:\/|ftps?:\/|mailto:/i)) {\r
-                               if(!note || note.match(/https?:\/|ftps?:\/|mailto:/i)) {\r
-                                       displayLabel = href;\r
-                               } else {\r
-                                       displayLabel = note;\r
-                               }\r
-                       }\r
-                       $('rdetail_online').appendChild(elem('a', {href:href,'class':'classic_link'}, displayLabel));\r
-                       if (note && note != displayLabel) {\r
-                               $('rdetail_online').appendChild(elem('span', {'class':'url_note'}, ' - ' + note));\r
-                       }\r
-                       $('rdetail_online').appendChild(elem('br'));\r
-               }\r
-       }\r
-\r
-       // Fill in our unAPI ID, if anyone cares\r
-       var abbrs = document.getElementsByTagName('abbr');\r
-       var span;\r
-       for (var i = 0; i < abbrs.length; i = i + 1) {\r
-               if (abbrs[i].getAttribute('name') == 'unapi') {\r
-                       span = abbrs[i];\r
-                       break;\r
-               }\r
-       }\r
-       buildunAPISpan( span, 'biblio-record_entry', record.doc_id() );\r
-\r
-       $('rdetail_place_hold').setAttribute(\r
-                       'href','javascript:holdsDrawEditor({record:"'+record.doc_id()+'",type:"T"});');\r
-\r
-       var RW = $('rdetail_exp_refworks');\r
-       if (RW && rdetailEnableRefWorks) {\r
-\r
-               var here = (findOrgUnit(getLocation())).name();\r
-               var org_name = here.replace(" ", "+");\r
-               var cgi = new CGI();\r
-\r
-               RW.setAttribute(\r
-                       'href',\r
-                       rdetailRefWorksHost + '/express/expressimport.asp?vendor='\r
-                       + org_name\r
-                       + '&filter=MARC+Format&database=All+MARC+Formats&encoding=65001&url=http%3A%2F%2F'\r
-                       + cgi.server_name + '/opac/extras/supercat/marctxt/record/'\r
-                       + record.doc_id()\r
-              );\r
-\r
-               RW.setAttribute('target', 'RefWorksMain');\r
-               unHideMe($('rdetail_exp_refworks_span'));\r
-       }\r
-\r
-       $('rdetail_img_link').setAttribute('href', buildISBNSrc(cleanISBN(record.isbn()), 'large'));\r
-       G.ui.rdetail.image.setAttribute("src", buildISBNSrc(cleanISBN(record.isbn())));\r
-       runEvt("rdetail", "recordDrawn");\r
-       recordsCache.push(record);\r
-\r
-       rdetailSetExtrasSelector();\r
-\r
-       var breq = new Request(FETCH_BRE, [getRid()]);\r
-       breq.callback( rdetailCheckDeleted );\r
-       breq.send();\r
-\r
-       resultBuildCaches( [ record ] );\r
-       resultDrawSubjects();\r
-       resultDrawSeries();\r
-\r
-       // grab added content \r
-       acCollectData(cleanISBN(record.isbn()), rdetailhandleAC);\r
-}\r
-\r
-\r
-\r
-function rdetailCheckDeleted(r) {\r
-       var br = r.getResultObject()[0];\r
-       if( isTrue(br.deleted()) ) {\r
-               hideMe($('rdetail_place_hold'));\r
-               $('rdetail_more_actions_selector').disabled = true;\r
-               unHideMe($('rdetail_deleted_exp'));\r
-       }\r
-}\r
-\r
-function rdetailSetExtrasSelector() {\r
-       if(!grabUser()) return;\r
-       unHideMe($('rdetail_more_actions'));\r
-\r
-       var req = new Request( \r
-                       FETCH_CONTAINERS, G.user.session, G.user.id(), 'biblio', 'bookbag' );\r
-       req.callback(rdetailAddBookbags);\r
-       req.send();\r
-}\r
-\r
-function rdetailAddBookbags(r) {\r
-\r
-       var containers = r.getResultObject();\r
-       var selector = $('rdetail_more_actions_selector');\r
-       var found = false;\r
-       var index = 3;\r
-       doSelectorActions(selector);\r
-\r
-       for( var i = 0; i != containers.length; i++ ) {\r
-               found = true;\r
-               var container = containers[i];\r
-               insertSelectorVal( selector, index++, container.name(), \r
-                               "container_" + container.id(), rdetailAddToBookbag,  1 );\r
-       }\r
-\r
-       nextContainerIndex = index;\r
-}\r
-\r
-var _actions = {};\r
-function rdetailNewBookbag() {\r
-       var name = prompt($('rdetail_bb_new').innerHTML,"");\r
-       if(!name) return;\r
-\r
-       var id;\r
-       if( id = containerCreate( name ) ) {\r
-               alert($('rdetail_bb_success').innerHTML);\r
-               var selector = $('rdetail_more_actions_selector');\r
-               insertSelectorVal( selector, nextContainerIndex++, name, \r
-                               "container_" + id, rdetailAddToBookbag, 1 );\r
-               setSelector( selector, 'start' );\r
-       }\r
-}\r
-\r
-\r
-function rdetailAddToBookbag() {\r
-       var selector = $('rdetail_more_actions_selector');\r
-       var id = selector.options[selector.selectedIndex].value;\r
-       setSelector( selector, 'start' );\r
-\r
-       if( containerCreateItem( id.substring(10), record.doc_id() )) {\r
-               alert($('rdetail_bb_item_success').innerHTML);\r
-       }\r
-}\r
-\r
-\r
-var rdetailMarcFetched = false;\r
-function rdetailShowExtra(type, args) {\r
-\r
-       hideMe($('rdetail_copy_info_div'));\r
-       hideMe($('rdetail_reviews_div'));\r
-       hideMe($('rdetail_toc_div'));\r
-       hideMe($('rdetail_anotes_div'));\r
-       hideMe($('rdetail_excerpt_div'));\r
-       hideMe($('rdetail_preview_div'));\r
-       hideMe($('rdetail_marc_div'));\r
-       hideMe($('cn_browse'));\r
-       hideMe($('rdetail_cn_browse_div'));\r
-       hideMe($('rdetail_notes_div'));\r
-\r
-       removeCSSClass($('rdetail_copy_info_link'), 'rdetail_extras_selected');\r
-       removeCSSClass($('rdetail_viewcn_link'), 'rdetail_extras_selected');\r
-       removeCSSClass($('rdetail_reviews_link'), 'rdetail_extras_selected');\r
-       removeCSSClass($('rdetail_toc_link'), 'rdetail_extras_selected');\r
-       removeCSSClass($('rdetail_excerpt_link'), 'rdetail_extras_selected');\r
-       removeCSSClass($('rdetail_preview_link'), 'rdetail_extras_selected');\r
-       removeCSSClass($('rdetail_anotes_link'), 'rdetail_extras_selected');\r
-       removeCSSClass($('rdetail_annotation_link'), 'rdetail_extras_selected');\r
-       removeCSSClass($('rdetail_viewmarc_link'), 'rdetail_extras_selected');\r
-\r
-       switch(type) {\r
-\r
-               case "copyinfo": \r
-                       unHideMe($('rdetail_copy_info_div')); \r
-                       addCSSClass($('rdetail_copy_info_link'), 'rdetail_extras_selected');\r
-                       break;\r
-\r
-               case "reviews": \r
-                       addCSSClass($('rdetail_reviews_link'), 'rdetail_extras_selected');\r
-                       unHideMe($('rdetail_reviews_div')); \r
-                       break;\r
-\r
-               case "excerpt": \r
-                       addCSSClass($('rdetail_excerpt_link'), 'rdetail_extras_selected');\r
-                       unHideMe($('rdetail_excerpt_div'));\r
-                       break;\r
-\r
-               case "preview": \r
-                       addCSSClass($('rdetail_preview_link'), 'rdetail_extras_selected');\r
-                       unHideMe($('rdetail_preview_div'));\r
-                       rdetailDisplayGBPreview();\r
-                       break;\r
-\r
-               case "anotes": \r
-                       addCSSClass($('rdetail_anotes_link'), 'rdetail_extras_selected');\r
-                       unHideMe($('rdetail_anotes_div'));\r
-                       break;\r
-\r
-               case "toc": \r
-                       addCSSClass($('rdetail_toc_link'), 'rdetail_extras_selected');\r
-                       unHideMe($('rdetail_toc_div'));\r
-                       break;\r
-\r
-               case "marc": \r
-                       addCSSClass($('rdetail_viewmarc_link'), 'rdetail_extras_selected');\r
-                       unHideMe($('rdetail_marc_div')); \r
-                       if(rdetailMarcFetched) return;\r
-                       unHideMe($('rdetail_extras_loading'));\r
-                       rdetailMarcFetched = true;\r
-                       var req = new Request( FETCH_MARC_HTML, record.doc_id() );\r
-                       req.callback(rdetailViewMarc); \r
-                       req.send();\r
-                       break;\r
-\r
-               case 'cn':\r
-                       addCSSClass($('rdetail_viewcn_link'), 'rdetail_extras_selected');\r
-                       unHideMe($('rdetail_cn_browse_div'));\r
-                       rdetailShowCNBrowse(defaultCN, getLocation(), null, true);\r
-                       break;\r
-\r
-       }\r
-}\r
-\r
-function rdetailVolumeDetails(args) {\r
-       var row = $(args.rowid);\r
-       var tbody = row.parentNode;\r
-       cpdBuild( tbody, row, record, args.cn, args.org, args.depth, args.copy_location );\r
-       return;\r
-}\r
-\r
-function rdetailBuildCNList() {\r
-\r
-       var select = $('cn_browse_selector');\r
-       var index = 0;\r
-       var arr = [];\r
-       for( var cn in callnumberCache ) arr.push( cn );\r
-       arr.sort();\r
-\r
-       if( arr.length == 0 ) {\r
-               hideMe($('rdetail_cn_browse_select_div'));\r
-               return;\r
-       }\r
-\r
-       for( var i in arr ) {\r
-               var cn = arr[i];\r
-               var opt = new Option(cn);\r
-               select.options[index++] = opt;\r
-       }\r
-       select.onchange = rdetailGatherCN;\r
-}\r
-\r
-function rdetailGatherCN() {\r
-       var cn = getSelectorVal($('cn_browse_selector'));\r
-       rdetailShowCNBrowse( cn, getLocation(), getDepth(), true );\r
-       setSelector( $('cn_browse_selector'), cn );\r
-}\r
-\r
-\r
-function rdetailShowCNBrowse( cn, loc, depth, fromOnclick ) {\r
-\r
-       if(!cn) {\r
-               unHideMe($('cn_browse_none'));\r
-               hideMe($('rdetail_cn_browse_select_div'));\r
-               return;\r
-       }\r
-\r
-       unHideMe($('rdetail_cn_browse_select_div'));\r
-       rdetailBuildCNList();\r
-       setSelector( $('cn_browse_selector'), cn );\r
-       hideMe($('rdetail_copy_info_div'));\r
-       hideMe($('rdetail_reviews_div'));\r
-       hideMe($('rdetail_toc_div'));\r
-       hideMe($('rdetail_marc_div'));\r
-       unHideMe($('rdetail_cn_browse_div'));\r
-       unHideMe($('cn_browse'));\r
-       if( !rdetailLocalOnly && ! fromOnclick ) depth = findOrgDepth(globalOrgTree);\r
-       cnBrowseGo(cn, loc, depth);\r
-}\r
-\r
-function rdetailhandleAC(data) {\r
-\r
-       if( data.reviews.html ) {\r
-               $('rdetail_review_container').innerHTML = data.reviews.html;\r
-               unHideMe($('rdetail_reviews_link'));\r
-       }\r
-\r
-       if( data.toc.html ) {\r
-               $('rdetail_toc_div').innerHTML = data.toc.html;\r
-               unHideMe($('rdetail_toc_link'));\r
-       }\r
-\r
-       if( data.excerpt.html ) {\r
-               $('rdetail_excerpt_div').innerHTML = data.excerpt.html;\r
-               unHideMe($('rdetail_excerpt_link'));\r
-       }\r
-\r
-       if( data.anotes.html ) {\r
-               $('rdetail_anotes_div').innerHTML = data.anotes.html;\r
-               unHideMe($('rdetail_anotes_link'));\r
-       }\r
-}\r
-\r
-function rdetailShowReviews(r) {\r
-       hideMe($('rdetail_extras_loading'));\r
-       var res = r.getResultObject();\r
-       var par = $('rdetail_reviews_div');\r
-       var template = par.removeChild($('rdetail_review_template'));\r
-       if( res && res.length > 0 ) {\r
-               unHideMe($('rdetail_reviews_link'));\r
-               for( var i = 0; i != res.length; i++ ) {\r
-                       var rev = res[i];       \r
-                       if( rev.text && rev.info ) {\r
-                               var node = template.cloneNode(true);\r
-                               $n(node, 'review_header').appendChild(text(rev.info));\r
-                               $n(node, 'review_text').appendChild(text(rev.text));\r
-                               par.appendChild(node);\r
-                       }\r
-               }\r
-       }\r
-}\r
-\r
-\r
-function rdetailShowTOC(r) {\r
-       hideMe($('rdetail_extras_loading'));\r
-       var resp = r.getResultObject();\r
-       if(resp) {\r
-               unHideMe($('rdetail_toc_link'));\r
-               $('rdetail_toc_div').innerHTML = resp;\r
-       }\r
-}\r
-\r
-function rdetailBuildInfoRows() {\r
-       var req;\r
-       var method = FETCH_COPY_COUNTS_SUMMARY;\r
-       if (rdetailShowCopyLocation)\r
-               method = FETCH_COPY_LOCATION_COUNTS_SUMMARY;\r
-\r
-       if( rdetailShowLocal ) \r
-               req = new Request(method, record.doc_id(), getLocation(), getDepth())\r
-       else\r
-               req = new Request(method, record.doc_id());\r
-       req.callback(_rdetailBuildInfoRows);\r
-       req.send();\r
-}\r
-\r
-function _rdetailRows(node) {\r
-\r
-       if( rdetailShowLocal && getLocation() != globalOrgTree.id() ) {\r
-               var loc = findOrgUnit(getLocation());\r
-               if( node ) {\r
-                       if( !orgIsMine(node, loc) && !orgIsMine(loc,node) ) return;\r
-               } else {\r
-                       for( var i = 0; i < globalOrgTree.children().length; i++ ) {\r
-                               var org = findOrgUnit(globalOrgTree.children()[i]);\r
-                               if( orgIsMine(org, loc) ) {\r
-                                       node = org;\r
-                                       break;\r
-                               }\r
-                       }\r
-               } \r
-       }\r
-\r
-       if(!node && findOrgType(globalOrgTree.ou_type()).can_have_vols())\r
-               node = globalOrgTree;\r
-\r
-\r
-       /* don't show hidden orgs */\r
-\r
-       if(node) {\r
-\r
-               if(!isXUL() && !isTrue(node.opac_visible())) return;\r
-\r
-               var row = copyRow.cloneNode(true);\r
-               row.id = "cp_info_" + node.id();\r
-\r
-               var libtd = findNodeByName( row, config.names.rdetail.lib_cell );\r
-               var cntd  = findNodeByName( row, config.names.rdetail.cn_cell );\r
-               var cpctd = findNodeByName( row, config.names.rdetail.cp_count_cell );\r
-               var actions = $n(row, 'rdetail_actions_cell');\r
-\r
-               var p = libtd.getElementsByTagName('a')[0];\r
-               libtd.insertBefore(text(node.name()), p);\r
-               libtd.setAttribute("style", "padding-left: " + ((findOrgDepth(node) - 1)  * 9) + "px;");\r
-\r
-               if(!findOrgType(node.ou_type()).can_have_vols()) {\r
-\r
-                       row.removeChild(cntd);\r
-                       row.removeChild(cpctd);\r
-                       row.removeChild(actions);\r
-                       row.setAttribute('novols', '1');\r
-\r
-                       libtd.setAttribute("colspan", numStatuses + 3 );\r
-                       libtd.colSpan = numStatuses + 3;\r
-                       addCSSClass(row, 'copy_info_region_row');\r
-               } \r
-\r
-               copyRowParent.appendChild(row);\r
-\r
-       } else { node = globalOrgTree; }\r
-\r
-       for( var c in node.children() ) \r
-               _rdetailRows(node.children()[c]);\r
-}\r
-\r
-function rdetailCNPrint(orgid, cn) {\r
-       var div = cpdBuildPrintWindow( record, orgid);\r
-       var template = div.removeChild($n(div, 'cnrow'));\r
-       var rowNode = $("cp_info_" + orgid);\r
-       cpdStylePopupWindow(div);\r
-       openWindow(div.innerHTML);\r
-}\r
-\r
-var localCNFound = false;\r
-var ctr = 0;\r
-function _rdetailBuildInfoRows(r) {\r
-\r
-       if (rdetailShowCopyLocation)\r
-               unHideMe( $n( $('rdetail_copy_info_table'), 'rdetail_copylocation_header' ) );\r
-\r
-       removeChildren(copyRowParent);\r
-\r
-       _rdetailRows();\r
-\r
-       var summary = r.getResultObject();\r
-       if(!summary) return;\r
-\r
-       var found = false;\r
-       for( var i = 0; i < summary.length; i++ ) {\r
-\r
-               var arr = summary[i];\r
-               globalCNCache[arr[1]] = 1;\r
-               var thisOrg = findOrgUnit(arr[0]);\r
-               var rowNode = $("cp_info_" + thisOrg.id());\r
-               if(!rowNode) continue;\r
-\r
-               if(rowNode.getAttribute("used")) {\r
-\r
-                       if( rowNode.nextSibling ) {\r
-                               sib = rowNode.nextSibling;\r
-                               o ='cp_info_'+thisOrg.id()+'_';\r
-                               /* push the new row on as the last row for this org unit */\r
-                               while( sib && sib.id.match(o) ) {\r
-                                       sib = sib.nextSibling;\r
-                               }\r
-                               if(sib)\r
-                                       rowNode = copyRowParent.insertBefore(copyRow.cloneNode(true), sib);\r
-                               else\r
-                                       rowNode = copyRowParent.appendChild(copyRow.cloneNode(true));\r
-                       } else {\r
-                               rowNode = copyRowParent.appendChild(copyRow.cloneNode(true));\r
-                       }\r
-\r
-                       var n = findNodeByName( rowNode, config.names.rdetail.lib_cell );\r
-                       n.appendChild(text(thisOrg.name()));\r
-                       n.setAttribute("style", "padding-left: " + ((findOrgDepth(thisOrg) - 1)  * 9) + "px;");\r
-                       rowNode.id = "cp_info_" + thisOrg.id() + '_' + (++ctr); \r
-\r
-               } else {\r
-                       rowNode.setAttribute("used", "1");\r
-               }\r
-\r
-               var cpc_temp = rowNode.removeChild(\r
-                               findNodeByName(rowNode, config.names.rdetail.cp_count_cell));\r
-\r
-               var statuses = arr[2];\r
-               var cl = '';\r
-               if (rdetailShowCopyLocation) {\r
-                       cl = arr[2];\r
-                       statuses = arr[3];\r
-               }\r
-\r
-\r
-               rdetailApplyStatuses(rowNode, cpc_temp, statuses);\r
-\r
-               var isLocal = false;\r
-               if( orgIsMine( findOrgUnit(getLocation()), thisOrg ) ) { \r
-                       found = true; \r
-                       isLocal = true; \r
-                       if(!localCNFound) {\r
-                               localCNFound = true;\r
-                               defaultCN = arr[1];\r
-                       }\r
-               }\r
-\r
-               //if(isLocal) unHideMe(rowNode);\r
-               unHideMe(rowNode);\r
-\r
-               rdetailSetPath( thisOrg, isLocal );\r
-               rdetailBuildBrowseInfo( rowNode, arr[1], isLocal, thisOrg, cl );\r
-\r
-               if( i == summary.length - 1 && !defaultCN) defaultCN = arr[1];\r
-       }\r
-\r
-       if(!found) unHideMe(G.ui.rdetail.cp_info_none);\r
-}\r
-\r
-function rdetailBuildBrowseInfo(row, cn, local, orgNode, cl) {\r
-\r
-       if(local) {\r
-               var cache = callnumberCache[cn];\r
-               if( cache ) cache.count++;\r
-               else callnumberCache[cn] = { count : 1 };\r
-       }\r
-\r
-       var depth = getDepth();\r
-       if( !local ) depth = findOrgDepth(globalOrgTree);\r
-\r
-       $n(row, 'rdetail_callnumber_cell').appendChild(text(cn));\r
-\r
-       if (rdetailShowCopyLocation) {\r
-               var cl_cell = $n(row, 'rdetail_copylocation_cell');\r
-               cl_cell.appendChild(text(cl));\r
-               unHideMe(cl_cell);\r
-       }\r
-\r
-       _debug('setting action clicks for cn ' + cn);\r
-\r
-       var dHref = 'javascript:rdetailVolumeDetails('+\r
-                       '{copy_location : "'+cl+'", rowid : "'+row.id+'", cn :"'+cn+'", depth:"'+depth+'", org:"'+orgNode.id()+'", local: '+local+'});';\r
-\r
-       var bHref = 'javascript:rdetailShowCNBrowse("' + cn + '", '+orgNode.id()+', "'+depth+'");'; \r
-\r
-       unHideMe( $n(row, 'details') )\r
-               $n(row, 'details').setAttribute('href', dHref);\r
-       unHideMe( $n(row, 'browse') )\r
-               $n(row, 'browse').setAttribute('href', bHref);\r
-\r
-       if(isXUL()) {\r
-               unHideMe($n(row, 'hold_div'));\r
-               $n(row, 'hold').onclick = function() {\r
-                       var req = new Request(FETCH_VOLUME_BY_INFO, cn, record.doc_id(), orgNode.id());\r
-                       req.callback(\r
-                                       function(r) {\r
-                                       var vol = r.getResultObject();\r
-                                       holdsDrawEditor({type: 'V', volumeObject : vol});\r
-                                       }\r
-                                   );\r
-                       req.send();\r
-               };\r
-       }\r
-}\r
-\r
-// sets the path to org as 'active' and displays the path if it's local \r
-function rdetailSetPath(org, local) {\r
-       if( findOrgDepth(org) == 0 ) return;\r
-       var row = $("cp_info_" + org.id());\r
-       row.setAttribute("hasinfo", "1");\r
-       unHideMe(row);\r
-       rdetailSetPath(findOrgUnit(org.parent_ou()), local);\r
-}\r
-\r
-//Append all the statuses for a given summary to the \r
-//copy summary table \r
-function rdetailApplyStatuses( row, template, statuses ) {\r
-       for( var j in _statusPositions ) {\r
-               var stat = _statusPositions[j];\r
-               var val = statuses[stat.id()];\r
-               var nn = template.cloneNode(true);\r
-               if(val) nn.appendChild(text(val));\r
-               else nn.appendChild(text(0));\r
-               row.appendChild(nn);\r
-       }\r
-}\r
-\r
-//Add one td (creating a new column) to the copy summary\r
-//table for each opac_visible copy status\r
-function rdetailBuildStatusColumns() {\r
-\r
-       rdetailGrabCopyStatuses();\r
-       var parent = statusRow;\r
-       var template = parent.removeChild(G.ui.rdetail.cp_status);\r
-\r
-       var i = 0;\r
-       for( i = 0; i < cp_statuses.length; i++ ) {\r
-\r
-               var c = cp_statuses[i];\r
-               if( c && isTrue(c.opac_visible()) ) {\r
-                       var name = c.name();\r
-                       _statusPositions[i] = c;\r
-                       var node = template.cloneNode(true);\r
-                       var data = findNodeByName( node, config.names.rdetail.cp_status);\r
-\r
-                       data.appendChild(text(name));\r
-                       parent.appendChild(node);\r
-               }\r
-       }       \r
-\r
-       numStatuses = 0;\r
-       for(x in _statusPositions) numStatuses++; \r
-}\r
-\r
-function rdetailGrabCopyStatuses() {\r
-       if(cp_statuses) return cp_statuses;\r
-       var req = new Request(FETCH_COPY_STATUSES);\r
-       req.send(true);\r
-       cp_statuses = req.result();\r
-       cp_statuses = cp_statuses.sort(_rdetailSortStatuses);\r
-}\r
-\r
-function _rdetailSortStatuses(a, b) {\r
-       return parseInt(a.id()) - parseInt(b.id());\r
-}\r
-\r
-/**\r
- * Check for a Google Book preview \r
- */\r
-function rdetailCheckForGBPreview() {\r
-       if (!rdetailGoogleBookPreview) return;\r
-       searchForGBPreview( cleanISBN(record.isbn()) );\r
-}\r
-\r
-/**\r
- *\r
- * @param {DOM object} query The form element containing the\r
- *                     input parameters "isbns"\r
- */\r
-function searchForGBPreview( isbn ) {\r
-\r
-       // Delete any previous Google Booksearch JSON queries.\r
-       var GBPJsonScript = document.getElementById("GBPJsonScript");\r
-       if (GBPJsonScript) {\r
-               GBPJsonScript.parentNode.removeChild(GBPJsonScript);\r
-       }\r
-\r
-       // Add a script element with the src as the user's Google Booksearch query. \r
-       // JSON output is specified by including the alt=json-in-script argument\r
-       // and the callback function is also specified as a URI argument.\r
-       var GBPScriptElement = document.createElement("script");\r
-\r
-       GBPScriptElement.setAttribute("id", "GBPJsonScript");\r
-       GBPScriptElement.setAttribute("src",\r
-                       "http://books.google.com/books?bibkeys=" + \r
-                       isbn + "&jscmd=viewapi&callback=GBPreviewCallback");\r
-       GBPScriptElement.setAttribute("type", "text/javascript");\r
-\r
-       // make the request to Google booksearch\r
-       document.documentElement.firstChild.appendChild(GBPScriptElement);\r
-}\r
-\r
-/**\r
- * This function is the call-back function for the JSON scripts which \r
- * executes a Google book search response.\r
- *\r
- * XXX I18N of text needed\r
- *\r
- * @param {JSON} booksInfo is the JSON object pulled from the Google books service.\r
- */\r
-function GBPreviewCallback(GBPBookInfo) {\r
-       var GBPreviewDiv = document.getElementById("rdetail_preview_div");\r
-       var GBPBook;\r
-\r
-       for ( i in GBPBookInfo ) {\r
-               GBPBook = GBPBookInfo[i];\r
-       }\r
-\r
-       if ( !GBPBook ) {\r
-               return;\r
-       }\r
-\r
-       if ( GBPBook.preview != "noview" ) {\r
-               if ( GBPBook.preview == 'full' ) {\r
-                       setText( $('rdetail_preview_link'), $('rdetail_preview_full_text').innerHTML );\r
-                       $('rdetail_preview_link_a').title = $('rdetail_preview_title').innerHTML;      \r
-               }\r
-\r
-               // Add a button below the book cover image to load the preview.\r
-//             GBPBadge = document.createElement( 'img' );\r
-//             GBPBadge.src = 'http://books.google.com/intl/en/googlebooks/images/gbs_preview_button1.gif';\r
-//             GBPBadge.title = $('rdetail_preview_badge').innerHTML;\r
-//             GBPBadge.style.border = 0;\r
-//             GBPBadgelink = document.createElement( 'a' );\r
-//             GBPBadgelink.href = 'javascript:rdetailShowExtra("preview");';\r
-//             GBPBadgelink.appendChild( GBPBadge );\r
-//             $('rdetail_image_cell').appendChild( GBPBadgelink );\r
-//             $('rdetail_preview_div').style.height = 600;\r
-\r
-               /* Display the "Preview" tab in the Extras section */\r
-               unHideMe( $('rdetail_preview_link' ) );\r
-       }\r
-}\r
-\r
-/**\r
- *  This is called when the user clicks on the 'Preview' link.  We assume\r
- *  a preview is available from Google if this link was made visible.\r
- *\r
- * XXX I18N of Google Book Preview language attribute needed\r
- */\r
-function rdetailDisplayGBPreview() {\r
-       unHideMe($('rdetail_extras_loading'));\r
-       GBPreviewPane = $('rdetail_preview_div');\r
-       if ( GBPreviewPane.getAttribute('loaded') == null ||\r
-               GBPreviewPane.getAttribute('loaded') == "false" ) {\r
-               google.load("books", "0", {"callback" : rdetailGBPViewerLoadCallback, "language": "en"} );\r
-               GBPreviewPane.setAttribute('loaded', 'true');\r
-       }\r
-}\r
-\r
-function rdetailGBPViewerLoadCallback() {\r
-       hideMe($('rdetail_extras_loading'));\r
-       var GBPViewer = new google.books.DefaultViewer(document.getElementById('rdetail_preview_div'));\r
-       GBPViewer.load('ISBN:' + cleanISBN(record.isbn()) );\r
-\r
-}\r
diff --git a/web/opac/skin/uwin/js/result_common.js b/web/opac/skin/uwin/js/result_common.js
deleted file mode 100644 (file)
index 65faf8f..0000000
+++ /dev/null
@@ -1,770 +0,0 @@
-
-var recordsHandled = 0;
-var recordsCache = [];
-var lowHitCount = 4;
-var isbnList = '';
-var googleBooksLink = false;
-var enableHoldsOnAvailable = false;
-
-var resultFetchAllRecords = false;
-var resultCompiledSearch = null;
-
-/* set up the event handlers */
-if( findCurrentPage() == MRESULT || findCurrentPage() == RRESULT ) {
-       G.evt.result.hitCountReceived.push(resultSetHitInfo);
-       G.evt.result.recordReceived.push(resultDisplayRecord, resultAddCopyCounts);
-       G.evt.result.copyCountsReceived.push(resultDisplayCopyCounts);
-       G.evt.result.allRecordsReceived.push(resultBuildCaches, resultDrawSubjects, 
-      resultDrawAuthors, resultDrawSeries, function(){unHideMe($('result_info_2'))},
-         fetchGoogleBooksLink);
-
-       attachEvt('result','lowHits',resultLowHits);
-       attachEvt('result','zeroHits',resultZeroHits);
-       attachEvt( "common", "locationUpdated", resultSBSubmit );
-       /* do this after we have ID's so the rank for mr pages will be correct */
-       attachEvt("result", "preCollectRecords", resultPaginate);
-}
-
-function resultSBSubmit(){searchBarSubmit();}
-
-/* returns the last 'index' postion ocurring in this page */
-function resultFinalPageIndex() {
-       if(getHitCount() < (getOffset() + getDisplayCount())) 
-               return getHitCount() - 1;
-       return getOffset() + getDisplayCount() - 1;
-}
-
-
-
-
-/* generic search method */
-function resultCollectSearchIds( type, method, handler ) {
-
-       var sort                = (getSort() == SORT_TYPE_REL) ? null : getSort(); 
-       var sortdir = (sort) ? ((getSortDir()) ? getSortDir() : SORT_DIR_ASC) : null;
-
-       var item_type;
-       var item_form;
-       var args = {};
-
-       if( type ) {
-               var form = parseForm(getForm());
-               item_type = form.item_type;
-               item_form = form.item_form;
-
-       } else {
-               item_type = (getItemType()) ? getItemType().split(/,/) : null;
-               item_form = (getItemForm()) ? getItemForm().split(/,/) : null;
-       }
-
-       var limit = (resultFetchAllRecords) ? 1000 : getDisplayCount();
-
-       if( getOffset() > 0 ) {
-               if( getHitCount() > 0 && (getOffset() + getDisplayCount()) > getHitCount() ) 
-                       limit = getHitCount() - getOffset();
-       }
-
-       var lasso = getLasso();
-
-       if (lasso) args.org_unit = -lasso;
-       else args.org_unit = getLocation();
-
-       args.depth    = getDepth();
-       args.limit    = limit;
-       args.offset   = getOffset();
-       args.visibility_limit = 3000;
-    args.default_class = getStype();
-
-       if(sort) args.sort = sort;
-       if(sortdir) args.sort_dir = sortdir;
-       if(item_type) args.item_type    = item_type;
-       if(item_form) args.item_form    = item_form;
-    if(getAvail()) args.available = 1;
-
-
-       if(getAudience()) args.audience  = getAudience().split(/,/);
-       if(getLitForm()) args.lit_form  = getLitForm().split(/,/);
-       if(getLanguage()) args.language = getLanguage().split(/,/);
-       if(getBibLevel()) args.bib_level        = getBibLevel().split(/,/);
-       if(getCopyLocs()) args.locations        = getCopyLocs().split(/,/);
-    if(getPubdBefore()) args.before = getPubdBefore();
-    else if(getPubdAfter()) args.after = getPubdAfter();
-    else if(getPubdBetween()) args.between = getPubdBetween().split(/,/);
-
-       _debug('Search args: ' + js2JSON(args));
-       _debug('Raw query: ' + getTerm());
-
-       var req = new Request(method, args, getTerm(), 1);
-       req.callback(handler);
-       req.send();
-}
-
-
-
-
-
-/* set the search result info, number of hits, which results we're 
-       displaying, links to the next/prev pages, etc. */
-function resultSetHitInfo() { 
-
-       var lasso = getLasso();
-       if (!lasso) {
-               /* tell the user where the results are coming from */
-               var baseorg = findOrgUnit(getLocation());
-               var depth = getDepth();
-               var mydepth = findOrgDepth(baseorg);
-               if( findOrgDepth(baseorg) != depth ) {
-                       var tmporg = baseorg;
-                       while( mydepth > depth ) {
-                               mydepth--;
-                               tmporg = findOrgUnit(tmporg.parent_ou());
-                       }
-                       unHideMe($('including_results_for'));
-                       $('including_results_location').appendChild(text(tmporg.name()));
-               }
-       }
-
-
-       try{searchTimer.stop()}catch(e){}
-
-       //if( findCurrentPage() == MRESULT ) {
-       if( findCurrentPage() == MRESULT || 
-
-               (findCurrentPage() == RRESULT &&
-                       (
-                               getRtype() == RTYPE_TITLE ||
-                               getRtype() == RTYPE_AUTHOR ||
-                               getRtype() == RTYPE_SUBJECT ||
-                               getRtype() == RTYPE_SERIES ||
-                               getRtype() == RTYPE_KEYWORD 
-                       )
-
-               ) ) {
-
-               if(getHitCount() <= lowHitCount && getTerm())
-                       runEvt('result', 'lowHits');
-       }
-
-       if(getHitCount() == 0) {
-               runEvt('result', 'zeroHits');
-               return;
-       }
-
-
-       var pages = getHitCount() / getDisplayCount();
-       if(pages % 1) pages = parseInt(pages) + 1;
-
-       
-
-       var cpage = (getOffset()/getDisplayCount()) + 1;
-
-       G.ui.result.current_page.appendChild(text(cpage));
-       G.ui.result.num_pages.appendChild(text(pages + ")")); /* the ) is dumb */
-
-       $('current_page2').appendChild(text(cpage));
-       $('num_pages2').appendChild(text(pages + ")")); /* the ) is dumb */
-
-       /* set the offsets */
-       var offsetEnd = getDisplayCount() + getOffset();  
-       if( getDisplayCount() > (getHitCount() - getOffset()))  
-               offsetEnd = getHitCount();
-
-       G.ui.result.offset_end.appendChild(text(offsetEnd));
-       G.ui.result.offset_start.appendChild(text(getOffset() + 1));
-
-       $('offset_end2').appendChild(text(offsetEnd));
-       $('offset_start2').appendChild(text(getOffset() + 1));
-
-       G.ui.result.result_count.appendChild(text(getHitCount()));
-       unHideMe(G.ui.result.info);
-
-       $('result_count2').appendChild(text(getHitCount()));
-       unHideMe($('result_info_div2'));
-}
-
-function resultLowHits() {
-       showCanvas();
-       unHideMe($('result_low_hits'));
-       if(getHitCount() > 0)
-               unHideMe($('result_low_hits_msg'));
-
-    var words = [];
-    for(var key in resultCompiledSearch.searches) 
-        words.push(resultCompiledSearch.searches[key].term);
-
-       var sreq = new Request(CHECK_SPELL, words.join(' '));
-       sreq.callback(resultSuggestSpelling);
-       sreq.send();
-
-    for(var key in resultCompiledSearch.searches) {
-               var areq = new Request(FETCH_CROSSREF, key, resultCompiledSearch.searches[key].term);
-               areq.callback(resultLowHitXRef);
-               areq.send();
-       }
-
-       if( !(getForm() == null || getForm() == 'all' || getForm() == "") ) {
-               var a = {};
-               a[PARAM_FORM] = "all";
-               $('low_hits_remove_format_link').setAttribute('href',buildOPACLink(a));
-               unHideMe($('low_hits_remove_format'));
-       }
-
-       resultSuggestSearchClass();
-
-       if(getTerm()) resultExpandSearch(); /* advanced search */
-}
-
-var lowHitsXRefSet = {};
-var lowHitsXRefLink;
-var lowHitsXRefLinkParent;
-function resultLowHitXRef(r) {
-       if(!lowHitsXRefLink){
-               lowHitsXRefLinkParent = $('low_hits_xref_link').parentNode;
-               lowHitsXRefLink = lowHitsXRefLinkParent.removeChild($('low_hits_xref_link'));
-       }
-       var res = r.getResultObject();
-       var arr = res.from;
-       arr.concat(res.also);
-       if(arr && arr.length > 0) {
-               unHideMe($('low_hits_cross_ref'));
-               var word;
-               var c = 0;
-               while( word = arr.shift() ) {
-
-            if (lowHitsXRefSet[word] == 1) continue;
-            lowHitsXRefSet[word] = 1;
-
-                       if(c++ > 20) break;
-                       var a = {};
-                       a[PARAM_TERM] = word;
-                       var template = lowHitsXRefLink.cloneNode(true);
-                       template.setAttribute('href',buildOPACLink(a));
-                       template.appendChild(text(word));
-                       lowHitsXRefLinkParent.appendChild(template);
-                       lowHitsXRefLinkParent.appendChild(text(' '));
-               }
-       }
-}
-
-function resultZeroHits() {
-       showCanvas();
-       unHideMe($('result_low_hits'));
-       unHideMe($('result_zero_hits_msg'));
-       //if(getTerm()) resultExpandSearch(); /* advanced search */
-}
-
-function resultExpandSearch() {
-       var top = findOrgDepth(globalOrgTree);
-       if(getDepth() == top) return;
-       unHideMe($('low_hits_expand_range'));
-       var par = $('low_hits_expand_link').parentNode;
-       var template = par.removeChild($('low_hits_expand_link'));
-
-       var bottom = getDepth();
-       while( top < bottom ) {
-               var a = {};
-               a[PARAM_DEPTH] = top;
-               var temp = template.cloneNode(true);
-               temp.appendChild(text(findOrgTypeFromDepth(top).opac_label()))
-               temp.setAttribute('href',buildOPACLink(a));
-               par.appendChild(temp);
-               top++;
-       }
-}
-
-function resultSuggestSearchClass() {
-       var stype = getStype();
-       if(stype == STYPE_KEYWORD) return;
-       var a = {}; var ref;
-       unHideMe($('low_hits_search_type'));
-       if(stype != STYPE_TITLE) {
-               ref = $('low_hits_title_search');
-               unHideMe(ref);
-               a[PARAM_STYPE] = STYPE_TITLE;
-               ref.setAttribute('href',buildOPACLink(a));
-       }
-       if(stype != STYPE_AUTHOR) {
-               ref = $('low_hits_author_search');
-               unHideMe(ref);
-               a[PARAM_STYPE] = STYPE_AUTHOR;
-               ref.setAttribute('href',buildOPACLink(a));
-       }
-       if(stype != STYPE_SUBJECT) {
-               ref = $('low_hits_subject_search');
-               unHideMe(ref);
-               a[PARAM_STYPE] = STYPE_SUBJECT;
-               ref.setAttribute('href',buildOPACLink(a));
-       }
-       if(stype != STYPE_KEYWORD) {
-               ref = $('low_hits_keyword_search');
-               unHideMe(ref);
-               a[PARAM_STYPE] = STYPE_KEYWORD;
-               ref.setAttribute('href',buildOPACLink(a));
-       }
-       if(stype != STYPE_SERIES) {
-               ref = $('low_hits_series_search');
-               unHideMe(ref);
-               a[PARAM_STYPE] = STYPE_SERIES;
-               ref.setAttribute('href',buildOPACLink(a));
-       }
-}
-
-function resultSuggestSpelling(r) {
-       var res = r.getResultObject();
-       var phrase = getTerm();
-       var words = phrase.split(/ /);
-
-       var newterm = "";
-
-       for( var w = 0; w < words.length; w++ ) {
-               var word = words[w];
-               var blob = grep(res, function(i){return (i.word == word);});
-               if( blob ) blob = blob[0];
-               else continue;
-               if( blob.word == word ) {
-                       if( blob.suggestions && blob.suggestions[0] ) {
-                               newterm += " " + blob.suggestions[0];
-                               unHideMe($('did_you_mean'));
-                       } else {
-                               newterm += " " + word;
-                       }
-               }
-       }
-
-       var arg = {};
-       arg[PARAM_TERM] = newterm;
-       $('spell_check_link').setAttribute('href', buildOPACLink(arg));
-       $('spell_check_link').appendChild(text(newterm));
-}
-
-
-function resultPaginate() {
-       var o = getOffset();
-
-       if( !(  ((o) + getDisplayCount()) >= getHitCount()) ) {
-
-               var args = {};
-               args[PARAM_OFFSET]      = o + getDisplayCount();
-               args[PARAM_SORT]                = SORT;
-               args[PARAM_SORT_DIR] = SORT_DIR;
-               args[PARAM_RLIST]               = new CGI().param(PARAM_RLIST);
-
-               G.ui.result.next_link.setAttribute("href", buildOPACLink(args)); 
-               addCSSClass(G.ui.result.next_link, config.css.result.nav_active);
-
-               $('next_link2').setAttribute("href", buildOPACLink(args)); 
-               addCSSClass($('next_link2'), config.css.result.nav_active);
-
-               args[PARAM_OFFSET] = getHitCount() - (getHitCount() % getDisplayCount());
-
-               /* when hit count is divisible by display count, we have to adjust */
-               if( getHitCount() % getDisplayCount() == 0 ) 
-                       args[PARAM_OFFSET] -= getDisplayCount();
-
-        /*
-               G.ui.result.end_link.setAttribute("href", buildOPACLink(args)); 
-               addCSSClass(G.ui.result.end_link, config.css.result.nav_active);
-
-               $('end_link2').setAttribute("href", buildOPACLink(args)); 
-               addCSSClass($('end_link2'), config.css.result.nav_active);
-        */
-       }
-
-       if( o > 0 ) {
-
-               var args = {};
-               args[PARAM_SORT]                = SORT;
-               args[PARAM_SORT_DIR] = SORT_DIR;
-               args[PARAM_RLIST]               = new CGI().param(PARAM_RLIST);
-
-               args[PARAM_OFFSET] = o - getDisplayCount();
-               G.ui.result.prev_link.setAttribute( "href", buildOPACLink(args)); 
-               addCSSClass(G.ui.result.prev_link, config.css.result.nav_active);
-
-               $('prev_link2').setAttribute( "href", buildOPACLink(args)); 
-               addCSSClass($('prev_link2'), config.css.result.nav_active);
-
-               args[PARAM_OFFSET] = 0;
-               G.ui.result.home_link.setAttribute( "href", buildOPACLink(args)); 
-               addCSSClass(G.ui.result.home_link, config.css.result.nav_active);
-
-               $('search_home_link2').setAttribute( "href", buildOPACLink(args)); 
-               addCSSClass($('search_home_link2'), config.css.result.nav_active);
-       }
-
-       if(getDisplayCount() < getHitCount()) {
-               unHideMe($('start_end_links_span'));
-               unHideMe($('start_end_links_span2'));
-   }
-
-       showCanvas();
-       try{searchTimer.stop()}catch(e){}
-}
-
-function buildunAPISpan (span, type, id) {
-       var cgi = new CGI();
-       var d = new Date();
-
-       addCSSClass(span,'unapi-id');
-
-       span.setAttribute(
-               'title',
-               'tag:' + cgi.server_name + ',' +
-                       d.getFullYear() +
-                       ':' + type + '/' + id
-       );
-}
-
-function unhideGoogleBooksLink (data) {
-    for ( var i in data ) {
-        //if (data[i].preview == 'noview') continue;
-
-        var gbspan = $n(document.documentElement, 'googleBooksLink-' + i);
-        var gba = $n(gbspan, "googleBooks-link");
-
-        gba.setAttribute(
-            'href',
-            data[i].info_url
-        );
-        removeCSSClass( gbspan, 'hide_me' );
-    }
-}
-
-/* display the record info in the record display table 'pos' is the 
-               zero based position the record should have in the display table */
-function resultDisplayRecord(rec, pos, is_mr) {
-
-       if(rec == null) rec = new mvr(); /* so the page won't die if there was an error */
-       recordsHandled++;
-       recordsCache.push(rec);
-
-       var r = table.rows[pos + 1];
-    var currentISBN = cleanISBN(rec.isbn());
-
-    if (googleBooksLink) {
-           var gbspan = $n(r, "googleBooksLink");
-        if (currentISBN) {
-            gbspan.setAttribute(
-                'name',
-                gbspan.getAttribute('name') + '-' + currentISBN
-            );
-
-            if (isbnList) isbnList += ', ';
-            isbnList += currentISBN;
-        }
-    }
-
-/*
-       try {
-               var rank = parseFloat(ranks[pos + getOffset()]);
-               rank            = parseInt( rank * 100 );
-               var relspan = $n(r, "relevancy_span");
-               relspan.appendChild(text(rank));
-               unHideMe(relspan.parentNode);
-       } catch(e){ }
-*/
-
-       var pic = $n(r, config.names.result.item_jacket);
-       pic.setAttribute("src", buildISBNSrc(currentISBN));
-
-       var title_link = $n(r, config.names.result.item_title);
-       var author_link = $n(r, config.names.result.item_author);
-
-       if( is_mr )  {
-               var onlyrec = onlyrecord[ getOffset() + pos ];
-               if(onlyrec) {
-                       buildunAPISpan($n(r,'unapi'), 'biblio-record_entry', onlyrec);
-
-                       var args = {};
-                       args.page = RDETAIL;
-                       args[PARAM_OFFSET] = 0;
-                       args[PARAM_RID] = onlyrec;
-                       args[PARAM_MRID] = rec.doc_id();
-                       pic.parentNode.setAttribute("href", buildOPACLink(args));
-                       title_link.setAttribute("href", buildOPACLink(args));
-                       title_link.appendChild(text(normalize(truncate(rec.title(), 65))));
-                       
-               } else {
-                       buildunAPISpan($n(r,'unapi'), 'metabib-metarecord', rec.doc_id());
-
-                       buildTitleLink(rec, title_link); 
-                       var args = {};
-                       args.page = RRESULT;
-                       args[PARAM_OFFSET] = 0;
-                       args[PARAM_MRID] = rec.doc_id();
-                       pic.parentNode.setAttribute("href", buildOPACLink(args));
-               }
-
-       } else {
-               buildunAPISpan($n(r,'unapi'), 'biblio-record_entry', rec.doc_id());
-
-               buildTitleDetailLink(rec, title_link); 
-               var args = {};
-               args.page = RDETAIL;
-               args[PARAM_OFFSET] = 0;
-               args[PARAM_RID] = rec.doc_id();
-               pic.parentNode.setAttribute("href", buildOPACLink(args));
-
-               if (enableHoldsOnAvailable) {
-                       unHideMe($n(r,'place_hold_span'));
-               }
-
-               $n(r,'place_hold_link').setAttribute(
-                       'href','javascript:holdsDrawEditor({record:"'+rec.doc_id()+'",type:"T"});');
-       }
-
-       buildSearchLink(STYPE_AUTHOR, rec.author(), author_link);
-
-       if(! is_mr ) {
-       
-               if(!isNull(rec.edition()))      {
-                       unHideMe( $n(r, "result_table_extra_span"));
-                       $n(r, "result_table_edition_span").appendChild( text( rec.edition()) );
-               }
-               if(!isNull(rec.pubdate())) {
-                       unHideMe( $n(r, "result_table_extra_span"));
-                       unHideMe($n(r, "result_table_pub_span"));
-                       $n(r, "result_table_pub_span").appendChild( text( rec.pubdate() ));
-               }
-               if(!isNull(rec.publisher()) ) {
-                       unHideMe( $n(r, "result_table_extra_span"));
-                       unHideMe($n(r, "result_table_pub_span"));
-                       $n(r, "result_table_pub_span").appendChild( text( " " + rec.publisher() ));
-               }
-
-               if(!isNull(rec.physical_description()) ) {
-                       unHideMe( $n(r, "result_table_extra_span"));
-                       var t = " " + rec.physical_description();
-                       //$n(r, "result_table_phys_span").appendChild( text(t.replace(/:.*/g,'')));
-                       $n(r, "result_table_phys_span").appendChild( text(t));
-               }
-
-       }
-
-       resultBuildFormatIcons( r, rec, is_mr );
-
-       unHideMe(r);
-       
-       runEvt("result", "recordDrawn", rec.doc_id(), title_link);
-
-       /*
-       if(resultPageIsDone())  {
-               runEvt('result', 'allRecordsReceived', recordsCache);
-       }
-       */
-}
-
-function _resultFindRec(id) {
-       for( var i = 0; i != recordsCache.length; i++ ) {
-               var rec = recordsCache[i];
-               if( rec && rec.doc_id() == id )
-                       return rec;
-       }
-       return null;
-}
-
-
-function resultBuildFormatIcons( row, rec, is_mr ) {
-
-       var ress = rec.types_of_resource();
-
-       for( var i in ress ) {
-
-               var res = ress[i];
-               if(!res) continue;
-
-               var link = $n(row, res + "_link");
-               link.title = res;
-               var img = link.getElementsByTagName("img")[0];
-               removeCSSClass( img, config.css.dim );
-
-               var f = getForm();
-               if( f != "all" ) {
-                       if( f == modsFormatToMARC(res) ) 
-                               addCSSClass( img, "dim2_border");
-               }
-
-               var args = {};
-               args[PARAM_OFFSET] = 0;
-
-               if(is_mr) {
-                       args.page = RRESULT;
-                       args[PARAM_TFORM] = modsFormatToMARC(res);
-                       args[PARAM_MRID] = rec.doc_id();
-
-               } else {
-                       args.page = RDETAIL
-                       args[PARAM_RID] = rec.doc_id();
-               }
-
-               link.setAttribute("href", buildOPACLink(args));
-
-       }
-}
-
-function fetchGoogleBooksLink () {
-    if (isbnList && googleBooksLink) {
-        var scriptElement = document.createElement("script");
-        scriptElement.setAttribute("id", "jsonScript");
-        scriptElement.setAttribute("src",
-            "http://books.google.com/books?bibkeys=" + 
-            escape(isbnList) + "&jscmd=viewapi&callback=unhideGoogleBooksLink");
-        scriptElement.setAttribute("type", "text/javascript");
-        // make the request to Google Book Search
-        document.documentElement.firstChild.appendChild(scriptElement);
-    }
-}
-
-function resultPageIsDone(pos) {
-
-       return (recordsHandled == getDisplayCount() 
-               || recordsHandled + getOffset() == getHitCount());
-}
-
-var resultCCHeaderApplied = false;
-
-/* -------------------------------------------------------------------- */
-/* dynamically add the copy count rows based on the org type 'countsrow' 
-       is the row into which we will add TD's to hold the copy counts 
-       This code generates copy count cells with an id of
-       'copy_count_cell_<depth>_<pagePosition>'  */
-function resultAddCopyCounts(rec, pagePosition) {
-
-       var r = table.rows[pagePosition + 1];
-       var countsrow = $n(r, config.names.result.counts_row );
-       var ccell = $n(countsrow, config.names.result.count_cell);
-
-       var nodes = orgNodeTrail(findOrgUnit(getLocation()));
-       var node = nodes[0];
-       var type = findOrgType(node.ou_type());
-       ccell.id = "copy_count_cell_" + type.depth() + "_" + pagePosition;
-       ccell.title = type.opac_label();
-       //addCSSClass(ccell, config.css.result.cc_cell_even);
-
-       var lastcell = ccell;
-       var lastheadcell = null;
-
-       var cchead = null;
-       var ccheadcell = null;
-       if(!resultCCHeaderApplied && !getLasso()) {
-               ccrow = $('result_thead_row');
-               ccheadcell =  ccrow.removeChild($n(ccrow, "result_thead_ccell"));
-               var t = ccheadcell.cloneNode(true);
-               lastheadcell = t;
-               t.appendChild(text(type.opac_label()));
-               ccrow.appendChild(t);
-               resultCCHeaderApplied = true;
-       }
-
-       if(nodes[1]) {
-
-               var x = 1;
-               var d = findOrgDepth(nodes[1]);
-               var d2 = findOrgDepth(nodes[nodes.length -1]);
-
-               for( var i = d; i <= d2 ; i++ ) {
-       
-                       ccell = ccell.cloneNode(true);
-
-                       //if((i % 2)) removeCSSClass(ccell, "copy_count_cell_even");
-                       //else addCSSClass(ccell, "copy_count_cell_even");
-
-                       var node = nodes[x++];
-                       var type = findOrgType(node.ou_type());
-       
-                       ccell.id = "copy_count_cell_" + type.depth() + "_" + pagePosition;
-                       ccell.title = type.opac_label();
-                       countsrow.insertBefore(ccell, lastcell);
-                       lastcell = ccell;
-
-                       if(ccheadcell) {
-                               var t = ccheadcell.cloneNode(true);
-                               t.appendChild(text(type.opac_label()));
-                               ccrow.insertBefore(t, lastheadcell);
-                               lastheadcell = t;
-                       }
-               }
-       }
-
-       unHideMe($("search_info_table"));
-}
-
-/* collect copy counts for a record using method 'methodName' */
-function resultCollectCopyCounts(rec, pagePosition, methodName) {
-       if(rec == null || rec.doc_id() == null) return;
-
-       var loc = getLasso();
-       if (loc) loc = -loc;
-       else loc= getLocation();
-
-       var req = new Request(methodName, loc, rec.doc_id(), getForm() );
-       req.request.userdata = [ rec, pagePosition ];
-       req.callback(resultHandleCopyCounts);
-       req.send();
-}
-
-function resultHandleCopyCounts(r) {
-       runEvt('result', 'copyCountsReceived', r.userdata[0], r.userdata[1], r.getResultObject()); 
-}
-
-
-/* XXX Needs to understand Lasso copy counts... */
-/* display the collected copy counts */
-function resultDisplayCopyCounts(rec, pagePosition, copy_counts) {
-       if(copy_counts == null || rec == null) return;
-
-       if (getLasso()) {
-               var copy_counts_lasso = {
-                       transcendant : null,
-                       count : 0,
-                       unshadow : 0,
-                       available : 0,
-                       depth : -1,
-                       org_unit : getLasso()
-               };
-
-               for (var i in copy_counts) {
-                       copy_counts_lasso.transcendant = copy_counts[i].transcendant;
-                       copy_counts_lasso.count += parseInt(copy_counts[i].count);
-                       copy_counts_lasso.unshadow += parseInt(copy_counts[i].unshadow);
-                       copy_counts_lasso.available += parseInt(copy_counts[i].available);
-               }
-
-               copy_counts = [ copy_counts_lasso ];
-       }
-
-       var i = 0;
-       var metarecords = (findCurrentPage() == MRESULT);
-       while(copy_counts[i] != null) {
-               var cell = $("copy_count_cell_" + i +"_" + pagePosition);
-               var cts = copy_counts[i];
-               cell.appendChild(text(cts.available + " / " + cts.count));
-
-               if (!enableHoldsOnAvailable && (i == (copy_counts.length - 1))) {
-                       var resultTBody = findParentByNodeName(cell, 'TBODY');
-                       if (cts.available == 0 && cts.count > 0 && !metarecords) {
-                               dojo.query('[name="place_hold_span"]', resultTBody).removeClass('hide_me');
-                       } else {
-                               dojo.query('[name="place_hold_span"]', resultTBody).addClass('hide_me');
-                       }
-               }
-
-               if(isXUL()) {
-                       /* here we style opac-invisible records for xul */
-
-                       if( cts.depth == 0 ) {
-                               if(!cts.transcendant && !cts.unshadow) {
-                                       _debug("found an opac-shadowed record: " + rec.doc_id());
-                                       var row = cell.parentNode.parentNode.parentNode.parentNode.parentNode; 
-                                       if( cts.count == 0 ) 
-                                               addCSSClass( row, 'no_copies' );
-                                       else 
-                                               addCSSClass( row, 'shadowed' );
-                               }
-                       }
-               }
-               i++;
-       }
-}
-
-
diff --git a/web/opac/skin/uwin/js/rresult.js b/web/opac/skin/uwin/js/rresult.js
deleted file mode 100644 (file)
index d93aa45..0000000
+++ /dev/null
@@ -1,323 +0,0 @@
-var records = new Array();
-var table;
-var rowtemplate;
-var rresultLimit = 200;
-
-var rresultIsPaged = false;
-
-function rresultUnload() { removeChildren(table); table = null;}
-
-attachEvt("common", "unload", rresultUnload);
-attachEvt("common", "run", rresultDoSearch);
-attachEvt("result", "idsReceived", rresultCollectRecords); 
-attachEvt("result", "recordDrawn", rresultLaunchDrawn); 
-
-hideMe($('copyright_block')); 
-
-function rresultDoSearch() {
-
-       swapCanvas($('loading_alt'));
-
-       table = G.ui.result.main_table;
-       hideMe(G.ui.result.row_template);
-       if( table && table.parentNode ) {
-               while( table.parentNode.rows.length <= (getDisplayCount() +1) ) 
-                       hideMe(table.appendChild(G.ui.result.row_template.cloneNode(true)));
-       }
-       rresultCollectIds();
-}
-
-function rresultCollectIds() {
-       var ids;
-
-       switch(getRtype()) {
-
-               case RTYPE_COOKIE:
-                       ids = JSON2js(cookieManager.read(COOKIE_RIDS));
-                       _rresultHandleIds( ids, ids.length );
-                       break;
-
-               case RTYPE_TITLE:
-               case RTYPE_AUTHOR:
-               case RTYPE_SUBJECT:
-               case RTYPE_SERIES:
-               case RTYPE_KEYWORD:
-                       rresultDoRecordSearch();
-                       break;
-
-               case RTYPE_MULTI:
-                       rresultDoRecordMultiSearch();
-                       break;
-                       
-               case RTYPE_LIST :
-                       rresultHandleList();
-                       break;
-
-               case RTYPE_MARC :
-                       rresultCollectMARCIds();
-                       break;
-
-               case RTYPE_ISBN :
-                       rresultCollectISBNIds();
-                       break;
-
-               case RTYPE_TCN :
-                       rresultCollectTCNIds();
-                       break;
-
-               case RTYPE_ISSN :
-                       rresultCollectISSNIds();
-                       break;
-
-
-               case RTYPE_MRID :
-               case null :
-               case "" :
-               default:
-                       var form = rresultGetForm();
-                       var args = { format : form, org : getLocation(), depth : rresultGetDepth() };
-
-                       var lasso = getLasso();
-                       if (lasso) args.org = -lasso;
-
-                       var req = new Request(FETCH_RIDS, getMrid(), args);
-                       req.callback( rresultHandleRIds );
-                       req.send();
-
-                       if( rresultGetDepth() != findOrgDepth(globalOrgTree) ) {
-                               var link = $('rresult_show_all_link');
-                               if(link) {
-                                       unHideMe($('rresult_show_all'));
-                                       link.appendChild( text(
-                                               findOrgType(globalOrgTree.ou_type()).opac_label()));
-                               }
-
-                       } else {
-                               if( rresultGetDepth() != getDepth() ) { /* inside a limited display */
-                                       var link = $('rresult_show_here_link');
-                                       if(link) {
-                                               link.appendChild( text(
-                                                       findOrgType(findOrgUnit(getLocation()).ou_type()).opac_label()));
-                                               unHideMe($('rresult_show_here'));
-                                       }
-                               }
-                       }
-       }
-}
-
-function rresultExpandSearch() {
-       var args = {};
-       args[PARAM_RDEPTH] = findOrgDepth(globalOrgTree);
-       goTo(buildOPACLink(args));
-}
-
-function rresultContractSearch() {
-       var args = {};
-       RDEPTH = null;
-       args[PARAM_OFFSET] = 0;
-       goTo(buildOPACLink(args));
-}
-
-
-function rresultGetDepth() {
-       if( getRdepth() != null) return getRdepth();
-       return getDepth();
-}
-
-
-function rresultGetForm() {
-       var form;
-
-       if(getTform())  /* did the user select a format from the icon list (temporary) */
-               form = (getTform() == 'all') ? null : getTform();
-       else  /* did the use select a format from simple search dropdown */
-               form = (getForm() == 'all') ? null : getForm();
-
-       if(!form) { /* did the user select a format from the advanced search */
-               form = getItemType();
-               var f = getItemForm();
-
-               if(form) {
-                       form = form.replace(/,/,'');
-                       if(f) form += '-' + f;
-               } else {
-                       if(f) form = '-' + f;
-               }
-       }
-
-       return form;
-}
-
-
-function rresultCollectMARCIds() {
-
-       var args                        = {};
-       args.searches   = JSON2js(getSearches());
-       args.limit              = 200;
-       args.org_unit   = globalOrgTree.id();
-       args.depth              = 0;
-
-       rresultIsPaged = true;
-       var req = new Request(FETCH_ADV_MARC_MRIDS, args, getDisplayCount(), getOffset());
-       req.callback(rresultHandleRIds);
-       req.request.noretry = true;
-       req.send();
-}
-
-
-function rresultCollectISBNIds() {
-       var req = new Request(FETCH_ADV_ISBN_RIDS, getAdvTerm() );
-       req.callback(
-               function(r) {
-                       var blob = r.getResultObject();
-                       _rresultHandleIds(blob.ids, blob.count);
-               }
-       );
-       req.send();
-}
-
-function rresultCollectTCNIds() {
-       var req = new Request(FETCH_ADV_TCN_RIDS, getAdvTerm() );
-       req.callback(
-               function(r) {
-                       var blob = r.getResultObject();
-                       _rresultHandleIds(blob.ids, blob.count);
-               }
-       );
-       req.send();
-}
-
-function rresultCollectISSNIds() {
-       var req = new Request(FETCH_ADV_ISSN_RIDS, getAdvTerm() );
-       req.callback(
-               function(r) {
-                       var blob = r.getResultObject();
-                       _rresultHandleIds(blob.ids, blob.count);
-               }
-       );
-       req.send();
-}
-
-function rresultHandleList() {
-       var ids = new CGI().param(PARAM_RLIST);
-    var count;
-    if(!dojo.isArray(ids)) {
-        count = 1;
-        ids = [ids];
-    } else {
-        count = ids.length;
-    }
-       if(ids) _rresultHandleIds(ids, count);
-}
-
-var rresultTries = 0;
-function rresultHandleRIds(r) {
-       var res = r.getResultObject();
-
-       if(!res) res = {count:0,ids:[]};
-
-       if( res.count == 0 && rresultTries == 0 && ! r.noretry) {
-
-               rresultTries++;
-               var form = rresultGetForm();
-               var args = { format : form, org : getLocation(), depth : findOrgDepth(globalOrgTree) };
-
-               var lasso = getLasso();
-               if (lasso) args.org = -lasso;
-
-               var req = new Request(FETCH_RIDS, getMrid(), args );
-               req.callback( rresultHandleRIds );
-               req.send();
-               unHideMe($('no_formats'));
-               hideMe($('rresult_show_all'));
-
-       } else {
-
-               _rresultHandleIds(res.ids, res.count);
-       }
-}
-
-function _rresultHandleIds(ids, count) {
-       //var json = js2JSON({ids:ids,count:count});
-       /*
-       cookieManager.write(COOKIE_SRIDS, json, '+1d');
-       */
-
-       HITCOUNT = parseInt(count);
-       runEvt('result', 'hitCountReceived');
-       runEvt('result', 'idsReceived', ids, getOffset());
-}
-
-/*
-function rresultCollectRecords(ids) {
-       runEvt("result", "preCollectRecords");
-       var x = 0;
-       for( var i = getOffset(); i!= getDisplayCount() + getOffset(); i++ ) {
-               if(ids[i] == null) break;
-               var req = new Request(FETCH_RMODS, parseInt(ids[i]));
-               req.callback(rresultHandleMods);
-               req.request.userdata = x++;
-               req.send();
-       }
-}
-*/
-
-
-function rresultCollectRecords(ids, base) {
-       runEvt("result", "preCollectRecords");
-       var x = 0;
-
-       if (!base) base = 0;
-       if( rresultIsPaged )  base = 0;
-
-       for( var i = base; i!= getDisplayCount() + base; i++ ) {
-               if(ids[i] == null) break;
-               var req = new Request(FETCH_RMODS, parseInt(ids[i]));
-               req.callback(rresultHandleMods);
-               req.request.userdata = x++;
-               req.send();
-       }
-}
-
-
-function rresultHandleMods(r) {
-       var rec = r.getResultObject();
-       runEvt('result', 'recordReceived', rec, r.userdata, false);
-       resultCollectCopyCounts(rec, r.userdata, FETCH_R_COPY_COUNTS);
-       if(resultPageIsDone()) {
-               runEvt('result', 'allRecordsReceived', recordsCache);
-               unHideMe($('copyright_block')); 
-       }
-}
-
-function rresultLaunchDrawn(id, node) {
-       runEvt("rresult", "recordDrawn", id, node);
-}
-
-
-function rresultDoRecordSearch() { 
-       rresultIsPaged = true;
-       resultCollectSearchIds(true, SEARCH_RS_QUERY, rresultFilterSearchResults ); 
-}
-
-function rresultDoRecordMultiSearch() { 
-       rresultIsPaged = true;
-       resultCollectSearchIds(false, SEARCH_RS_QUERY, rresultFilterSearchResults ); 
-}
-
-
-function rresultFilterSearchResults(r) {
-       var result = r.getResultObject();
-       var ids = [];
-       if( result.count > 0 ) {
-               for( var i = 0; i != result.ids.length; i++ ) 
-                       ids.push(result.ids[i][0]);
-       }
-
-    resultCompiledSearch = result.compiled_search;
-    cookieManager.write(COOKIE_SEARCH, js2JSON(result.compiled_search), -1);
-       _rresultHandleIds( ids, result.count );
-}
-
-
-
diff --git a/web/opac/skin/uwin/js/search_bar.js b/web/opac/skin/uwin/js/search_bar.js
deleted file mode 100644 (file)
index 37dc49e..0000000
+++ /dev/null
@@ -1,88 +0,0 @@
-var searchBarExpanded = false;
-/* our search selector boxes */
-var _ts, _fs;
-
-
-var isFrontPage = false;
-
-
-G.evt.common.init.push(searchBarInit);
-
-/* if set by the org selector, this will be the location used the
-       next time the search is submitted */
-var newSearchLocation; 
-var newSearchDepth = null;
-
-
-function searchBarInit() {
-
-       _ts = G.ui.searchbar.type_selector;
-       _fs = G.ui.searchbar.form_selector;
-
-       try{G.ui.searchbar.text.focus();}catch(e){}
-       G.ui.searchbar.text.onkeydown = 
-               function(evt) {if(userPressedEnter(evt)) { searchBarSubmit(); } };
-       _ts.onkeydown = 
-               function(evt) {if(userPressedEnter(evt)) { searchBarSubmit(); } };
-       _fs.onkeydown = 
-               function(evt) {if(userPressedEnter(evt)) { searchBarSubmit(); } };
-
-       G.ui.searchbar.submit.onclick = searchBarSubmit;
-
-       /* set up the selector objects, etc */
-       G.ui.searchbar.text.value = (getTerm() != null) ? getTerm() : "";
-       setSelector(_ts,        getStype());
-       setSelector(_fs,        getForm());
-
-       depthSelInit();
-
-
-       if(!isFrontPage && (findCurrentPage() != MYOPAC)) {
-               attachEvt('common','depthChanged', searchBarSubmit);
-       }
-
-    if( (limit = $('opac.result.limit2avail')) ) {
-        if(getAvail()) limit.checked = true;
-        if(getSort() && getSortDir()) 
-            setSelector($('opac.result.sort'), getSort()+'.'+getSortDir());
-    }
-}
-
-function searchBarSubmit(isFilterSort) {
-
-       var text = G.ui.searchbar.text.value;
-
-       clearSearchParams();
-
-       if(!text || text == "") return;
-
-       var d   = (newSearchDepth != null) ?  newSearchDepth : depthSelGetDepth();
-       if(isNaN(d)) d = 0;
-
-       var args = {};
-
-       if(SHOW_MR_DEFAULT || (isFilterSort && findCurrentPage() == MRESULT)) {
-               args.page                               = MRESULT;
-       } else {
-               args.page                               = RRESULT;
-               args[PARAM_RTYPE]               = _ts.options[_ts.selectedIndex].value;
-       }
-
-       args[PARAM_STYPE]               = _ts.options[_ts.selectedIndex].value;
-       args[PARAM_TERM]                = text;
-       args[PARAM_LOCATION] = depthSelGetNewLoc();
-       args[PARAM_DEPTH]               = d;
-       args[PARAM_FORM]                = _fs.options[_fs.selectedIndex].value;
-
-    if($('opac.result.limit2avail')) {
-        args[PARAM_AVAIL] = ($('opac.result.limit2avail').checked) ? 1 : '';
-        if( (val = getSelectorVal($('opac.result.sort'))) ) {
-            args[PARAM_SORT] = val.split('.')[0]
-            args[PARAM_SORT_DIR] = val.split('.')[1]
-        }
-    }
-
-       goTo(buildOPACLink(args));
-}
-
-
diff --git a/web/opac/skin/uwin/js/sidebar.js b/web/opac/skin/uwin/js/sidebar.js
deleted file mode 100644 (file)
index 45296e4..0000000
+++ /dev/null
@@ -1,226 +0,0 @@
-/* set up the colors in the sidebar 
-       Disables/Enables certain components based on various state data */
-
-attachEvt("common", "init", initSideBar);
-attachEvt("common", "init", setSidebarLinks);
-
-attachEvt("common", "unload", sidebarTreesFree );
-
-function prevRResults() {
-       return buildOPACLink({ page : RRESULT });
-}
-
-function prevMResults() {
-       return buildOPACLink({ page : MRESULT });
-}
-
-function initSideBar() {
-       var page = findCurrentPage();
-
-       if( page == MRESULT ) 
-               unHideMe($("sidebar_results_wrapper"));
-
-       if( page == RRESULT ) {
-               unHideMe($("sidebar_results_wrapper"));
-               unHideMe(G.ui.sidebar[MRESULT]);
-               if( getRtype() == RTYPE_MRID )
-                       $("sidebar_title_group_results").setAttribute("href", prevMResults());
-               else hideMe($("sidebar_title_group_results").parentNode);
-       }
-
-       if( page == RDETAIL ) {
-               unHideMe($("sidebar_results_wrapper"));
-
-
-               unHideMe(G.ui.sidebar[MRESULT]);
-               if(getRtype())
-                       $("sidebar_title_results").setAttribute("href", prevRResults());
-               unHideMe(G.ui.sidebar[RRESULT]);
-
-               if( getRtype() == RTYPE_MRID )
-                       $("sidebar_title_group_results").setAttribute("href", prevMResults());
-               else hideMe($("sidebar_title_group_results").parentNode);
-       }
-
-       unHideMe(G.ui.sidebar[page]);
-       addCSSClass(G.ui.sidebar[page], "sidebar_item_active");
-
-       /* if we're logged in, show it and replace the Login link with the Logout link */
-       if(grabUser()) {
-               G.ui.sidebar.username_dest.appendChild(text(G.user.usrname()));
-               unHideMe(G.ui.sidebar.logoutbox);
-               unHideMe(G.ui.sidebar.logged_in_as);
-               hideMe(G.ui.sidebar.loginbox);
-       }
-
-       if(G.ui.sidebar.login) G.ui.sidebar.login.onclick = initLogin;
-       if(G.ui.sidebar.logout) G.ui.sidebar.logout.onclick = doLogout; 
-
-       if(isXUL()) hideMe( G.ui.sidebar.logoutbox );
-}
-
-/* sets up the login ui components */
-var loginBoxVisible = false;
-
-function loginDance() {
-
-       if(doLogin(true)) {
-
-               if(!strongPassword( G.ui.login.password.value ) ) {
-
-                       cookieManager.write(COOKIE_SES, "");
-                       hideMe($('login_table'));
-                       unHideMe($('change_pw_table'));
-                       $('change_pw_current').focus();
-                       $('change_pw_button').onclick = changePassword;
-                       setEnterFunc($('change_pw_2'), changePassword);
-
-               } else {
-                       loggedInOK();
-               }
-       }
-}
-
-function loggedInOK() {
-       showCanvas();
-       G.ui.sidebar.username_dest.appendChild(text(G.user.usrname()));
-       unHideMe(G.ui.sidebar.logoutbox);
-       unHideMe(G.ui.sidebar.logged_in_as);
-       hideMe(G.ui.sidebar.loginbox);
-       runEvt( 'common', 'loggedIn');
-       
-       var org = G.user.prefs[PREF_DEF_LOCATION];
-       if(!org) org = G.user.home_ou();
-
-       var depth = G.user.prefs[PREF_DEF_DEPTH];
-       if(! ( depth && depth <= findOrgDepth(org)) ) 
-               depth = findOrgDepth(org);
-
-       runEvt( "common", "locationChanged", org, depth);
-}
-
-
-function changePassword() {
-
-       var pc = $('change_pw_current').value;
-       var p1 = $('change_pw_1').value;
-       var p2 = $('change_pw_2').value;
-
-       if( p1 != p2 ) {
-               alert($('pw_no_match').innerHTML);
-               return;
-       }
-
-       if(!strongPassword(p2, true) ) return;
-
-       var req = new Request(UPDATE_PASSWORD, G.user.session, p2, pc );
-       req.send(true);
-       if(req.result()) {
-               alert($('pw_update_successful').innerHTML);
-               loggedInOK();
-       }
-}
-
-var pwRegexSetting;
-function strongPassword(pass, alrt) {
-
-    /* first, let's see if there is a configured regex */
-    if(!pwRegexSetting) {
-        var regex = fetchOrgSettingDefault(G.user.home_ou(), 'global.password_regex');
-        if(regex) {
-            if(pass.match(new RegExp(regex))) {
-                return true;
-            } else {
-                if(alrt)
-                      alert($('pw_not_strong').innerHTML);
-                return false;
-            }
-        }
-    }
-
-    /* no regex configured, use the default */
-
-       var good = false;
-
-       do {
-
-               if(pass.length < 7) break;
-               if(!pass.match(/.*\d+.*/)) break;
-               if(!pass.match(/.*[A-Za-z]+.*/)) break;
-               good = true;
-
-       } while(0);
-
-       if(!good && alrt) alert($('pw_not_strong').innerHTML);
-       return good;
-}
-
-function initLogin() {
-
-       G.ui.login.button.onclick = loginDance;
-       G.ui.login.username.onkeydown = 
-               function(evt) {if(userPressedEnter(evt)) loginDance();};
-       G.ui.login.password.onkeydown = 
-               function(evt) {if(userPressedEnter(evt)) loginDance();};
-
-//     if(loginBoxVisible) {
-//             showCanvas();
-//     } else {
-               swapCanvas(G.ui.login.box);
-               try{G.ui.login.username.focus();}catch(e){}
-//     }
-
-//     loginBoxVisible = !loginBoxVisible;
-       G.ui.login.cancel.onclick = showCanvas;
-       if(findCurrentPage() == MYOPAC) 
-               G.ui.login.cancel.onclick = goHome;
-}
-
-function setSidebarLinks() {
-       G.ui.sidebar.home_link.setAttribute("href", buildOPACLink({page:HOME}));
-       G.ui.sidebar.advanced_link.setAttribute("href", buildOPACLink({page:ADVANCED}));
-       G.ui.sidebar.myopac_link.setAttribute("href", buildOPACLink({page:MYOPAC}, false, true));
-}
-
-function sidebarTreesFree() {
-       removeChildren($(subjectSidebarTree.rootid));
-       removeChildren($(authorSidebarTree.rootid));
-       removeChildren($(seriesSidebarTree.rootid));
-       subjectSidebarTree = null;
-       authorSidebarTree = null;
-       seriesSidebarTree = null;
-}
-
-
-
-
-/* --------------------------------------------------------------------------------- */
-/* Code to support GALILEO links for PINES.  Fails gracefully
-/* --------------------------------------------------------------------------------- */
-attachEvt('common', 'init', buildEGGalLink);
-function buildEGGalLink() {
-
-       /* we're in a lib, nothing to do here */
-       if( getOrigLocation() ) return;
-       if(!$('eg_gal_link')) return;
-
-       //var link = 'http://demo.galib.uga.edu/express?pinesid=';
-       var link = 'http://www.galileo.usg.edu/express?pinesid=';
-       if(grabUser()) {
-               $('eg_gal_link').setAttribute('href', link + G.user.session);
-               return;
-       }
-
-       $('eg_gal_link').setAttribute('href', 'javascript:void(0);');
-       $('eg_gal_link').setAttribute('target', '');
-       $('eg_gal_link').onclick = function() {
-               /* we're not logged in.  go ahead and login */
-               detachAllEvt('common','locationChanged');
-               detachAllEvt('common','loggedIn');
-               attachEvt('common','loggedIn', function() { goTo(link + G.user.session); })
-               initLogin();
-       };
-}
-/* --------------------------------------------------------------------------------- */
-
-
diff --git a/web/opac/skin/uwin/js/sidebar_extras.js b/web/opac/skin/uwin/js/sidebar_extras.js
deleted file mode 100644 (file)
index cb35d88..0000000
+++ /dev/null
@@ -1,243 +0,0 @@
-
-/* captures extraneous info from each record */
-
-var subjectCache = {};
-var authorCache = {};
-var seriesCache = {};
-
-function resultBuildCaches(records) {
-       for( var r in records ) {
-               var rec = records[r];
-               for( var s in rec.subject() ) 
-                       subjectCache[s] == null ? subjectCache[s] = 1 : subjectCache[s]++;
-               authorCache[rec.author()] = 1;
-               for( var s in rec.series() ) seriesCache[rec.series()[s]] = 1;
-       }
-}
-
-function resultSortSubjects(a, b) { return -(a.count - b.count); } /* sort in reverse */
-function resultDrawSubjects() {
-
-       var subjs = [];
-       for( var s in subjectCache )
-               subjs.push( { sub : s, count : subjectCache[s] } );
-       subjs.sort(resultSortSubjects);
-
-       var ss = [];
-       for( var s in subjs ) ss.push(subjs[s].sub);
-
-       resultDrawSidebarTrees( 
-               STYPE_SUBJECT, 
-               "subjectSidebarTree", ss, 
-               $("subject_tree_sidebar"), 
-               $("subject_sidebar_tree_div") );
-}
-
-function resultDrawAuthors() {
-       var auths = new Array();
-       for( var s in authorCache ) auths.push(s);
-
-       resultDrawSidebarTrees( 
-               STYPE_AUTHOR, 
-               "authorSidebarTree", auths.sort(), 
-               $("author_tree_sidebar"), 
-               $("author_sidebar_tree_div") );
-}
-
-function resultDrawSeries() {
-       var sers = new Array();
-       for( var s in seriesCache ) sers.push(s);
-       resultDrawSidebarTrees( 
-               STYPE_SERIES, 
-               "seriesSidebarTree", sers.sort(), 
-               $("series_tree_sidebar"), 
-               $("series_sidebar_tree_div") );
-}
-
-var IESux = true;
-
-function resultDrawSidebarTrees( stype, treeName, items, wrapperNode, destNode ) {
-       eval("tree = " + treeName);
-
-       var xrefCache = [];
-       var found = false;
-       var x = 0;
-       for( var i in items ) {
-
-               if(isNull(items[i])) continue;
-
-               /* again, IE is a turd */
-               if(IE) { if(x++ > 5) break; }
-               else { if(x++ > 7) break; }
-
-               found = true;
-
-               var item = normalize(truncate(items[i], 65));
-               var args = {};
-               var href = resultQuickLink( items[i], stype );
-               tree.addNode( stype + "_" + items[i], treeName + 'Root', item, href );
-
-//             if( !IE ) resultFireXRefReq(treeName, stype, items[i]);
-
-               var a = {};
-               a.type = stype;
-               a.term = item;
-               xrefCache.push(a);
-       }
-
-       if(found) {
-               unHideMe(wrapperNode);
-//             if(IE) resultFireXRefSingle(treeName, xrefCache, stype);
-               /* XXX */ // disabled auth lookups for now
-
-               if( DO_AUTHORITY_LOOKUPS ) {
-                       resultFireXRefBatch(treeName, xrefCache, stype);
-               }
-       }
-}
-
-/* XXX */
-function resultFireXRefBatch(treeName, xrefCache, stype) {
-       var query = [];
-       for( var i = 0; i != xrefCache.length; i++ ) {
-               var topic = xrefCache[i];
-               query.push( [ topic.type, topic.term ] );
-       }
-       var req = new Request(FETCH_CROSSREF_BATCH, query);
-       var tree;
-       eval('tree=' + treeName);
-       req.request._tree = tree;
-       req.request._stype = stype;
-       req.callback(resultRenderXRefTree);
-       req.send();
-}
-
-var xrefCacheIndex = {};
-xrefCacheIndex['subject'] = 0;
-xrefCacheIndex['author'] = 0;
-xrefCacheIndex['series'] = 0;
-
-function resultHandleXRefResponse(r) {
-       resultFireXRefSingle( r._treename, r._cache, r._stype );
-       resultAppendCrossRef(r);
-}
-
-
-function resultFireXRefSingle( treeName, xrefCache, stype ) {
-       var i = xrefCacheIndex[stype]++;
-       if(xrefCache[i] == null) return;
-       var item = xrefCache[i].term;
-       var tree;
-       eval('tree=' + treeName);
-       var req = new Request(FETCH_CROSSREF, stype, item);
-       req.request._tree = tree;
-       req.request._item = item;
-       req.request._stype = stype;
-       req.request._cache = xrefCache;
-       req.request._treename = treeName;
-       req.callback(resultHandleXRefResponse);
-       req.send();
-}
-
-function resultFireXRefReq( treeName, stype, item ) {
-       var tree;
-       eval('tree=' + treeName);
-       var req = new Request(FETCH_CROSSREF, stype, item);
-       req.request._tree = tree;
-       req.request._item = item;
-       req.request._stype = stype;
-       req.callback(resultAppendCrossRef);
-       req.send();
-}
-
-
-function resultQuickLink( term, type ) {
-       var args = {};
-       if(SHOW_MR_DEFAULT) {
-               args.page = MRESULT;
-       } else {
-               args.page = RRESULT;
-               args[PARAM_RTYPE] = type;
-       }
-       args[PARAM_OFFSET] = 0;
-       args[PARAM_TERM] = term;
-       args[PARAM_STYPE] = type;
-       return buildOPACLink(args);
-}
-
-/* XXX */
-function resultRenderXRefTree(r) {
-       var tree = r._tree;
-       var res = r.getResultObject();
-       var stype = r._stype;
-
-       for( var c in res ) {
-               var cls = res[c];
-               for( var t in cls ) {
-                       var term = res[c][t];
-                       var froms = term['from'];
-                       var alsos = term['also'];
-                       var total = 0;
-
-                       for( var i = 0; (total++ < 5 && i < froms.length); i++ ) {
-                               var string = normalize(truncate(froms[i], 45));
-                               if($(stype + '_' + froms[i])) continue;
-                               tree.addNode(stype + '_' + froms[i], 
-                                       stype + '_' + t, string, resultQuickLink(froms[i],stype));
-                       }
-                       for( var i = 0; (total++ < 10 && i < alsos.length); i++ ) {
-                               var string = normalize(truncate(alsos[i], 45));
-                               if($(stype + '_' + alsos[i])) continue;
-                               tree.addNode(stype + '_' + alsos[i], 
-                                       stype + '_' + t, string, resultQuickLink(alsos[i],stype));
-                       }
-               }
-       }
-}
-
-
-/* Addes the see-from/see-also entries for this subject item */
-function resultAppendCrossRef(r) {
-       var tree                = r._tree
-       var item                = r._item
-       var stype       = r._stype;
-       var result      = r.getResultObject();
-       if(!result) return;
-       var froms       = result['from'];
-       var alsos       = result['also'];
-
-       var total = 0;
-
-       for( var i = 0; (total++ < 5 && i < froms.length); i++ ) 
-               resultAddXRefItem( tree, item, stype, froms, i );
-
-       for( var i = 0; (total++ < 10 && i < alsos.length); i++ ) 
-               resultAddXRefItem( tree, item, stype, alsos, i );
-}
-
-/**
- * Adds a single entry into the see-from/also sidebar tree 
- */
-var collectedStrings = [];
-function resultAddXRefItem(tree, rootItem, stype, arr, idx) {
-
-       var string = normalize(truncate(arr[idx], 45));
-
-       if( string == rootItem ) return;
-
-       if( grep( collectedStrings, 
-               function(a) { return (a == string); }) ) return;
-
-       if($(stype + '_' + arr[idx])) return;
-
-       tree.addNode(stype + '_' + arr[idx], 
-               stype + '_' + rootItem, string, resultQuickLink(arr[idx],stype));
-
-       collectedStrings.push(string);
-}
-
-
-
-
-
-
diff --git a/web/opac/skin/uwin/js/tips.js b/web/opac/skin/uwin/js/tips.js
deleted file mode 100644 (file)
index b24985b..0000000
+++ /dev/null
@@ -1,19 +0,0 @@
-attachEvt('result', 'allRecordsReceived', insertTip);
-
-/*
-var user_tips = [
-       'Click on a folder icon in the sidebar to access related quick searches',
-       "If you don't find what you want try expanding your search using the range selector at the right of the search bar"
-];
-*/
-
-function insertTip () {
-       var tip_div = document.getElementById('tips');
-       if (tip_div) {
-               var tips = tip_div.getElementsByTagName('div')[0].getElementsByTagName('span');
-               var index = Math.floor(Math.random() * tips.length);
-               tip_div.appendChild( tips[index] );
-               removeCSSClass(tip_div, 'hide_me');
-       }
-}
-
diff --git a/web/opac/skin/uwin/local/images/uwin_main.png b/web/opac/skin/uwin/local/images/uwin_main.png
deleted file mode 100644 (file)
index abf09a1..0000000
Binary files a/web/opac/skin/uwin/local/images/uwin_main.png and /dev/null differ
diff --git a/web/opac/skin/uwin/local/images/uwin_small.png b/web/opac/skin/uwin/local/images/uwin_small.png
deleted file mode 100644 (file)
index 25df42f..0000000
Binary files a/web/opac/skin/uwin/local/images/uwin_small.png and /dev/null differ
diff --git a/web/opac/skin/uwin/local/locale/en-CA/opac.dtd b/web/opac/skin/uwin/local/locale/en-CA/opac.dtd
deleted file mode 100644 (file)
index e676481..0000000
+++ /dev/null
@@ -1,699 +0,0 @@
-<!--   ================================================================= \r
-               Some generic stuff \r
-               ================================================================= -->\r
-<!ENTITY lang.version "remote v1">\r
-<!ENTITY lang.description "English">\r
-<!ENTITY lang.author "PINES">\r
-<!ENTITY common.all "All">\r
-<!ENTITY common.currency "$">\r
-<!ENTITY common.language "Language: ">\r
-<!ENTITY common.name "Name">\r
-<!ENTITY common.none "None">\r
-<!ENTITY common.title "Title">\r
-<!ENTITY common.author "Author">\r
-<!ENTITY common.authors "Authors">\r
-<!ENTITY common.callnumber "Call Number">\r
-<!ENTITY common.edition "Edition">\r
-<!ENTITY common.subject "Subject">\r
-<!ENTITY common.series "Series">\r
-<!ENTITY common.keyword "Keyword">\r
-<!ENTITY common.type "Search Type">\r
-<!ENTITY common.isbn "ISBN">\r
-<!ENTITY common.format "Format">\r
-<!-- Message displayed while search results are loading -->\r
-<!ENTITY common.loading "Loading...">\r
-<!ENTITY common.login "Login">\r
-<!ENTITY common.logout "Log Out">\r
-<!ENTITY common.physical "Physical Description">\r
-<!ENTITY common.pubdate "Publication Date">\r
-<!ENTITY common.publisher "Publisher">\r
-<!ENTITY common.results "Results">\r
-<!ENTITY common.select "Select">\r
-<!ENTITY common.status "Status">\r
-<!ENTITY common.at "at">\r
-<!ENTITY common.of "of">\r
-<!ENTITY common.no "No">\r
-<!ENTITY common.yes "Yes">\r
-<!ENTITY common.cancel "Cancel">\r
-<!ENTITY common.library "Library">\r
-<!ENTITY common.username "Username">\r
-<!ENTITY common.password "Password">\r
-<!ENTITY common.submit "Submit">\r
-<!ENTITY common.close "close">\r
-<!ENTITY common.and "and">\r
-<!ENTITY common.user_not_found "User not found">\r
-<!ENTITY opac.advanced.wizard.title "Advanced Search">\r
-<!ENTITY common.nowSearching "Now searching ">\r
-<!ENTITY common.ofAtLeast " of about ">\r
-<!ENTITY common.relevancy "Match Score: ">\r
-<!ENTITY common.tips "Tips:">\r
-<!ENTITY common.tips.tip1 "Click on a folder icon in the sidebar to access related quick searches">\r
-<!ENTITY common.tips.tip2 "If you don't find what you want try expanding your search using the range selector at the right of the search bar">\r
-<!ENTITY common.org.openAll "Expand All">\r
-<!ENTITY common.org.closeAll "Close All">\r
-<!ENTITY common.org.cancel "Cancel">\r
-<!ENTITY common.org.loading "Loading library selector...">\r
-<!ENTITY common.org.note "Tip:">\r
-<!ENTITY common.org.notetext "Click on a location's name to select it.  Click on the folder icons to expand a section.">\r
-<!ENTITY opac.login.login "">\r
-<!ENTITY opac.basic "Basic Catalogue (HTML only)">\r
-<!ENTITY common.password_criteria "The password must be at least 7 characters in length, \r
-       contain at least one letter (a-z/A-Z), \r
-       and contain at least one number.">\r
-<!ENTITY common.a2z.title "Title: A to Z">\r
-<!ENTITY common.z2a.title "Title: Z to A">\r
-<!ENTITY common.a2z.author "Author: A to Z">\r
-<!ENTITY common.z2a.author "Author: Z to A">\r
-<!ENTITY common.new2old.pubdate "Date: Newest to Oldest">\r
-<!ENTITY common.old2new.pubdate "Date: Oldest to Newest">\r
-\r
-<!ENTITY opac.style.reddish "Reddish">\r
-\r
-<!ENTITY holds.where_am_i "Holds lists are not as simple as\r
-       'first come, first served.'  A complex matrix combining\r
-       consideration of item ownership, patron home library, and item purchase\r
-       date determines  priorities for holds; the list is dynamic, changing\r
-       with every hold placed.  Therefore, any indication of a place in the\r
-       holds list would be inaccurate.  The holds system is designed to\r
-       obtain a requested item in the fastest and most efficient way possible.\r
-       Your library will contact you when you hold items become\r
-       available.">\r
-\r
-<!ENTITY holds.advanced_options "If you wish to broaden the scope of your hold to include other \r
-       versions of this title, select the formats that would be acceptable. \r
-       The first available copy will be sent to you.">\r
-<!--   ================================================================= \r
-               Events and Permissions \r
-               ================================================================= -->\r
-\r
-<!ENTITY ilsevent.0 "Operation Succeeded">\r
-<!ENTITY ilsevent.1000 "Login failed.  The username or password entered was incorrect.">\r
-<!ENTITY ilsevent.1001 "Login session has timed out or does not exist">\r
-<!ENTITY ilsevent.1002 "User was not found in the database">\r
-<!ENTITY ilsevent.1200 "The given username already exists in the database">\r
-<!ENTITY ilsevent.5000 "Permission Denied">\r
-<!ENTITY ilsperm.CREATE_HOLD "User is not allowed to create holds for other users at this location">\r
-<!--   ================================================================= \r
-       common/pages\r
-       ================================================================= -->\r
-\r
-\r
-<!ENTITY common.cn.loading "Loading Callnumber Page...">\r
-<!ENTITY common.cn.browsing "You are now browsing">\r
-<!ENTITY common.cn.previous "&lt;&lt; Previous Page">\r
-<!ENTITY common.cn.shelf "Shelf Browser">\r
-<!ENTITY common.cn.next "Next Page &gt;&gt;">\r
-\r
-<!ENTITY common.textsize.title "Text Size: ">\r
-<!ENTITY common.textsize.regular "Regular">\r
-<!-- Regular / Large -->\r
-<!ENTITY common.textsize.separator "/">\r
-<!ENTITY common.textsize.large "Large">\r
-\r
-<!ENTITY home.js.disabled "JavaScript must be enabled in order for you to use the regular Evergreen Catalogue. \r
-However, it seems JavaScript is either disabled or not supported by your browser. \r
-To use the regular Evergreen Catalogue, enable JavaScript by changing your browser options, then \r
-<a style='color: blue; text-decoration: underline;' href='/'>try again</a>. \r
-<br/><br/>Alternatively, you can use the basic HTML-only catalogue \r
-<a style='color: blue; text-decoration: underline;' href='/opac/extras/slimpac/start.html'>here</a>.">\r
-<!--   ================================================================= \r
-        MyOPAC bookbag page\r
-       ================================================================= -->\r
-\r
-<!ENTITY myopac.delete.bookbag "This will remove the selected bookbag and all items contained within the bookbag.  \r
-Are you sure you wish to continue?">\r
-<!ENTITY myopac.no.bookbags "You have not created any bookbags">\r
-<!ENTITY myopac.bookbags.title "My Bookbags">\r
-<!ENTITY myopac.bookbag.items "# Items">\r
-<!ENTITY myopac.bookbag.shared "Shared">\r
-<!ENTITY myopac.bookbag.toggle "Share / Hide">\r
-<!ENTITY myopac.bookbag.delete "Delete this bookbag?">\r
-<!ENTITY myopac.items "Items">\r
-<!ENTITY myopac.view "(View)">\r
-<!ENTITY myopac.atom.feed "ATOM Feed">\r
-<!ENTITY myopac.bookbag.hide "Hide">\r
-<!ENTITY myopac.delete "Delete">\r
-<!ENTITY myopac.bookbag.create "Create a new Bookbag">\r
-<!ENTITY myopac.bookbag.naming "Enter the name of the new Bookbag: ">\r
-<!ENTITY myopac.bookbag.share "Share this Bookbag">\r
-<!ENTITY myopac.bookbag.no.items "The selected bookbag contains no items...">\r
-<!ENTITY myopac.bookbag.remove "Remove this item?">\r
-<!ENTITY myopac.remove.link "remove">\r
-<!ENTITY myopac.publish.text 'Sharing a Bookbag means that the contents of the Bookbag will be visible to others.  \r
-To see the public view of a shared Bookbag, click the "View" link in the \r
-"Shared" column of the Bookbag list at the top of this page.'>\r
-<!ENTITY myopac.item.confirm "Are you sure you wish to remove this bookbag item?">\r
-<!ENTITY myopac.publish.confirm "Sharing this bookbag will allow the contents \r
-of the bookback to be seen by others.  Are you sure you wish to share this bookbag?">\r
-<!ENTITY myopac.unpublish.confirm "Are you sure you wish to hide this bookbag?">\r
-<!ENTITY myopac.update.success "The Bookbag was successfully updated.">\r
-<!ENTITY myopac.updated.success "Bookbag successfully updated">\r
-<!ENTITY myopac.create.warning "Warning: Adding items to a bookbag creates a link between you and the\r
-items in the database.  The contents of the bookbag are NOT publicly \r
-viewable unless the bookbag is shared. However, if you prefer not to\r
-have any link between your patron record and a particular item or items,\r
-we suggest that you do not place said items in a bookbag or that you \r
-avoid using bookbags all together.  Thank you.">\r
-<!ENTITY myopac.describe.bookbags "Bookbags are...">\r
-<!--   ================================================================= \r
-       MyOPAC Checked Page \r
-       ================================================================= -->\r
-\r
-<!ENTITY myopac.checked.out "Total items out:">\r
-<!ENTITY myopac.checked.overdue "Total items overdue:">\r
-<!ENTITY myopac.checked.renew "Renew Selected Items">\r
-<!ENTITY myopac.checked.renewing "Renewing...">\r
-<!ENTITY myopac.checked.renew.remaining "Renewals Remaining">\r
-<!ENTITY myopac.checked.noitems "You have no items checked out at this time">\r
-<!ENTITY myopac.checked.other.circ "Other Circulations">\r
-<!ENTITY myopac.checked.circ.lib "Circulating Library">\r
-<!ENTITY myopac.checked.item.type "Circulation Type">\r
-<!ENTITY myopac.checked.circ.time "Please return by ...">\r
-<!ENTITY myopac.checked.renew.success "item(s) successfully renewed">\r
-<!ENTITY myopac.checked.renew.confirm "Are you sure you wish to renew the selected item(s)?">\r
-<!ENTITY myopac.checked.renew.fail "The system is unable to renew the selected item at this time.  This usually means the item is needed to fulfill a hold.  Please see a librarian for further help.">\r
-<!ENTITY myopac.checked.renew.fail2 "Library policy prevents the renewal of this item at this time.  Please see a librarian for further details.">\r
-<!--   ================================================================= \r
-       MyOPAC Fines Page \r
-       ================================================================= -->\r
-\r
-<!ENTITY myopac.fines.title "Summary">\r
-<!ENTITY myopac.fines.owed "Total Owed">\r
-<!ENTITY myopac.fines.paid "Total Paid">\r
-<!ENTITY myopac.fines.balance "Balance Owed">\r
-<!ENTITY myopac.fines.status "Loading...">\r
-<!ENTITY myopac.fines.overdue "Overdue Materials">\r
-<!ENTITY myopac.fines.checkout "Checkout Date">\r
-<!ENTITY myopac.fines.due "Due Date">\r
-<!ENTITY myopac.fines.returned "Date Returned">\r
-<!ENTITY myopac.fines.accruing "(fines accruing)">\r
-<!ENTITY myopac.fines.other "Other Fees">\r
-<!ENTITY myopac.fines.time.start "Transaction Start Time">\r
-<!ENTITY myopac.fines.time.paid "Last Payment Time">\r
-<!ENTITY myopac.fines.owed.initial "Initial Amount Owed">\r
-<!ENTITY myopac.fines.paid.amount "Total Amount Paid">\r
-<!ENTITY myopac.fines.type "Billing Type">\r
-<!--   ================================================================= \r
-       MyOPAC Holds Page \r
-       ================================================================= -->\r
-\r
-<!ENTITY myopac.holds.formats "Formats">\r
-<!ENTITY myopac.holds.location "Pickup Location">\r
-<!ENTITY myopac.holds.edit "Edit">\r
-<!ENTITY myopac.holds.status.none "You have no items on hold at this time">\r
-<!ENTITY myopac.holds.status.waiting "Waiting for copy">\r
-<!ENTITY myopac.holds.status.intransit "In Transit">\r
-<!ENTITY myopac.holds.status.available "Ready for Pickup">\r
-<!ENTITY myopac.holds.cancel "Cancel">\r
-<!ENTITY myopac.holds.verify "If you wish to cancel the selected hold, click OK, otherwise click Cancel.">\r
-<!ENTITY myopac.holds.freeze_selected "Suspend">\r
-<!ENTITY myopac.holds.thaw_selected "Activate">\r
-<!ENTITY myopac.holds.thaw_date_selected "Set Active Date">\r
-<!ENTITY myopac.holds.cancel_selected "Cancel">\r
-<!ENTITY myopac.holds.processing "Processing holds... This may take a moment.">\r
-<!ENTITY myopac.holds.actions "Actions for selected holds">\r
-<!ENTITY myopac.holds.cancel.confirm "Are you sure you wish to cancel the selected holds?">\r
-<!ENTITY myopac.holds.freeze.confirm 'Are you sure you wish to suspend the selected holds?\r
-If an item has already been selected to fulfill the hold, it will not be suspended'>\r
-<!ENTITY myopac.holds.thaw.confirm 'Are you sure you wish to activate the selected holds?'>\r
-<!ENTITY myopac.holds.thaw_date.confirm 'Are you sure you wish to change the activate date for the selected holds?'>\r
-<!ENTITY myopac.holds.freeze.select_thaw "Select an automatic activation date.  If no date is chosen, the holds will remain suspended until they are manually activated.">\r
-\r
-<!ENTITY opac.holds.freeze "Suspend this hold">\r
-<!ENTITY opac.holds.freeze.help "A suspended hold will retain its place in the queue, but will not be fulfilled until it has been activated.">\r
-<!ENTITY opac.holds.freeze.thaw_date "Automatically activate hold on:">\r
-<!ENTITY opac.holds.expire_time "Expiration date">\r
-<!ENTITY myopac.holds.estimated_wait "Estimated Wait (days)">\r
-<!--   ================================================================= \r
-       MyOPAC Preferences Page \r
-       ================================================================= -->\r
-\r
-<!ENTITY myopac.prefs.title "Preferences">\r
-<!ENTITY myopac.prefs.hits "Search hits per page">\r
-<!ENTITY myopac.prefs.font "Default Font Size">\r
-<!ENTITY myopac.prefs.font.regular "Regular Font">\r
-<!ENTITY myopac.prefs.font.large "Large Font">\r
-<!ENTITY myopac.prefs.holds.notify "Default Hold Notification Method">\r
-<!ENTITY myopac.prefs.holds.both "Use Phone and Email">\r
-<!ENTITY myopac.prefs.holds.phone "Use Phone Only">\r
-<!ENTITY myopac.prefs.holds.email "Use Email Only">\r
-<!ENTITY myopac.prefs.search.location "Default Search Location">\r
-<!ENTITY myopac.prefs.search.home "Always search my home library by default.">\r
-<!ENTITY myopac.prefs.search.range "Default Search Range">\r
-<!ENTITY myopac.prefs.save "Save Preference Changes">\r
-<!ENTITY myopac.prefs.save.success "Preferences successfully updated">\r
-<!ENTITY myopac.prefs.save.failed "Preferences update failed!">\r
-<!ENTITY myopac.prefs.help "This setting defines how you will be notified of holds that are ready to be picked up from the library.\r
-By default, holds will use the notification style you choose here.  \r
-However, you will still have the option to change individual holds regardless of this setting.">\r
-<!ENTITY myopac.holds.unfrozen "Active">\r
-<!ENTITY myopac.holds.frozen.until "Activate on...">\r
-<!--   ================================================================= \r
-        MyOPAC Summary page\r
-       ================================================================= -->\r
-\r
-<!ENTITY myopac.summary.expired "Your account expired on <span id='myopac.expired.date'/>!  \r
-Please see a librarian to renew your account.">\r
-<!ENTITY myopac.summary.notes "* Staff Notes *">\r
-<!ENTITY myopac.summary.phone.day "Day Phone">\r
-<!ENTITY myopac.summary.phone.evening "Evening Phone">\r
-<!ENTITY myopac.summary.phone.other "Other Phone">\r
-<!ENTITY myopac.summary.change "Change">\r
-<!ENTITY myopac.summary.username.enter "Enter new username:">\r
-<!ENTITY myopac.summary.password.text "(not shown)">\r
-<!ENTITY myopac.summary.password.current "Enter current password:">\r
-<!ENTITY myopac.summary.password.new "Enter new password:">\r
-<!ENTITY myopac.summary.password.reenter "Re-enter new password:">\r
-<!ENTITY myopac.summary.email "Email Address">\r
-<!ENTITY myopac.summary.email.new "Enter new email address:">\r
-<!ENTITY myopac.summary.id.primary "Primary Identification">\r
-<!ENTITY myopac.summary.barcode "Active Barcode">\r
-<!ENTITY myopac.summary.home "Home Library">\r
-<!ENTITY myopac.summary.genesis "Account Creation Date">\r
-<!ENTITY myopac.summary.addresses "Addresses">\r
-<!ENTITY myopac.summary.addresses.pending "Pending Addresses">\r
-<!ENTITY myopac.summary.address.type "Address Type">\r
-<!ENTITY myopac.summary.address.street "Street">\r
-<!ENTITY myopac.summary.address.city "City">\r
-<!ENTITY myopac.summary.address.county "County">\r
-<!ENTITY myopac.summary.address.state "Province">\r
-<!ENTITY myopac.summary.address.country "Country">\r
-<!ENTITY myopac.summary.address.zip "Postal Code">\r
-<!ENTITY myopac.summary.username.error "Please enter a username">\r
-<!ENTITY myopac.summary.username.dup "The requested username is not available.  Please choose a different username.">\r
-<!ENTITY myopac.summary.username.success "Username successfully updated">\r
-<!ENTITY myopac.summary.username.failure "Username update failed">\r
-<!ENTITY myopac.summary.username.invalid "Username cannot contain spaces or have the same format as a barcode">\r
-<!ENTITY myopac.summary.email.error "Please enter a valid email address">\r
-<!ENTITY myopac.summary.email.success "Email address successfully updated">\r
-<!ENTITY myopac.summary.email.failed "Email address update failed">\r
-<!ENTITY myopac.summary.password.error "Passwords are empty or do not match">\r
-<!ENTITY myopac.summary.password.success "Password successfully updated">\r
-<!ENTITY myopac.summary.password.failure "Password update failed">\r
-<!--   ================================================================= \r
-       Advanced Search Page \r
-       ================================================================= -->\r
-\r
-<!ENTITY opac.advanced.wizard.contains "Selected field contains the following words">\r
-<!ENTITY opac.advanced.wizard.nocontains "Selected field does <u>not</u> contain the following words">\r
-<!ENTITY opac.advanced.wizard.exact "Selected field contains the <u>exact</u> phrase">\r
-<!ENTITY opac.advanced.refined.title "Refined Advanced Search">\r
-<!ENTITY opac.advanced.refined.title_contains "Title contains the following words">\r
-<!ENTITY opac.advanced.refined.author_contains "Author contains the following words">\r
-<!ENTITY opac.advanced.refined.subject_contains "Subject contains the following words">\r
-<!ENTITY opac.advanced.refined.series_contains "Series contains the following words">\r
-<!ENTITY opac.advanced.refined.contains "Contains">\r
-<!ENTITY opac.advanced.refined.nocontains "Does not contain">\r
-<!ENTITY opac.advanced.refined.exact "Matches Exactly">\r
-<!ENTITY opac.advanced.marc.warning "For Librarians">\r
-<!ENTITY opac.advanced.marc.title "MARC Expert Search">\r
-<!ENTITY opac.advanced.marc.tag "MARC Tag">\r
-<!ENTITY opac.advanced.marc.ind1 "Indicator 1">\r
-<!ENTITY opac.advanced.marc.ind2 "Indicator 2">\r
-<!ENTITY opac.advanced.marc.subfield "Subfield">\r
-<!ENTITY opac.advanced.marc.value "Value">\r
-<!ENTITY opac.advanced.marc.addrow "Add a new row">\r
-<!ENTITY opac.advanced.quick.title "Quick Search">\r
-<!ENTITY opac.advanced.quick.isbn "ISBN">\r
-<!ENTITY opac.advanced.quick.issn "ISSN">\r
-<!ENTITY opac.advanced.quick.lccn "LCCN">\r
-<!-- title control number -->\r
-<!ENTITY opac.advanced.quick.tcn "TCN">\r
-<!ENTITY opac.advanced.quick.barcode "Item Barcode">\r
-<!ENTITY opac.advanced.quick.cn "Call Number">\r
-<!ENTITY opac.advanced.copy_loc_filter "Shelving Location">\r
-<!-- ==========================================================\r
-     MARC expert search\r
-     ========================================================== -->\r
-\r
-<!ENTITY search.marc "MARC Expert Search">\r
-<!ENTITY search.marc.tag "Tag:">\r
-<!ENTITY search.marc.subfield "Subfield:">\r
-<!ENTITY search.marc.value "Value:">\r
-<!ENTITY search.marc.add.row "Add Row">\r
-<!-- ==========================================================\r
-     Status bar\r
-     ========================================================== -->\r
-\r
-\r
-<!ENTITY status.results "Including results for">\r
-<!-- ==========================================================\r
-     Tips\r
-     ========================================================== -->\r
-\r
-\r
-<!ENTITY tips.label "Tip:">\r
-<!-- ================================================================= \r
-               More generic stuff \r
-               ================================================================= -->\r
-\r
-<!ENTITY opac.session_expiring "Your login session will timeout in 1 minute unless there is activity.">\r
-<!ENTITY opac.session_expired "Your login session has expired">\r
-<!ENTITY navigate.home "Start over">\r
-<!ENTITY navigate.home.title "Go to the catalogue home page">\r
-<!ENTITY opac.navigate.advanced "Advanced Search">\r
-<!ENTITY opac.navigate.advanced.title "Go to the Advanced Search Page">\r
-<!ENTITY navigate.myopac "My Account">\r
-<!ENTITY opac.navigate.myopac "My Account">\r
-<!ENTITY navigate.myopac.title "Go to My OPAC">\r
-<!ENTITY navigate.login "Log in">\r
-<!ENTITY navigate.login.title "Log in for personalized features">\r
-<!ENTITY navigate.logout "Log out">\r
-<!ENTITY navigate.logout.title "Log out">\r
-<!ENTITY opac.navigate.selectNewOrg "Choose a different library">\r
-<!ENTITY opac.navigate.selectOrg "Choose a library to search">\r
-<!ENTITY navigate.loggedinas "You are logged in as ">\r
-<!ENTITY navigate.loggedinas.title "Logged in as...">\r
-<!ENTITY navigate.titleGroupResults "My Search Results">\r
-<!ENTITY navigate.titleResults "My Title Results">\r
-<!ENTITY navigate.title.details "My Title Details">\r
-<!ENTITY navigate.record.details "Record Details">\r
-<!--   ================================================================= \r
-       Footer\r
-       ================================================================= -->\r
-\r
-<!ENTITY footer.basic "Basic Catalogue (HTML only)">\r
-<!ENTITY footer.find.library "Find a Library Near Me">\r
-<!ENTITY footer.find.url "http://www.georgialibraries.org/lib/directories/pineslibdir.html">\r
-<!ENTITY footer.help.url "http://open-ils.org/dokuwiki/doku.php?id=evergreen-user:opac_help">\r
-<!ENTITY footer.help "Help">\r
-<!ENTITY footer.library.url "http://www.georgialibraries.org/public/pines.html">\r
-<!ENTITY footer.library.about "About PINES">\r
-<!ENTITY footer.union.url "http://www.galileo.usg.edu/">\r
-<!ENTITY footer.union "GALILEO">\r
-<!ENTITY footer.copyright "Copyright &#xA9; 2006-2008 Georgia Public Library Service">\r
-<!-- Introduces the logo for the project -->\r
-<!ENTITY footer.logo "Powered by">\r
-<!--   ================================================================= \r
-       My OPAC\r
-       ================================================================= -->\r
-\r
-<!ENTITY myopac.account "Account Summary">\r
-<!ENTITY myopac.checkouts "Items Checked Out">\r
-<!ENTITY myopac.holds "Items on Hold">\r
-<!ENTITY myopac.fines "Fines">\r
-<!ENTITY myopac.preferences "Account Preferences">\r
-<!ENTITY myopac.bookbags "My Bookbags">\r
-<!--   ================================================================= \r
-       Sidebar \r
-       ================================================================= -->\r
-\r
-<!ENTITY sidebar.relevantSubjects.headerLabel "Relevant Subjects">\r
-<!ENTITY sidebar.relevantAuthors.headerLabel "Relevant Authors">\r
-<!ENTITY sidebar.relevantSeries.headerLabel "Relevant Series">\r
-<!ENTITY sidebar.relevantReviews.headerLabel "Reviews">\r
-<!ENTITY sidebar.quick.search "Quick Search">\r
-<!ENTITY sidebar.copy.not.found "No copy with the requested barcode was found">\r
-<!--   ================================================================= \r
-               Search formats\r
-               ================================================================= -->\r
-\r
-<!ENTITY opac.search.books "Books">\r
-<!ENTITY opac.search.allFormats "All Formats">\r
-<!ENTITY opac.search.largePrint "Large Print Books">\r
-<!ENTITY opac.search.audioBooks "Audiobooks">\r
-<!ENTITY opac.search.videoRecordings "Video Recordings">\r
-<!ENTITY opac.search.music "Music">\r
-<!ENTITY opac.search.electronic "Electronic Resources">\r
-<!ENTITY opac.search.nowSearching "Now Searching">\r
-<!--   ================================================================= \r
-               Page Titles\r
-               ================================================================= -->\r
-\r
-\r
-<!ENTITY opac.title.home "Evergreen Home">\r
-<!ENTITY opac.title.mresult "Evergreen Title Groups">\r
-<!ENTITY opac.title.rresult "Evergreen Titles">\r
-<!ENTITY opac.title.myopac "Evergreen My Account">\r
-<!ENTITY opac.title.rdetail "Evergreen Title Details">\r
-<!ENTITY opac.title.advanced "Evergreen Advanced Search">\r
-<!ENTITY opac.title.reqitems "Evergreen Request Items">\r
-<!ENTITY opac.title.cnbrowse "Evergreen Call Number Browse">\r
-\r
-\r
-<!ENTITY opac.holds.forMe "Place this hold for myself">\r
-<!ENTITY opac.holds.xulRecipient "Enter recipient barcode">\r
-<!ENTITY opac.holds.recipient "Recipient">\r
-<!ENTITY opac.holds.placeHold "Place Hold">\r
-<!ENTITY opac.holds.contactPhone "Contact telephone number">\r
-<!ENTITY opac.holds.contactEmail "Contact email address">\r
-<!ENTITY opac.holds.pickupLocation "Pickup location">\r
-<!ENTITY opac.holds.success "Hold was successfully placed">\r
-<!ENTITY opac.holds.failure "Hold was not successfully placed">\r
-<!--   ================================================================= \r
-       Advanced\r
-       ================================================================= -->\r
-<!ENTITY advanced.search.title "Search Input">\r
-<!ENTITY advanced.add.row "Add Search Row">\r
-<!ENTITY advanced.search.submit "Submit Search">\r
-<!ENTITY advanced.search.reset "Reset Form">\r
-<!ENTITY advanced.search.filters "Search Filters">\r
-<!ENTITY advanced.item.form "Item Form">\r
-<!ENTITY advanced.item.type "Item Type">\r
-<!ENTITY advanced.link "Advanced">\r
-<!ENTITY advanced.basic.link "Basic">\r
-<!ENTITY advanced.literary.form "Literary Form">\r
-<!ENTITY advanced.non.fiction "Non Fiction">\r
-<!ENTITY advanced.fiction "Fiction">\r
-<!ENTITY advanced.language "Language">\r
-<!ENTITY advanced.audience "Audience">\r
-<!ENTITY advanced.adult "Adult">\r
-<!ENTITY advanced.juvenile "Juvenile">\r
-<!ENTITY advanced.general "General">\r
-<!ENTITY advanced.sort.criteria "Sort Criteria">\r
-<!ENTITY advanced.search.library "Search Library">\r
-<!ENTITY advanced.relevance "Relevance">\r
-<!ENTITY advanced.pubdate "Publication date">\r
-<!ENTITY advanced.sort.asc "Ascending / A to Z">\r
-<!ENTITY advanced.sort.desc "Descending / Z to A">\r
-<!ENTITY advanced.frbrize "Group Formats and Editions">\r
-<!ENTITY advanced.go "Go">\r
-<!ENTITY advanced.biblevel "Bib Level">\r
-<!ENTITY advanced.filter.pubyear "Publication Year">\r
-<!ENTITY advanced.filter.pubyear.equals "Is">\r
-<!ENTITY advanced.filter.pubyear.before "Before">\r
-<!ENTITY advanced.filter.pubyear.after "After">\r
-<!ENTITY advanced.filter.pubyear.between "Between">\r
-<!--   ================================================================= \r
-       Rdetail\r
-       ================================================================= -->\r
-\r
-<!ENTITY rdetail.print "print these details">\r
-<!ENTITY rdetail.cn.barcode "Barcode">\r
-<!ENTITY rdetail.cn.location "Location">\r
-<!ENTITY rdetail.cn.hold.age "Age Hold Protection">\r
-<!ENTITY rdetail.cn.genesis "Create Date">\r
-<!ENTITY rdetail.cn.holdable "Holdable">\r
-<!ENTITY rdetail.cn.due "Due Date">\r
-<!ENTITY rdetail.cn.more "more info...">\r
-<!ENTITY rdetail.cn.less "less info">\r
-<!ENTITY rdetail.cn.hold "place hold">\r
-<!ENTITY rdetail.cn.disabled "- Disabled -">\r
-<!ENTITY rdetail.cn.note "Copy Note">\r
-<!ENTITY rdetail.cn.category "Copy Category">\r
-<!ENTITY rdetail.cn.print "Print Page">\r
-<!ENTITY rdetail.page.results "First record">\r
-<!-- Result # &common.of; # -->\r
-<!ENTITY rdetail.result "Result">\r
-<!ENTITY rdetail.start "Start">\r
-<!ENTITY rdetail.page.previous "Previous record">\r
-<!ENTITY rdetail.page.next "Next record">\r
-<!ENTITY rdetail.page.last "Last record">\r
-<!ENTITY rdetail.end "End">\r
-<!ENTITY rdetail.more "Bookbags...">\r
-<!ENTITY rdetail.bookbag.add "Add to bookbag">\r
-<!ENTITY rdetail.bookbag.create "Create a new bookbag">\r
-<!ENTITY rdetail.record.deleted "This record has been deleted from the database.\r
-We recommend that you remove this title from any bookbags it may have been added to.">\r
-<!ENTITY rdetail.none "(none)">\r
-<!ENTITY rdetail.bookbag.add.success "Item successfully added to bookbag">\r
-<!ENTITY rdetail.bookbag.name "Enter the name of the new bookbag">\r
-<!ENTITY rdetail.bookbag.create.success "Bookbag successfully created">\r
-<!ENTITY rdetail.detailMain.headerLabel "Record Summary">\r
-<!ENTITY rdetail.detailMain.subjects "Subjects">\r
-<!ENTITY rdetail.detailMain.abstract "Abstract">\r
-<!ENTITY rdetail.detailMain.viewMarc "View MARC">\r
-<!ENTITY rdetail.detailMain.hideMarc "Return to title details">\r
-<!ENTITY rdetail.author.search "Perform an author search">\r
-<!ENTITY rdetail.copyInfo.headerLabel "Copy Information">\r
-<!ENTITY rdetail.copyInfo.library "Library">\r
-<!ENTITY rdetail.copyInfo.callnumber "Callnumber">\r
-<!ENTITY rdetail.copyInfo.copylocation "Copy Location">\r
-<!ENTITY rdetail.copyInfo.local "View Copy Information for this location only">\r
-<!ENTITY rdetail.copyInfo.all "View copy information for all libraries">\r
-<!ENTITY rdetail.copyInfo.actions "Actions">\r
-<!ENTITY rdetail.copyInfo.print "Print Call Numbers for this library">\r
-<!ENTITY rdetail.copyInfo.details "Copy Details">\r
-<!ENTITY rdetail.copyInfo.browse "Browse Call Numbers">\r
-<!ENTITY rdetail.copyInfo.hold "Place Hold">\r
-<!ENTITY rdetail.extras.summary "Copy Summary">\r
-<!ENTITY rdetail.extras.browser "Shelf Browser">\r
-<!ENTITY rdetail.extras.reviews "Reviews">\r
-<!ENTITY rdetail.extras.toc "Table of Contents">\r
-<!ENTITY rdetail.extras.excerpt "Excerpt">\r
-<!ENTITY rdetail.extras.preview "Preview">\r
-<!ENTITY rdetail.extras.author.notes "Author Notes">\r
-<!ENTITY rdetail.extras.annotation "Annotation">\r
-<!ENTITY rdetail.extras.marc "MARC Record">\r
-<!ENTITY rdetail.extras.call.null "There are no call numbers for this item at this location.">\r
-<!ENTITY rdetail.extras.call.local "Local Call Numbers:">\r
-<!ENTITY rdetail.extras.preview.fulltext "Full text">\r
-<!ENTITY rdetail.extras.preview.title "See the full text of this book.">\r
-<!ENTITY rdetail.extras.preview.badge "Show a preview of this book from Google Book Search">\r
-<!ENTITY rdetail.loading "Loading copy infomation...">\r
-<!ENTITY rdetail.noneAvailable " * There are no copies in this location">\r
-<!ENTITY rdetail.summary.online "Online Resources">\r
-\r
-<!ENTITY result.sort_by "Sort Results by Relevance">\r
-<!ENTITY result.sort_by.title "Sort Results by Title">\r
-<!ENTITY result.sort_by.author "Sort Results by Author">\r
-<!ENTITY result.sort_by.pubdate "Sort Results by Publication Date">\r
-\r
-<!ENTITY result.limit2avail "Limit to Available">\r
-<!ENTITY result.info.copies "Available copies / Total copies">\r
-<!ENTITY result.info.no.items "No items with the selected format were found in this location.">\r
-<!ENTITY result.info.format.items "Listed below are all items in the catalogue with the chosen format.">\r
-<!ENTITY result.info.show "Show records for">\r
-\r
-<!ENTITY result.lowhits.few "Few hits were returned for your search.">\r
-<!ENTITY result.lowhits.zero "Zero hits were returned for your search.">\r
-<!ENTITY result.lowhits.did.you.mean "Maybe you meant:">\r
-<!ENTITY result.lowhits.formats "You will find more hits when searching all item formats:">\r
-<!ENTITY result.lowhits.formats.search "Search again with all formats?">\r
-<!ENTITY result.lowhits.related "You may also like to try these related searches:">\r
-<!ENTITY result.lowhits.expand "You may also wish to expand your search range to:">\r
-<!ENTITY result.lowhits.class "You can try searching the same terms by:">\r
-<!ENTITY result.lowhits.title "title">\r
-<!ENTITY result.lowhits.author "author">\r
-<!ENTITY result.lowhits.subject "subject">\r
-<!ENTITY result.lowhits.series "series">\r
-<!ENTITY result.lowhits.keyword "keyword">\r
-\r
-<!ENTITY result.table.keyword "View titles for this record">\r
-<!ENTITY result.table.author "Perform an Author Search">\r
-<!ENTITY result.googleBooks.browse "Browse in Google Books Search">\r
-\r
-<!ENTITY common.call.number.label "Call Number:">\r
-<!ENTITY common.isbn.label "ISBN:">\r
-<!ENTITY common.issn.label "ISSN:">\r
-<!ENTITY common.copy.barcode.label "Copy Barcode:">\r
-<!ENTITY common.hold.place "Place hold for my account">\r
-<!ENTITY common.hold.check "Checking for possibility of hold fulfillment...">\r
-<!ENTITY common.hold.create "Create / Edit a Hold">\r
-<!ENTITY common.hold.update "Update Hold">\r
-<!ENTITY common.hold.type.label "Hold Type:">\r
-<!ENTITY common.hold.volume "Volume Hold">\r
-<!ENTITY common.hold.copy "Copy Hold">\r
-<!ENTITY common.hold.advanced "Advanced Hold Options">\r
-<!ENTITY common.hold.delivery "Please select a physical location where your hold can be delivered.">\r
-<!ENTITY common.hold.exists "A hold already exists on the requested item.">\r
-<!ENTITY common.hold.exists.override "A hold already exists on the requested\r
-item. Would you like to create the hold anyway?">\r
-<!ENTITY common.hold.barred 'PATRON BARRED. Please see any notes in the\r
-"Staff Notes" section of your "My Account" page or contact your local library.'>\r
-<!ENTITY common.hold.item.invalid "This hold is no longer valid. It's likely that the\r
-target for the hold was deleted from the system.  Please cancel this hold and\r
-place a new one.">\r
-<!ENTITY common.hold.patron.invalid "The patron barcode entered as the hold recipient is invalid.">\r
-<!-- Was (??), perhaps change to a button or icon? -->\r
-<!ENTITY common.help "(Help)">\r
-<!ENTITY common.phone.format.help "The phone number does not have the correct format. The expected format is XXX-YYY-ZZZZ">\r
-<!ENTITY common.hold.failed "No items were found that could fulfill the requested holds.\r
-It's possible that choosing a different format will result in a successful hold.\r
-It is also possible that you have exceeded the number of allowable holds.\r
-For further information, please consult your local librarian.">\r
-<!ENTITY common.control.click "(control-click to select multiple formats)">\r
-<!ENTITY common.format.alternatives "Acceptable Alternative Formats:">\r
-<!ENTITY common.phone.format "(XXX-YYY-ZZZZ)">\r
-<!ENTITY common.phone.enable "Enable phone notifications for this hold?">\r
-<!ENTITY common.email.enable "Enable email notifications for this hold?">\r
-<!ENTITY common.email.none "(Patron has no configured email address)">\r
-<!ENTITY common.email.set "(See <a class='classic_link' id='holds.no_email.my_account'>My Account</a> for setting your email address)">\r
-<!ENTITY common.keywords.label "Keywords:">\r
-<!ENTITY common.physical.label "Physical Description:">\r
-<!ENTITY common.series.label "Series:">\r
-<!ENTITY common.subject.label "Subject:">\r
-<!ENTITY common.title.label "Title:">\r
-<!ENTITY common.author.label "Author:">\r
-<!ENTITY common.format.label "Format:">\r
-<!ENTITY library.select "Find results in">\r
-<!ENTITY library.select.label "Choose a different library...">\r
-<!ENTITY library.select.help "Choose a library to search">\r
-<!ENTITY login.username "Username">\r
-<!ENTITY login.password.change "Change Password">\r
-<!ENTITY login.first.time "This appears to be the first time you have logged in.\r
-You will need to change your password.">\r
-<!ENTITY login.password.current.enter "Enter your current password">\r
-<!ENTITY login.password.new.enter "Enter the new password">\r
-<!ENTITY login.password.new.reenter "Re-type the new password for verification">\r
-<!ENTITY login.password.update "Update Password">\r
-<!ENTITY login.password.nomatch "Passwords do not match">\r
-<!ENTITY login.password.success "Password successfully updated">\r
-<!ENTITY login.password.strength "The password provided is not strong enough.">\r
-<!ENTITY login.barcode.inactive "The barcode used to login is marked as inactive.  Please contact your local library.">\r
-<!ENTITY login.account.inactive "This account has been deactivated.  Please contact your local library.">\r
-<!ENTITY login.failed "Login failed. The username or password provided was not valid.\r
-Ensure Caps-Lock is off and try again or contact your local library.">\r
-<!ENTITY button.go "Go!">\r
-<!--   ================================================================= \r
-       Slimpac Simple Search\r
-       ================================================================= -->\r
-\r
-<!ENTITY slimpac.language.select "Select language">\r
-\r
-<!ENTITY slimpac.start.title "Simple Search">\r
-<!ENTITY slimpac.start.nowSearching "Now searching: ">\r
-<!ENTITY slimpac.start.dynamic "Dynamic Catalogue">\r
-<!--   ================================================================= \r
-       Slimpac Advanced Search\r
-       ================================================================= -->\r
-\r
-<!ENTITY slimpac.advanced.language "Item Language">\r
-<!ENTITY slimpac.advanced.create_date "Record Creation Date">\r
-<!ENTITY slimpac.advanced.edit_date "Record Edit Date">\r
-\r
-<!ENTITY opac.image_provided "Image provided by">\r
-<!ENTITY vendor.name "Amazon">\r
-<!ENTITY vendor.base_link "http://amazon.com/dp/">\r
-<!--   ================================================================= \r
-       Selfcheck\r
-       ================================================================= -->\r
-\r
-<!ENTITY selfck.staff_login_label "Staff login">\r
-<!ENTITY selfck.staff_login "Library barcode or username">\r
-<!ENTITY selfck.staff_pw "Password">\r
-<!ENTITY selfck.submit "Submit">\r
-<!ENTITY selfck.clear "Clear">\r
-<!ENTITY selfck.patron_barcode_label "Please scan your library barcode">\r
-<!ENTITY selfck.item_barcode_label "Please scan an item to checkout or renew:">\r
-<!ENTITY selfck.barcode "Barcode">\r
-<!ENTITY selfck.title "Title">\r
-<!ENTITY selfck.author "Author">\r
-<!ENTITY selfck.due_date "Due Date">\r
-<!ENTITY selfck.remaining "Renewals Remaining">\r
-<!ENTITY selfck.cotype "Type">\r
-<!ENTITY selfck.cotype_co "Checkout">\r
-<!ENTITY selfck.cotype_rn "Renewal">\r
-<!ENTITY selfck.done "Done">\r
-<!ENTITY selfck.welcome "Welcome">\r
-<!ENTITY selfck.printing "Printing Receipt...">\r
-<!-- event messages -->\r
-\r
-<!ENTITY selfck.event.co_success "Check out succeeded">\r
-<!ENTITY selfck.event.co_unknown "An unknown event has occurred">\r
-<!ENTITY selfck.event.dupe_barcode "This item has already been checked out during this session">\r
-<!ENTITY selfck.event.patron_not_found "The patron barcode was not found">\r
-<!ENTITY selfck.event.item_noncat "The requested item is not in the catalogue">\r
-<!ENTITY selfck.event.item_nocirc "The requested item is not allowed to circulate">\r
-<!ENTITY selfck.event.already_out "The requested item is already checked out to another patron">\r
-<!ENTITY selfck.items_out "You checked out the following items">\r
-<!ENTITY selfck.org_hours "Hours of Operation">\r
-<!ENTITY selfck.org_phone "Library Phone Number">\r
-<!ENTITY selfck.day0 "Monday">\r
-<!ENTITY selfck.day1 "Tuesday">\r
-<!ENTITY selfck.day2 "Wednesday">\r
-<!ENTITY selfck.day3 "Thursday">\r
-<!ENTITY selfck.day4 "Friday">\r
-<!ENTITY selfck.day5 "Saturday">\r
-<!ENTITY selfck.day6 "Sunday">\r
-\r
diff --git a/web/opac/skin/uwin/local/locale/en-CA/opac_conifer.dtd b/web/opac/skin/uwin/local/locale/en-CA/opac_conifer.dtd
deleted file mode 100644 (file)
index 2c3a5fd..0000000
+++ /dev/null
@@ -1,40 +0,0 @@
-<!-- Entities for detailed item page -->\r
-<!ENTITY common.alternate.title "Alternate title">\r
-<!ENTITY common.corporate.author "Corporate author">\r
-<!ENTITY common.meeting.name "Meeting name">\r
-<!ENTITY common.issn "ISSN">\r
-<!ENTITY common.subjects "Subjects">\r
-<!ENTITY common.general.note "General note">\r
-<!ENTITY common.contents.note "Contents note">\r
-<!ENTITY common.usage.restrictions "Usage restrictions">\r
-<!ENTITY common.performer.note "Performer note">\r
-<!ENTITY common.additional.authors "Additional authors">\r
-<!ENTITY common.preceding.entry "Preceding entry">\r
-<!ENTITY common.succeeding.entry "Succeeding entry">\r
-\r
-<!ENTITY rdetail.extras.preview "Preview">\r
-<!ENTITY rdetail.extras.performer.notes "Performer or Participant Notes">\r
-\r
-<!-- custom UWin login links -->\r
-<!ENTITY uwin.myopac.loginhelp.question "">\r
-<!ENTITY uwin.myopac.loginhelp.url "http://www.uwindsor.ca/units/leddy/leddy.nsf/LoggingIntoTheLibraryCatalogue!OpenForm">\r
-<!ENTITY uwin.myopac.loginhelp.url_text "Login help">\r
-\r
-<!-- custom UWin askON links -->\r
-<!ENTITY uwin.askON "AskON: online research help">\r
-<!ENTITY uwin.askON.title "Get live research help">\r
-<!ENTITY uwin.askON.div.id "askON_link_div">\r
-<!ENTITY uwin.askON.link.id "askON_link">\r
-<!ENTITY uwin.askON.url "http://infoservices.uwindsor.ca/askON/">\r
-\r
-<!-- custom UWin footer links -->\r
-<!ENTITY uwin.footer.databases "Find Journal Articles and Research Tools">\r
-<!ENTITY uwin.footer.databases.url "http://www.uwindsor.ca/units/leddy/leddy.nsf/JournalArticlesAndResearchToolsBySubject!OpenForm">\r
-<!ENTITY uwin.footer.help "Help">\r
-<!ENTITY uwin.footer.help.url "http://www.uwindsor.ca/units/leddy/leddy.nsf/SearchingTheCatalogue!OpenForm">\r
-<!ENTITY uwin.footer.home.leddy "Leddy Library">\r
-<!ENTITY uwin.footer.home.leddy.url "http://www.uwindsor.ca/library">\r
-<!ENTITY uwin.footer.home.law "Law Library">\r
-<!ENTITY uwin.footer.home.law.url "http://www.uwindsor.ca/units/law/PaulMartin.nsf">\r
-<!ENTITY uwin.footer.journals "Browse Journals">\r
-<!ENTITY uwin.footer.journals.url "http://sfx.scholarsportal.info/windsor/az">\r
diff --git a/web/opac/skin/uwin/local/xml/item_lang_options.xml b/web/opac/skin/uwin/local/xml/item_lang_options.xml
deleted file mode 100644 (file)
index 7709d06..0000000
+++ /dev/null
@@ -1,28 +0,0 @@
-\r
-<!--\r
-Language otions for languages that exist in the catalog.\r
-This file should be updated on occasion.\r
-\r
-develooper=# select code,value from config.language_map m \r
-       join metabib.rec_descriptor r on (r.item_lang = m.code) group by 1,2;\r
--->\r
-\r
-<option value='eng'>English</option>\r
-<option value='fre'>French</option>\r
-<option value='spa'>Spanish</option>\r
-<option value='ger'>German</option>\r
-<option value='ita'>Italian</option>\r
-<option value='chi'>Chinese</option>\r
-<option value='jpn'>Japanese</option>\r
-<option value='kor'>Korean</option>\r
-<option value='dut'>Dutch</option>\r
-<option value='gre'>Greek, Modern (1453- )</option>\r
-<option value='lat'>Latin</option>\r
-<option value='vie'>Vietnamese</option>\r
-<option value='rus'>Russian</option>\r
-<option value='nor'>Norwegian</option>\r
-<option value='wel'>Welsh</option>\r
-<option value='pau'>Palauan</option>\r
-<option value='swe'>Swedish</option>\r
-<option value='nav'>Navajo</option>\r
-<option value='und'>Undetermined</option>\r
diff --git a/web/opac/skin/uwin/xml/advanced/adv_global_row.xml b/web/opac/skin/uwin/xml/advanced/adv_global_row.xml
deleted file mode 100644 (file)
index 614c305..0000000
+++ /dev/null
@@ -1,36 +0,0 @@
-<!--\r
-<tr id='adv_global_trow' type='input'>\r
--->\r
-<tr id='<!--#echo var="adv_global_row_id"-->' type='input'>\r
-       <td align='center' width='100%' nowrap='nowrap'>\r
-\r
-               <!-- select the search class -->\r
-               <select name='type' style='margin-right: 7px;'>\r
-                       <option value='keyword' selected='selected'>&common.keyword;</option>\r
-                       <option value='title'>&common.title;</option>\r
-                       <option value='author'>&common.author;</option>\r
-                       <option value='subject'>&common.subject;</option>\r
-                       <option value='series'>&common.series;</option>\r
-               </select>\r
-       \r
-               <!-- select how to treat the text -->\r
-               <select name='contains' style='margin-right: 7px;'>\r
-                       <option value='contains'>&opac.advanced.refined.contains;</option>\r
-                       <option value='nocontains'>&opac.advanced.refined.nocontains;</option>\r
-                       <option value='exact'>&opac.advanced.refined.exact;</option>\r
-               </select>\r
-                       \r
-               <!-- search term -->\r
-               <input type='text' size='18' name='term' style='margin-right: 3px;' />\r
-       \r
-               <!-- Remove this row -->\r
-        <button \r
-                       onclick='\r
-                               var row = this.parentNode.parentNode;\r
-                               var tbody = row.parentNode;\r
-                               if( tbody.getElementsByTagName("tr").length > 2 )\r
-                                       row.parentNode.removeChild(row);'>X</button>\r
-\r
-       </td>\r
-</tr>\r
-\r
diff --git a/web/opac/skin/uwin/xml/advanced/advanced_global.xml b/web/opac/skin/uwin/xml/advanced/advanced_global.xml
deleted file mode 100644 (file)
index 736a20a..0000000
+++ /dev/null
@@ -1,307 +0,0 @@
-<table id='adv_global_search' class='data_grid data_grid_center' width='100%'>\r
-\r
-       <style>\r
-               #adv_global_search select { width: 13em; }\r
-               #adv_global_input_table select { width: 7em; }\r
-               .adv_adv_link { font-size: 8pt; color: red; }\r
-       </style>\r
-\r
-       <script language='javascript' type='text/javascript' src='<!--#echo var="OILS_OPAC_JS_HOST"-->/skin/default/js/adv_global.js'> </script>\r
-\r
-       <tr style='border-bottom: none;'>\r
-\r
-               <!-- Contains the user-addable(?) rows to define search class, containment and text -->\r
-               <td valign='top' width='65%' style='border-bottom: none;'>\r
-                       <table width='100%' id='adv_global_input_table'>\r
-       \r
-                               <thead>\r
-                                       <tr><td colspan='2' align='center'>&advanced.search.title;</td></tr>\r
-                               </thead>\r
-                               <tbody id='adv_global_tbody'>\r
-\r
-                                       <script language='javascript' type='text/javascript'>\r
-                                               config.ids.common.now_searching = 'now_searching_location';\r
-                                       </script>\r
-\r
-                                       <!--#set var="adv_global_row_id" value="adv_global_trow"-->\r
-                                       <!--#include virtual="adv_global_row.xml"-->\r
-\r
-                                       <!--#set var="adv_global_row_id" value=""-->\r
-                                       <!--#include virtual="adv_global_row.xml"-->\r
-                                       <!--#include virtual="adv_global_row.xml"-->\r
-\r
-                                       <!-- add a new row -->\r
-                                       <tr id='adv_global_addrow'>\r
-                                               <td align='center'>\r
-                            <button onclick='clearSearchBoxes();'>&advanced.search.reset;</button>\r
-                            <span style='padding-left: 10px;'> </span>\r
-                                                       <button id='myopac_new_global_row' onclick='advAddGblRow();'>&advanced.add.row;</button>\r
-                                                       <span style='padding-left: 10px;'> </span>\r
-                            <button onclick='advSubmitGlobal();'>&advanced.search.submit;</button>\r
-                                               </td>\r
-                                       </tr>\r
-\r
-                               </tbody>\r
-                       </table>\r
-               </td>\r
-\r
-\r
-               <td rowspan='2'>\r
-\r
-                       <table width='100%'>\r
-                               <thead>\r
-                                       <tr><td colspan='2' align='center'>&advanced.search.filters;</td></tr>\r
-                               </thead>\r
-                               <tbody>\r
-\r
-                                       <tr>\r
-                                               <td align='right'>\r
-                                                       <span>&advanced.item.form;</span>\r
-                                               </td>\r
-                                               <td align='left'>\r
-                                                       <select multiple='multiple' size='3' id='adv_global_item_form'>\r
-                                                       </select>       \r
-                                               </td>\r
-                                       </tr>\r
-\r
-                                       <tr>\r
-                                               <td align='right'>\r
-                                                       <span>&advanced.item.type;</span>\r
-                                                       <a id='adv_global_item_type_link_adv' class='classic_link adv_adv_link'\r
-                                                               href='javascript:void(0);' onclick='\r
-                                                               hideMe($("adv_global_item_type_basic"));\r
-                                                               unHideMe($("adv_global_item_type"));\r
-                                                               hideMe(this);\r
-                                                               unHideMe($("adv_global_item_type_link_basic"));\r
-                                                               '>&advanced.link;</a>\r
-\r
-                                                       <a id='adv_global_item_type_link_basic' class='hide_me classic_link adv_adv_link'\r
-                                                               href='javascript:void(0);' onclick='\r
-                                                               unHideMe($("adv_global_item_type_basic"));\r
-                                                               hideMe($("adv_global_item_type"));\r
-                                                               unHideMe($("adv_global_item_type_link_adv"));\r
-                                                               hideMe(this);\r
-                                                               '>&advanced.basic.link;</a>\r
-                                               </td>\r
-\r
-                                               <td align='left'>\r
-                                                       <select multiple='multiple' size='3' id='adv_global_item_type' class='hide_me'>\r
-                                                       </select>       \r
-                                                       <select multiple='multiple' size='3' id='adv_global_item_type_basic'>\r
-                                                               <option value='at'>&opac.search.books;</option>\r
-                                                               <option value='i'>&opac.search.audioBooks;</option>\r
-                                                               <option value='g'>&opac.search.videoRecordings;</option>\r
-                                                               <option value='j'>&opac.search.music;</option>\r
-                                                               <option value='m'>&opac.search.electronic;</option>\r
-                                                       </select>       \r
-                                               </td>\r
-                                       </tr>\r
-\r
-                                       <tr>\r
-                                               <td align='right'>\r
-                                                       <span>&advanced.literary.form;</span>\r
-                                                       <a id='adv_global_lit_form_link_adv' class='classic_link adv_adv_link'\r
-                                                               href='javascript:void(0);' onclick='\r
-                                                               hideMe($("adv_global_lit_form_basic"));\r
-                                                               unHideMe($("adv_global_lit_form"));\r
-                                                               hideMe(this);\r
-                                                               unHideMe($("adv_global_lit_form_link_basic"));\r
-                                                               '>&advanced.link;</a>\r
-\r
-                                                       <a id='adv_global_lit_form_link_basic' class='hide_me classic_link adv_adv_link'\r
-                                                               href='javascript:void(0);' onclick='\r
-                                                               unHideMe($("adv_global_lit_form_basic"));\r
-                                                               hideMe($("adv_global_lit_form"));\r
-                                                               unHideMe($("adv_global_lit_form_link_adv"));\r
-                                                               hideMe(this);\r
-                                                               '>&advanced.basic.link;</a>\r
-                                               </td>\r
-                                               <td align='left'>\r
-                                                       <select multiple='multiple' size='3' id='adv_global_lit_form' class='hide_me'>\r
-                                                       </select>       \r
-                                                       <select multiple='multiple' size='3' id='adv_global_lit_form_basic'>\r
-                                                               <option value='0 '>&advanced.non.fiction;</option>\r
-                                                               <option value='1'>&advanced.fiction;</option>\r
-                                                       </select>       \r
-                                               </td>\r
-                                       </tr>\r
-\r
-\r
-                                       <!-- Language selector -->\r
-                                       <tr>\r
-                                               <td align='right'>\r
-                                                       <span>&advanced.language;</span>\r
-                                               </td>\r
-\r
-                                               <td align='left'>\r
-                                                       <select multiple='multiple' size='3' id='adv_global_lang'>\r
-                                                               <!--#include virtual="../../../../../common/xml/item_lang_options.xml"-->\r
-                                                       </select>\r
-                                               </td>\r
-                                       </tr>\r
-\r
-                                       <!-- Audience selector -->\r
-                                       <tr>\r
-                                               <td align='right'>\r
-                                                       <span>&advanced.audience;</span>\r
-\r
-                                                       <a id='adv_global_audience_link_adv' class='classic_link adv_adv_link'\r
-                                                               href='javascript:void(0);' onclick='\r
-                                                               hideMe($("adv_global_audience_basic"));\r
-                                                               unHideMe($("adv_global_audience"));\r
-                                                               hideMe(this);\r
-                                                               unHideMe($("adv_global_audience_link_basic"));\r
-                                                               '>&advanced.link;</a>\r
-\r
-                                                       <a id='adv_global_audience_link_basic' class='hide_me classic_link adv_adv_link'\r
-                                                               href='javascript:void(0);' onclick='\r
-                                                               unHideMe($("adv_global_audience_basic"));\r
-                                                               hideMe($("adv_global_audience"));\r
-                                                               unHideMe($("adv_global_audience_link_adv"));\r
-                                                               hideMe(this);'>&advanced.basic.link;</a>\r
-                                               </td>\r
-\r
-                                               <td align='left'>\r
-                                                       <select multiple='multiple' size='3' id='adv_global_audience' class='hide_me'>\r
-                                                       </select>\r
-                                                       <select multiple='multiple' size='3' id='adv_global_audience_basic'>\r
-                                                               <option value='e '>&advanced.adult;</option>\r
-                                                               <option value='abcdj'>&advanced.juvenile;</option>\r
-                                                               <option value='fg '>&advanced.general;</option>\r
-                                                       </select>\r
-                                               </td>\r
-                                       </tr>\r
-\r
-                                       <tr>\r
-                                               <td align='right'>\r
-                                                       <span>&advanced.biblevel;</span>\r
-                                               </td>\r
-                                               <td align='left'>\r
-                                                       <select multiple='multiple' size='3' id='adv_global_bib_level'>\r
-                                                       </select>       \r
-                                               </td>\r
-                                       </tr>\r
-\r
-                                       <tr>\r
-                                               <td align='right'>\r
-                                                       <span>&advanced.filter.pubyear;</span>\r
-                                               </td>\r
-                                               <td align='left'>\r
-                                                       <select id='adv_global_pub_date_type' onchange='\r
-                                if($("adv_global_pub_date_type").selectedIndex == 3)\r
-                                    unHideMe($("adv_global_pub_date_2_span"));\r
-                                else\r
-                                    hideMe($("adv_global_pub_date_2_span"));'>\r
-                                <option value='equals' selected='selected'>&advanced.filter.pubyear.equals;</option>\r
-                                <option value='before'>&advanced.filter.pubyear.before;</option>\r
-                                <option value='after'>&advanced.filter.pubyear.after;</option>\r
-                                <option value='between'>&advanced.filter.pubyear.between;</option>\r
-                                                       </select>       \r
-                            <div style='margin-top:5px;'>\r
-                                <input id='adv_global_pub_date_1' type='text' size='4' maxlength='4'/>\r
-                                <span id='adv_global_pub_date_2_span' class='hide_me'>\r
-                                   &common.and; <input id='adv_global_pub_date_2' type='text' size='4' maxlength='4'/>\r
-                                </span>\r
-                            </div>\r
-                                               </td>\r
-                                       </tr>\r
-\r
-\r
-                    <!-- copy location selector -->\r
-                    <tr id='adv_copy_location_filter_row' class='hide_me'>\r
-                        <td align='right'>&opac.advanced.copy_loc_filter;</td>\r
-                        <td align='left' id='adv_copy_location_filter_td'>\r
-                            <select size='3' id='adv_copy_location_filter_select' multiple='multiple'>\r
-                            </select>\r
-                        </td>\r
-                    </tr>\r
-                               </tbody>\r
-                       </table>\r
-               </td>\r
-       </tr>\r
-\r
-       <tr style='border-top: none;'>\r
-               <td align='center' valign='top' style='border-top: none;'>\r
-\r
-                       <table style='border: none; width: 100%;'>\r
-                               <tr>\r
-                                       <td align='center' width='100%'>\r
-                                               <table class='' width='100%'>\r
-                       \r
-                                                       <thead>\r
-                                                               <tr>\r
-                                                                       <td align='center' width='50%'>&advanced.sort.criteria;</td>\r
-                                                                       <td align='center'>&advanced.search.library;</td>\r
-                                                               </tr>\r
-                                                       </thead>\r
-                       \r
-                                                       <tbody>\r
-                                                               <tr>\r
-\r
-                           <script language='javascript' type='text/javascript'>\r
-                              function __setsortsel() {\r
-                                 var sel = $('adv_global_sort_by')\r
-                                                                                  if(sel.selectedIndex == 0) {\r
-                                                                                          $("adv_global_sort_dir").disabled = true;\r
-                                                                                          $("adv_global_sort_dir").selectedIndex = 0;\r
-                                                                                  } else $("adv_global_sort_dir").disabled = false;\r
-                              }\r
-                           </script>\r
-\r
-                                                                       <td align=''>\r
-                                                                               <select id='adv_global_sort_by' onchange='__setsortsel();'>\r
-                                                                                       <option value='rel'>&advanced.relevance;</option>\r
-                                                                                       <option value='title'>&common.title;</option>\r
-                                                                                       <option value='author'>&common.author;</option>\r
-                                                                                       <option value='pubdate'>&advanced.pubdate;</option>\r
-                                                                               </select>\r
-                                                                       </td>\r
-\r
-\r
-                                                                       <td align='center' width='100%' nowrap='nowrap'>\r
-                                                                               <b id='now_searching_location'> </b>\r
-                                                                       </td>\r
-\r
-                                                               </tr>\r
-                       \r
-                                                               <tr>\r
-\r
-                                                                       <td>\r
-                                                                               <select id='adv_global_sort_dir' disabled='disabled'>\r
-                                                                                       <option value='asc'>&advanced.sort.asc;</option>\r
-                                                                                       <option value='desc'>&advanced.sort.desc;</option>\r
-                                                                               </select>\r
-                                                                       </td>\r
-\r
-                           <!-- force the enable/disable sort dir code to run -->\r
-                           <script language='javascript' type='text/javascript'>__setsortsel();</script>\r
-\r
-                                                                       <td align='center'>\r
-                                                                               <!--#include virtual="../common/libselect.xml"-->\r
-                                                                       </td>\r
-\r
-                                                               </tr>\r
-                                                               <tr>\r
-                                                                       <td align='center'>\r
-                                                                               <span>&advanced.frbrize;</span>\r
-                                                                               <input id='adv_group_titles' type='checkbox' />\r
-                                                                       </td>\r
-                                    <td align='center'>\r
-                                        <span>&result.limit2avail;</span>\r
-                                        <input type='checkbox' id='opac.result.limit2avail'/>\r
-                                    </td>\r
-                                                               </tr>\r
-                                                       </tbody>\r
-                                               </table>\r
-                                       </td>\r
-                               </tr>\r
-                       </table>\r
-               </td>\r
-\r
-       </tr>\r
-\r
-       <tr class='border_4_2'>\r
-               <td colspan='2'><input type='submit' onclick='advSubmitGlobal();' value='&advanced.search.submit;'></input></td>\r
-       </tr>\r
-\r
-</table>\r
diff --git a/web/opac/skin/uwin/xml/advanced/advanced_marc.xml b/web/opac/skin/uwin/xml/advanced/advanced_marc.xml
deleted file mode 100644 (file)
index 43eaff5..0000000
+++ /dev/null
@@ -1,46 +0,0 @@
-<!--\r
-XXX Deprecate me\r
--->\r
-\r
-<table class='data_grid' width='100%'>\r
-       <thead>\r
-               <tr>\r
-                       <td colspan='6'>&opac.advanced.marc.title;</td>\r
-               </tr>\r
-       </thead>\r
-       <tbody id='advanced.marc.tbody'>\r
-               <tr id='advanced.marc.template'>\r
-                       <td>\r
-                               <span>&opac.advanced.marc.tag;: </span>\r
-                               <input name='advanced.marc.tag' maxlength='3' size='3' />\r
-                       </td>\r
-                       <td>\r
-                               <span>&opac.advanced.marc.subfield;: </span>\r
-                               <input name='advanced.marc.subfield' maxlength='1' size='1' />\r
-                       </td>\r
-                       <td>\r
-                               <span>&opac.advanced.marc.value;: </span>\r
-                               <input name='advanced.marc.value' size='36' />\r
-                       </td>\r
-\r
-                       <td>\r
-                               <input type='submit' value='X' onclick='\r
-                                       var row = this.parentNode.parentNode;\r
-                                       var tbody = row.parentNode;\r
-                                       if(tbody.getElementsByTagName("tr").length > 2)\r
-                                               tbody.removeChild(row);\r
-                                       ' />\r
-                       </td>\r
-               </tr>\r
-               <tr id='advanced.marc.submit.row'>\r
-                       <td colspan='4' align='center'>\r
-\r
-                               <input name='advanced.marc.addrow' type='submit' onclick='advAddMARC();'\r
-                                       value='&opac.advanced.marc.addrow;' />\r
-\r
-                               <input style='margin-left: 10px;' \r
-                                       onclick='advMARCRun();' type='submit' value='&common.submit;' />\r
-                       </td>\r
-               </tr>\r
-       </tbody>\r
-</table>\r
diff --git a/web/opac/skin/uwin/xml/advanced/advanced_quick.xml b/web/opac/skin/uwin/xml/advanced/advanced_quick.xml
deleted file mode 100644 (file)
index ea00d04..0000000
+++ /dev/null
@@ -1,30 +0,0 @@
-<!--\r
-XXX Deprecate me\r
--->\r
-\r
-<table class='data_grid' width='95%'>\r
-       <thead>\r
-               <tr>\r
-                       <td colspan='6'>&opac.advanced.quick.title;</td>\r
-               </tr>\r
-       </thead>\r
-       <tbody>\r
-               <tr>\r
-                       <td>\r
-                               <span style='padding-right: 0px;'>&common.call.number.label;</span>\r
-                               <input id='opac.advanced.quick.cn' style='margin: 2px;' type='text' size='12' />\r
-                               <input type='submit' onclick='advCNRun();' value='&advanced.go;' />\r
-                       </td>\r
-                       <td>\r
-                               <span style='padding-right: 0px;'>&common.isbn.label;</span>\r
-                               <input id='opac.advanced.quick.isbn' style='margin: 2px;' type='text' size='13' maxlength='13' />\r
-                               <input type='submit' onclick='advISBNRun();' value='&advanced.go;' />\r
-                       </td>\r
-                       <td>\r
-                               <span style='padding-right: 0px;'>&common.issn.label;</span>\r
-                               <input id='opac.advanced.quick.issn' style='margin: 2px;' type='text' size='9' maxlength='9' />\r
-                               <input type='submit' onclick='advISSNRun();' value='&advanced.go;' />\r
-                       </td>\r
-               </tr>\r
-       </tbody>\r
-</table>\r
diff --git a/web/opac/skin/uwin/xml/body.xml b/web/opac/skin/uwin/xml/body.xml
deleted file mode 100644 (file)
index b96704b..0000000
+++ /dev/null
@@ -1,30 +0,0 @@
-<body class="tundra">\r
-       <table width='100%'>\r
-               <tbody>\r
-                       <tr>\r
-                               <td id='main_left_cell'>\r
-                                       <!--#include virtual="common/logo.xml"-->\r
-                                       <!--#include virtual="common/sidebar.xml"-->\r
-                               </td>\r
-                               <td id='main_right_cell'>\r
-                                       <div id='content' class=''>\r
-\r
-                                               <!--#if expr="$OILS_PAGE!='advanced.xml'"-->\r
-                                                       <!--#include virtual="common/searchbar.xml"-->\r
-                                                       <!--#include virtual="common/statusbar.xml"-->\r
-                                               <!--#endif-->\r
-\r
-                                               <!--#include virtual="common/fonts.xml"-->\r
-\r
-                                               <!--#include virtual="common/altcanvas.xml"-->\r
-                                               <!--#include virtual="common/ilsevents.xml"--> \r
-                                               <!--#include virtual="page_${OILS_PAGE}"-->\r
-                                       </div>\r
-                                       <br/>\r
-                                       <!--#include virtual="common/tips.xml"-->\r
-                               </td>\r
-                       </tr>\r
-               </tbody>\r
-       </table>\r
-               <!--#include virtual='footer.xml'-->\r
-</body>\r
diff --git a/web/opac/skin/uwin/xml/common/altcanvas.xml b/web/opac/skin/uwin/xml/common/altcanvas.xml
deleted file mode 100644 (file)
index e1fa24b..0000000
+++ /dev/null
@@ -1,37 +0,0 @@
-\r
-<!-- These are the UI components that may be needed on any given page.  The must be\r
-       set to class += 'hide_me' by default -->\r
-\r
-<div id='not_the_canvas' xmlns:xi="http://www.w3.org/2001/XInclude">\r
-\r
-       <!-- the login page -->\r
-       <!--#if expr="$FRONT_PAGE!='true'"-->\r
-               <!--#include virtual="login.xml"-->\r
-       <!--#endif-->\r
-\r
-       <!-- The org tree -->\r
-       <!--#include virtual="orgtree.xml"-->\r
-\r
-       <!-- ============================================================================= -->\r
-       <!-- Register the alternate canvases  -->\r
-       <script language='javascript' type='text/javascript'>\r
-               config.ids.altcanvas.org_tree           = config.ids.common.org_container;\r
-               config.ids.altcanvas.holds                      = 'holds_box';\r
-               config.ids.altcanvas.check_holds        = 'check_holds_box';\r
-               config.ids.altcanvas.xulholds           = 'xulholds_box';\r
-               config.ids.altcanvas.loading            = 'loading_alt';\r
-               //config.ids.altcanvas.cnbrowse         = 'cn_browse';\r
-       </script>\r
-\r
-       <!--#if expr="$FRONT_PAGE!='true'"-->\r
-               <!--#include virtual="holds.xml"-->\r
-               <!-- #include virtual="cn_browse.xml"-->\r
-       <!--#endif-->\r
-\r
-       <div id='loading_alt' class='hide_me canvas' style='margin-top: 6px;'>\r
-               <div style='margin-top: 30px; margin-bottom: 30px; text-align: center; font-weight: 700;' class='color_3'>\r
-                       <img src='../../../../images/progressbar_green.gif' style='margin: 5px;' />\r
-               </div>\r
-       </div>\r
-\r
-</div>\r
diff --git a/web/opac/skin/uwin/xml/common/cn_browse.xml b/web/opac/skin/uwin/xml/common/cn_browse.xml
deleted file mode 100644 (file)
index 8c4a668..0000000
+++ /dev/null
@@ -1,34 +0,0 @@
-<div id='cn_browse' class='hide_me cn_browser' \r
-       style='width: 95%; text-align: center; padding: 15px;'>\r
-       <div id='cn_browse_loading'  class='cn_browse_loading hide_me'>&common.cn.loading;</div>\r
-       <div id='cn_browse_div'> \r
-\r
-\r
-               <div style='width: 90%; text-align: center; margin: 10px;' class='color_4'>\r
-                       <span>&common.cn.browsing;</span><b style='margin-left: 6px;' id='cn_browse_where'> </b>\r
-               </div>\r
-               <table class='data_grid bookshelf' width='100%'>\r
-                       <thead>\r
-                               <tr>\r
-                                       <td><a id='cn_browse_next' class='classic_link' \r
-                                               href='javascript:cnBrowsePrev();'><b>&common.cn.previous;</b></a></td>\r
-                                       <td colspan='1' align='center'>&common.cn.shelf;</td>\r
-                                       <td><a id='cn_browse_prev' class='classic_link' \r
-                                               href='javascript:cnBrowseNext();'><b>&common.cn.next;</b></a></td>\r
-                               </tr>\r
-                       </thead>\r
-                       <tbody id='cn_tbody'>\r
-                               <tr id='cn_browse_row'>\r
-                                       <td id='cn_browse_td' class='cn_browse_item' width='25%' valign='top'>\r
-                                               <a><img height='60' width='50' \r
-                                                       class='cn_browse_info' name='cn_browse_pic' border='0' /></a>\r
-                                               <div style='font-weight: bold;' class='cn_browse_info' name='cn_browse_cn'>  </div>\r
-                                               <div class='cn_browse_info'><a name='cn_browse_title' class='classic_link'> </a></div>\r
-                                               <div class='cn_browse_info'><a name='cn_browse_author' class='classic_link'>  </a></div>\r
-                                               <div class='cn_browse_info' name='cn_browse_lib'>  </div>\r
-                                       </td>\r
-                               </tr>\r
-                       </tbody>\r
-               </table>\r
-       </div>\r
-</div>\r
diff --git a/web/opac/skin/uwin/xml/common/css_common.xml b/web/opac/skin/uwin/xml/common/css_common.xml
deleted file mode 100644 (file)
index d1838bc..0000000
+++ /dev/null
@@ -1,24 +0,0 @@
-<!-- CSS shared across pages goes here --> \r
-\r
-<link type='text/css' rel='stylesheet' href="<!--#echo var='OILS_SKIN_BASE'-->/uwin/css/layout.css"/>\r
-\r
-<!-- Our font CSS's -->\r
-<link type='text/css' rel='stylesheet' href='<!--#echo var="OILS_CSS_BASE"-->/mediumfont.css' />\r
-\r
-<!-- Our colors -->\r
-<link type='text/css' rel="stylesheet" href="<!--#echo var='OILS_SKIN_BASE'-->/uwin/css/colors.css" />\r
-\r
-<!-- An alternate stylesheet -->\r
-<link type='text/css' rel="alternate stylesheet" title='&opac.style.reddish;' href="<!--#echo var='OILS_THEME_BASE'-->/reddish/css/colors.css" />\r
-\r
-<!-- OpenSearch auto discovery -->\r
-<link type="application/opensearchdescription+xml"\r
-       rel='search' title="UWindsor Library Catalogue"\r
-       href="http://<!--#echo var='SERVER_NAME'-->/opac/extras/opensearch/1.1/OWA/OWA/osd.xml" />\r
-\r
-<!-- enable Dojo date picker -->\r
-<style type="text/css">\r
-       @import '/js/dojo/dojo/resources/dojo.css';\r
-       @import '/js/dojo/dijit/themes/tundra/tundra.css';\r
-       @import '/js/dojo/dijit/themes/tundra/tundra_rtl.css';\r
-</style>\r
diff --git a/web/opac/skin/uwin/xml/common/fonts.xml b/web/opac/skin/uwin/xml/common/fonts.xml
deleted file mode 100644 (file)
index a5c7f23..0000000
+++ /dev/null
@@ -1,25 +0,0 @@
-<div id='fonts_div'>\r
-\r
-       <div id='text_size_div' style='position:absolute; top: 2px; right: 6px;'>\r
-               <span style='vertical-align: top;'>&common.textsize.title;</span>\r
-               <span style='vertical-align: top;'><a href="javascript:void(0);" onclick="setFontSize('regular');"> &common.textsize.regular; </a></span>\r
-               <span style='vertical-align: top;'> &common.textsize.separator; </span>\r
-               <span style='vertical-align: top;'><a href="javascript:void(0);" onclick="setFontSize('large');"> &common.textsize.large; </a></span>\r
-<!--           <span style='vertical-align: top;'>&nbsp;<span style="font-weight:bold;">|</span>&nbsp;</span>\r
-               <span style='vertical-align: top;'>&common.language;</span>\r
-               <span id='translation_switch' dojoType="dijit.form.FilteringSelect" store="openils.I18N.localeStore"\r
-            searchAttr="label" required="false" jsId='opacLocaleSelector'>\r
-            <script>\r
-                dojo.addOnLoad(function() {\r
-                    opacLocaleSelector.setValue(locale);\r
-                    dojo.connect(opacLocaleSelector, 'onChange', \r
-                        function () {\r
-                            location.href = location.href.replace(/opac\/[^\/]+\/skin/, 'opac/' + this.getValue() + '/skin');\r
-                        }\r
-                    );\r
-                });\r
-            </script>\r
-               </span>  -->\r
-       </div>\r
-       \r
-</div>\r
diff --git a/web/opac/skin/uwin/xml/common/format_selector.xml b/web/opac/skin/uwin/xml/common/format_selector.xml
deleted file mode 100644 (file)
index 37e29ec..0000000
+++ /dev/null
@@ -1,10 +0,0 @@
-<select id='<!--#echo var="FORM_SEL_ID"-->' >\r
-       <option value=''>&opac.search.allFormats;</option>\r
-       <option value='at'>&opac.search.books;</option>\r
-       <option value='at-d'>&opac.search.largePrint;</option>\r
-       <option value='i'>&opac.search.audioBooks;</option>\r
-       <option value='g'>&opac.search.videoRecordings;</option>\r
-       <option value='j'>&opac.search.music;</option>\r
-       <option value='m'>&opac.search.electronic;</option>\r
-</select>\r
-       \r
diff --git a/web/opac/skin/uwin/xml/common/holds.xml b/web/opac/skin/uwin/xml/common/holds.xml
deleted file mode 100644 (file)
index 6b60d8f..0000000
+++ /dev/null
@@ -1,232 +0,0 @@
-<script language='javascript' type='text/javascript' src='<!--#echo var="OILS_OPAC_JS_HOST"-->/common/js/DP_DateExtensions.js'></script>\r
-<div>\r
-       <div id='xulholds_box' class='hide_me canvas' style='margin-top: 6px;'>\r
-               <center>\r
-                       <table class='data_grid' style='margin-top: 20px;'>\r
-                               <tbody>\r
-                                       <tr>\r
-                                               <td>&opac.holds.xulRecipient;:</td>\r
-                                               <td><input type='text' id='xul_recipient_barcode' /></td>\r
-                                               <td><input type='submit' value='&common.submit;' id='xul_recipient_barcode_submit' /></td>\r
-                                               <td><input type='submit' value='&common.cancel;' onclick='showCanvas();' /></td>\r
-                                               <td><input type='submit' value='&common.hold.place;' id='xul_recipient_me' /></td>\r
-                                       </tr>\r
-                               </tbody>\r
-                       </table>\r
-               </center>\r
-       </div>\r
-\r
-       <div id='check_holds_box' class='hide_me canvas' \r
-               style='margin-top: 6px; width: 100%; text-align: center'>\r
-               <br/><br/><br/>\r
-               <b>&common.hold.check;</b>\r
-       </div>\r
-\r
-       <div id='holds_box' class='hide_me canvas' style='margin-top: 6px;'>\r
-       \r
-               <br/>\r
-               <table width='90%'>\r
-                       <tbody>\r
-                               <tr>\r
-                                       <td class='holds_cell color_1' \r
-                                               align='center' colspan='2'>&common.hold.create;</td>\r
-                               </tr>\r
-                               <tr>\r
-                                       <td class='holds_cell'>&opac.holds.recipient;:</td>\r
-                                       <td class='holds_cell' id='holds_recipient'> </td>\r
-                               </tr>\r
-                               <tr>\r
-                                       <td class='holds_cell'>&common.title.label;</td>\r
-                                       <td class='holds_cell' id='holds_title'> </td>\r
-                               </tr>\r
-                               <tr>\r
-                                       <td class='holds_cell'>&common.author;</td>\r
-                                       <td class='holds_cell' id='holds_author'> </td>\r
-                               </tr>\r
-                               <tr>\r
-                                       <td class='holds_cell'>&common.format;</td>\r
-                                       <td class='holds_cell' id='holds_format'> </td>\r
-                               </tr>\r
-                               <tr id='hold_physical_desc_row'>\r
-                                       <td class='holds_cell'>&common.physical.label;</td>\r
-                                       <td class='holds_cell' id='holds_physical_desc'> </td>\r
-                               </tr>\r
-\r
-                               <tr class='hide_me' id='holds_cn_row'>\r
-                                       <td class='holds_cell'>&common.call.number.label;</td>\r
-                                       <td class='holds_cell'><b id='holds_cn'/> </td>\r
-                               </tr>\r
-\r
-                               <tr class='hide_me' id='holds_copy_row'>\r
-                                       <td class='holds_cell'>&common.copy.barcode.label;</td>\r
-                                       <td class='holds_cell'><b id='holds_copy'/> </td>\r
-                               </tr>\r
-\r
-                               <tr class='hide_me' id='holds_type_row'>\r
-                                       <td class='holds_cell'>&common.hold.type.label;</td>\r
-                                       <td class='holds_cell hide_me' id='holds_is_cn'><b>&common.hold.volume;</b></td>\r
-                                       <td class='holds_cell hide_me' id='holds_is_copy'><b>&common.hold.copy;</b></td>\r
-                               </tr>\r
-\r
-                               <tr>\r
-                                       <td class='holds_cell'>&opac.holds.contactPhone;:</td>\r
-                                       <td class='holds_cell'>\r
-                                               <input id='holds_phone' size='13' maxlength='12'/>\r
-                                               <span style='margin-left: 4px; font-size: 7pt;'>&common.phone.format;</span>\r
-                                       </td>\r
-                               </tr>\r
-                               <tr>\r
-                                       <td class='holds_cell'>&common.phone.enable;</td>\r
-                                       <td class='holds_cell'>\r
-                                               <input type='checkbox' id='holds_enable_phone'  checked='checked'\r
-                                                       onchange='\r
-                                                               if (this.checked) $("holds_phone").disabled=false; \r
-                                                               else $("holds_phone").disabled = true;'/>\r
-                                       </td>\r
-                               </tr>\r
-\r
-                               <tr>\r
-                                       <td class='holds_cell'>&opac.holds.contactEmail;:</td>\r
-                                       <td class='holds_cell' id='holds_email'> \r
-                        <span class='hide_me' id='holds.no_email'>\r
-                           &common.email.none;<br/>\r
-                           &common.email.set;\r
-                        </span>\r
-                        <span class='hide_me' id='holds.no_email.xul'>\r
-                           &common.email.none; \r
-                        </span>\r
-\r
-                    </td>\r
-                               </tr>\r
-                               <tr>\r
-                                       <td class='holds_cell'>&common.email.enable;</td>\r
-                                       <td class='holds_cell'>\r
-                                               <input type='checkbox' id='holds_enable_email' checked='checked'/>\r
-                                       </td>\r
-                               </tr>\r
-                               <!--\r
-                               <tr id='holds_depth_selector_row' class='hide_me'>\r
-                                       <td class='holds_cell'>Hold Range</td>\r
-                                       <td class='holds_cell'>\r
-                                               <select id='holds_depth_selector'></select>\r
-                                       </td>\r
-                               </tr>\r
-                               -->\r
-                               <tr>\r
-                                       <td class='holds_cell'>&opac.holds.pickupLocation;</td>\r
-                                       <td class='holds_cell'>\r
-                                               <select id='holds_org_selector'> </select>\r
-                                       </td>\r
-                               </tr>\r
-\r
-                               <tr>\r
-                                       <td class='holds_cell'>&opac.holds.expire_time;</td>\r
-                                       <td class='holds_cell'>\r
-                        <input dojoType="dijit.form.DateTextBox" size='10' maxlength='10' id='holds_expire_time' />\r
-                                       </td>\r
-                               </tr>\r
-\r
-                <tr>\r
-                    <td class='holds_cell'>\r
-                        &opac.holds.freeze;\r
-                        <a class='classic_link' href='javascript:alert("&opac.holds.freeze.help;");'>&common.help;</a>\r
-                        </td>\r
-                    <td class='holds_cell'>\r
-                        <input type='checkbox' id='holds_frozen_chkbox' \r
-                            onchange='\r
-                                if($("holds_frozen_chkbox").checked) \r
-                                    unHideMe($("hold_frozen_thaw_row"));\r
-                                else\r
-                                    hideMe($("hold_frozen_thaw_row"));\r
-                            ' /> \r
-                    </td>\r
-                </tr>\r
-\r
-                <tr id='hold_frozen_thaw_row' class='hide_me'>\r
-                    <td class='holds_cell'>\r
-                        <script language='javascript' type='text/javascript'> if($('holds_frozen_chkbox').checked) unHideMe($("hold_frozen_thaw_row"));</script>\r
-                        &opac.holds.freeze.thaw_date;\r
-                    </td>\r
-                    <td class='holds_cell'>\r
-                        <input dojoType="dijit.form.DateTextBox" size='10' maxlength='10' id='holds_frozen_thaw_input' />\r
-                    </td>\r
-                </tr>\r
-\r
-                               <tr id='holds_alt_formats_row_extras' class='hide_me'>\r
-                                       <td colspan='2' align='center'>\r
-                                               <div style='padding: 8px;'>\r
-                                                       <a class='classic_link' href='javascript:void(0);' style='padding: 5px;'\r
-                                                               onclick='unHideMe($("holds_alt_formats_row"));'>&common.hold.advanced;</a>\r
-                                               </div>\r
-                                       </td>\r
-                               </tr>\r
-\r
-                               <tr id='holds_alt_formats_row' class='hide_me'>\r
-\r
-                                       <td class='holds_cell'>\r
-                                               <div style='margin-bottom: 5px;'>\r
-                                                       <span>&common.format.alternatives; </span>\r
-                                                       <span> <a class='classic_link' style='color:red;' href='javascript:void(0);' \r
-                                                               onclick='alert($("holds_explain_adv").innerHTML)'>&common.help;</a></span>\r
-                                               </div>\r
-                                               <div>&common.control.click;</div>\r
-                                       </td>\r
-\r
-                                       <td class='holds_cell'>\r
-                                               <select id='hold_alt_form_selector' multiple='multiple' style='width: 14em;'>\r
-                                                       <option value='at'      class='hide_me'>&opac.search.books;</option>\r
-                                                       <option value='at-d' class='hide_me'>&opac.search.largePrint;</option>\r
-                                                       <option value='i'               class='hide_me'>&opac.search.audioBooks;</option>\r
-                                                       <option value='g'               class='hide_me'>&opac.search.videoRecordings;</option>\r
-                                                       <option value='j'               class='hide_me'>&opac.search.music;</option>\r
-                                               </select>\r
-                                       </td>\r
-                               </tr>\r
-\r
-                               <tr>\r
-                                       <td class='holds_cell' align='center' colspan='2'>\r
-                                               <button id='holds_submit'>&opac.holds.placeHold;</button>\r
-                                               <button class='hide_me' id='holds_update'>&common.hold.update;</button>\r
-                                               <span style='padding: 20px;'> </span>\r
-                                               <button id='holds_cancel'>&common.cancel;</button>\r
-                                       </td>\r
-                               </tr>\r
-                       </tbody>\r
-               </table>\r
-       \r
-               <div class='hide_me' id='holds_success'>&opac.holds.success;</div>\r
-               <div class='hide_me' id='holds_failure'>&opac.holds.failure;</div>\r
-               <span class='hide_me' id='holds_bad_phone'>\r
-                       &common.phone.format.help;\r
-               </span>\r
-\r
-               <span class='hide_me' id='hold_not_allowed'>\r
-                       &common.hold.failed;\r
-               </span>\r
-\r
-       </div>\r
-\r
-       <span class='hide_me' id='format_words'>\r
-               <span name='at'>&opac.search.books;</span>\r
-               <span name='at-d'>&opac.search.largePrint;</span>\r
-               <span name='i'>&opac.search.audioBooks;</span>\r
-               <span name='g'>&opac.search.videoRecordings;</span>\r
-               <span name='j'>&opac.search.music;</span>\r
-               <span name='m'>&opac.search.electronic;</span>\r
-       </span>\r
-\r
-       <span class='hide_me' id='holds_explain_adv'>&holds.advanced_options;</span>\r
-\r
-       <span class='hide_me' id='holds_pick_good_org'>&common.hold.delivery;</span>\r
-\r
-       <span class='hide_me' id='hold_dup_exists'>&common.hold.exists;</span>\r
-\r
-       <span class='hide_me' id='hold_dup_exists_override'>&common.hold.exists.override;</span>\r
-\r
-       <span id='hold_failed_patron_barred' class='hide_me'>&common.hold.barred;</span>\r
-\r
-       <span id='invalid_hold' class='hide_me'>&common.hold.item.invalid;</span>\r
-\r
-       <span id='holds_invalid_recipient' class='hide_me'>&common.hold.patron.invalid;</span>\r
-\r
-</div>\r
diff --git a/web/opac/skin/uwin/xml/common/ilsevents.xml b/web/opac/skin/uwin/xml/common/ilsevents.xml
deleted file mode 100644 (file)
index 11d0bea..0000000
+++ /dev/null
@@ -1,14 +0,0 @@
-<span class='hide_me'>\r
-       <span id='ilsevent.1000'>&ilsevent.1000;</span>\r
-       <span id='ilsevent.1001'>&ilsevent.1001;</span>\r
-       <span id='ilsevent.1002'>&ilsevent.1002;</span>\r
-       <span id='ilsevent.1200'>&ilsevent.1200;</span>\r
-       <span id='ilsevent.5000'>&ilsevent.5000;</span>\r
-       <span id='ilsperm.CREATE_HOLD'>&ilsperm.CREATE_HOLD;</span>\r
-\r
-       <!-- Local OPAC Specific strings/events -->\r
-       <span id='auth_session_expiring'>&opac.session_expiring;</span>\r
-       <span id='auth_session_expired'>&opac.session_expired;</span>\r
-       <span id='user_not_found'>&common.user_not_found;</span>\r
-</span>\r
-\r
diff --git a/web/opac/skin/uwin/xml/common/js_common.xml b/web/opac/skin/uwin/xml/common/js_common.xml
deleted file mode 100644 (file)
index 24aa1de..0000000
+++ /dev/null
@@ -1,77 +0,0 @@
-       <script language='javascript' src='<!--#echo var="OILS_JS_BASE"-->/utils.js' type='text/javascript'></script>\r
-       <script language='javascript' src='<!--#echo var="OILS_JS_BASE"-->/config.js' type='text/javascript'></script>\r
-\r
-    <!-- overriding the default setting for metarecord grouping -->\r
-    <script language='javascript' type='text/javascript'>\r
-        SHOW_MR_DEFAULT = false;\r
-    </script>\r
-\r
-\r
-       <script language='javascript' src='<!--#echo var="OILS_JS_BASE"-->/CGI.js' type='text/javascript'></script>\r
-       <script language='javascript' src='<!--#echo var="OILS_JS_BASE"-->/Cookies.js' type='text/javascript'></script>\r
-       <script language='javascript' src='<!--#echo var="OILS_JS_BASE"-->/md5.js' type='text/javascript'></script>\r
-\r
-       <script language='javascript' src='<!--#echo var="OILS_JS_BASE"-->/slimtree.js' type='text/javascript'></script>\r
-\r
-       <script language='javascript' src='<!--#echo var="OILS_JS_BASE"-->/JSON_v1.js' type='text/javascript'></script>\r
-       <script language='javascript' src='<!--#echo var="OILS_JS_BASE"-->/fmcore.js' type='text/javascript'></script>\r
-       <script language='javascript' src='<!--#echo var="OILS_JS_BASE"-->/fmgen.js' type='text/javascript'></script>\r
-       <script language='javascript' src='<!--#echo var="OILS_JS_BASE"-->/opac_utils.js' type='text/javascript'></script>\r
-       <script language='javascript' src='<!--#echo var="OILS_JS_BASE"-->/<!--#echo var="locale"-->/OrgTree.js' type='text/javascript'></script>\r
-       <script language='javascript' src='<!--#echo var="OILS_JS_BASE"-->/OrgLasso.js' type='text/javascript'></script>\r
-       <script language='javascript' src='<!--#echo var="OILS_JS_BASE"-->/org_utils.js' type='text/javascript'></script>\r
-       <script language='javascript' src='<!--#echo var="OILS_JS_BASE"-->/RemoteRequest.js' type='text/javascript'></script>\r
-       <script language='javascript' src='<!--#echo var="OILS_JS_BASE"-->/init.js' type='text/javascript'></script>\r
-       <script language='javascript' src='<!--#echo var="OILS_JS_BASE"-->/added_content.js' type='text/javascript'></script>\r
-\r
-       <!-- Some global js -->\r
-       <script language='javascript' type='text/javascript'>\r
-\r
-               config.css.color_1 = "color_1";\r
-               config.css.color_2 = "color_2";\r
-               config.css.color_3 = "color_3";\r
-\r
-\r
-               <!-- set up some global JS config variables, read from the Apache config -->\r
-               var OILS_OPAC_IMAGES_HOST = null;\r
-               <!--#if expr="$OILS_OPAC_IMAGES_HOST"-->\r
-                       OILS_OPAC_IMAGES_HOST = '<!--#echo var="OILS_OPAC_IMAGES_HOST"-->extras/ac/jacket/';\r
-               <!--#endif -->\r
-               var OILS_OPAC_STATIC_PROTOCOL = null;\r
-               <!--#if expr="$OILS_OPAC_STATIC_PROTOCOL"-->\r
-                       OILS_OPAC_STATIC_PROTOCOL = '<!--#echo var="OILS_OPAC_STATIC_PROTOCOL"-->';\r
-               <!--#endif -->\r
-\r
-               <!-- builds the "Now searching: <org_unit>" text on the home page -->\r
-               function home_init() {\r
-                       getId("home_adv_search_link").setAttribute("href", buildOPACLink({page:ADVANCED})); \r
-                       getId("home_myopac_link").setAttribute("href", buildOPACLink({page:MYOPAC}, false, true));\r
-               }\r
-       </script>\r
-\r
-       <!-- enable Dojo date picker -->\r
-       <script language='javascript' type="text/javascript">\r
-\r
-               var djConfig = {parseOnLoad: true, isDebug: false}, lang, bidi;\r
-\r
-               var locale = location.href.replace( /.+opac\/([^\/]+)\/skin.+/, '$1' );\r
-               if (!locale) locale = '<!--#echo var="locale"-->';\r
-\r
-               djConfig.locale = locale.toLowerCase();\r
-\r
-       </script>\r
-\r
-       <script type="text/javascript" src='/js/dojo/dojo/dojo.js'></script>\r
-       <script type="text/javascript" src='/js/dojo/dojo/openils_dojo.js'></script>\r
-    <script type="text/javascript" src='/js/dojo/opensrf/opensrf.js'></script>\r
-\r
-       <script language="javascript" type="text/javascript">\r
-               dojo.addOnLoad(init);\r
-               dojo.require("dijit._Calendar");\r
-               dojo.require("dijit.form.DateTextBox");\r
-               dojo.require("dijit.form.FilteringSelect");\r
-               dojo.require("dojo.date.locale");\r
-               dojo.require("dojo.date.stamp");\r
-               dojo.require("dojo.parser");\r
-               dojo.require("openils.I18N");\r
-       </script>\r
diff --git a/web/opac/skin/uwin/xml/common/libselect.xml b/web/opac/skin/uwin/xml/common/libselect.xml
deleted file mode 100644 (file)
index acb73e9..0000000
+++ /dev/null
@@ -1,15 +0,0 @@
-<span>\r
-       <script language='javascript' type='text/javascript' src='<!--#echo var="OILS_OPAC_JS_HOST"-->/skin/default/js/depth_selector.js'></script>\r
-       <span class='hide_me' id='depth_selector_span'>\r
-               <!--#if expr="$SHOW_DEPTHSEL_TEXT='true'"-->\r
-               <span>&library.select; </span>\r
-               <!--#endif-->\r
-               <select id='depth_selector' >\r
-                       <option value='new'>&library.select.label;</option>\r
-               </select>\r
-       </span>\r
-       <span class='hide_me' id='lib_selector_span'>\r
-               <a id='lib_selector_link' class='classic_link' href='javascript:void(0)'>&library.select.help;</a>\r
-       </span>\r
-</span>\r
-\r
diff --git a/web/opac/skin/uwin/xml/common/login.xml b/web/opac/skin/uwin/xml/common/login.xml
deleted file mode 100644 (file)
index 465e0d1..0000000
+++ /dev/null
@@ -1,110 +0,0 @@
-\r
-<div id='login_box' class='hide_me canvas' style='margin-top: 6px;'>\r
-\r
-       <script language='javascript' type='text/javascript'>\r
-               config.ids.login = {};\r
-               config.css.login = {};\r
-               config.ids.login.box                    = "login_box";\r
-               config.ids.login.username       = "login_username";\r
-               config.ids.login.password       = "login_password";\r
-               config.ids.login.button         = "login_button";\r
-               config.ids.login.cancel         = "login_cancel_button";\r
-               config.ids.altcanvas.login                      = config.ids.login.box;\r
-       </script>\r
-\r
-       <br/>\r
-\r
-       <div class='login_text color_1' style='padding: 4px; text-align: center;'>\r
-               <span>&uwin.myopac.loginhelp.question; <a class="classic_link" target="_blank" href="&uwin.myopac.loginhelp.url;">&uwin.myopac.loginhelp.url_text;</a></span>\r
-       </div>\r
-\r
-       <br/>\r
-\r
-       <table id='login_table' class='data_grid' style='margin-left: 20px;' width='95%'>\r
-               <tbody>\r
-                       <tr>\r
-                               <td><span class='login_text'>&login.username;</span></td>\r
-                               <td>\r
-                                       <span class='login_text'>\r
-                                               <input id='login_username' type='text' size='32' />\r
-                                       </span>\r
-                               </td>\r
-                       </tr>\r
-                       <tr>\r
-                               <td>\r
-                                       <span class='login_text'>&common.password;</span>\r
-                               </td>\r
-                               <td>\r
-                                       <span class='login_text'>\r
-                                               <input id='login_password' type='password' size='32' />\r
-                                       </span>\r
-                               </td>\r
-                       </tr>\r
-                       <tr><td colspan="2" style="text-align: center;"></td></tr>\r
-                       <tr class='color_1'>\r
-                               <td colspan='2' align='center'>\r
-                                       <span class='login_text' style='margin-right: 20px;'>\r
-                                       <input type='submit' value='&common.login;'  id='login_button'/>\r
-                                       </span>\r
-                                       <span class='login_text' style='margin-left: 20px;'>\r
-                                               <input type='submit' id='login_cancel_button' value='&common.cancel;'/>\r
-                                       </span>\r
-                               </td>\r
-                       </tr>\r
-               </tbody>\r
-       </table>\r
-\r
-       <table id='change_pw_table' class='data_grid hide_me' style='margin-left: 20px;' width='95%'>\r
-               <thead>\r
-                       <tr><td colspan='2' align='center'><b>&login.password;</b></td></tr>\r
-               </thead>\r
-               <tbody>\r
-\r
-                       <tr>\r
-                               <td colspan='2' style='padding:10px;'>\r
-                                       &login.first.time;\r
-                                       &common.password_criteria;\r
-                               </td>\r
-                       </tr>\r
-\r
-                       <tr>\r
-                               <td>&login.password.current.enter;</td>\r
-                               <td><input type='password' id='change_pw_current'/></td>\r
-                       </tr>\r
-\r
-                       <tr>\r
-                               <td>&login.password.new.enter;</td>\r
-                               <td><input type='password' id='change_pw_1'/></td>\r
-                       </tr>\r
-                       <tr>\r
-                               <td>&login.password.new.reenter;</td>\r
-                               <td><input type='password' id='change_pw_2'/></td>\r
-                       </tr>\r
-                       <tr><td><br/></td><td/></tr>\r
-                       <tr class='color_1'>\r
-                               <td colspan='2' align='center'>\r
-                                       <span class='login_text' style='margin-right: 20px;'>\r
-                                               <input type='submit' value='&login.password.update;'  id='change_pw_button'/>\r
-                                       </span>\r
-                               </td>\r
-                       </tr>\r
-               </tbody>\r
-       </table>\r
-\r
-       <span id='pw_no_match' class='hide_me'>&login.password.nomatch;</span>\r
-       <span id='pw_update_successful' class='hide_me'>&login.password.success;</span>\r
-\r
-       <span id='pw_not_strong' class='hide_me'>\r
-               &login.password.strength;\r
-               &common.password_criteria;\r
-       </span>\r
-\r
-       <span id='patron_card_inactive_alert' class='hide_me'>&login.barcode.inactive;</span>\r
-\r
-       <span id='patron_inactive_alert' class='hide_me'>&login.account.inactive;</span>\r
-\r
-       <span id='patron_login_failed' class='hide_me'>&login.failed;</span>\r
-\r
-</div>\r
-\r
-\r
diff --git a/web/opac/skin/uwin/xml/common/logo.xml b/web/opac/skin/uwin/xml/common/logo.xml
deleted file mode 100644 (file)
index ec40e64..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-<div id='logo_div'>\r
-       <script language='javascript' type='text/javascript'>config.ids.common.top_logo = "top_left_logo";</script>\r
-       <img style='margin-right: 4px;' src='<!--#echo var="OILS_BASE"-->/skin/uwin/local/images/uwin_small.png' id='top_left_logo' border='0' class='logo' />\r
-</div>\r
diff --git a/web/opac/skin/uwin/xml/common/orgtree.xml b/web/opac/skin/uwin/xml/common/orgtree.xml
deleted file mode 100644 (file)
index 66e6324..0000000
+++ /dev/null
@@ -1,27 +0,0 @@
-\r
-<!-- the org tree -->\r
-<div id='org_container' class='hide_me canvas'>\r
-\r
-       <div id='org_link_container' class='color_1'>\r
-               <span class='org_link'>\r
-                       <a onclick='orgTreeSelector.expandAll();' \r
-                               href='javascript:void(0);'>&common.org.openAll;</a>\r
-               </span>\r
-               <span class='org_link'>\r
-                       <a onclick='orgTreeSelector.closeAll();' \r
-                               href='javascript:void(0);'>&common.org.closeAll;</a>\r
-               </span>\r
-               <span class='org_link'>\r
-                       <a onclick='showCanvas();' href='javascript:void(0);'>&common.org.cancel;</a>\r
-               </span>\r
-       </div>\r
-\r
-       <div id='org_loading_div'><br/><span>&common.org.loading;</span></div>\r
-       <br/>\r
-       <div id='org_selector_tip' class='tips hide_me'><b>&common.org.note;</b>\r
-               <span>&common.org.notetext;</span>\r
-       </div>\r
-       <br/>\r
-       <div id='org_tree' class='org_tree'> </div>\r
-       <br/>\r
-</div>\r
diff --git a/web/opac/skin/uwin/xml/common/searchbar.xml b/web/opac/skin/uwin/xml/common/searchbar.xml
deleted file mode 100644 (file)
index b5f0085..0000000
+++ /dev/null
@@ -1,64 +0,0 @@
-\r
-<!-- Searchbar for doing metarecord searches -->\r
-\r
-<div id='searchbar'>\r
-\r
-       <!-- load my js -->\r
-       <script language='javascript' type='text/javascript'>\r
-               config.ids.searchbar = {};\r
-               config.css.searchbar = {};\r
-               config.ids.searchbar.text                               = 'search_box'; \r
-               config.ids.searchbar.submit                     = 'search_submit';      \r
-               config.ids.searchbar.type_selector      = 'search_type_selector';\r
-               config.ids.searchbar.depth_selector     = 'depth_selector';\r
-               config.ids.searchbar.form_selector      = 'form_selector';\r
-               config.ids.searchbar.extra_row          = 'searchbar_extra';\r
-               config.ids.searchbar.main_row                   = 'searchbar_main_row';\r
-               config.ids.searchbar.table                              = 'searchbar_table';\r
-               config.ids.searchbar.location_tag       = 'search_location_tag_link';\r
-               config.ids.searchbar.lib_sel_span       = 'lib_selector_span';\r
-               config.ids.searchbar.lib_sel_link       = 'lib_selector_link';\r
-               config.ids.searchbar.depth_sel_span     = 'depth_selector_span';\r
-       </script>\r
-\r
-\r
-       <table class='color_1 color_border1' width='100%' style='border-collapse: collapse;'>\r
-               <tbody>\r
-                       <tr>\r
-\r
-                               <td nowrap='nowrap' align='center'  class='search_box_container color_2'>\r
-\r
-                                       <input id='search_box' type='text' />\r
-                                       <span style='padding-left: 6px;'>\r
-                                               <input type='button' style='width: 40px;' id='search_submit' value='&button.go;' />\r
-                                       </span>\r
-                               </td>\r
-\r
-                               <td nowrap='nowrap' style='padding: 3px;' align='right' >\r
-\r
-                                       <span style='padding-right:9px;'>\r
-                                               <!--\r
-                                               <span>&common.type;: </span>\r
-                                               -->\r
-                                               <!--#include virtual="stypes_selector.xml"-->\r
-                                       </span>\r
-\r
-                                       <span style='padding-right:9px;'>\r
-                                               <!--#set var='FORM_SEL_ID' value='form_selector'-->\r
-                                               <!--#include virtual="format_selector.xml"-->\r
-                                       </span>\r
-\r
-                                       <!--#include virtual="libselect.xml"-->\r
-\r
-                               </td>\r
-                       </tr>\r
-               </tbody>\r
-       </table>\r
-       <script language='javascript' type='text/javascript' src='<!--#echo var="OILS_OPAC_JS_HOST"-->/skin/default/js/search_bar.js'></script>\r
-</div>\r
-\r
-\r
-\r
-\r
-\r
-\r
diff --git a/web/opac/skin/uwin/xml/common/sidebar.xml b/web/opac/skin/uwin/xml/common/sidebar.xml
deleted file mode 100644 (file)
index 8241b0d..0000000
+++ /dev/null
@@ -1,217 +0,0 @@
-\r
-<!-- Navigation bar -->\r
-\r
-<div id="sidebar_div" class="sidebar_div" xmlns:xi="http://www.w3.org/2001/XInclude">\r
-\r
-       <div class='sidebar_chunk'>\r
-\r
-               <div title="&navigate.home.title;" \r
-                       id='home_link_div' class="side_bar_item ">\r
-                       <a id='home_link' href='index.xml'>&navigate.home;</a>\r
-               </div>\r
-       \r
-               <div title="&uwin.askON.title;" \r
-                       id="&uwin.askON.div.id;" class="side_bar_item ">\r
-                       <a id="&uwin.askON.link.id;" href="&uwin.askON.url;" target="_blank">&uwin.askON;</a>\r
-               </div>\r
-       \r
-               <div title="&opac.navigate.advanced.title;"\r
-                       id='advanced_link_div' class="side_bar_item ">\r
-                       <a id='advanced_link' href='advanced.xml'>&opac.navigate.advanced;</a>\r
-               </div>\r
-\r
-               <div title="&navigate.myopac.title;"\r
-                       id='myopac_link_div' class="side_bar_item ">\r
-                       <a  id='myopac_link' href='myopac/myopac.xml'>&navigate.myopac;</a>\r
-               </div>\r
-\r
-               <div title="&navigate.login.title;"\r
-                       id='login_link_div' class="side_bar_item ">\r
-                       <a id='login_link' href='javascript:void(0);'>&navigate.login;</a>\r
-               </div>\r
-\r
-               <div title="&navigate.logout.title;"\r
-                       id='logout_link_div' class="side_bar_item hide_me ">\r
-                       <a id='logout_link' href='javascript:void(0);'>&navigate.logout;</a>\r
-               </div>\r
-\r
-\r
-               <!-- Informational sidebar components -->\r
-\r
-               <div id='logged_in_as_div' title="&navigate.loggedinas.title;" class="side_bar_item hide_me">\r
-                       <span>&navigate.loggedinas;<b id='username_dest'> </b></span>\r
-               </div>\r
-\r
-               <div id='sidebar_results_wrapper' class='hide_me border_1'>\r
-                       <div title="&navigate.titleGroupResults;" \r
-                               id='mresult_link_div' class="side_bar_item hide_me">\r
-                               <a id='sidebar_title_group_results'>&navigate.titleGroupResults;</a>\r
-                       </div>\r
-               \r
-                       <div title="&navigate.titleResults;"\r
-                               id='result_link_div' class="side_bar_item hide_me">\r
-                               <a id='sidebar_title_results'>&navigate.titleResults;</a>\r
-                       </div>\r
-       \r
-                       <div title="&navigate.record.details;"\r
-                               id='rdetail_link_div' class="side_bar_item hide_me">\r
-                               <span>&navigate.title.details;</span>\r
-                       </div>\r
-               </div>\r
-       </div>\r
-\r
-<!-- relevant subjects/authors/series commented out, cause they just don't work\r
-\r
-       <div id='subject_tree_sidebar' class='sidebar_chunk hide_me' style='margin-top: 12px;'> \r
-               <div id='subject_sidebar_tree_div'> </div>\r
-               <script language='javascript' type='text/javascript'>\r
-                       removeChildren($('subject_sidebar_tree_div'));\r
-                       var subjectSidebarTree = new SlimTree(\r
-                               document.getElementById('subject_sidebar_tree_div'),\r
-                               'subjectSidebarTree', '../../../../images/slimtree/related.jpg');\r
-                       subjectSidebarTree.addNode( 'subjectSidebarTreeRoot', -1, \r
-                               "&sidebar.relevantSubjects.headerLabel;", \r
-                               'javascript:subjectSidebarTree.toggle(' +\r
-                                       '"subjectSidebarTreeRoot");');\r
-               </script>\r
-       </div>\r
-\r
-       <div id='author_tree_sidebar' class='sidebar_chunk hide_me'> \r
-               <hr/>\r
-               <div id='author_sidebar_tree_div'> </div>\r
-               <script language='javascript' type='text/javascript'>\r
-                       removeChildren($('author_sidebar_tree_div'));\r
-                       var authorSidebarTree = new SlimTree(\r
-                               document.getElementById('author_sidebar_tree_div'),\r
-                               'authorSidebarTree','../../../../images/slimtree/people.jpg');\r
-                       authorSidebarTree.addNode( 'authorSidebarTreeRoot', -1, \r
-                               "&sidebar.relevantAuthors.headerLabel;", \r
-                               'javascript:authorSidebarTree.toggle(' +\r
-                                       '"authorSidebarTreeRoot");');\r
-               </script>\r
-       </div>\r
-\r
-       <div id='series_tree_sidebar' class='sidebar_chunk hide_me'> \r
-               <hr/>\r
-               <div id='series_sidebar_tree_div'> </div>\r
-               <script language='javascript' type='text/javascript'>\r
-                       removeChildren($('series_sidebar_tree_div'));\r
-                       var seriesSidebarTree = new SlimTree(\r
-                               document.getElementById('series_sidebar_tree_div'),\r
-                               'seriesSidebarTree',\r
-                               '../../../../images/slimtree/houses.jpg');\r
-                       seriesSidebarTree.addNode( 'seriesSidebarTreeRoot', -1, \r
-                               "&sidebar.relevantSeries.headerLabel;", \r
-                               'javascript:seriesSidebarTree.toggle(' +\r
-                                       '"seriesSidebarTreeRoot");');\r
-               </script>\r
-       </div>\r
- -->\r
-       <div id='adv_quick_search_sidebar' class='sidebar_chunk hide_me' \r
-               style='text-align:center; margin-top: 20px;'> \r
-               <hr/>\r
-               <div id='adv_quick_search'>\r
-                       <div class='adv_quick_search color_4'><b>&sidebar.quick.search;</b></div>\r
-                       <div style='margin-top: 8px;'>\r
-                               <table><tbody><tr>\r
-                                       <td>\r
-                                               <select id='adv_quick_type' style='width: 6em;'>\r
-                                                       <option value='isbn'>&opac.advanced.quick.isbn;</option>\r
-                                                       <option value='issn'>&opac.advanced.quick.issn;</option>\r
-                                                       <option value='cn'>&opac.advanced.quick.cn;</option>\r
-                                                       <option value='lccn'>&opac.advanced.quick.lccn;</option>\r
-                                                       <option value='tcn'>&opac.advanced.quick.tcn;</option>\r
-                                                       <option value='barcode'>&opac.advanced.quick.barcode;</option>\r
-                                               </select>\r
-                                       </td><td>\r
-                                               <input type='text' id='adv_quick_text' size='16' />\r
-                                       </td>\r
-                               </tr></tbody></table>\r
-                       </div>\r
-\r
-            <span class='hide_me' id='myopac.copy.not.found'>&sidebar.copy.not.found;</span>\r
-                       <div style='margin-top: 8px;' class='adv_quick_search_submit'>\r
-                               <a id='adv_quick_submit' href='javascript:advGenericSearch();' class='classic_link'>&common.submit;</a>\r
-                       </div>\r
-               </div>\r
-       </div>\r
-\r
-       <div id='adv_marc_search_sidebar' class='sidebar_chunk hide_me' \r
-               style='text-align:center; margin-top: 20px;'> \r
-               <hr/>\r
-               <div class='adv_quick_search color_4'><b>&search.marc;</b></div>\r
-               <table style='margin: 3px; width: 100%;' id='adv_sdbar_table' class='border_4_3'>\r
-                       <tbody>\r
-                               <tr>\r
-                                       <td>&search.marc.tag;</td>\r
-                                       <td><input name='advanced.marc.tag' maxlength='3' size='3' /></td>\r
-                                       <td>&search.marc.subfield;</td>\r
-                                       <td><input name='advanced.marc.subfield' maxlength='1' size='1' /></td>\r
-                               </tr>\r
-                               <tr>\r
-                                       <td>&search.marc.value;</td>\r
-                                       <td colspan='3'><input name='advanced.marc.value' size='18' /></td>\r
-                               </tr>\r
-                               <tr name='crow' class='hide_me'>\r
-                                       <td colspan='4' align='center'>\r
-                                       <a href='javascript:void(0);' class='classic_link'\r
-                                               onclick='\r
-                                                       var div = $("adv_marc_search_sidebar");\r
-                                                       if( div.getElementsByTagName("table").length > 1 )\r
-                                                               div.removeChild(this.parentNode.parentNode.parentNode.parentNode);'>&common.close;</a>\r
-                                       </td>\r
-                               </tr>\r
-                                                               \r
-                       </tbody>\r
-               </table>\r
-               <div id='adv_marc_submit' class='adv_quick_search_submit'>\r
-                       <a style='margin-right: 4px;' class='classic_link' href='javascript:advAddMARC();'>&search.marc.add.row;</a>\r
-                       <a style='margin-left: 4px;' class='classic_link' href='javascript:advMARCRun();'>&common.submit;</a>\r
-               </div>\r
-       </div>\r
-\r
-\r
-\r
-\r
-       <!-- ============================================================================= -->\r
-       <!-- Our javascript -->\r
-       <script language='javascript' type='text/javascript' src='<!--#echo var="OILS_OPAC_JS_HOST"-->/skin/default/js/sidebar.js'></script>\r
-\r
-       <script language='javascript' type='text/javascript'>\r
-               config.ids.sidebar = {};\r
-               config.css.sidebar = {};\r
-               config.names.sidebar = {};\r
-               config.css.sidebar.item = {};\r
-               config.ids.sidebar.home                         = 'home_link_div';\r
-               config.ids.sidebar.advanced             = 'advanced_link_div';\r
-               config.ids.sidebar.myopac                       = 'myopac_link_div';\r
-               config.ids.sidebar.prefs                        = 'prefs_link_div';\r
-               config.ids.sidebar.mresult                      = 'mresult_link_div';\r
-               config.ids.sidebar.rresult                      = 'result_link_div';\r
-               config.ids.sidebar.rdetail                      = "rdetail_link_div"; \r
-               config.ids.sidebar.login                        = 'login_link';\r
-               config.ids.sidebar.logout                       = 'logout_link';\r
-               config.ids.sidebar.logoutbox            = 'logout_link_div';\r
-               config.ids.sidebar.loginbox             = 'login_link_div';\r
-               config.ids.sidebar.logged_in_as = 'logged_in_as_div';\r
-               config.ids.sidebar.username_dest        = 'username_dest';\r
-               config.ids.sidebar.subject                      = 'subject_sidebar';\r
-               config.ids.sidebar.subject_item = 'subject_item';\r
-               config.ids.sidebar.author                       = 'author_sidebar';\r
-               config.ids.sidebar.author_item  = 'author_item';\r
-               config.ids.sidebar.series                       = 'series_sidebar';\r
-               config.ids.sidebar.series_item  = 'series_item';\r
-               \r
-               config.ids.sidebar.home_link            = 'home_link'\r
-               config.ids.sidebar.advanced_link        = 'advanced_link'\r
-               config.ids.sidebar.myopac_link  = 'myopac_link'\r
-               \r
-               config.names.sidebar.subject_item       = 'subject_item';\r
-               config.names.sidebar.author_item                = 'author_item';\r
-               config.names.sidebar.series_item                = 'series_item';\r
-\r
-               config.css.encircled                            = 'encircled';\r
-       </script>\r
-\r
-</div>\r
-\r
diff --git a/web/opac/skin/uwin/xml/common/statusbar.xml b/web/opac/skin/uwin/xml/common/statusbar.xml
deleted file mode 100644 (file)
index 3c7097a..0000000
+++ /dev/null
@@ -1,28 +0,0 @@
-\r
-<div id='statusbar' style='margin-bottom: 6px; margin-top: 6px;'>\r
-\r
-       <table width='100%'>\r
-               <tbody>\r
-                       <tr>\r
-                               <td align='left'>\r
-                                       <b>\r
-                                       <span style='padding: 1px; ' id='now_searching_location'>  </span>\r
-                                       </b>\r
-                                       <i id='including_results_for' class='hide_me'>\r
-                                               <span>&status.results;</span> <b id='including_results_location'> </b>\r
-                                       </i>\r
-                               </td>\r
-                <td align='right'>\r
-                    <!--#if expr="$OILS_PAGE='rresult.xml' || $OILS_PAGE='mresult.xml'"-->\r
-                    <!--#include virtual="../result/filtersort.xml" -->\r
-                    <!--#endif -->\r
-                </td>\r
-                       </tr>\r
-               </tbody>\r
-       </table>\r
-\r
-       <script language='javascript' type='text/javascript'>\r
-               config.ids.common.now_searching = 'now_searching_location';\r
-       </script>\r
-\r
-</div>\r
diff --git a/web/opac/skin/uwin/xml/common/stypes_selector.xml b/web/opac/skin/uwin/xml/common/stypes_selector.xml
deleted file mode 100644 (file)
index 5e272cf..0000000
+++ /dev/null
@@ -1,8 +0,0 @@
-<select id='search_type_selector'>\r
-       <option value='keyword' selected='selected'>&common.keyword;</option>\r
-       <option value='title'>&common.title;</option>\r
-       <option value='author'>&common.author;</option>\r
-       <option value='subject'>&common.subject;</option>\r
-       <option value='series'>&common.series;</option>\r
-</select>\r
-\r
diff --git a/web/opac/skin/uwin/xml/common/tips.xml b/web/opac/skin/uwin/xml/common/tips.xml
deleted file mode 100644 (file)
index 4012bd2..0000000
+++ /dev/null
@@ -1,8 +0,0 @@
-\r
-<div id='tips' class='tips hide_me'>\r
-       <div class='hide_me'>\r
-               <span>&common.tips.tip1;</span>\r
-               <span>&common.tips.tip2;</span>\r
-       </div>\r
-       <span style="font-weight: bold;">&tips.label;  </span>\r
-</div>\r
diff --git a/web/opac/skin/uwin/xml/footer.xml b/web/opac/skin/uwin/xml/footer.xml
deleted file mode 100644 (file)
index 68f19bf..0000000
+++ /dev/null
@@ -1,34 +0,0 @@
-<div id='copyright_block'>\r
-               <div id='footer_links'>\r
-                               <span class='footer_link'>\r
-                                       <a target='_blank' class='classic_link'\r
-                                               href='&uwin.footer.home.leddy.url;'>&uwin.footer.home.leddy;</a>\r
-                               </span>\r
-                               <span> | </span>\r
-                               <span class='footer_link'>\r
-                                       <a target='_blank' class='classic_link'\r
-                                               href='&uwin.footer.home.law.url;'>&uwin.footer.home.law;</a>\r
-                               </span>\r
-                               <span> | </span>\r
-                               <span class='footer_link'>\r
-                                       <a target='_blank' class='classic_link'\r
-                                               href='&uwin.footer.help.url;'>&uwin.footer.help;</a>\r
-                               </span>\r
-                               <span> | </span>\r
-                               <span class='footer_link'>\r
-                                       <a target='_blank' class='classic_link'\r
-                                               href='&uwin.footer.journals.url;'>&uwin.footer.journals;</a>\r
-                               </span> \r
-                               <span> | </span>\r
-                               <span class='footer_link'>\r
-                                       <a target='_blank' class='classic_link'\r
-                                               href='&uwin.footer.databases.url;'>&uwin.footer.databases;</a>\r
-                               </span> \r
-               </div>\r
-        <div id='copyright_text'>\r
-            <span>&footer.copyright;</span>\r
-        </div>\r
-        <div id='footer_logo'>&footer.logo;\r
-            <a href='http://open-ils.org'><img style='border:none;' src='../../../../images/eg_tiny_logo.jpg'/></a>\r
-        </div>\r
-</div>\r
diff --git a/web/opac/skin/uwin/xml/header.xml b/web/opac/skin/uwin/xml/header.xml
deleted file mode 100644 (file)
index 0aab923..0000000
+++ /dev/null
@@ -1,13 +0,0 @@
-<head>\r
-       <!-- Set the page title -->\r
-\r
-       <!--#include virtual="common/css_common.xml"-->\r
-\r
-       <title>&<!--#echo var="OILS_TITLE"-->;</title>\r
-       <link rel="unapi-server" type="application/xml" title="unAPI" href="http://<!--#echo var='HTTP_HOST'-->/opac/extras/unapi"/>\r
-\r
-       <!--#if expr="$slimpac!='true'"-->\r
-               <!--#include virtual="common/js_common.xml"-->\r
-       <!--#endif-->\r
-\r
-</head>\r
diff --git a/web/opac/skin/uwin/xml/home/homesearch.xml b/web/opac/skin/uwin/xml/home/homesearch.xml
deleted file mode 100644 (file)
index 3a54467..0000000
+++ /dev/null
@@ -1,135 +0,0 @@
-\r
-<div id='canvas_main' class='home_search canvas'\r
-       style='-moz-border-radius: 6px; padding: 6px; margin-top: 65px;' \r
-       xmlns="http://www.w3.org/1999/xhtml" xmlns:xi="http://www.w3.org/2001/XInclude">\r
-\r
-       <!-- load my js -->\r
-       <script language='javascript' type='text/javascript'\r
-               src="<!--#echo var="OILS_OPAC_JS_HOST"-->/skin/default/js/depth_selector.js"> </script>\r
-       <script language='javascript' type='text/javascript'\r
-               src="<!--#echo var="OILS_OPAC_JS_HOST"-->/skin/default/js/search_bar.js"> </script>\r
-\r
-       <script language='javascript' type='text/javascript'>\r
-               config.ids.searchbar = {};\r
-               config.css.searchbar = {};\r
-               config.ids.searchbar.text                               = 'search_box'; \r
-               config.ids.searchbar.submit                     = 'search_submit';      \r
-               config.ids.searchbar.type_selector      = 'search_type_selector';\r
-               config.ids.searchbar.depth_selector     = 'depth_selector';\r
-               config.ids.searchbar.form_selector      = 'form_selector';\r
-               config.ids.searchbar.extra_row          = 'searchbar_extra';\r
-               config.ids.searchbar.main_row                   = 'searchbar_main_row';\r
-               config.ids.searchbar.table                              = 'searchbar_table';\r
-               config.ids.searchbar.location_tag       = 'search_location_tag_link';\r
-               config.ids.searchbar.lib_sel_span       = 'lib_selector_span';\r
-               config.ids.searchbar.lib_sel_link       = 'lib_selector_link';\r
-               config.ids.searchbar.depth_sel_span     = 'depth_selector_span';\r
-       </script>\r
-\r
-\r
-       <div style='width: 100%; text-align: center'>\r
-               <img src='<!--#echo var="OILS_BASE"-->/skin/uwin/local/images/uwin_main.png' />\r
-       </div>\r
-\r
-       <style>.rowpad { height: 20px; }</style>\r
-\r
-       <table id='frontsearch_table' height='100%' width='100%' \r
-               style='margin-top: 10px; border-collapse: collapse;'>\r
-\r
-               <tbody>\r
-\r
-                       <tr class='color_3'>\r
-\r
-                               <script language='javascript' type='text/javascript'>\r
-                                       config.ids.common.now_searching = 'now_searching_location';\r
-                               </script>\r
-\r
-                               <td style='padding: 6px;' class='border_5' align='center'>\r
-                                       <span>&opac.search.nowSearching;</span>\r
-                                       <span style='padding: 1px;' id='now_searching_location'>  </span>\r
-                               </td>\r
-                       </tr>\r
-\r
-\r
-                       <tr class='rowpad'><td></td></tr>\r
-\r
-                       <tr>\r
-                               <td nowrap='nowrap' align='center' class='color_1 border_5'>\r
-                                       <input id='search_box' style='width: 300px;' type='text' />\r
-                                       <span style='padding-left: 6px;'>\r
-                                               <input type='button' style='width: 40px;' id='search_submit' value='Go!' />\r
-                                       </span>\r
-                               </td>\r
-                       </tr>\r
-\r
-                       <tr class='rowpad'><td></td></tr>\r
-\r
-                       <tr class='color_3 border_5'>\r
-\r
-                               <td nowrap='nowrap' align='center' style='padding: 4px;'>\r
-\r
-                                       <span style='padding-right:40px;'>\r
-                                               <!--#include virtual="../common/stypes_selector.xml"-->\r
-                                       </span>\r
-\r
-                                       <span>\r
-                                               <!--\r
-                                               <span>&common.format;: </span>\r
-                                               -->\r
-                                               <!--#set var='FORM_SEL_ID' value='form_selector'-->\r
-                                               <!--#include virtual="../common/format_selector.xml"-->\r
-                                       </span>\r
-\r
-                               </td>\r
-                       </tr>\r
-\r
-                       <tr class='rowpad'><td></td></tr>\r
-\r
-                       <tr class='color_1 border_5'>\r
-                               <td align='center' style='padding: 4px; padding-bottom: 6px;'>\r
-                                       <span style='padding-right: 15px;'>\r
-                                               <a id='home_adv_search_link' href='javascript:void(0);'>&opac.navigate.advanced;</a></span>\r
-                                       <span>\r
-                                               <span class='hide_me' id='depth_selector_span'>\r
-                                                       <select id='depth_selector' >\r
-                                                               <option value='new'>&opac.navigate.selectNewOrg;...</option>\r
-                                                       </select>\r
-                                               </span>\r
-                                               <span class='hide_me' id='lib_selector_span'>\r
-                                                       <a id='lib_selector_link' href='javascript:void(0)'>&opac.navigate.selectOrg;</a>\r
-                                               </span>\r
-                                       </span>\r
-                                       <span style='padding-left: 15px;'>\r
-                                               <a id='home_myopac_link' href='javascript:void(0);'>&opac.navigate.myopac;</a>\r
-                                       </span>\r
-                               </td>\r
-                       </tr>\r
-\r
-            <!-- locale picker -->\r
-            <tr><td align='center' valign='bottom' style='padding-top:10px;'>\r
-<!--                   <span style='vertical-align: top;'>&common.language;</span>\r
-                       <span dojoType="dijit.form.FilteringSelect" store="openils.I18N.localeStore" \r
-                    searchAttr="label" required="false" jsId='opacLocaleSelector'>\r
-                    <script>\r
-                        dojo.addOnLoad(function() {\r
-                            opacLocaleSelector.setValue(locale);\r
-                            dojo.connect(opacLocaleSelector, 'onChange', \r
-                                function () {\r
-                                                       location.href = location.href.replace(/opac\/[^\/]+\/skin/, 'opac/' + this.getValue() + '/skin');\r
-                                }\r
-                            );\r
-                        });\r
-                    </script>\r
-                       </span> -->\r
-            </td></tr>\r
-\r
-               </tbody>\r
-       </table>\r
-\r
-</div>\r
-\r
-\r
-\r
-\r
-\r
-\r
diff --git a/web/opac/skin/uwin/xml/home/index_body.xml b/web/opac/skin/uwin/xml/home/index_body.xml
deleted file mode 100644 (file)
index e7e53da..0000000
+++ /dev/null
@@ -1,38 +0,0 @@
-<body class="tundra">\r
-\r
-       <noscript>\r
-               <style type="text/css">#toptable { display: none; }</style>\r
-               <p style="font-size: 1.3em; padding: 3em; text-align: center;">\r
-               &home.js.disabled;\r
-               </p>\r
-       </noscript>\r
-\r
-       <table id='toptable' width='100%' style='border-collapse: collapse;'>\r
-               <tbody>\r
-                       <tr>\r
-                               <td width='10%'> </td>\r
-                               <td width='80%'>\r
-                                       <div id='canvas'>\r
-                                               <!--#include virtual="../common/altcanvas.xml"-->\r
-                                               <!--#include virtual="homesearch.xml"-->\r
-                                       </div>\r
-                               </td>\r
-                               <td width='10%'> </td>\r
-                       </tr>\r
-               </tbody>\r
-       </table>\r
-       <script language='javascript' type='text/javascript'>isFrontPage = true;</script>\r
-       <script language="javascript" type='text/javascript'>\r
-               dojo.addOnLoad(home_init);\r
-               try { \r
-                       document.getElementById('toptable').style.display = 'table'; \r
-               } catch(e) {\r
-                       try {\r
-                               document.getElementById('toptable').style.display = ''; \r
-                       } catch(ee) {}\r
-               }\r
-       </script>\r
-       <!--#include virtual='../footer.xml'-->\r
-</body>\r
-\r
-\r
diff --git a/web/opac/skin/uwin/xml/html_xsl.xml b/web/opac/skin/uwin/xml/html_xsl.xml
deleted file mode 100644 (file)
index 5b35015..0000000
+++ /dev/null
@@ -1,10 +0,0 @@
-\r
-<xsl:stylesheet version="1.0"\r
-       xmlns:xlink="http://www.w3.org/1999/xlink" \r
-       xmlns:xsl="http://www.w3.org/1999/XSL/Transform">\r
-\r
-       <xsl:output method="html" indent="yes" encoding="utf-8"/>\r
-       <xsl:template match="/">\r
-               <xsl:copy-of select='/*[local-name()="html"]'/>\r
-       </xsl:template>\r
-</xsl:stylesheet>   \r
diff --git a/web/opac/skin/uwin/xml/index.xml b/web/opac/skin/uwin/xml/index.xml
deleted file mode 100644 (file)
index 4fc663b..0000000
+++ /dev/null
@@ -1,22 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>\r
-\r
-<!-- Loads the environment -->\r
-<!--#include virtual="setenv.xml"-->\r
-\r
-<!DOCTYPE html PUBLIC \r
-       "-//W3C//DTD XHTML 1.0 Transitional//EN" \r
-       "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd" [\r
-       <!--#include virtual="${OILS_SKIN_BASE}/uwin/local/locale/en-CA/opac.dtd"-->\r
-       <!--#include virtual="${OILS_SKIN_BASE}/uwin/local/locale/en-CA/opac_conifer.dtd"-->\r
-]>\r
-\r
-\r
-<html xmlns='http://www.w3.org/1999/xhtml'>\r
-       <!--#include virtual="header.xml"-->\r
-       <!--#if expr="$OILS_PAGE='index.xml'"-->\r
-               <!--#include virtual="home/index_body.xml"-->\r
-       <!--#else-->\r
-               <!--#include virtual="body.xml"-->\r
-       <!--#endif-->\r
-</html>\r
-\r
diff --git a/web/opac/skin/uwin/xml/myopac/myopac_bookbags.xml b/web/opac/skin/uwin/xml/myopac/myopac_bookbags.xml
deleted file mode 100644 (file)
index b4319fb..0000000
+++ /dev/null
@@ -1,135 +0,0 @@
-\r
-<div id='myopac_bookbag_div' class='hide_me' xmlns:xi="http://www.w3.org/2001/XInclude" >\r
-\r
-       <script language='javascript' type='text/javascript' src='<!--#echo var="OILS_OPAC_JS_HOST"-->/skin/default/js/container.js'> </script>\r
-\r
-       <div id='myopac_delete_bookbag_warn' class='hide_me'>\r
-               &myopac.delete.bookbag;\r
-       </div>\r
-\r
-       <div style='text-align: center; font-weight: bold;' \r
-               class='hide_me' id='myopac_bookbags_none'>&myopac.no.bookbags;</div>\r
-\r
-       <div style='width: 99%; text-align: center; margin-bottom: 10px;'> \r
-               <b>&myopac.bookbags.title;</b>\r
-               <!--\r
-               <a class='classic_link' style='margin-left: 5px; font-size: 8pt;'\r
-                       href='javascript:alert($("myopac_bb_what_are").innerHTML);'>(What are Bookbags?)</a>\r
-                       -->\r
-       </div>\r
-\r
-       <table width='100%' class='data_grid data_grid_center hide_me' id='myopac_bookbag_table'>\r
-               <thead>\r
-                       <tr><td>&common.name;</td><td>&myopac.bookbag.items;</td><td>&myopac.bookbag.shared;</td><td>&myopac.bookbag.toggle;</td><td>&myopac.bookbag.delete;</td></tr>\r
-               </thead>\r
-               <tbody id='myopac_bookbag_tbody'>\r
-                       <tr id='myopac_bookbag_tr'>\r
-                               <td>\r
-                                       <a href='javascript:void(0);' class='classic_link' name='myopac_expand_bookbag'> </a>\r
-                               </td>\r
-                               <td><span name='myopac_bookbag_item_count'> </span> <span> &myopac.items;</span></td>\r
-                               <td>\r
-                                       <span name='myopac_bb_published_no' class='hide_me'>&common.no;</span>\r
-                                       <span name='myopac_bb_published_yes' class='hide_me'>&common.yes;</span>\r
-                                       <a name='myopac_bb_published_view' class='classic_link hide_me'>&myopac.view;</a>\r
-                                       <a name='myopac_bb_published_atom' class='unadorned_link hide_me'>\r
-                                               <img border="0" src="/opac/images/small-rss.png" title="&myopac.atom.feed;" alt="&myopac.atom.feed;"/>\r
-                                       </a>\r
-                               </td>\r
-\r
-                               <td>\r
-                                       <a name='myopac_bb_make_unpublished' class='classic_link hide_me'>&myopac.bookbag.hide;</a>\r
-                                       <a name='myopac_bb_make_published' class='classic_link hide_me'>&myopac.bookbag.share;</a>\r
-                               </td>\r
-\r
-                               <td>\r
-                                       <a class='classic_link' href='javascript:void(0);' name='myopac_container_delete'>&myopac.delete;</a>\r
-                               </td>\r
-                       </tr>\r
-               </tbody>\r
-       </table>\r
-\r
-       <table width='100%' class='data_grid data_grid_center' style='margin-top: 10px;'>\r
-               <thead>\r
-                       <tr><td>&myopac.bookbag.create;</td></tr>\r
-               </thead>\r
-               <tbody>\r
-                       <tr>\r
-                               <td> \r
-                                       <span style='padding-right: 5px;'>&myopac.bookbag.naming;</span>\r
-                                       <input id='myopac_bookbag_new_name' type='text' /> \r
-                               </td>\r
-                       </tr>\r
-                       <tr>\r
-                               <td>\r
-                                       <span style='padding: 5px;'>&myopac.bookbag.share;</span>\r
-                                       <a class='classic_link' href='javascript:alert($("bb_publish_text").innerHTML);'><b>&common.help;</b></a>\r
-                                       <span>&common.yes;</span> <input type='radio' name='bb_public' id='bb_public_yes'/>\r
-                                       <span>&common.no;</span> <input type='radio' name='bb_public' id='bb_public_no' checked='checked'/>\r
-                                       <input style='padding-left: 10px;' onclick='myOPACCreateBookbag();' \r
-                                               type='submit' value='&common.submit;' />\r
-                               </td>\r
-                       </tr>\r
-               </tbody>\r
-       </table>\r
-\r
-       <!--\r
-       <div style='overflow: auto; max-height: 200px;' class='hide_me'>\r
-       -->\r
-       <div style='width: 99%; text-align: center'> <b id='myopac_bookbag_items_name'> </b></div>\r
-\r
-       <div class='hide_me' style='width: 100%; text-align: center; font-weight: 700; margin-top: 10px;'\r
-               id='myopac_bookbag_no_items'>&myopac.bookbag.no.items;</div>\r
-\r
-       <table width='100%' class='hide_me data_grid data_grid_center' id='myopac_bookbag_items_table'>\r
-               <thead> \r
-                       <tr> <td>&common.title;</td> <td>&common.authors;</td> <td>&myopac.bookbag.remove;</td> </tr> \r
-               </thead>\r
-               <tbody id='myopac_bookbag_items_tbody'>\r
-                       <tr id='myopac_bookbag_items_row'>\r
-                               <td> <a name='myopac_bookbag_items_title' class='classic_link'> </a> </td>\r
-                               <!--\r
-                               <td> <a name='myopac_bookbag_items_author' class='classic_link'> </a> </td>\r
-                               -->\r
-                               <td name='myopac_bookbag_items_author'> </td>\r
-                               <td><a name='myopac_bookbag_items_remove' class='classic_link'>&myopac.remove.link;</a></td>    \r
-                       </tr>\r
-               </tbody>\r
-       </table>\r
-       <!--</div>-->\r
-\r
-       <span id='bb_publish_text' class='hide_me'>\r
-               &myopac.publish.text;\r
-       </span>\r
-\r
-       <span id='myopac_remove_bb_item_confirm' class='hide_me'>\r
-               &myopac.item.confirm;\r
-       </span>\r
-\r
-       <span id='myopac_make_published_confirm' class='hide_me'>\r
-               &myopac.publish.confirm;\r
-       </span>\r
-\r
-       <span id='myopac_make_unpublished_confirm' class='hide_me'>\r
-               &myopac.unpublish.confirm;\r
-       </span>\r
-\r
-       <span id='myopac_bb_update_success' class='hide_me'>\r
-               &myopac.update.success;\r
-       </span>\r
-\r
-       <span id='bb_create_warning' class='hide_me'>\r
-               &myopac.create.warning;\r
-       </span>\r
-\r
-       <span id='myopac_bb_what_are' class='hide_me'>\r
-               &myopac.describe.bookbags;\r
-       </span>\r
-\r
-       <span class='hide_me' id='bb_update_success'>\r
-               &myopac.updated.success;\r
-       </span>\r
-\r
-</div>\r
-\r
-\r
diff --git a/web/opac/skin/uwin/xml/myopac/myopac_checked.xml b/web/opac/skin/uwin/xml/myopac/myopac_checked.xml
deleted file mode 100644 (file)
index 42e88a6..0000000
+++ /dev/null
@@ -1,107 +0,0 @@
-\r
-<div id='myopac_checked_div' xmlns:xi="http://www.w3.org/2001/XInclude" >\r
-\r
-    <!--\r
-       <script language='javascript' type='text/javascript' src='<!||#echo var="OILS_JS_BASE"||>/Date.W3CDTF.js'/>\r
-    -->\r
-\r
-   <table width='100%'><tbody>\r
-      <tr>\r
-         <td aligh='left' class='data_grid'>\r
-               <!--\r
-               Total items out: <b id='mo_items_out_count' style='padding-right: 20px;'>0</b>\r
-               -->\r
-               &myopac.checked.out; <b id='mo_items_out_count' style='padding: 5px;'>0</b> / \r
-               &myopac.checked.overdue; <b id='mo_items_overdue_count' style='padding: 5px;'>0</b>\r
-         </td>\r
-         <td align='right'>\r
-            <button onclick='myOPACRenewSelected();' id='mo_renew_button' disabled='disabled'>&myopac.checked.renew;</button>\r
-         </td>\r
-      </tr>\r
-       <tr id='my_renewing' class='hide_me'><td align='center'><b>&myopac.checked.renewing;</b></td></tr>\r
-   </tbody></table>\r
-\r
-       <table width='100%' class='light_border data_grid'>\r
-\r
-               <thead class='color_3'>\r
-                       <tr>\r
-                               <td width='45%'>&common.title;</td>\r
-                               <td width='20%'>&common.author;</td>\r
-                               <td width='10%' nowrap='nowrap' align='center'>&myopac.fines.due;</td>\r
-                               <td width='10%' nowrap='nowrap' align='center'>&myopac.checked.renew.remaining;</td>\r
-            <td width='15%'>&common.select;\r
-               (<a id='myopac_select_all_checked' onclick='myopacSelectAllChecked();' \r
-                  class='classic_link' href='javascript:void(0);'>&common.all;</a>/<a id='myopac_select_none_checked' \r
-                  onclick='myopacSelectNoneChecked();' class='classic_link'   href='javascript:void(0);'>&common.none;</a>)\r
-            </td>\r
-                       </tr>\r
-               </thead>\r
-\r
-\r
-               <tbody id='myopac_checked_tbody'>\r
-\r
-                       <tr id='myopac_checked_none' class='hide_me'>\r
-                               <td colspan='10' align='center'><b>&myopac.checked.noitems;</b></td>\r
-                       </tr>\r
-\r
-\r
-                       <tr id='myopac_checked_loading'><td>&common.loading;</td></tr>\r
-\r
-                       <tr id='myopac_checked_row' class='light_border hide_me'>\r
-\r
-                               <td name='myopac_checked_title' class='light_border'>\r
-                                       <a href='javascript:void(0);' name='myopac_checked_title_link'> </a>\r
-                               </td>\r
-\r
-                               <td name='myopac_checked_author' class='light_border'>\r
-                                       <a href='javascript:void(0);' name='myopac_checked_author_link'> </a>\r
-                               </td>\r
-\r
-                               <td align='center' name='myopac_checked_due' class='light_border'> </td>\r
-                               <td align='center' name='myopac_checked_renewals' class='light_border'> </td>\r
-\r
-            <!--\r
-                               <td align='center' name='myopac_checked_renew' class='light_border'>\r
-                                       <a style='text-decoration:underline;' href='javascript:void(0);' \r
-                                               name='myopac_checked_renew_link' class='class_link'>Renew</a>\r
-                               </td>\r
-            -->\r
-\r
-            <td align='center'><input type='checkbox' name='selectme'/></td>\r
-\r
-                       </tr>\r
-               </tbody>\r
-       </table>\r
-\r
-       <div id='non_cat_circs_div' class='hide_me'>\r
-               <br/>\r
-               <div style='text-align: center'><b>&myopac.common.other.circ;</b></div>\r
-               <table class='data_grid' width='100%'>\r
-                       <thead>\r
-                               <tr>    \r
-                                       <td>&myopac.checked.circ.lib;</td>\r
-                                       <td>&myopac.checked.item.type;</td>\r
-                                       <td>&myopac.checked.circ.time;</td>\r
-                               </tr>\r
-                       </thead>\r
-                       <tbody id='non_cat_circs_tbody'>\r
-                               <tr id='non_cat_circs_row'>\r
-                                       <td name='circ_lib'/>\r
-                                       <td name='item_type'/>\r
-                                       <td name='circ_time'/>\r
-                               </tr>\r
-                       </tbody>\r
-               </table>\r
-       </div>\r
-\r
-       <div id='myopac_renew_success' class='hide_me'>&myopac.checked.renew.success;</div>\r
-\r
-       <span class='hide_me' id='myopac_renew_confirm'>&myopac.checked.renew.confirm;</span>\r
-\r
-       <span class='hide_me' id='myopac_renew_fail'>&myopac.checked.renew.fail;</span>\r
-\r
-   <span class='hide_me' id='myopac_renew_fail2'>&myopac.checked.renew.fail2;</span>\r
-\r
-</div>\r
-\r
-\r
diff --git a/web/opac/skin/uwin/xml/myopac/myopac_fines.xml b/web/opac/skin/uwin/xml/myopac/myopac_fines.xml
deleted file mode 100644 (file)
index a91f353..0000000
+++ /dev/null
@@ -1,101 +0,0 @@
-\r
-<div id='myopac_fines_div' xmlns:xi="http://www.w3.org/2001/XInclude" >\r
-\r
-       <table width='100%' class='data_grid data_grid_center'>\r
-\r
-               <thead class='color_3'>\r
-                       <tr><td colspan='3' style='padding: 6px'><b>&myopac.fines.title;</b></td></tr>\r
-                       <tr>\r
-                               <td width='33%'>&myopac.fines.owed;</td>\r
-                               <td width='33%'>&myopac.fines.paid;</td>\r
-                               <td width='33%'>&myopac.fines.balance;</td>\r
-                       </tr>\r
-               </thead>\r
-\r
-               <tbody id='myopac_fines_summary_tbody'>\r
-                       <tr id='myopac_fines_summary_loading'><td>&myopac.fines.status;</td></tr>\r
-                       <tr id='myopac_fines_summary_row' class='hide_me'>\r
-                               <td id='myopac_fines_summary_total' >&common.currency;</td>\r
-                               <td id='myopac_fines_summary_paid' >&common.currency;</td>\r
-                               <td id='myopac_fines_summary_balance' style='color:red;font-weight: bold;'>&common.currency;</td>\r
-                       </tr>\r
-               </tbody>\r
-       </table>\r
-\r
-       <!--\r
-       <div id='accrue_explanation' class='hide_me'>\r
-               <span>Transactions whose balances are marked with a</span>\r
-               <span style='color:red; font-weight: bold'>*</span>\r
-               <span>will continue to accrue fines until the checked out item is returned.</span>\r
-       </div>\r
-       -->\r
-\r
-\r
-       <!-- Table for circulation transactions only -->\r
-       <div id='myopac_circ_trans_div' class='hide_me'>\r
-               <br/><hr/><br/>\r
-               <table width='100%' class='data_grid data_grid_center' id='myopac_circ_trans_table'>\r
-                       <thead>\r
-                               <tr><td colspan='10' style='padding: 6px'><b>&myopac.fines.overdue;</b></td></tr>\r
-                               <tr>\r
-                                       <td>&common.title;</td>\r
-                                       <td>&common.author;</td>\r
-                                       <td>&myopac.fines.checkout;</td>\r
-                                       <td>&myopac.fines.due;</td>\r
-                                       <td>&myopac.fines.returned;</td>\r
-                                       <td>&myopac.fines.balance;</td>\r
-                               </tr>\r
-                       </thead>\r
-                       <tbody id='myopac_circ_trans_tbody'>\r
-                               <tr id='myopac_circ_trans_row'>\r
-                                       <td><a class='classic_link' name='myopac_circ_trans_title'> </a></td>\r
-                                       <td name='myopac_circ_trans_author'> </td>\r
-                                       <td name='myopac_circ_trans_start'> </td>\r
-                                       <td name='myopac_circ_trans_due'> </td>\r
-                                       <td name='myopac_circ_trans_finished'><span style='color:red;'>&myopac.fines.accruing;</span></td>\r
-                                       <td>\r
-                                               <span style='color: red; font-weight: bold;' \r
-                                                       name='myopac_circ_trans_balance'>&common.currency;</span>\r
-                                       </td>\r
-                               </tr>\r
-                       </tbody>\r
-               </table>\r
-       </div>\r
-\r
-       <!-- Table for all non-circulation transactions -->\r
-       <div id='myopac_trans_div' class='hide_me'>\r
-               <br/><hr/><br/>\r
-               <table width='100%' class='data_grid data_grid_center' id='myopac_trans_table'>\r
-                       <thead>\r
-                               <tr><td colspan='8' style='padding: 6px'><b>&myopac.fines.other;</b></td></tr>\r
-                               <tr>\r
-                                       <td width='12%'>&myopac.fines.time.start;</td>\r
-                                       <td width='12%'>&myopac.fines.time.paid;</td>\r
-                                       <td width='12%'>&myopac.fines.owed.initial;</td>\r
-                                       <td width='12%'>&myopac.fines.paid.amount;</td>\r
-                                       <td width='12%'>&myopac.fines.balance;</td>\r
-                                       <td width='12%'>&myopac.fines.type;</td>\r
-                               </tr>\r
-                       </thead>\r
-       \r
-                       <tbody id='myopac_trans_tbody'>\r
-                               <tr id='myopac_trans_row'>\r
-                                       <td name='myopac_trans_start'> </td>\r
-                                       <td name='myopac_trans_last_payment'> </td>\r
-                                       <td name='myopac_trans_init_amount'>&common.currency;</td>\r
-                                       <td name='myopac_trans_total_paid'>&common.currency;</td>\r
-                                       <td style='color:red; font-weight: bold;'>\r
-                                               <span name='myopac_trans_balance_recur' class='hide_me'> * </span>\r
-                                               <span name='myopac_trans_balance'>&common.currency;</span>\r
-                                       </td>\r
-                                       <td name='myopac_trans_bill_type'> </td>\r
-                               </tr>\r
-                       </tbody>\r
-               </table>\r
-       </div>\r
-       \r
-       <br/>\r
-       \r
-</div>\r
-\r
-\r
diff --git a/web/opac/skin/uwin/xml/myopac/myopac_holds.xml b/web/opac/skin/uwin/xml/myopac/myopac_holds.xml
deleted file mode 100644 (file)
index dc6cf8e..0000000
+++ /dev/null
@@ -1,122 +0,0 @@
-\r
-<div id='myopac_holds_div' xmlns:xi="http://www.w3.org/2001/XInclude" >\r
-\r
-       <script language='javascript' type='text/javascript' src='<!--#echo var="OILS_OPAC_JS_HOST"-->/skin/default/js/holds.js'> </script>\r
-\r
-       <table width='100%'>\r
-        <tbody><tr><td width='100%' align='right'>\r
-            <select id='myopac_holds_actions' onchange='myopacDoHoldAction();'>\r
-                <option id='myopac_holds_actions_none' value=''>-- &myopac.holds.actions; --</option>\r
-                <option value='freeze'>&myopac.holds.freeze_selected;</option>\r
-                <option value='thaw'>&myopac.holds.thaw_selected;</option>\r
-                <option value='thaw_date'>&myopac.holds.thaw_date_selected;</option>\r
-                <option value='cancel'>&myopac.holds.cancel_selected;</option>\r
-            </select>\r
-        </td></tr></tbody>\r
-        <script language='javascript' type='text/javascript'>$('myopac_holds_actions_none').selected = true;</script>\r
-    </table>\r
-\r
-    <span id='myopac.holds.cancel.confirm' class='hide_me'>&myopac.holds.cancel.confirm;</span>\r
-    <span id='myopac.holds.freeze.confirm' class='hide_me'>&myopac.holds.freeze.confirm;</span>\r
-    <span id='myopac.holds.thaw.confirm' class='hide_me'>&myopac.holds.thaw.confirm;</span>\r
-    <span id='myopac.holds.thaw_date.confirm' class='hide_me'>&myopac.holds.thaw_date.confirm;</span>\r
-    <span id='myopac.holds.freeze.select_thaw' class='hide_me'>&myopac.holds.freeze.select_thaw;</span>\r
-\r
-    <table width='100%' id='myopac_holds_processing' class='hide_me'>\r
-        <tr><td>&myopac.holds.processing;</td></tr>\r
-    </table>\r
-\r
-    <div id='myopac_holds_thaw_date_form' class='hide_me'>\r
-        <div id='myopac_holds_freeze_select_thaw'>&myopac.holds.freeze.select_thaw;</div>\r
-        <p>\r
-            <input dojoType="dijit.form.DateTextBox" size='10' maxlength='10' type='text' id='myopac_holds_thaw_date_input' /> \r
-        </p>\r
-        <p>\r
-            <button onclick='myopacApplyThawDate();'>&common.submit;</button>\r
-        </p>\r
-    </div>\r
-\r
-       <table width='100%' class='light_border data_grid data_grid_center' id='myopac_holds_main_table'>\r
-\r
-               <thead class='color_3'>\r
-                       <tr>\r
-                               <td width=''>&common.title;</td>\r
-                               <td width=''>&common.author;</td>\r
-                               <td>&myopac.holds.formats;</td>\r
-                               <td>&myopac.holds.location;</td>\r
-                               <td>&common.status;</td>\r
-                               <td class='hide_me' id='myopac_holds_estimated_wait_column'>&myopac.holds.estimated_wait;</td>\r
-                               <td>&myopac.holds.unfrozen;</td>\r
-                               <td>&myopac.holds.frozen.until;</td>\r
-                               <td>&opac.holds.expire_time;</td>\r
-                <td width=''>&common.select;\r
-                    (<a id='myopac_select_all_holds' onclick='myopacSelectAllHolds();' \r
-                        class='classic_link' href='javascript:void(0);'>&common.all;</a>/<a id='myopac_select_none_holds' \r
-                        onclick='myopacSelectNoneHolds();' class='classic_link'  href='javascript:void(0);'>&common.none;</a>)\r
-                </td>\r
-\r
-                               <td>&myopac.holds.edit;</td>\r
-                       </tr>\r
-               </thead>\r
-\r
-               <tbody id='myopac_holds_tbody'>\r
-\r
-                       <tr id='myopac_holds_none' class='hide_me'>\r
-                               <td colspan='10'><b>&myopac.holds.status.none;</b></td>\r
-                       </tr>\r
-                       <tr id='myopac_holds_loading'><td>&myopac.loading;</td></tr>\r
-\r
-                       <tr id='myopac_holds_row' class='hide_me'>\r
-\r
-                               <td name='myopac_holds_title'>\r
-                                       <a href='javascript:void(0);' name='myopac_holds_title_link'> </a>\r
-                                       <div name='vol_copy' style='border: 1px solid #808080; width:98%; margin-top: 2px;' class='hide_me'>\r
-                                               <div style='font-size: 90%' name='volume'/>\r
-                                               <div style='font-size: 90%' name='copy'/>\r
-                                       </div>\r
-                               </td>\r
-\r
-                               <td name='myopac_holds_author'>\r
-                                       <a href='javascript:void(0);' name='myopac_holds_author_link'> </a>\r
-                               </td>\r
-\r
-                               <td name='myopac_holds_formats'> </td>\r
-\r
-                               <td name='myopac_holds_location'></td>\r
-                               <td>\r
-                                       <span class='hide_me' name='hold_status_waiting'>&myopac.holds.status.waiting;</span>\r
-                                       <span class='hide_me' name='hold_status_transit'>&myopac.holds.status.intransit;</span>\r
-                                       <span class='hide_me' name='hold_status_available'><b style='color:red'>&myopac.holds.status.available;</b></span>\r
-                                       <span class='hide_me' name='hold_qstats'></span>\r
-                               </td>\r
-                <td class='hide_me' name='myopac_holds_estimated_wait'/>\r
-\r
-                <td>\r
-                    <!-- These characaters do not display in Internet Exploror, *sigh*\r
-                    <span name='myopac_hold_unfrozen_false' class='x_mark'>&#x2717;</span>\r
-                    <span name='myopac_hold_unfrozen_true' class='hide_me check_mark'>&#x2713;</span>\r
-                    -->\r
-                    <span name='myopac_hold_unfrozen_false' class='x_mark'>&common.no;</span>\r
-                    <span name='myopac_hold_unfrozen_true' class='hide_me check_mark'>&common.yes;</span>\r
-                </td>\r
-\r
-\r
-                <td name='myopac_holds_frozen_until'></td>\r
-                <td name='myopac_hold_expire_time'></td>\r
-                <td><input type='checkbox' name='myopac_holds_selected_chkbx'/></td>\r
-\r
-                               <td name='myopac_holds_cancel' style='border-left: 3px solid #E0E0E0; border-right: 3px solid #E0E0E0;'>\r
-                                       <a href='javascript:void(0);' \r
-                                               name='myopac_holds_edit_link' class='classic_link'>&myopac.holds.edit;</a>\r
-                               </td>\r
-                       </tr>\r
-               </tbody>\r
-       </table>\r
-\r
-       <span class='hide_me' id='myopac_holds_cancel_verify'>\r
-               &myopac.holds.verify;\r
-       </span>\r
-\r
-</div>\r
-\r
-\r
diff --git a/web/opac/skin/uwin/xml/myopac/myopac_prefs.xml b/web/opac/skin/uwin/xml/myopac/myopac_prefs.xml
deleted file mode 100644 (file)
index 5da0a6f..0000000
+++ /dev/null
@@ -1,105 +0,0 @@
-\r
-<div id='myopac_prefs_div' xmlns:xi="http://www.w3.org/2001/XInclude" >\r
-\r
-       <table width='100%' class='data_grid'>\r
-\r
-               <thead>\r
-                       <tr>\r
-                               <td colspan='2' align='center'>\r
-                                       <b>&myopac.prefs.title;</b>\r
-                               </td>\r
-                       </tr>\r
-               </thead>\r
-\r
-               <tbody id='myopac_prefs_tbody'>\r
-                       <tr id='myopac_prefs_loading'><td colspan='3'><b>&myopac.loading;</b></td></tr>\r
-                       <tr id='myopac_prefs_row'>\r
-                               <td width='50%'>&myopac.prefs.hits;</td>\r
-                               <td>\r
-                                       <select id='prefs_hits_per'>\r
-                                               <option value='5'>5</option>\r
-                                               <option value='8'>8</option>\r
-                                               <option value='10'>10</option>\r
-                                               <option value='15'>15</option>\r
-                                               <option value='20'>20</option>\r
-                                               <option value='25'>25</option>\r
-                                               <option value='50'>50</option>\r
-                                       </select>\r
-                               </td>\r
-                       </tr>\r
-\r
-                       <!-- FONT size preference -->\r
-                       <tr>\r
-                               <td>&myopac.prefs.font;</td>\r
-                               <td>\r
-                                       <select id='prefs_def_font'>\r
-                                               <option value='regular'>&myopac.prefs.font.regular;</option>\r
-                                               <option value='large'>&myopac.prefs.font.large;</option>\r
-                                       </select>\r
-                               </td>\r
-                       </tr>\r
-\r
-                       <!-- default hold notification type -->\r
-                       <tr>\r
-                               <td>\r
-                                       <span>&myopac.prefs.holds.notify;</span>\r
-                                       <a class='classic_link' href='javascript:void(0);' \r
-                                               onclick='alert($("myopac_pref_hold_notify_alert").textContent);' >&common.help;</a>\r
-                               </td>\r
-                               <td>\r
-                                       <select id='prefs_hold_notify'>\r
-                                               <option value='phone:email' selected='selected'>&myopac.prefs.holds.both;</option>\r
-                                               <option value='phone'>&myopac.prefs.holds.phone;</option>\r
-                                               <option value='email'>&myopac.prefs.holds.email;</option>\r
-                                       </select>\r
-                               </td>\r
-                       </tr>\r
-\r
-\r
-                       <tr>\r
-                               <td>&myopac.prefs.search.location;</td>\r
-                               <td>\r
-                                       <div style='margin-bottom: 5px;'>\r
-                                               <input type='checkbox' id='myopac_pref_home_lib' \r
-                                                       onclick='\r
-                                                               if( this.checked ) $("prefs_def_location").disabled = true;\r
-                                                               else $("prefs_def_location").disabled = false;\r
-                                                       ' /> &myopac.prefs.search.home; \r
-                                       </div>\r
-                                       <select id='prefs_def_location'>\r
-                                       </select>\r
-                               </td>\r
-                       </tr>\r
-\r
-                       <tr>\r
-                               <td>&myopac.prefs.search.range;</td>\r
-                               <td>\r
-                                       <select id='prefs_def_range'>\r
-                                       </select>\r
-                               </td>\r
-                       </tr>\r
-\r
-\r
-\r
-                       <!-- Save the preferences -->\r
-                       <tr><td colspan='2'><br/></td></tr>\r
-\r
-                       <tr>\r
-                               <td align='center' class='color_3' colspan='2'>\r
-                                       <button onclick='myOPACSavePrefs();' \r
-                                               id='myopac_prefs_submit'>&myopac.prefs.save;</button>\r
-                               </td>\r
-                       </tr>\r
-\r
-               </tbody>\r
-       </table>\r
-\r
-       <div class='hide_me' id='prefs_update_success'>&myopac.prefs.save.success;</div>\r
-       <div class='hide_me' id='prefs_update_failure'>&myopac.prefs.save.failed;</div>\r
-       <span class='hide_me' id='myopac_pref_hold_notify_alert'>\r
-               &myopac.prefs.help;\r
-       </span>\r
-\r
-</div>\r
-\r
-\r
diff --git a/web/opac/skin/uwin/xml/myopac/myopac_summary.xml b/web/opac/skin/uwin/xml/myopac/myopac_summary.xml
deleted file mode 100644 (file)
index 7205f24..0000000
+++ /dev/null
@@ -1,286 +0,0 @@
-\r
-<div id='myopac_summary_div' xmlns:xi="http://www.w3.org/2001/XInclude" >\r
-\r
-\r
-    <div id='myopac.expired.alert' class='hide_me' style='margin-bottom: 20px;'>\r
-               <table class='data_grid' width='100%'>\r
-            <tbody>\r
-                <tr>\r
-                    <td width='100%' style='color:red;'>\r
-                       &myopac.summary.expired;\r
-                    </td>\r
-                </tr>\r
-            </tbody>\r
-        </table>\r
-    </div>\r
-\r
-       <div id='myopac.notes.div' class='hide_me'>\r
-               <table class='data_grid' width='100%'>\r
-                       <thead>\r
-                               <tr>\r
-                                       <td colspan='2'><b> &myopac.summary.notes;</b></td>\r
-                               </tr>\r
-                       </thead>\r
-                       <tbody id='myopac.notes.tbody'>\r
-                               <tr id='myopac.notes.tr'>\r
-                                       <td>\r
-                                               <b name='title'/> : <span name='value'/>\r
-                                       </td>\r
-                               </tr>\r
-                       </tbody>\r
-               </table>\r
-               <br/>\r
-       </div>\r
-\r
-       <table width='70%' class='light_border myopac_summary_table'>\r
-               <tbody id='myopac_summary_tbody'>\r
-                       <tr>\r
-                               <td width='30%' class='color_4 light_border'>&common.name;</td>\r
-                               <td class='light_border'>\r
-                                       <span id='myopac_summary_prefix' style='padding-right: 5px;'> </span> \r
-                                       <span id='myopac_summary_first' style='padding-right: 5px;'> </span> \r
-                                       <span id='myopac_summary_middle' style='padding-right: 5px;'> </span> \r
-                                       <span id='myopac_summary_last' style='padding-right: 5px;'> </span> \r
-                                       <span id='myopac_summary_suffix'> </span> \r
-                               </td>\r
-                       </tr>\r
-\r
-                       <tr>\r
-                               <td class='color_4 light_border'>&myopac.summary.phone.day;</td>\r
-                               <td class='light_border' id='myopac_summary_dayphone'> </td>\r
-                       </tr>\r
-                       <tr>\r
-                               <td class='color_4 light_border'>&myopac.summary.phone.evening;</td>\r
-                               <td class='light_border' id='myopac_summary_eveningphone'> </td>\r
-                       </tr>\r
-                       <tr>\r
-                               <td class='color_4 light_border'>&myopac.summary.phone.other;</td>\r
-                               <td class='light_border' id='myopac_summary_otherphone'> </td>\r
-                       </tr>\r
-                       <tr>\r
-                               <td class='color_4 light_border'>&common.username;</td>\r
-                               <td class='light_border' id='myopac_summary_username'> </td>\r
-                               <td class='light_border'><a href='javascript:void(0);' \r
-                                       onclick='unHideMe($("myopac_update_username_row"));$("myopac_new_username").focus();'\r
-                                       id='myopac_summary_username_change' style='text-decoration: underline;'>&myopac.summary.change;</a></td>\r
-                       </tr>\r
-\r
-                       <tr id='myopac_update_username_row' class='hide_me'>\r
-                               <td class='myopac_update_cell' colspan='3'>\r
-                                       <span class='myopac_update_span'>&myopac.summary.username.enter; </span>\r
-                                       <input type='text' size='24' id='myopac_new_username'\r
-                                               onkeydown='if(userPressedEnter(event)) myOPACUpdateUsername();' />\r
-                                       <span class='myopac_update_span'>\r
-                                               <button onclick='myOPACUpdateUsername();'>&common.submit;</button>\r
-                                       </span>\r
-                                       <span class='myopac_update_span'>\r
-                                               <button onclick='hideMe($("myopac_update_username_row"));'>&common.cancel;</button>\r
-                                       </span>\r
-                               </td>\r
-                       </tr>\r
-\r
-\r
-                       <tr>\r
-                               <td class='color_4 light_border'>&common.password;</td>\r
-                               <td class='light_border' id='myopac_summary_password'>&myopac.summary.password.text;</td>\r
-                               <td class='light_border'><a href='javascript:void(0);' \r
-                                       onclick='unHideMe($("myopac_update_password_row"));$("myopac_current_password").focus();'\r
-                                       id='myopac_summary_password_change' style='text-decoration: underline;'>&myopac.summary.change;</a></td>\r
-                       </tr>\r
-\r
-                       <tr id='myopac_update_password_row' class='hide_me'>\r
-                               <td class='myopac_update_cell' colspan='3'>\r
-\r
-                                       <table><tbody>\r
-                                               <tr>\r
-                                                       <td><span class='myopac_update_span'>&myopac.summary.password.current; </span></td>\r
-                                                       <td><input type='password' size='24' id='myopac_current_password'\r
-                                                               onkeydown='if(userPressedEnter(event)) myOPACUpdatePassword();' /></td>\r
-                                               </tr>\r
-                                               <tr>\r
-                                                       <td><span class='myopac_update_span'>&myopac.summary.password.new; </span></td>\r
-                                                       <td><input type='password' size='24' id='myopac_new_password'\r
-                                                               onkeydown='if(userPressedEnter(event)) myOPACUpdatePassword();' /></td>\r
-                                               </tr>\r
-                                               <tr>\r
-                                                       <td><span class='myopac_update_span'>&myopac.summary.password.reenter; </span></td>\r
-                                                       <td><input type='password' size='24' id='myopac_new_password2'\r
-                                                               onkeydown='if(userPressedEnter(event)) myOPACUpdatePassword();' /></td>\r
-                                               </tr>\r
-                                       </tbody></table>\r
-\r
-                                       <span class='myopac_update_span'>\r
-                                               <button onclick='myOPACUpdatePassword();'>&common.submit;</button>\r
-                                       </span>\r
-                                       <span class='myopac_update_span'>\r
-                                               <button onclick='hideMe($("myopac_update_password_row"));'>&common.cancel;</button>\r
-                                       </span>\r
-                               </td>\r
-                       </tr>\r
-\r
-                       <tr>\r
-                               <td class='color_4 light_border'>&myopac.summary.email;</td>\r
-                               <td class='light_border' id='myopac_summary_email'> </td>\r
-                               <td class='light_border'><a href='javascript:void(0);' \r
-                                       onclick='unHideMe($("myopac_update_email_row"));$("myopac_new_email").focus();'\r
-                                       id='myopac_summary_email_change' style='text-decoration: underline;'>&myopac.summary.change;</a></td>\r
-                       </tr>\r
-\r
-                       <tr id='myopac_update_email_row' class='hide_me'>\r
-                               <td class='myopac_update_cell' colspan='3'>\r
-                                       <span class='myopac_update_span'>&myopac.summary.email.new; </span>\r
-                                       <input type='text' size='24' id='myopac_new_email'\r
-                                               onkeydown='if(userPressedEnter(event)) myOPACUpdateEmail();' />\r
-                                       <span class='myopac_update_span'>\r
-                                               <button onclick='myOPACUpdateEmail();'>&common.submit;</button>\r
-                                       </span>\r
-                                       <span class='myopac_update_span'>\r
-                                               <button onclick='hideMe($("myopac_update_email_row"));'>&common.cancel;</button>\r
-                                       </span>\r
-                               </td>\r
-                       </tr>\r
-\r
-                       <tr>\r
-                               <td class='color_4 light_border'>&myopac.summary.id.primary;</td>\r
-                               <td class='light_border' id='myopac_summary_ident1'> </td>\r
-                       </tr>\r
-                       <!--\r
-                       <tr>\r
-                               <td class='color_4 light_border'>Secondary Identification</td>\r
-                               <td class='light_border' id='myopac_summary_ident2'> </td>\r
-                       </tr>\r
-                       -->\r
-                       <tr>\r
-                               <td class='color_4 light_border'>&myopac.summary.barcode;</td>\r
-                               <td class='light_border' id='myopac_summary_barcode'> </td>\r
-                       </tr>\r
-                       <tr>\r
-                               <td class='color_4 light_border'>&myopac.summary.home;</td>\r
-                               <td class='light_border' id='myopac_summary_homelib'> </td>\r
-                       </tr>\r
-                       <tr>\r
-                               <td class='color_4 light_border'>&myopac.summary.genesis;</td>\r
-                               <td class='light_border' id='myopac_summary_create_date'> </td>\r
-                       </tr>\r
-\r
-               </tbody>\r
-       </table>\r
-\r
-\r
-       <br/><hr/><br/>\r
-\r
-       <table width='100%' class='light_border data_grid'>\r
-        <thead>\r
-            <tr>\r
-                <td>&myopac.summary.addresses;</td>\r
-                <td id='myopac_pending_addr_td' class='hide_me'>&myopac.summary.addresses.pending;</td>\r
-            </tr>\r
-        </thead>\r
-               <tbody id='myopac_addr_tbody'>\r
-                       <tr id='myopac_addr_row' class='light_border'>\r
-                <td>\r
-                    <table>\r
-                        <tr>\r
-                            <td>&myopac.summary.address.type;</td>\r
-                            <td name='myopac_addr_type'> </td>\r
-                        </tr>\r
-                        <tr>\r
-                            <td>&myopac.summary.address.street;</td>\r
-                            <td name='myopac_addr_street'> </td>\r
-                        </tr>\r
-                        <tr>\r
-                            <td>&myopac.summary.address.street;</td>\r
-                            <td name='myopac_addr_street2'> </td>\r
-                        </tr>\r
-                        <tr>\r
-                            <td>&myopac.summary.address.city;</td>\r
-                            <td name='myopac_addr_city'> </td>\r
-                        </tr>\r
-                        <tr>\r
-                            <td>&myopac.summary.address.county;</td>\r
-                            <td name='myopac_addr_county'> </td>\r
-                        </tr>\r
-                        <tr>\r
-                            <td>&myopac.summary.address.state;</td>\r
-                            <td name='myopac_addr_state'> </td>\r
-                        </tr>\r
-                        <tr>\r
-                            <td>&myopac.summary.address.country;</td>\r
-                            <td name='myopac_addr_country'> </td>\r
-                        </tr>\r
-                        <tr>\r
-                            <td>&myopac.summary.address.zip;</td>\r
-                            <td name='myopac_addr_zip'> </td>\r
-                        </tr>\r
-                        <tr>\r
-                            <td name='myopac_addr_edit_td' colspan='2' class='hide_me'>\r
-                                <a class='classic_link' name='myopac_addr_edit_link' href='javascript:void(0);'>Edit Address</a>\r
-                            </td>\r
-                        </tr>\r
-                    </table>\r
-                </td>\r
-                <td class='hide_me' name='myopac_pending_addr_td'>\r
-                    <table>\r
-                        <tr>\r
-                            <td>&myopac.summary.address.type;</td>\r
-                            <td><input name='myopac_pending_addr_type'/> </td>\r
-                        </tr>\r
-                        <tr>\r
-                            <td>&myopac.summary.address.street;</td>\r
-                            <td><input name='myopac_pending_addr_street'/> </td>\r
-                        </tr>\r
-                        <tr>\r
-                            <td>&myopac.summary.address.street;</td>\r
-                            <td><input name='myopac_pending_addr_street2'/> </td>\r
-                        </tr>\r
-                        <tr>\r
-                            <td>&myopac.summary.address.city;</td>\r
-                            <td><input name='myopac_pending_addr_city'/> </td>\r
-                        </tr>\r
-                        <tr>\r
-                            <td>&myopac.summary.address.county;</td>\r
-                            <td><input name='myopac_pending_addr_county'/> </td>\r
-                        </tr>\r
-                        <tr>\r
-                            <td>&myopac.summary.address.state;</td>\r
-                            <td><input name='myopac_pending_addr_state'/> </td>\r
-                        </tr>\r
-                        <tr>\r
-                            <td>&myopac.summary.address.country;</td>\r
-                            <td><input name='myopac_pending_addr_country'/> </td>\r
-                        </tr>\r
-                        <tr>\r
-                            <td>&myopac.summary.address.zip;</td>\r
-                            <td><input name='myopac_pending_addr_zip'/> </td>\r
-                        </tr>\r
-                        <tr>\r
-                            <td name='myopac_addr_edit_td' colspan='2'>\r
-                                <a class='classic_link' name='myopac_pending_addr_edit_link' href='javascript:void(0);'>Save Changes</a>\r
-                                <a style='padding-left:10px;' class='classic_link' name='myopac_pending_addr_del_link' href='javascript:void(0);'>Discard Pending Address</a>\r
-                            </td>\r
-                        </tr>\r
-                    </table>\r
-                </td>\r
-            </tr>\r
-               </tbody>\r
-       </table>\r
-\r
-       <div class='hide_me' id='myopac_username_error'>&myopac.summary.username.error;</div>\r
-       <div class='hide_me' id='myopac_username_dup'>\r
-               &myopac.summary.username.dup;\r
-       </div>\r
-       <div class='hide_me' id='myopac_username_success'>&myopac.summary.username.success;</div>\r
-       <div class='hide_me' id='myopac_username_failure'>&myopac.summary.username.failure;</div>\r
-\r
-       <div class='hide_me' id='myopac_email_error'>&myopac.summary.email.error;</div>\r
-       <div class='hide_me' id='myopac_email_success'>&myopac.summary.email.success;</div>\r
-       <div class='hide_me' id='myopac_email_failure'>&myopac.summary.email.failed;</div>\r
-\r
-       <div class='hide_me' id='myopac_password_error'>&myopac.summary.password.error;</div>\r
-       <div class='hide_me' id='myopac_password_success'>&myopac.summary.password.success;</div>\r
-       <div class='hide_me' id='myopac_password_failure'>&myopac.summary.password.failure;</div>\r
-       <span class='hide_me' id='myopac_invalid_username'>&myopac.summary.username.invalid;</span>\r
-       <span class='hide_me' id='myopac_addr_changes_saved'>Address Saved</span>\r
-</div>\r
-\r
-\r
diff --git a/web/opac/skin/uwin/xml/page_advanced.xml b/web/opac/skin/uwin/xml/page_advanced.xml
deleted file mode 100644 (file)
index afce599..0000000
+++ /dev/null
@@ -1,14 +0,0 @@
-<div id='canvas_main' class='canvas' style='margin-top: 20px;'>\r
-\r
-       <script language='javascript' type='text/javascript' src='<!--#echo var="OILS_OPAC_JS_HOST"-->/skin/default/js/advanced.js'></script>\r
-\r
-       <style type='text/css'>\r
-               .advanced_div { text-align: center; margin: 8px; margin-left: 2px; width: 95%; padding: 5px; }\r
-       </style>\r
-\r
-       <div class='advanced_div'>\r
-               <!--#include virtual="advanced/advanced_global.xml"-->\r
-       </div>\r
-</div>\r
-\r
-\r
diff --git a/web/opac/skin/uwin/xml/page_cnbrowse.xml b/web/opac/skin/uwin/xml/page_cnbrowse.xml
deleted file mode 100644 (file)
index de78c50..0000000
+++ /dev/null
@@ -1,6 +0,0 @@
-<div id='canvas_main' class='canvas' style='margin-top: 20px;'>\r
-       <script language='javascript' type='text/javascript' src='<!--#echo var="OILS_OPAC_JS_HOST"-->/skin/default/js/cn_browse.js'></script>\r
-       <!--#include virtual="common/cn_browse.xml"-->\r
-</div>\r
-\r
-\r
diff --git a/web/opac/skin/uwin/xml/page_mresult.xml b/web/opac/skin/uwin/xml/page_mresult.xml
deleted file mode 100644 (file)
index 73c5cc3..0000000
+++ /dev/null
@@ -1,9 +0,0 @@
-<div>\r
-       <script language='javascript' type='text/javascript' src='<!--#echo var="OILS_OPAC_JS_HOST"-->/skin/uwin/js/sidebar_extras.js'></script>\r
-       <script language='javascript' type='text/javascript' src='<!--#echo var="OILS_OPAC_JS_HOST"-->/skin/uwin/js/mresult.js'></script>\r
-       <script language='javascript' type='text/javascript' src='<!--#echo var="OILS_OPAC_JS_HOST"-->/skin/uwin/js/result_common.js'></script>\r
-       <script language='javascript' type='text/javascript' src='<!--#echo var="OILS_OPAC_JS_HOST"-->/skin/uwin/js/tips.js'></script>\r
-       <script language='javascript' type='text/javascript' src='<!--#echo var="OILS_OPAC_JS_HOST"-->/skin/uwin/js/holds.js'></script>   \r
-       <!--#include virtual="result/result_common.xml"-->\r
-</div>\r
-\r
diff --git a/web/opac/skin/uwin/xml/page_myopac.xml b/web/opac/skin/uwin/xml/page_myopac.xml
deleted file mode 100644 (file)
index a749baa..0000000
+++ /dev/null
@@ -1,68 +0,0 @@
-<div id='canvas_main' class='canvas hide_me'>\r
-\r
-       <script language='javascript' type='text/javascript' src='<!--#echo var="OILS_OPAC_JS_HOST"-->/skin/default/js/myopac.js'></script>\r
-    <script language='javascript' type='text/javascript' src='<!--#echo var="OILS_OPAC_JS_HOST"-->/common/js/DP_DateExtensions.js'></script>\r
-\r
-       <script language='javascript' type='text/javascript'> config.ids.altcanvas.myopac_reload = 'myopac_reloading'; </script>\r
-       <div id='myopac_reloading' class='hide_me canvas'> &common.loading; </div>\r
-\r
-       <script language='javascript' type='text/javascript'>\r
-               config.ids.myopac = {};\r
-               config.css.myopac = {};\r
-               config.names.myopac = {};\r
-       </script>\r
-\r
-       <br/>\r
-       <table style='width: 98%; text-align: center;'>\r
-               <tbody>\r
-                       <tr id='myopac_nav_row'>\r
-\r
-                               <td class='myopac_link border_6' id='myopac_summary_td' >\r
-                                       <a href='javascript:void(0);' \r
-                                               onclick='myOPACChangePage("summary");'>&myopac.account;</a>\r
-                               </td>\r
-\r
-                               <td class='myopac_link border_6' id='myopac_checked_td' >\r
-                                       <a href='javascript:void(0);' \r
-                                               onclick='myOPACChangePage("checked");'>&myopac.checkouts;</a>\r
-                               </td>\r
-\r
-                               <td class='myopac_link border_6' id='myopac_holds_td' >\r
-                                       <a href='javascript:void(0);' \r
-                                               onclick='myOPACChangePage("holds");'>&myopac.holds;</a>\r
-                               </td>\r
-\r
-                               <td class='myopac_link border_6' id='myopac_fines_td' >\r
-                                       <a href='javascript:void(0);' \r
-                                               onclick='myOPACChangePage("fines");'>&myopac.fines;</a>\r
-                               </td>\r
-\r
-                               <td class='myopac_link border_6' id='myopac_prefs_td' >\r
-                                       <a href='javascript:void(0);' \r
-                                               onclick='myOPACChangePage("prefs");'>&myopac.preferences;</a>\r
-                               </td>\r
-\r
-                               <td class='myopac_link border_6' id='myopac_bookbag_td' nowrap='nowrap'>\r
-                                       <a href='javascript:void(0);' \r
-                                               onclick='myOPACChangePage("bookbag");'>&myopac.bookbags;</a>\r
-\r
-                               </td>\r
-\r
-                       </tr>\r
-               </tbody>\r
-       </table>\r
-\r
-       <br/>\r
-\r
-       <div id='myopac_main_div'>\r
-               <!--#include virtual="myopac/myopac_summary.xml"-->\r
-               <!--#include virtual="myopac/myopac_checked.xml"-->\r
-               <!--#include virtual="myopac/myopac_holds.xml"-->\r
-               <!--#include virtual="myopac/myopac_fines.xml"-->\r
-               <!--#include virtual="myopac/myopac_prefs.xml"-->\r
-               <!--#include virtual="myopac/myopac_bookbags.xml"-->\r
-       </div>\r
-\r
-</div>\r
-\r
-\r
diff --git a/web/opac/skin/uwin/xml/page_rdetail.xml b/web/opac/skin/uwin/xml/page_rdetail.xml
deleted file mode 100644 (file)
index 5ec7f82..0000000
+++ /dev/null
@@ -1,90 +0,0 @@
-<div id='canvas_main' class='canvas'>\r
-\r
-       <script language='javascript' type='text/javascript' src='<!--#echo var="OILS_OPAC_JS_HOST"-->/skin/uwin/js/sidebar_extras.js'></script>\r
-       <script language='javascript' type='text/javascript' src='<!--#echo var="OILS_OPAC_JS_HOST"-->/skin/uwin/js/result_common.js'></script>\r
-       <script language='javascript' type='text/javascript' src='<!--#echo var="OILS_OPAC_JS_HOST"-->/skin/uwin/js/rresult.js'></script>\r
-       <script language='javascript' type='text/javascript' src='<!--#echo var="OILS_OPAC_JS_HOST"-->/skin/uwin/js/rdetail.js'></script>\r
-       <script language='javascript' type='text/javascript' src='<!--#echo var="OILS_OPAC_JS_HOST"-->/skin/uwin/js/holds.js'></script>\r
-       <script language='javascript' type='text/javascript' src='<!--#echo var="OILS_OPAC_JS_HOST"-->/skin/uwin/js/cn_browse.js'></script>\r
-       <script language='javascript' type='text/javascript' src='<!--#echo var="OILS_OPAC_JS_HOST"-->/skin/uwin/js/container.js'></script>\r
-       <script src='http://www.google.com/jsapi' type='text/javascript' language='javascript'></script>\r
-       <script type='text/javascript' src='http://books.google.com/books/api.js?key=notsupplied&amp;v=0&amp;callback=google.loader.callbacks.books'></script>\r
-\r
-       <script language='javascript' type='text/javascript'>\r
-               config.ids.rdetail = {};\r
-               config.ids.rdetail.view_marc = "rdetail_view_marc";\r
-       </script>\r
-\r
-       <table width='100%' id='np_table' class='hide_me' style='margin-top: 3px;'>\r
-               <tbody>\r
-                       <tr class='color_4' style='height: 1em;'>\r
-                               <td style='vertical-align: top;'>\r
-\r
-                                       <span>\r
-                                               &rdetail.result; <span id='np_offset'> </span>\r
-                                               <span> &common.of; </span>\r
-                                               <span id='np_count'> </span>\r
-                                       </span>\r
-       \r
-                                       <span style='padding-left: 40px;' >\r
-                                               <a class='np_nav_link classic_link hide_me' id='np_start'\r
-                                                       href='javascript:rdetailStart();' title="&rdetail.page.results;">&rdetail.start;</a>\r
-                                               <a class='np_nav_link classic_link hide_me' id='np_prev'\r
-                                                       href='javascript:rdetailPrev();' title='&rdetail.page.previous;'>&lt;&lt;</a>\r
-                                               <span> </span>\r
-                                               <a  class='np_nav_link classic_link hide_me' id='np_next'\r
-                                                       href='javascript:rdetailNext();' title='&rdetail.page.next;'>&gt;&gt;</a>\r
-                                               <a class='np_nav_link classic_link hide_me' id='np_end'\r
-                                                       href='javascript:rdetailEnd();' title="&rdetail.page.last;">&rdetail.end;</a>\r
-                                       </span>\r
-       \r
-                               </td>\r
-                       </tr>\r
-               </tbody>\r
-       </table>\r
-\r
-       <table style='' class='rdetail_header color_1' width='100%'>\r
-               <tbody>\r
-\r
-                       <tr>\r
-                               <td width='33%' align='left'>\r
-                                       <span>&rdetail.detailMain.headerLabel;</span>\r
-                               </td>\r
-\r
-                               <td align='right' style='padding-right: 7px;' width='33%'>\r
-                                       <span style='padding-right: 7px;' class='hide_me' id='rdetail_exp_refworks_span'>\r
-                                               <a id='rdetail_exp_refworks' class='classic_link'>Export to RefWorks</a>\r
-                                       </span>\r
-                                       <span style='padding-right: 7px;'>\r
-                                               <a id='rdetail_place_hold' class='classic_link'></a>\r
-                                       </span>\r
-                                       <span style='padding-right: 7px;' class='hide_me' id='rdetail_more_actions'>\r
-                                               <select id='rdetail_more_actions_selector' style='max-width: 11em;'>\r
-                                                       <option value='start'>&rdetail.more;</option>\r
-                                                       <option disabled='disabled'>--------------</option>\r
-                                                       <option disabled='disabled'>&rdetail.bookbag.add;</option>\r
-                                                       <option disabled='disabled'>--------------</option>\r
-                                                       <option value='new_bookbag' onclick='rdetailNewBookbag();'>&rdetail.bookbag.create;</option>\r
-                                               </select>\r
-                                       </span>\r
-\r
-                               </td>\r
-                       </tr>\r
-               </tbody>\r
-       </table>\r
-\r
-       <div style='font-weight: bold; padding: 5px; margin: 5px; width: 100%;' \r
-               class='hide_me color_4' id='rdetail_deleted_exp'>\r
-               &rdetail.record.deleted;\r
-       </div>\r
-\r
-       <!--#include virtual="rdetail/rdetail_summary.xml"-->\r
-       <br/><br/>\r
-       <!--#include virtual="rdetail/rdetail_extras.xml"-->\r
-\r
-       <div class='hide_me' id='rdetail_bb_none'>&rdetail.none;</div>\r
-       <div class='hide_me' id='rdetail_bb_item_success'>&rdetail.bookbag.add.success;</div>\r
-       <div class='hide_me' id='rdetail_bb_new'>&rdetail.bookbag.name;</div>\r
-       <div class='hide_me' id='rdetail_bb_success'>&rdetail.bookbag.create.success;</div>\r
-\r
-</div>\r
diff --git a/web/opac/skin/uwin/xml/page_rresult.xml b/web/opac/skin/uwin/xml/page_rresult.xml
deleted file mode 100644 (file)
index 52023ca..0000000
+++ /dev/null
@@ -1,9 +0,0 @@
-<div>\r
-       <script language='javascript' type='text/javascript' src='<!--#echo var="OILS_OPAC_JS_HOST"-->/skin/uwin/js/sidebar_extras.js'></script>\r
-       <script language='javascript' type='text/javascript' src='<!--#echo var="OILS_OPAC_JS_HOST"-->/skin/uwin/js/rresult.js'></script>\r
-       <script language='javascript' type='text/javascript' src='<!--#echo var="OILS_OPAC_JS_HOST"-->/skin/uwin/js/result_common.js'></script>\r
-       <script language='javascript' type='text/javascript' src='<!--#echo var="OILS_OPAC_JS_HOST"-->/skin/uwin/js/tips.js'></script>\r
-       <script language='javascript' type='text/javascript' src='<!--#echo var="OILS_OPAC_JS_HOST"-->/skin/uwin/js/holds.js'></script>   \r
-       <!--#include virtual="result/result_common.xml"-->\r
-</div>\r
-\r
diff --git a/web/opac/skin/uwin/xml/rdetail/rdetail_altcanvas.xml b/web/opac/skin/uwin/xml/rdetail/rdetail_altcanvas.xml
deleted file mode 100644 (file)
index e7abdb2..0000000
+++ /dev/null
@@ -1,28 +0,0 @@
-\r
-<!-- record details alternate canvases -->\r
-<div class=''>\r
-\r
-       <!--\r
-       <script language='javascript' type='text/javascript'>\r
-               config.ids.rdetail.view_marc_div = 'view_marc_div';\r
-               config.ids.altcanvas.view_marc_div = config.ids.rdetail.view_marc_div; \r
-               config.ids.rdetail.hide_marc = "rdetail_hide_marc";\r
-               config.ids.rdetail.view_marc_box = "rdetail_view_marc_box";\r
-       </script>\r
-\r
-       <div class='hide_me canvas' id='view_marc_div'> \r
-               <div>\r
-                       <table width='100%'><tbody><tr>\r
-                               <td class='color_1' align='left' style='padding-left: 7px;text-decoration: underline;'>\r
-                                       <a href="javascript:void(0);" id='rdetail_hide_marc'>&rdetail.detailMain.hideMarc;</a>\r
-                               </td>\r
-                       </tr></tbody></table>\r
-               </div>\r
-               <br/>\r
-               <div id='rdetail_view_marc_box'> </div>\r
-               <br/><br/>\r
-       </div>\r
-       -->\r
-       \r
-</div>\r
-\r
diff --git a/web/opac/skin/uwin/xml/rdetail/rdetail_cn_details.xml b/web/opac/skin/uwin/xml/rdetail/rdetail_cn_details.xml
deleted file mode 100644 (file)
index c2a1756..0000000
+++ /dev/null
@@ -1,103 +0,0 @@
-<table class='hide_me'>\r
-       <script language='javascript' type='text/javascript' src='<!--#echo var="OILS_OPAC_JS_HOST"-->/skin/default/js/copy_details.js'></script>\r
-       <script language='javascript' type='text/javascript' src='<!--#echo var="OILS_OPAC_JS_HOST"-->/common/js/Date.W3CDTF.js'></script>\r
-       <tbody>\r
-               <tr style='border: 3px solid #E0E0E0;' id='rdetail_volume_details_row' templateRow='1'>\r
-                       <td colspan='10'>\r
-                               <div style='text-align: center; margin-top: 6px; margin-bottom: 6px'>\r
-                               \r
-                                       <a name='print' href='javascript:void(0);' class='classic_link'>&rdetail.print;</a>\r
-                                       <table class='data_grid data_grid_center' style='width: 100%'>\r
-                                               <thead>\r
-                                                       <tr>\r
-                                                               <td width='33%'>&rdetail.cn.barcode;</td>\r
-                                                               <td>&common.status;</td>\r
-                                                               <td>&rdetail.cn.location;</td>\r
-                                                               <td name='age_protect_label' class='hide_me'>&rdetail.cn.hold.age;</td>\r
-                                                               <td name='create_date_label' class='hide_me'>&rdetail.cn.genesis;</td>\r
-                                                               <td name='holdable_label' class='hide_me'>&rdetail.cn.holdable;</td>\r
-                                                               <td name='due_date_label' class='hide_me'>&rdetail.cn.due;</td>\r
-                                                       </tr>\r
-                                               </thead>\r
-                                               <tbody name='copies_tbody' class='copy_details_table' width='100%'>\r
-\r
-                                                       <tr name='copies_row'>\r
-\r
-                                                               <td>\r
-                                                                       <span name='barcode'> </span>\r
-                                                                       <a class='hide_me classic_link copy_more_info' name='details_link'>&rdetail.cn.more;</a>\r
-                                                                       <a class='hide_me classic_link copy_more_info' name='less_details_link'>&rdetail.cn.less;</a>\r
-                                                                       <a class='hide_me classic_link copy_more_info' name='copy_hold_link' \r
-                                                                               href='javascript:void(0);'>&rdetail.cn.hold;</a>\r
-                                                               </td>\r
-\r
-                                                               <td name='status'> </td>\r
-                                                               <td name='location'> </td>\r
-                                                               <td name='age_protect_value' class='hide_me'>&rdetail.cn.disabled;</td>\r
-                                                               <td name='create_date_value' class='hide_me'> </td>\r
-\r
-                                                               <td name='copy_holdable_td' class='hide_me'>\r
-                                                                       <span name='copy_is_holdable'> </span>\r
-                                                               </td>\r
-\r
-                                                               <td name='copy_due_date_td' class='hide_me'>\r
-                                                                       <span name='copy_due_date'> </span>\r
-                                                               </td>\r
-\r
-                                                       </tr>\r
-\r
-                                                       <tr name='copy_extras_row' class='hide_me'>\r
-                                                               <td colspan='10'>\r
-                                                                       <table width='100%' class='data_grid'>\r
-                                                                               <tbody name='extras_tbody'>\r
-                                                                                       <tr name='extras_row' class='hide_me'>\r
-                                                                                               <td name='type' width='20%'> \r
-                                                                                                       <span name='note' class='hide_me'><b>&rdetail.cn.note;</b></span>\r
-                                                                                                       <span name='cat' class='hide_me'><b>&rdetail.cn.category;</b></span>\r
-                                                                                               </td>\r
-                                                                                               <td>\r
-                                                                                                       <span name='key'> </span> : <span name='value'> </span>\r
-                                                                                               </td>\r
-                                                                                       </tr>\r
-                                                                               </tbody>\r
-                                                                       </table>\r
-                                                               </td>\r
-                                                       </tr>\r
-\r
-                                               </tbody>\r
-                                       </table>\r
-                               </div>\r
-                       </td>\r
-               </tr>\r
-       </tbody>\r
-</table>\r
-\r
-<span class='hide_me' id='rdetail.yes'>&common.yes;</span>\r
-<span class='hide_me' id='rdetail.no'>&common.no;</span>\r
-\r
-\r
-<div id='rdetail_print_details' class='hide_me'>\r
-       <div style='text-align: center; padding: 20px; width: 100%'>\r
-               <div style='width:100%; border: 2px solid #E0F0E0; margin-bottom: 20px;'>\r
-                       <input type='submit' value='&rdetail.cn.print;' onclick='window.print();'> </input>\r
-               </div>\r
-               <div name='body'> \r
-                       <table>\r
-                               <tbody name='tbody'>\r
-                                       <tr><td>&common.library;</td><td colspan='2' name='lib'></td></tr>\r
-                                       <tr><td>&common.title;</td><td colspan='2' name='title'></td></tr>\r
-                                       <tr><td>&common.author;</td><td colspan='2' name='author'></td></tr>\r
-                                       <tr><td>&common.edition;</td><td colspan='2' name='edition'></td></tr>\r
-                                       <tr><td>&common.pubdate;</td><td colspan='2' name='pubdate'></td></tr>\r
-                                       <tr><td>&common.publisher;</td><td colspan='2' name='publisher'></td></tr>\r
-                                       <tr><td>&common.physical;</td><td colspan='2' name='phys'></td></tr>\r
-                                       <tr>\r
-                                               <td colspan='3' style='background: #E0F0E0;'> </td>\r
-                                       </tr>\r
-                                       <tr name='cnrow'><td><b>&common.callnumber;</b></td><td><b colspan='2' name='cn'></b></td></tr>\r
-                               </tbody>\r
-                       </table>\r
-               </div>\r
-       </div>\r
-</div>\r
-\r
diff --git a/web/opac/skin/uwin/xml/rdetail/rdetail_copyinfo.xml b/web/opac/skin/uwin/xml/rdetail/rdetail_copyinfo.xml
deleted file mode 100644 (file)
index a25c8f3..0000000
+++ /dev/null
@@ -1,93 +0,0 @@
-\r
-<!-- This holds information for copies attached to this record -->\r
-<div id='rdetail_copy_info_div' class='rdetail_extras_div'>\r
-\r
-       <div style='width: 100%; text-align: center; padding-bottom: 5px;'>\r
-               <span>\r
-                       <a href='javascript:void(0);' id='copy_info_local_link' \r
-                               class='rdetail_copy_nav_link hide_me classic_link'><b>&rdetail.copyInfo.local;</b></a>\r
-               </span>\r
-               <span width=''>\r
-                       <a href='javascript:void(0);' id='copy_info_all_link' \r
-                               class='rdetail_copy_nav_link classic_link'><b>&rdetail.copyInfo.all;</b></a>\r
-               </span>\r
-       </div>\r
-\r
-       <style>\r
-               #rdetail_copy_info_table { font-size: 8pt; }\r
-               #rdetail_copy_info_table td { padding: 3px; }\r
-       </style>\r
-       <table id='rdetail_copy_info_table' class='data_grid'>\r
-               <thead>\r
-\r
-                       <tr>\r
-                               <td  class='rdetail_copy_info_header_cell'>&rdetail.copyInfo.library;</td>\r
-                               <td  class='rdetail_copy_info_header_cell'>&rdetail.copyInfo.callnumber;</td>\r
-                               <td  name='rdetail_copylocation_header' class='rdetail_copy_info_header_cell hide_me'>&rdetail.copyInfo.copylocation;</td>\r
-                               <td  class='rdetail_copy_info_header_cell'>&rdetail.copyInfo.actions;</td>\r
-                               <td  nowrap='nowrap' class='rdetail_copy_info_header_cell' id='rdetail_copy_info_status'> \r
-                                       <div name='rdetail_status_cell'> </div>\r
-                               </td>\r
-                       </tr>\r
-\r
-               </thead>\r
-               <tbody id='rdetail_copy_info_tbody'>\r
-                       <tr id='rdetail_copy_info_row' class='hide_me'>\r
-                               <td name='rdetail_library_cell'>\r
-                                       <a name='lib_print_link' class='hide_me classic_link' style='font-size: 8pt; padding-left: 20px;'>\r
-                                               &rdetail.copyInfo.print;\r
-                                       </a>\r
-                               </td>\r
-                               <td name='rdetail_callnumber_cell'> </td>\r
-                               <td class="hide_me" name='rdetail_copylocation_cell'> </td>\r
-                               <td name='rdetail_actions_cell'> \r
-                                       <div style='padding-bottom: 1px;'>\r
-                                               <a style='font-size: 8pt;'\r
-                                                       name='details' class='hide_me classic_link'>&rdetail.copyInfo.details;</a>\r
-                                       </div>\r
-                                       <div style='margin-top: 2px;'>\r
-                                               <a name='browse' style='font-size: 8pt;'\r
-                                                       class='hide_me classic_link'><!-- &rdetail.copyInfo.browse; --></a>\r
-                                       </div>\r
-<!--                                   <div style='margin-top: 2px;' name='hold_div' class='hide_me'>\r
-                                               <a name='hold' style='font-size: 8pt;' href='javascript:void(0);'\r
-                                                       class='classic_link'>&rdetail.copyInfo.hold;</a>\r
-                                       </div> -->\r
-                               </td>\r
-                               <td nowrap='nowrap' class='rdetail_copy_count_cell vertical' \r
-                                       name='rdetail_copy_count_cell'> </td>\r
-                       </tr>\r
-\r
-                       <tr id='rdetail_copy_info_loading'><td>&rdetail.loading;</td></tr>\r
-\r
-               </tbody>\r
-       </table>\r
-\r
-       <!--\r
-       <table class='hide_me'>\r
-               <tbody>\r
-               <tr style='border: 3px solid #E0E0E0;' id='rdetail_volume_details_row'><td colspan='10'></td></tr>\r
-               </tbody>\r
-       </table>\r
-       -->\r
-\r
-       <br/><br/>\r
-\r
-       <div id='rdetail_copy_info_none' class='hide_me'>&rdetail.noneAvailable;</div>\r
-\r
-       <script language='javascript' type='text/javascript'>\r
-               config.ids.rdetail.cp_status                    = "rdetail_copy_info_status";\r
-               config.ids.rdetail.cp_info_row          = "rdetail_copy_info_row";\r
-               config.ids.rdetail.cp_info_loading      = "rdetail_copy_info_loading";\r
-               config.ids.rdetail.cp_info_local                = "copy_info_local_link";\r
-               config.ids.rdetail.cp_info_all          = "copy_info_all_link";\r
-               config.ids.rdetail.cp_info_none         = "rdetail_copy_info_none";\r
-               config.names.rdetail.lib_cell                   = "rdetail_library_cell";\r
-               config.names.rdetail.cn_cell                    = "rdetail_callnumber_cell";\r
-               config.names.rdetail.cp_count_cell      = "rdetail_copy_count_cell";\r
-               config.names.rdetail.cp_status          = 'rdetail_status_cell';\r
-       </script>\r
-\r
-</div> <!-- copy info -->\r
-\r
-\r
diff --git a/web/opac/skin/uwin/xml/rdetail/rdetail_extras.xml b/web/opac/skin/uwin/xml/rdetail/rdetail_extras.xml
deleted file mode 100644 (file)
index 256e2d3..0000000
+++ /dev/null
@@ -1,125 +0,0 @@
-\r
-<div xmlns:xi="http://www.w3.org/2001/XInclude">\r
-\r
-       <table class='rdetails_extra_links'>\r
-               <thead>\r
-                       <tr>\r
-                               <td id='rdetail_copy_info_link' class='rdetail_extras_td rdetail_extras_selected' \r
-                                       style='padding-right: 15px; padding-left: 15px;' >\r
-                                       <a href='javascript:rdetailShowExtra("copyinfo");' \r
-                                               class='classic_link'>&rdetail.extras.summary;</a>\r
-                               </td>\r
-\r
-                               <td id='rdetail_viewcn_link' class='rdetail_extras_td'\r
-                                       style='padding-right: 15px; padding-left: 15px;' >\r
-                                       <a href='javascript:rdetailShowExtra("cn");' \r
-                                               class='classic_link'>&rdetail.extras.browser;</a>\r
-                               </td>\r
-\r
-                               <td id='rdetail_reviews_link' class='hide_me rdetail_extras_td'\r
-                                       style='padding-right: 15px; padding-left: 15px;' >\r
-                                       <a href='javascript:rdetailShowExtra("reviews");' \r
-                                               class='classic_link'>&rdetail.extras.reviews;</a>\r
-                               </td>\r
-\r
-                               <td id='rdetail_toc_link' class='hide_me rdetail_extras_td'\r
-                                       style='padding-right: 15px; padding-left: 15px;' >\r
-                                       <a href='javascript:rdetailShowExtra("toc");' \r
-                                               class='classic_link'>&rdetail.extras.toc;</a>\r
-                               </td>\r
-\r
-                               <td id='rdetail_excerpt_link' class='hide_me rdetail_extras_td'\r
-                                       style='padding-right: 15px; padding-left: 15px;' >\r
-                                       <a href='javascript:rdetailShowExtra("excerpt");' \r
-                                               class='classic_link'>&rdetail.extras.excerpt;</a>\r
-                               </td>\r
-\r
-                               <td id='rdetail_preview_link' class='hide_me rdetail_extras_td'\r
-                                       style='padding-right: 15px; padding-left: 15px;' >\r
-                                       <a href='javascript:rdetailShowExtra("preview");' \r
-                                               class='classic_link'>&rdetail.extras.preview;</a>\r
-                               </td>\r
-\r
-                               <td id='rdetail_anotes_link' class='hide_me rdetail_extras_td'\r
-                                       style='padding-right: 15px; padding-left: 15px;' >\r
-                                       <a href='javascript:rdetailShowExtra("anotes");' \r
-                                               class='classic_link'>&rdetail.extras.author.notes;</a>\r
-                               </td>\r
-\r
-                               <td id='rdetail_performer_notes_link' class='hide_me rdetail_extras_td'\r
-                                       style='padding-right: 15px; padding-left: 15px;' >\r
-                                       <a href='javascript:rdetailShowExtra("performer_notes");' \r
-                                               class='classic_link'>&rdetail.extras.performer.notes;</a>\r
-                               </td>\r
-\r
-\r
-                               <td id='rdetail_annotation_link' class='hide_me rdetail_extras_td'\r
-                                       style='padding-right: 15px; padding-left: 15px;' >\r
-                                       <a href='javascript:rdetailShowExtra("annotation");' \r
-                                               class='classic_link'>&rdetail.extras.annotation;</a>\r
-                               </td>\r
-\r
-                               <td id='rdetail_viewmarc_link' class='rdetail_extras_td'\r
-                                       style='padding-right: 15px; padding-left: 15px;' >\r
-                                       <a href='javascript:rdetailShowExtra("marc");' \r
-                                               class='classic_link'>&rdetail.extras.marc;</a>\r
-                               </td>\r
-\r
-\r
-                       </tr>\r
-               </thead>\r
-       </table>\r
-\r
-       <div id='rdetail_extras_div' style='width: 95%;'> \r
-               <div id='rdetail_extras_loading' class='hide_me' \r
-                       style='padding: 10px;'>&common.loading;</div>\r
-               <!--#include virtual="rdetail_copyinfo.xml"-->\r
-\r
-               <div id='rdetail_reviews_div' class='rdetail_extras_div hide_me'> \r
-                       <div id='rdetail_review_container'/>\r
-                       <!--\r
-                       <div id='rdetail_review_template' style='width: 100%;'>\r
-                               <div name='review_header' style='width: 100%; padding: 15px; border: 1px solid #E0E0E0;'> </div>\r
-                               <div name='review_text' style='width: 100%; padding: 15px; border: 1px solid #E0E0E0;'> </div>\r
-                       </div>\r
-                       -->\r
-               </div>\r
-               \r
-               <div id='rdetail_toc_div' class='rdetail_extras_div hide_me'> </div>\r
-\r
-               <div id='rdetail_excerpt_div' class='rdetail_extras_div hide_me'> </div>\r
-\r
-               <div id='rdetail_preview_div' class='rdetail_extras_div hide_me'> </div>\r
-\r
-               <div id='rdetail_anotes_div' class='rdetail_extras_div hide_me'> </div>\r
-\r
-               <div id='rdetail_performer_notes_div' class='rdetail_extras_div hide_me'> </div>\r
-\r
-               <div id='rdetail_marc_div' class='rdetail_extras_div hide_me'> \r
-                       <div id='rdetail_view_marc_box'> </div>\r
-               </div>\r
-\r
-               <div id='rdetail_cn_browse_div' style='text-align: center;' class='hide_me'>\r
-\r
-                       <div id='cn_browse_none' class='hide_me color_4' style='width: 90%; text-align: center; margin: 10px;'>\r
-                               &rdetail.extras.call.null;\r
-                       </div>\r
-\r
-                       <div id='rdetail_cn_browse_select_div' \r
-                               style='width: 100%; border: 1px solid black; padding: 6px; margin-top: 5px;'>\r
-                               <span>&rdetail.extras.call.local; </span>\r
-                               <select id='cn_browse_selector'>\r
-                               </select>\r
-                       </div>\r
-                       \r
-                       <!--#include virtual="../common/cn_browse.xml"-->\r
-               </div>\r
-\r
-               <!--#include virtual="rdetail_cn_details.xml"-->\r
-\r
-       </div>\r
-       <!-- Text for dynamic JavaScript -->\r
-       <div id='rdetail_preview_full_text' class='hide_me'>&rdetail.extras.preview.fulltext;</div>\r
-       <div id='rdetail_preview_title' class='hide_me'>&rdetail.extras.preview.title;</div>\r
-       <div id='rdetail_preview_badge' class='hide_me'>&rdetail.extras.preview.badge;</div>\r
-</div>\r
diff --git a/web/opac/skin/uwin/xml/rdetail/rdetail_summary.xml b/web/opac/skin/uwin/xml/rdetail/rdetail_summary.xml
deleted file mode 100644 (file)
index 400b31f..0000000
+++ /dev/null
@@ -1,158 +0,0 @@
-\r
-<abbr class="unapi-id" title='tag:<!--#echo var="HTTP_HOST"-->,<!--#echo var="OILS_TIME_YEAR"-->:biblio-record_entry/<!--#echo var="OILS_OPAC_RID"-->'></abbr>\r
-<!-- This holds the record summary information -->\r
-<div>\r
-       <table id='rdetail_details_table'>\r
-               <tbody id='rdetail_details_tbody'>\r
-\r
-                       <tr>\r
-                               <td id='rdetail_image_cell' rowspan='20'>\r
-                                       <a id='rdetail_img_link'>\r
-                                               <img style='border: none;' id='rdetail_image' \r
-                            onerror='\r
-                                hideMe($("rdetail.jacket_attrib_div"));\r
-                                hideMe($("rdetail_img_link"));'/>\r
-                                       </a>\r
-                    <!-- vendor attribution link -->\r
-                    <div class='jacket_attrib hide_me' id='rdetail.jacket_attrib_div'>\r
-                        <div>&opac.image_provided;</div>\r
-                        <div><a target='_blank' href='&vendor.base_link;' \r
-                            class='classic_link' id='rdetail.jacket_attrib_link'>&vendor.name;</a></div>\r
-                    </div>\r
-                               </td>\r
-                               <td nowrap='nowrap' class='rdetail_desc'>&common.title;</td>            \r
-                <!-- *** Example of how to use the openils.BibTemplate infrastructure to augment the stock\r
-                     *** summary screen with more and/or different information.  In this case, the raw MARC 245. -->\r
-                <td type='opac/slot-data' query='datafield[tag=245]' class='rdetail_item' id='rdetail_title'> </td>\r
-                       </tr>\r
-\r
-                       <tr>\r
-                               <td nowrap='nowrap' class='rdetail_desc'>&common.author;</td>           \r
-                               <td class='rdetail_item'>\r
-                                       <a title='&rdetail.author.search;' id='rdetail_author'> </a>\r
-                               </td>\r
-                       </tr>\r
-\r
-                       <tr>\r
-                               <td nowrap='nowrap' class='rdetail_desc'>&common.isbn;</td>                     \r
-                               <td class='rdetail_item' id='rdetail_isbn'> </td>\r
-                       </tr>\r
-\r
-                       <tr>\r
-                               <td nowrap='nowrap' class='rdetail_desc'>&common.edition;</td>          \r
-                               <td class='rdetail_item' id='rdetail_edition'> </td>\r
-                       </tr>\r
-\r
-                       <tr>\r
-                               <td nowrap='nowrap' class='rdetail_desc'>&common.pubdate;</td>          \r
-                               <td class='rdetail_item' id='rdetail_pubdate'> </td>\r
-                       </tr>\r
-\r
-                       <tr>\r
-                               <td nowrap='nowrap' class='rdetail_desc'>&common.publisher;</td>                \r
-                               <td type='opac/slot-data' query='datafield[tag=260]' class='rdetail_item' id='rdetail_publisher'> </td>\r
-                       </tr>\r
-\r
-\r
-                       <tr>\r
-                               <td nowrap='nowrap' class='rdetail_desc'>&common.physical;</td>         \r
-                               <td class='rdetail_item' id='rdetail_physical_desc'> </td>\r
-                       </tr>\r
-\r
-                       <tr>\r
-                               <td nowrap='nowrap' class='rdetail_desc'>&common.format;</td>                   \r
-                               <td class='rdetail_item'>\r
-                                       <img id='rdetail_tor_pic' class='tor_pic' />\r
-                                       <span id='rdetail_tor' style='padding-left: 5px;'> </span>\r
-                               </td>\r
-                       </tr>\r
-\r
-                       <tr>\r
-                               <td nowrap='nowrap' class='rdetail_desc'>&rdetail.detailMain.abstract;</td>     \r
-                               <td class='rdetail_item' id='rdetail_abstract'> </td>\r
-                       </tr>\r
-\r
-            <!-- *** Example of how to use the openils.BibTemplate infrastructure to augment the stock\r
-                 *** summary screen with complex information, such as new search links on subjects. -->\r
-            <tr>\r
-                <td nowrap='nowrap' class='rdetail_desc'>Subjects</td>\r
-                <td type='opac/slot-data' query='datafield[tag=650]' class='rdetail_item'>\r
-                    <script type='opac/slot-format'><![CDATA[\r
-                        var cgi = new CGI();\r
-                        var other_params = [ 'd', 'l', 'r', 'av', 's', 'sd' ];\r
-                        var total = '';\r
-                        var output = [];\r
-                        var list = dojo.query( 'subfield', item );\r
-                        for (var i =0; i < list.length; i++) {\r
-                            total += dojox.data.dom.textContent(list[i]) + ' ';\r
-                            var current = '<a href="rresult.xml?rt=subject&t=' + total;\r
-                            for (var p in other_params) {\r
-                                if (cgi.param(other_params[p]))\r
-                                    current += '&' + other_params[p] + '=' + cgi.param(other_params[p]);\r
-                            }\r
-                            current += '">' + dojox.data.dom.textContent(list[i]) + '</a>'\r
-                            output.push(current);\r
-                        }\r
-                        return '<span>' + output.join(' &#x2d;&#x2d; ') + '</span><br/>';\r
-                    ]]></script>\r
-                </td>\r
-            </tr>\r
-\r
-                       <tr class='hide_me' id='rdetail_online_row'>\r
-                               <!-- *** Example of how to use the openils.BibTemplate infrastructure to augment the stock\r
-                                    *** summary screen with complex information, such as location-specific URIs (856$9). -->\r
-                               <td nowrap='nowrap' class='rdetail_desc'>&rdetail.summary.online;\r
-                                       <span class='hide_me' type='opac/slot-data' query='datafield[tag=856] subfield[code=9]'>\r
-                                               <script type='opac/slot-format'><![CDATA[\r
-                                                       // There exists at least one localized URI. Clear all links.\r
-                                                       dojo.query('*:not([type^=opac])', 'rdetail_online').orphan();\r
-                                                       return '';\r
-                                               ]]></script>\r
-                                       </span>\r
-                               </td>\r
-                               <td class='rdetail_item' id='rdetail_online' type='opac/slot-data' query='volumes > volume > uris > uri' join=", ">\r
-                                       <script type='opac/slot-format'><![CDATA[\r
-                                               var link = '<a href="' + item.getAttribute('href') + '" class="classic_link">' + item.getAttribute('label') + '</a>';\r
-                                               if (item.getAttribute('use_restriction'))\r
-                                                       link += ' (' + item.getAttribute('use_restriction') + ') <br />';\r
-                                               return link;\r
-                                       ]]></script>\r
-                               </td>\r
-                       </tr>\r
-\r
-               </tbody>\r
-       </table>\r
-\r
-       <!-- Empty span used for creating unAPI links -->\r
-       <abbr name="unapi" class="unapi-id">\r
-               <!-- unAPI URI goes here -->\r
-       </abbr>\r
-\r
-       <script language='javascript' type='text/javascript'><![CDATA[\r
-\r
-               config.ids.rdetail.details_body         = 'rdetail_details_body'; \r
-               config.ids.rdetail.title                                = 'rdetail_title';\r
-               config.ids.rdetail.author                               = 'rdetail_author';\r
-               config.ids.rdetail.isbn                                 = 'rdetail_isbn';\r
-               config.ids.rdetail.edition                              = 'rdetail_edition';\r
-               config.ids.rdetail.pubdate                              = 'rdetail_pubdate';\r
-               config.ids.rdetail.publisher                    = 'rdetail_publisher';\r
-               config.ids.rdetail.tor                                  = 'rdetail_tor';\r
-               config.ids.rdetail.abstr                                = 'rdetail_abstract';\r
-               config.ids.rdetail.image                                = 'rdetail_image';\r
-               config.ids.rdetail.tor_pic                              = 'rdetail_tor_pic';\r
-\r
-        dojo.addOnLoad( function () {\r
-            var here = findOrgUnit(getLocation());\r
-            if (getDepth() > 0 || getDepth === 0 ) {\r
-                while (getDepth() < findOrgDepth(here))\r
-                    here = findOrgUnit( here.parent_ou() );\r
-            }\r
-\r
-            dojo.require('openils.BibTemplate');\r
-            new openils.BibTemplate({ record : new CGI().param('r'), org_unit : here.shortname() }).render();\r
-        });\r
-       ]]></script>\r
-\r
-</div> <!-- details_body -->\r
-\r
diff --git a/web/opac/skin/uwin/xml/result/filtersort.xml b/web/opac/skin/uwin/xml/result/filtersort.xml
deleted file mode 100644 (file)
index 16f4cfe..0000000
+++ /dev/null
@@ -1,20 +0,0 @@
-<span>\r
-    &result.limit2avail;<input type='checkbox' id='opac.result.limit2avail' onclick='searchBarSubmit(true);'/>\r
-    <select id='opac.result.sort' onchange='searchBarSubmit(true);'>\r
-        <option selected='selected' value=''>&result.sort_by;</option>\r
-        <optgroup label='&result.sort_by.title;'>\r
-            <option id='opac.result.title.a2z' label='&common.a2z.titla;' value='title.asc'>&common.a2z.title;</option>\r
-            <option id='opac.result.title.z2a' label='&common.z2a.titla;' value='title.desc'>&common.z2a.title;</option>\r
-        </optgroup>\r
-        <optgroup label='&result.sort_by.author;'>\r
-            <option id='opac.result.author.a2z' label='&common.a2z.author;' value='author.asc'>&common.a2z.author;</option>\r
-            <option id='opac.result.author.z2a' label='&common.z2a.author;' value='author.desc'>&common.z2a.author;</option>\r
-        </optgroup>\r
-        <optgroup label='&result.sort_by.pubdate;'>\r
-            <option id='opac.result.pubdate.new2old' label='&common.new2old.pubdate;' \r
-                value='pubdate.desc'>&common.new2old.pubdate;</option>\r
-            <option id='opac.result.pubdate.old2new' label='&common.old2new.pubdate;' \r
-                value='pubdate.asc'>&common.old2new.pubdate;</option>\r
-        </optgroup>\r
-    </select>\r
-</span>\r
diff --git a/web/opac/skin/uwin/xml/result/result_common.xml b/web/opac/skin/uwin/xml/result/result_common.xml
deleted file mode 100644 (file)
index 15dad4c..0000000
+++ /dev/null
@@ -1,36 +0,0 @@
-\r
-<div id='canvas_main' class='canvas' xmlns:xi="http://www.w3.org/2001/XInclude" >\r
-\r
-       <script language='javascript' type='text/javascript'>\r
-               config.ids.result = {};\r
-               config.css.result = {};\r
-               config.names.result = {};\r
-               config.ids.result.offset_start  = "offset_start";\r
-               config.ids.result.offset_end            = "offset_end";\r
-               config.ids.result.result_count  = "result_count";\r
-               config.ids.result.next_link             = 'next_link';\r
-               config.ids.result.prev_link             = 'prev_link';\r
-               config.ids.result.home_link             = 'search_home_link';\r
-               config.ids.result.end_link                      = 'end_link';\r
-               config.ids.result.main_table            = 'result_table';\r
-               config.ids.result.row_template  = 'result_table_template';\r
-               config.ids.result.num_pages             = 'num_pages';\r
-               config.ids.result.current_page  = 'current_page';\r
-               config.css.result.nav_active            = "nav_link_active";\r
-               config.ids.result.top_div                       = "result_table_div";\r
-               config.ids.result.nav_links             = "search_nav_links";\r
-               config.ids.result.info                          = "result_info_div";\r
-               config.css.result.cc_cell_even  = "copy_count_cell_even";\r
-               config.names.result.item_jacket = "item_jacket";\r
-               config.names.result.item_title  = "item_title";\r
-               config.names.result.item_author = "item_author";\r
-               config.names.result.counts_row  = "counts_row";\r
-               config.names.result.count_cell  = "copy_count_cell";\r
-       </script>\r
-\r
-       <!--#include virtual="result_table.xml"-->\r
-       <!--#include virtual="result_lowhits.xml"-->\r
-\r
-</div>\r
-\r
-\r
diff --git a/web/opac/skin/uwin/xml/result/result_info.xml b/web/opac/skin/uwin/xml/result/result_info.xml
deleted file mode 100644 (file)
index 5b9ddb5..0000000
+++ /dev/null
@@ -1,74 +0,0 @@
-<table style='width: 100%;'>\r
-       <tbody>\r
-\r
-               <tr class='color_4' style='height: 1em;'>\r
-\r
-                       <td style='vertical-align: top;'  id='next_prev_links'>\r
-\r
-                               <span class='hide_me' id='result_info_div' style='font-size: 9pt;'>\r
-                                       <span> &common.results; </span> \r
-                                       <span id='offset_start'> </span>\r
-                                       <span> - </span>\r
-                                       <span id='offset_end'> </span>\r
-                                       <span> &common.ofAtLeast; </span>\r
-                                       <span id='result_count'> </span>\r
-                                       <span style='padding-left: 6px;'> (page </span>\r
-                                       <span id='current_page'> </span>\r
-                                       <span> &common.of; </span>\r
-                                       <span id='num_pages'> </span>\r
-                               </span>\r
-\r
-                               <span id='start_end_links_span' class='hide_me' \r
-                                               style='padding-left: 40px;' >\r
-                                       <a class='search_page_nav_link' id='search_home_link' \r
-                                               title="&rdetail.page.results;">&rdetail.start;</a><a class='search_page_nav_link' \r
-                                                       id='prev_link' title='&rdetail.page.previous;'>&#171;</a>\r
-\r
-                                       <span class='search_page_nav_link' id='page_numbers'> </span>\r
-\r
-                                       <a  class='search_page_nav_link' id='next_link' \r
-                                               title='&rdetail.page.next;'>&#187;</a>\r
-                        <!--\r
-                        <a class='search_page_nav_link' \r
-                                                       id='end_link' title="&rdetail.page.last;">&rdetail.end;</a>\r
-                            -->\r
-                               </span>\r
-\r
-                       </td>\r
-\r
-                       <td  colspan='5' \r
-                               style='padding-bottom: 4px; text-align:center; vertical-align: top; border-bottom: 1px solid #E0E0E0;'>\r
-                                       <span id='search_info_table' class='hide_me' style='font-size: 8pt;'>\r
-                                               <b>&result.info.copies; </b>\r
-                                       </span>\r
-                       </td>\r
-               </tr>\r
-\r
-               <tr style='height: 2em;' id='result_thead_row'>\r
-                       <td> \r
-                               <div class='hide_me' id='no_formats' style='padding: 4px;'>\r
-                                       <b>\r
-                                               <span style='color:red;'>*</span>\r
-                                               &result.info.no.items;\r
-                                               <div>&result.info.format.items;</div>\r
-                                       </b>\r
-                               </div>\r
-\r
-                               <div class='hide_me' id='rresult_show_all' style='padding: 4px;'>\r
-                                       <a href='javascript:rresultExpandSearch();' id='rresult_show_all_link' \r
-                                               class='classic_link'>&result.info.show; </a>\r
-                               </div>\r
-\r
-                               <div class='hide_me' id='rresult_show_here' style='padding: 4px;'>\r
-                                       <a href='javascript:rresultContractSearch();' id='rresult_show_here_link' \r
-                                               class='classic_link'>&result.info.show; </a>\r
-                               </div>\r
-\r
-                       </td>\r
-                       <td rowspan='2' style='font-size: 8pt; padding-top: 4px;' class='copy_count_cell' \r
-                               width='12%' align='center' name='result_thead_ccell'> </td>\r
-               </tr>\r
-\r
-       </tbody>\r
-</table>\r
-\r
diff --git a/web/opac/skin/uwin/xml/result/result_lowhits.xml b/web/opac/skin/uwin/xml/result/result_lowhits.xml
deleted file mode 100644 (file)
index 98fd9c9..0000000
+++ /dev/null
@@ -1,49 +0,0 @@
-\r
-<div id='result_low_hits' class='hide_me'>\r
-\r
-       <br/><br/><br/>\r
-\r
-       <div style='text-align: center; padding-bottom: 8px;'>\r
-               <div id='result_low_hits_msg' class='hide_me'>&result.lowhits.few;</div>\r
-               <div id='result_zero_hits_msg' class='hide_me'>&result.lowhits.zero;</div>\r
-       </div>\r
-\r
-       <!-- spell checker -->\r
-       <div id='did_you_mean' class='lowhits_div hide_me'>\r
-               <span>&result.lowhits.did.you.mean; </span>\r
-               <a class='classic_link' id='spell_check_link'> </a>\r
-       </div>\r
-\r
-       <div id='low_hits_remove_format' class='lowhits_div hide_me'>\r
-               <span>&result.lowhits.formats; </span>\r
-               <a id='low_hits_remove_format_link' class='classic_link'>&result.lowhits.formats.search;</a>\r
-       </div>\r
-\r
-       <div id='low_hits_cross_ref' class='lowhits_div hide_me'>\r
-               <span>&result.lowhits.related;</span>\r
-               <div style='padding: 5px;'>\r
-                       <a id='low_hits_xref_link' class='classic_link' style='padding-right: 5px;'> </a>\r
-               </div>\r
-       </div>\r
-\r
-       <div id='low_hits_expand_range' class='lowhits_div hide_me'>\r
-               <span>&result.lowhits.expand; </span>\r
-               <a id='low_hits_expand_link' class='classic_link' style='padding-right: 5px;'> </a>\r
-       </div>\r
-\r
-       <div id='low_hits_search_type' class='lowhits_div hide_me'>\r
-               <span>&result.lowhits.class;</span>\r
-               <a id='low_hits_title_search' class='hide_me classic_link' \r
-                       style='padding-right: 5px;'>&result.lowhits.title;</a>\r
-               <a id='low_hits_author_search' class='hide_me classic_link' \r
-                       style='padding-right: 5px;'>&result.lowhits.author;</a>\r
-               <a id='low_hits_subject_search' class='hide_me classic_link' \r
-                       style='padding-right: 5px;'>&result.lowhits.subject;</a>\r
-               <a id='low_hits_series_search' class='hide_me classic_link' \r
-                               style='padding-right: 5px;'>&result.lowhits.series;</a>\r
-               <a id='low_hits_keyword_search' class='hide_me classic_link' \r
-                       style='padding-right: 5px;'>&result.lowhits.keyword;</a>\r
-       </div>\r
-\r
-</div>\r
-\r
diff --git a/web/opac/skin/uwin/xml/result/result_table.xml b/web/opac/skin/uwin/xml/result/result_table.xml
deleted file mode 100644 (file)
index 10fcbe1..0000000
+++ /dev/null
@@ -1,209 +0,0 @@
-<!-- Search results are spit into this table -->\r
-\r
-<div id='result_table_div' xmlns:xi="http://www.w3.org/2001/XInclude">\r
-\r
-       <table id='res_table'> \r
-\r
-               <!-- for some reason, this is the only way i can force the cell widths -->\r
-               <thead id='result_thead'>\r
-                       <tr>\r
-                               <td class='result_table_pic_header'></td>\r
-                               <td> </td>\r
-                       </tr>\r
-               </thead>\r
-\r
-               <tbody id='result_table'>\r
-                       <tr>\r
-\r
-                               <td class='result_table_row'>\r
-                                       <!--#include virtual="result_info.xml"-->\r
-                               </td>\r
-                       </tr>\r
-\r
-                       <!-- Template for displaying a search result.  This row template is cloned and inserted\r
-                                       for each result returned -->\r
-\r
-                       <tr id='result_table_template' class='hide_me'>\r
-\r
-                               <!-- Jacket image goes here -->\r
-\r
-                               <td class='result_table_row' align='left'>\r
-                                       <table class='result_table_subtable'>\r
-                                               <tbody class='result_table_subtbody'>\r
-\r
-                                                       <tr style='height: 1em' name='counts_row'>\r
-\r
-                                                               <td  rowspan='3' class='result_table_pic_header'>\r
-                                                                       <a><img name='item_jacket' class='result_table_pic'/></a>\r
-                                                               </td>\r
-\r
-                                                               <td class='result_table_title_cell' name='result_table_title_cell'>\r
-                                                                       <!-- Title goes here -->\r
-                                                                       <a title="&result.table.keyword;" name='item_title' class='search_link'> \r
-                                                                               <!-- Title goes here -->\r
-                                                                       </a>\r
-                                                               </td>\r
-\r
-                                                               <!-- Copy this td for each copy count appended -->\r
-                                                               <td  rowspan='3' nowrap='nowrap' name="copy_count_cell" class='copy_count_cell'> \r
-                                                               </td>\r
-\r
-                                                       </tr>\r
-               \r
-                                                       <tr style='height: 1em' >\r
-                                                               <td class='result_table_author_cell'>\r
-                                                                       <a title="&result.table.author;" name='item_author' class='search_link'> \r
-                                                                               <!-- Author goes here -->\r
-                                                                       </a>\r
-                                                                       <div>\r
-                                                                       <span name='result_table_extra_span' class='hide_me'>\r
-                                                                               <span name='result_table_pub_box' style='padding-left: 10px;'> \r
-                                                                                       <span name='result_table_edition_span' style='padding-left: 10px;'></span> |\r
-                                                                                       <span name='result_table_pub_span'> </span> |\r
-                                                                                       <span name='result_table_phys_span'> </span>\r
-                                                                               </span>\r
-                                                                       </span>\r
-                                                                       </div>\r
-                                                               </td>\r
-                                                       </tr>\r
-\r
-                                                       <tr style='height:1em;' >\r
-                                                               <td name='result_table_format_cell' class='result_table_format_cell'>\r
-\r
-                                                                       <a name='text_link' class='search_link'> \r
-                                                                               <img src='../../../../images/tor/text.jpg' class='dim tor_pic' />\r
-                                                                       </a>\r
-\r
-                                                                       <a name='sound recording-nonmusical_link' class='search_link'> \r
-                                                                               <img src='../../../../images/tor/sound recording-nonmusical.jpg' class='dim tor_pic' />\r
-                                                                       </a>\r
-\r
-                                                                       <a name='moving image_link' class='search_link'> \r
-                                                                               <img src='../../../../images/tor/moving image.jpg' class='dim tor_pic' />\r
-                                                                       </a>\r
-\r
-                                                                       <a name='software, multimedia_link' class='search_link'> \r
-                                                                               <img src='../../../../images/tor/software, multimedia.jpg' class='dim tor_pic' />\r
-                                                                       </a>\r
-\r
-                                                                       <a name='sound recording-musical_link' class='search_link'> \r
-                                                                               <img src='../../../../images/tor/sound recording-musical.jpg' class='dim tor_pic' />\r
-                                                                       </a>\r
-\r
-                                                                       <a name='cartographic_link' class='search_link'> \r
-                                                                               <img src='../../../../images/tor/cartographic.jpg' class='dim tor_pic' />\r
-                                                                       </a>\r
-\r
-                                                                       <a name='mixed material_link' class='search_link'> \r
-                                                                               <img src='../../../../images/tor/mixed material.jpg' class='dim tor_pic' />\r
-                                                                       </a>\r
-\r
-                                                                       <a name='notated music_link' class='search_link'> \r
-                                                                               <img src='../../../../images/tor/notated music.jpg' class='dim tor_pic' />\r
-                                                                       </a>\r
-\r
-                                                                       <a name='sound recording_link' class='search_link'> \r
-                                                                               <img src='../../../../images/tor/sound recording.jpg' class='dim tor_pic' />\r
-                                                                       </a>\r
-\r
-                                                                       <a name='still image_link' class='search_link'> \r
-                                                                               <img src='../../../../images/tor/still images.jpg' class='dim tor_pic' />\r
-                                                                       </a>\r
-\r
-                                                                       <a name='three dimensional object_link' class='search_link'> \r
-                                                                               <img src='../../../../images/tor/three dimensional object.jpg' class='dim tor_pic' />\r
-                                                                       </a>\r
-\r
-                                                                       <span class='hide_me' \r
-                                                                               style='color: #9999FF; padding-left: 10px; font-size: 7pt; font-weight: 300;'> \r
-                                                                               <span>&common.relevancy; </span><span name='relevancy_span'> </span>\r
-                                                                       </span>\r
-\r
-                                                                       <span class='hide_me' name='place_hold_span'>\r
-                                                                               <a style='padding-left: 8px;' href='javascript:void(0);' \r
-                                                                                       class='classic_link' name='place_hold_link'></a>\r
-                                                                       </span>\r
-\r
-                                                                       <!-- Empty span used for creating unAPI links -->\r
-                                                                       <abbr style='padding-left: 8px;' name="unapi" class="unapi-id">\r
-                                                                               <!-- unAPI URI goes here -->\r
-                                                                       </abbr>\r
-\r
-                                                                       <!-- Empty span used for creating Google Book Search-->\r
-                                                                       <span name="googleBooksLink" class="hide_me">\r
-                                                                               <a style='padding-left: 8px;' class='classic_link' name="googleBooks-link"></a>\r
-                                                                       </span>\r
-\r
-\r
-                                                               </td>\r
-                                                       </tr>\r
-\r
-                                               </tbody>\r
-                                       </table>\r
-                               </td>\r
-                       </tr>\r
-               </tbody>\r
-       </table>\r
-\r
-\r
-   <!-- ====================== -->\r
-   <table style='width: 100%; margin-top: 12px;' id='result_info_2' class='hide_me'>\r
-      <tbody>\r
-               \r
-             <tr class='color_4' style='height: 1em;'>\r
-                     \r
-                <td style='vertical-align: top;'  id='next_prev_links2'>\r
-                        \r
-                   <span class='hide_me' id='result_info_div2' style='font-size: 9pt;'>\r
-                      <span> &common.results; </span> \r
-                      <b id='offset_start2'> </b>\r
-                      <span> - </span>\r
-                      <b id='offset_end2'> </b>\r
-                      <span> &common.ofAtLeast; </span>\r
-                      <b id='result_count2'> </b>\r
-                      <span style='padding-left: 6px;'> (page </span>\r
-                      <span id='current_page2'> </span>\r
-                      <span> &common.of; </span>\r
-                      <span id='num_pages2'> </span>\r
-                   </span>\r
-                           \r
-                   <span id='start_end_links_span2' class='hide_me' \r
-                      style='padding-left: 40px;' >\r
-                   <a class='search_page_nav_link' id='search_home_link2' \r
-                      title="&rdetail.page.results;">&rdetail.start;</a><a class='search_page_nav_link' \r
-                      id='prev_link2' title='&rdetail.page.previous;'>&#171;</a>\r
-            \r
-                   <span class='search_page_nav_link' id='page_numbers2'> </span>\r
-                      <a  class='search_page_nav_link' id='next_link2' \r
-                         title='&rdetail.page.next;'>&#187;</a>\r
-                      <!--\r
-                      <a class='search_page_nav_link' \r
-                         id='end_link2' title="&rdetail.page.last;">&rdetail.end;</a>\r
-                      -->\r
-                   </span>\r
-                        \r
-                </td>\r
-                        \r
-                <td  colspan='5' \r
-                   style='padding-bottom: 4px; text-align:center; vertical-align: top; border-bottom: 1px solid #E0E0E0;'>\r
-               <!--\r
-                   <span id='search_info_table2' style='font-size: 8pt;'>\r
-                   <b>Available copies / Total copies </b>\r
-                   </span>\r
-               -->\r
-                </td>\r
-             </tr>\r
-      </tbody>\r
-   </table>\r
-   <!-- ====================== -->\r
-\r
-\r
-       <script language='javascript' type='text/javascript'>\r
-               config.names.result.format_cell = 'result_table_format_cell';\r
-               config.names.result.format_link = 'resource_link'\r
-               config.names.result.format_pic = 'format_pic'\r
-       </script>\r
-\r
-</div>\r
-\r
-\r
diff --git a/web/opac/skin/uwin/xml/setenv.xml b/web/opac/skin/uwin/xml/setenv.xml
deleted file mode 100644 (file)
index 42606ca..0000000
+++ /dev/null
@@ -1,62 +0,0 @@
-<!-- Sets our environment variables for convenience and determining which page we're on -->\r
-\r
-<!--#set var='OILS_PAGE' value="$DOCUMENT_NAME"-->\r
-\r
-<!--#if expr="$DOCUMENT_NAME='index.xml'"-->\r
-       <!--#set var='OILS_TITLE' value='opac.title.home'-->\r
-       <!--#set var='FRONT_PAGE' value='true'-->\r
-\r
-<!--#elif expr="$DOCUMENT_NAME='mresult.xml'"-->\r
-       <!--#set var='OILS_TITLE' value='opac.title.mresult'-->\r
-       \r
-\r
-<!--#elif expr="$DOCUMENT_NAME='rresult.xml'"-->\r
-       <!--#set var='OILS_TITLE' value='opac.title.rresult'-->\r
-\r
-<!--#elif expr="$DOCUMENT_NAME='rdetail.xml'"-->\r
-       <!--#set var='OILS_TITLE' value='opac.title.rdetail'-->\r
-\r
-<!--#elif expr="$DOCUMENT_NAME='myopac.xml'"-->\r
-       <!--#set var='OILS_TITLE' value='opac.title.myopac'-->\r
-\r
-<!--#elif expr="$DOCUMENT_NAME='advanced.xml'"-->\r
-       <!--#set var='OILS_TITLE' value='opac.title.advanced'-->\r
-\r
-<!--#elif expr="$DOCUMENT_NAME='reqitems.xml'"-->\r
-       <!--#set var='OILS_TITLE' value='opac.title.reqitems'-->\r
-\r
-<!--#elif expr="$DOCUMENT_NAME='cnbrowse.xml'"-->\r
-       <!--#set var='OILS_TITLE' value='opac.title.cnbrowse'-->\r
-\r
-<!--#endif-->\r
-\r
-\r
-<!--#set var="OILS_BASE" value="http://${SERVER_NAME}/${OILS_OPAC_BASE}"-->\r
-<!--#set var="OILS_BASE" value="${OILS_OPAC_BASE}"-->\r
-<!--#set var="OILS_XML_BASE" value="${OILS_BASE}/common/xml"--> \r
-\r
-\r
-<!-- Javascript host -->\r
-<!--#if expr="$OILS_OPAC_JS_HOST"-->\r
-    <!--#set var="OILS_OPAC_JS_HOST" value="http://${OILS_OPAC_JS_HOST}"-->\r
-    <!--#set var="OILS_OPAC_JS_HOST" value=""-->\r
-<!--#else -->\r
-    <!--#set var="OILS_OPAC_JS_HOST" value="$OILS_BASE"-->\r
-<!--#endif -->\r
-<!--#set var="OILS_JS_BASE" value="${OILS_OPAC_JS_HOST}/common/js"-->\r
-\r
-\r
-<!--#if expr="$OILS_OPAC_CSS_HOST"-->\r
-    <!--#set var="OILS_OPAC_CSS_HOST" value="http://${OILS_OPAC_CSS_HOST}"-->\r
-    <!--#set var="OILS_OPAC_CSS_HOST" value=""-->\r
-<!--#else -->\r
-    <!--#set var="OILS_OPAC_CSS_HOST" value="$OILS_BASE"-->\r
-<!--#endif -->\r
-<!--#set var="OILS_THEME_BASE" value="${OILS_OPAC_CSS_HOST}/theme"--> \r
-<!--#set var="OILS_SKIN_BASE" value="${OILS_OPAC_CSS_HOST}/skin"--> \r
-<!--#set var="OILS_CSS_BASE" value="${OILS_OPAC_CSS_HOST}/common/css"--> \r
-\r
-\r
-<!--#if expr="!$locale || $locale=''"-->\r
-       <!--#set var="locale" value="en-US"-->\r
-<!--#endif-->\r
diff --git a/web/opac/skin/uwin_old/css/colors.css b/web/opac/skin/uwin_old/css/colors.css
new file mode 100644 (file)
index 0000000..7d29585
--- /dev/null
@@ -0,0 +1,105 @@
+body a                 { color: black; text-decoration: none;}\r
+body a:visited { color: black; text-decoration: none;}\r
+body a:hover   { color: red; text-decoration: underline;}\r
+\r
+\r
+/* the idea is to have 4 complimentary colors that \r
+ * are used throughout the opac.  Edit those colors\r
+ * in this file\r
+ */\r
\r
+.color_1 { background: #B2BB1E; color: #000000; }\r
+.color_2 { background: #B2BB1E; color: #000000; }\r
+.color_3 { background: #EEE; color: #000000; }\r
+.color_4 { background: #E7E0D5; color: #000000; }\r
+\r
+.border_1 { border: 1px solid #005595; }\r
+.border_2 { border: 1px solid #B2BB1E; }\r
+.border_3 { border: 1px solid #EEE; }\r
+.border_4 { border: 1px solid #E7E0D5; }\r
+\r
+.border_1_2 { border: 2px solid #B2BB1E; }\r
+.border_2_2 { border: 2px solid #B2BB1E; }\r
+.border_3_2 { border: 2px solid #EEE; }\r
+.border_4_2 { border: 2px solid #E7E0D5; }\r
+\r
+.border_1_3 { border: 3px solid #B2BB1E; }\r
+.border_2_3 { border: 3px solid #B2BB1E; }\r
+.border_3_3 { border: 3px solid #EEE; }\r
+.border_4_3 { border: 3px solid #E7E0D5; }\r
+\r
+/* general purpose light borders */\r
+.border_5 { border: 1px solid #D0D0D0; }\r
+.border_6 { border: 1px solid #808080; }\r
+\r
+/* \r
+input:focus { background: #EEE; color: #000000;}\r
+a:focus { background: #E0F0E0; color: #000000;}\r
+*/\r
\r
+/* ---------------------------------------------------------------------- */\r
+\r
+.canvas { /* main content div for each page */\r
+    border-left: 3px solid #005595;\r
+    border-bottom: 3px solid #005595;\r
+    border-top: 3px solid #005595;\r
+}\r
+\r
+/* border around home search box */\r
+.home_search { border: 3px solid #005595; }\r
+\r
+/* main nav sidebar */\r
+.sidebar_item_active { background: #005595; color: #EEE; }\r
+.sidebar_item_active a { background: #005595; color: #EEE; }\r
+.sidebar_item_active a:hover { background: #005595; color: #EEE; text-decoration: none; }\r
+/* #advanced_link { background: #005595; color: #EEE; } */\r
+#sidebar_results_wrapper { border-right: 0; }\r
+\r
+/* record detail summary block */\r
+.rdetail_desc { border: 1px solid #CCC; }\r
+.rdetail_item { border: 1px solid #CCC; }\r
+.rdetails_extra_links { border: 1px solid #CCC; }\r
+.rdetail_extras_td { border: 1px solid #CCC; }\r
+.rdetail_extras_selected { background: #B2BB1E;} \r
+.rdetail_extras_selected a:hover { color: #FF0;} \r
+#rdetail_image_cell { border: 1px solid white; border-right: 1px solid #CCC;}\r
+\r
+\r
+.data_grid thead tr { background: #E7E0D5; color: #000000; }\r
+.data_grid thead td { border: 1px solid #CCC; }\r
+.data_grid tbody td { border: 1px solid #CCC; }\r
+.data_grid_nb thead tr { background: #CCC; color: #000000; }\r
+.data_grid_nb thead td { border: none; }\r
+.data_grid_nb tbody td { border: none; }\r
+.copy_count_cell { border-right: 1px solid #CCC; } \r
+.copy_count_div {      border-left: 2px solid #CCC; border-right: 2px solid #CCC; }\r
+\r
+.light_border { border: 1px solid #CCC; }\r
+\r
+.adv_quick_search_submit { border-bottom: 3px solid #CCC;}\r
+\r
+.myopac_link_active { background: #B2BB1E; }\r
+\r
+.sidebar_extra_link { text-decoration: none; }\r
+#searchbar_tag_on { color: red; }\r
+.searchbar_item { color: black; } \r
+#login_box { border-top: 1px solid #808080; border-bottom: 1px solid #808080; }\r
+#next_prev_links_dead { color: #808080; text-decoration: none; }\r
+\r
+.nav_link_active {font-weight: bold;}\r
+\r
+.search_link { text-decoration: none; }\r
+.result_table_subtable { border-top: 1px solid #E0E0E0; }\r
+\r
+.x_mark { color: red; }\r
+.check_mark { color: green; }\r
+\r
+#myopac_holds_thaw_date_form { border: 1px solid #E0E0E0; } \r
+\r
+.invalid_field { border: 3px solid red; }\r
+\r
+#lib_selector_link:hover { color: #FF0; }\r
+#adv_global_search #lib_selector_link:hover { color: red; }\r
+#rdetail_place_hold:hover { color: #FF0; }\r
+#home_adv_search_link:hover { color: #FF0; }\r
+#home_myopac_link:hover { color: #FF0; }\r
diff --git a/web/opac/skin/uwin_old/css/layout.css b/web/opac/skin/uwin_old/css/layout.css
new file mode 100644 (file)
index 0000000..b3695c6
--- /dev/null
@@ -0,0 +1,252 @@
+body { margin: 6px; }\r
+body { background-color: white; }\r
+\r
+.main_header   { width: 100%; }\r
+.space                 { padding-right:5px; }\r
+.vert_space            { padding-top: 82px; width: 100%;}\r
+.right                 { position:absolute; right: 0px; }\r
+.hide_me                       { display:none; visibility: hidden; }\r
+\r
+table { border-collapse: collapse; }\r
+\r
+/* generic CSS for a table with data */\r
+.data_grid { font-weight: 500; border-collapse: collapse;}\r
+.data_grid thead tr { }\r
+.data_grid thead td { padding-right: 5px; padding-left: 5px;}\r
+.data_grid tbody td { padding: 5px; }\r
+.data_grid_center { text-align: center; }\r
+\r
+.data_grid_nb { font-weight: 500; border-collapse: collapse;}\r
+.data_grid_nb thead tr { color: #000000; }\r
+.data_grid_nb thead td { padding-right: 5px; padding-left: 5px;}\r
+.data_grid_nb tbody td { padding: 5px; }\r
+\r
+\r
+.classic_link { text-decoration: underline; color: black;}\r
+.classic_link:visited { text-decoration: underline; color: black;}\r
+.classic_link_col { text-decoration: underline; color: red;}\r
+\r
+.encircled { border: 1px solid black; }\r
+\r
+\r
+.adv_quick_search { padding: 3px;}\r
+.adv_quick_search_submit { padding: 3px;}\r
+\r
+.overdue { color: red; font-weight: bold;}\r
+\r
+#main_table { border-collapse: collapse; width: 100%;  }\r
+#main_left_cell { width: 20%; vertical-align: top;margin: 0px; padding: 0px;}\r
+#main_right_cell { width: 80%; vertical-align: top; margin: 0px; padding:0px;}\r
+\r
+\r
+#content { min-height: 300px; }\r
+\r
+.canvas {  min-height: 300px; padding-left: 4px; -moz-border-radius: 6px;}\r
+#canvas_main { padding-bottom: 4px; }\r
+\r
+#loading_div { width: 100%;}\r
+\r
+\r
+\r
+.shadowed { background: #F0F0E0; }\r
+.no_copies { background: #E0E0E0; }\r
+.overdue_circ { border: 2px dashed #F0D0E0; }\r
+\r
+.org_tree { padding-left: 2px; padding-right: 2px; }            \r
+.org_link { padding-right: 15px; }\r
+#org_link_container { margin-bottom: 5px; padding-left: 4px; padding-bottom: 3px; padding-top: 3px; width: 100%; }\r
+#left_div { float:left; width: 20%; }\r
+#statusbar {}\r
+\r
+#frontsearch_table { }\r
+#frontsearch_table tr { margin: 6px; }\r
+\r
+/* ---------------------------------------------------------------------- */\r
+.sidebar_div { width: 100%; font-size: 9pt; margin-top: 12px; }\r
+.sidebar_header { margin-top: 10px; padding-left: 3px; margin-right: 6px; }\r
+\r
+.sidebar_extra_item { padding: 0px; margin-right: 8px;}\r
+.side_bar_item { padding-left: 8px; padding-right: 8px; padding-top: 4px; padding-bottom: 4px; margin-right: 8px; }\r
+\r
+.sidebar_item_active { margin-right: 0px; }\r
+\r
+.sidebar_chunk { width: 100%; }\r
+\r
+/* ---------------------------------------------------------------------- */\r
+\r
+#searchbar { margin-top: 22px; width: 100%; }\r
+#searchbar table tr td {font-weight: bold; font-size: 8pt; }\r
+#searchbar select, input { border-collapse: collapse; font-size: 9pt; }\r
+.searchbar_item { margin: 3px; font-size: 9pt; } \r
+.searchbar_label_span { font-size: 9pt; }\r
+#searchbar_table { border-collapse: collapse; }\r
+\r
+.search_box_container { width: 240px; padding: 3px; }/* border: 1px solid #A0A0A0;' class='color_2'>*/\r
+#search_box { width: 260px; }\r
+\r
+\r
+/* ---------------------------------------------------------------------- */\r
+#login_box { width: 70%; padding: 5px;}\r
+.login_text { margin-left: 8px; }\r
+\r
+/* ---------------------------------------------------------------------- */\r
+#result_table_div { text-align: left; width: 100%; }\r
+\r
+#search_nav_links { width: 100%; }\r
+#result_info_box { text-align: left; }\r
+#next_prev_links { padding-left: 2px; padding-right: 2px; text-align: left;}\r
+#goto_page_links { text-align: left; padding-left: 2px; padding-right: 2px;}\r
+\r
+#next_prev_links_dead {padding-left: 5px; padding-right: 5px;}\r
+\r
+#res_table { width: 100%; }\r
+\r
+.result_table_pic_cell { width: 43px;}\r
+.result_table_pic { height: 50px; width: 40px;  border: none;}\r
+.result_table_pic_header { width: 43px; }\r
+\r
+.result_table_row { text-align: left; width: 100%;}\r
+.result_table_subtable { width: 100%; border-collapse: collapse; vertical-align: top;}\r
+.result_table_subtbody { height: 100%; width: 100%; }\r
+.result_table_title_cell { text-align: left; }\r
+\r
+.copy_count_cell { width: 12%; vertical-align: middle; text-align: center; }\r
+.copy_count_div { width:  4em; height: 99%; vertical-align: middle; text-align: center; }\r
+\r
+.search_page_nav_link { margin-right: 5px; }\r
+\r
+.np_nav_link { margin-right: 5px; }\r
+\r
+/* ---------------------------------------------------------------------- */\r
+\r
+#rdetail_detail_main { width: 100%; }\r
+#rdetail_details_table { padding-top: 10px; width: 100%; padding: 30px; border-collapse: collapse;}\r
+.rdetail_header { padding: 3px; padding-left: 10px;}\r
+.rdetail_desc { padding: 2px; padding-left: 2px; padding-right: 2px;}\r
+.rdetail_item { width: 75%; padding-left: 10px; }\r
+#rdetail_image { padding-right: 10px; }\r
+#rdetail_copy_info_table { padding: 4px; width: 100%; border-collapse: collapse; }\r
+.rdetail_copy_info_header_cell { padding: 2px; }\r
+.rdetail_copy_count_cell { text-align: center; }\r
+\r
+\r
+.tor_pic { width: 17px; height: 17px; border: none;}\r
+\r
+.dim2_border { border: 1px solid #F06000; -moz-border-radius: 3px;}\r
+\r
+.dim2 { \r
+       filter:alpha(opacity=50); \r
+       -moz-opacity:0.5; \r
+       opacity: 0.5; \r
+       text-decoration: none; }\r
+\r
+.dim { \r
+       filter:alpha(opacity=10); \r
+       -moz-opacity:0.1; \r
+       opacity: 0.1; \r
+       text-decoration: none; }\r
+\r
+/* ---------------------------------------------------------------------- */\r
+\r
+.myopac_link { width: 12%; margin: 3px; padding: 3px; text-align: center; vertical-align: middle;  }\r
+.myopac_link_active { font-weight: 700;}\r
+.myopac_table thead tr td { padding: 2px; font-weight: 500; border: 1px solid #808080;}\r
+.myopac_table td { padding: 3px; }\r
+.myopac_form_pic { width: 20px; height: 20px; }\r
+\r
+.tips { padding: 2px; text-align: center; border: solid #E0E0E0 3px; -moz-border-radius: 3px; width: 99%; }\r
+\r
+.holds_cell { border: 1px solid #E0E0E0; padding: 5px; width: 50%;}\r
+.myopac_update_cell { border: 3px solid #E0E0E0; width:100%; padding-top: 4px; padding-bottom: 4px;}\r
+.myopac_update_span { padding: 5px;}\r
+\r
+.lowhits_div { width: 100%; border-top: 1px solid #E0E0E0; text-align: center; \r
+       padding-top: 8px; padding-bottom: 8px; }\r
+\r
+.rdetail_extras_div {\r
+       border-top: 3px solid #E0E0E0;margin-top: 3px; padding-top: 5px; width: 100%;}\r
+\r
+.copy_info_region_row {\r
+       padding: 6px;\r
+       border: 2px solid #E0E0E0;\r
+       font-weight: 600;\r
+}\r
+\r
+.rdetail_extras_td { padding-right: 15px; padding-left: 15px; border-right: 1px solid #888; }\r
+.rdetails_extra_links { border: 1px solid #808080; padding-right: 5px; padding-left: 5px; }\r
+\r
+\r
+.cn_browse_item { height: 190px; }\r
+.cn_browse_info { padding: 4px; border-bottom: 1px dashed #E0E0E0;}\r
+\r
+.bookshelf {\r
+        /*background-image: url(http://10.4.0.10/woodgrain.jpeg);*/\r
+        /*\r
+        background-image: url(http://dev.gapines.org/opac/images/woodgrain.jpg);\r
+        background-repeat: repeat;\r
+        */\r
+        border-bottom: 1px solid black;\r
+}\r
+\r
+.cn_browse_loading { width: 95%; padding: 15px; text-align: center; background: #E0F0E0; }\r
+\r
+.cn_browse_home_cn { border: 2px solid #E0F0E0; background: green; font-weight: 700;}\r
+\r
+.rdetail_context_row { background: #F0E0E0; }\r
+\r
+.unadorned_link { text-decoration: none; vertical-align: bottom; }\r
+\r
+\r
+/* ie does not support disabling <option> elements */\r
+.disabled_option { color: #808080; }\r
+\r
+.copy_more_info { padding-left: 6px; color: #804070; }\r
+\r
+.invalid_hold { background: #F0F0D0; }\r
+.myopac_summary_table td { padding : 3px; }\r
+\r
+.jacket_attrib { font-size: 7pt; }\r
+\r
+/* block that contains footer links and copyright */\r
+#copyright_block { \r
+    width: 100%; \r
+    text-align: center; \r
+    vertical-align: bottom; \r
+    margin-top: 10px;\r
+}\r
+\r
+/* block that contains the footer links */\r
+#footer_links {\r
+    width: 80%;\r
+    text-align: center;\r
+    padding: 10px;\r
+    margin: auto;\r
+}\r
+\r
+/* span for each link in the footer */\r
+.footer-link {\r
+    margin-left: 10px;\r
+    margin-right: 10px;\r
+}\r
+\r
+/* block that contains the copyright text */\r
+#copyright_text {\r
+    margin-top: 4px;\r
+}\r
+\r
+/* block that contains the logo */\r
+#footer_logo {\r
+    text-align: center;\r
+    margin: auto;\r
+}\r
+\r
+#opac.result.sort { margin-left: 5px; }\r
+\r
+#xul_recipient_me { margin-left: 25px; }\r
+#myopac_holds_thaw_date_form {padding: 10px; text-align: center;}\r
+#myopac_holds_freeze_select_thaw {margin-right: 100px; margin-left: 100px; }\r
+\r
+/* titles in result list */\r
+.result_table_title_cell .search_link {\r
+    font-weight: bold;\r
+}
\ No newline at end of file
diff --git a/web/opac/skin/uwin_old/js/adv_global.js b/web/opac/skin/uwin_old/js/adv_global.js
new file mode 100644 (file)
index 0000000..a8a0a14
--- /dev/null
@@ -0,0 +1,338 @@
+
+attachEvt("common", "run", advgInit);
+attachEvt("common", "locationChanged", advSyncCopyLocLink );
+
+var COOKIE_NOGROUP_RECORDS = 'grpt';
+var advSelectedOrg = null;
+
+function advgInit() {
+
+       /* XXX */
+       if( cookieManager.read(COOKIE_NOGROUP_RECORDS) || SHOW_MR_DEFAULT )
+               $('adv_group_titles').checked = true;
+
+       $n($('adv_global_tbody'), 'term').focus();
+
+       var extras = [ 
+               FETCH_LIT_FORMS, 
+               FETCH_ITEM_FORMS, 
+               FETCH_ITEM_TYPES, 
+               FETCH_AUDIENCES,
+               FETCH_BIB_LEVELS 
+    ];
+
+       for( var x in extras ) {
+
+               var req = new Request(extras[x]);
+
+               if(x == 0) req.request.sel = $('adv_global_lit_form');
+               if(x == 1) req.request.sel = $('adv_global_item_form');
+               if(x == 2) req.request.sel = $('adv_global_item_type');
+               if(x == 3) req.request.sel = $('adv_global_audience');
+               if(x == 4) req.request.sel = $('adv_global_bib_level');
+
+               req.callback(advDrawBibExtras);
+               req.send();
+       }
+
+       var input = $n($('adv_global_trow'), 'term');
+       input.focus();
+       setEnterFunc(input, advSubmitGlobal);
+
+    if(getSort() && getSortDir()) {
+           setSelector($('adv_global_sort_by'), getSort());
+           setSelector($('adv_global_sort_dir'), getSortDir());
+        if(getSort() != 'rel')
+            $('adv_global_sort_dir').disabled = false;
+    }
+
+    if(getAvail())
+        $('opac.result.limit2avail').checked = true;
+
+    // not sure we want to propogate the pubdate filter, 
+    // since other filters are not propogated
+    //advInitPubFilter();
+
+    if(!new CGI().param(PARAM_NOPERSIST_SEARCH))
+        initSearchBoxes();
+    advSyncCopyLocLink(getLocation());
+}
+
+function advInitPubFilter() {
+    var i1 = $('adv_global_pub_date_1');
+    var i2 = $('adv_global_pub_date_2');
+    var sel = $('adv_global_pub_date_type');
+    if(getPubdBefore()) {
+        i1.value = getPubdBefore();
+        setSelector(sel, 'before');
+    } else if(getPubdAfter()) {
+        i1.value = getPubdAfter();
+        setSelector(sel, 'after');
+    } else if(getPubdBetween()) {
+        var values = getPubdBetween().split(','); 
+        i1.value = values[0]
+        if(values[0] == values[1]) {
+            setSelector(sel, 'equals');
+        } else {
+            setSelector(sel, 'between');
+            i2.value = values[1];
+        }
+    }
+}
+
+function advSyncCopyLocLink(org) {
+    // display the option to filter by copy location
+    advLocationsLoaded = false;
+    advSelectedOrg = org;
+    removeChildren($('adv_copy_location_filter_select'));
+
+    if(isTrue(findOrgType(findOrgUnit(org).ou_type()).can_have_vols())) {
+        unHideMe($('adv_copy_location_filter_row'));
+        advLoadCopyLocations(org); 
+    } else {
+        hideMe($('adv_copy_location_filter_row'));
+    }
+
+}
+
+function clearSearchBoxes() {
+    var rows = $('adv_global_tbody').getElementsByTagName('tr');
+    for(var t = 0; t < rows.length; t++) {
+        if($n(rows[t], 'term')) {
+            $n(rows[t], 'term').value = '';
+            setSelector($n(rows[t], 'contains'), 'contains');
+            setSelector($n(rows[t], 'type'), 'keyword');
+        }
+    }
+    $n(rows[0], 'term').focus();
+}
+
+
+function initSearchBoxes() {
+    /* loads the compiled search from the search cookie 
+        and sets the widgets accordingly */
+
+    search = cookieManager.read(COOKIE_SEARCH);
+    if(!search) return;
+    _debug("loaded compiled search cookie: " + search);
+
+    search = JSON2js(search);
+    if(!search) return;
+
+    var types = getObjectKeys(search.searches);
+
+    /* pre-add the needed rows */
+    while($('adv_global_tbody').getElementsByTagName('tr').length - 1 < types.length)
+        advAddGblRow();
+
+    var rows = $('adv_global_tbody').getElementsByTagName('tr');
+
+    for(var t = 0; t < types.length; t++) {
+        var row = rows[t];
+        setSelector($n(row, 'type'), types[t]);
+        var term = search.searches[types[t]].term;
+
+        /* if this is a single -<term> search, set the selector to nocontains */
+        if(match = term.match(/^-(\w+)$/)) {
+            term = match[1];
+            setSelector($n(row, 'contains'), 'nocontains');
+        }
+        $n(row, 'term').value = term;
+    }
+}
+
+function advAddGblRow() {
+       var tbody = $("adv_global_tbody");
+       var newrow = $("adv_global_trow").cloneNode(true);
+       tbody.insertBefore(newrow, $("adv_global_addrow"));
+       var input = $n(newrow, "term");
+       input.value = "";
+       setEnterFunc(input, advSubmitGlobal);
+       $n(newrow, 'type').focus();
+}
+
+function advDrawBibExtras(r) {
+       var data = r.getResultObject();
+       var sel = r.sel;
+
+       data = data.sort( /* sort alphabetically */
+               function(a,b) { 
+                       if( a.value() < b.value() ) return -1;
+                       if( a.value() > b.value() ) return 1;
+                       return 0;
+               }
+       );
+
+       for( var d = 0; d < data.length; d++ ) {
+               var thing = data[d];
+               var opt = insertSelectorVal( sel, -1, thing.value(), thing.code() );
+               opt.setAttribute('title', thing.value());
+       }
+}
+
+function advSelToStringList(sel) {
+       var list = getSelectedList(sel);
+       var vals = [];
+       for( var i = 0; i < list.length; i++ ) {
+               var str = list[i];
+               for( var j = 0; j < str.length; j++ ) {
+                       //if(str.charAt(j) == ' ') continue;
+                       vals.push(str.charAt(j));
+               }
+       }
+       return vals.toString();
+}
+
+function advGetVisSelectorVals(id) {
+       var basic = id + '_basic';
+       if(! $(id).className.match(/hide_me/)) 
+               return advSelToStringList($(id));
+       return advSelToStringList($(basic));
+}
+
+function advSubmitGlobal() {
+       
+       var sortdir = getSelectorVal($('adv_global_sort_dir'));
+       var sortby  = getSelectorVal($('adv_global_sort_by'));
+
+       var litforms  = advGetVisSelectorVals('adv_global_lit_form');
+       var itemforms = advGetVisSelectorVals('adv_global_item_form');
+       var itemtypes = advGetVisSelectorVals('adv_global_item_type');
+       var audiences = advGetVisSelectorVals('adv_global_audience');
+       var biblevels = advGetVisSelectorVals('adv_global_bib_level');
+    var locations = getSelectedList($('adv_copy_location_filter_select')) + '';
+       var languages = getSelectedList($('adv_global_lang')) + '';     
+    var limit2avail = $('opac.result.limit2avail').checked ? 1 : ''
+
+       var searches = advBuildSearchBlob();
+       if(!searches) return;
+
+       clearSearchParams();
+
+       var args = {};
+       args.page = MRESULT;
+       args[PARAM_ITEMFORM] = itemforms;
+       args[PARAM_ITEMTYPE] = itemtypes;
+       args[PARAM_BIBLEVEL] = biblevels;
+       args[PARAM_LITFORM]     = litforms;
+       args[PARAM_AUDIENCE]    = audiences;
+       args[PARAM_LANGUAGE] = languages;
+       args[PARAM_COPYLOCS] = locations;
+       //args[PARAM_SEARCHES]  = js2JSON(searches); /* break these out */
+       args[PARAM_DEPTH]               = depthSelGetDepth();
+       args[PARAM_LOCATION]    = depthSelGetNewLoc();
+       args[PARAM_SORT]                = sortby;
+       args[PARAM_SORT_DIR]    = sortdir;
+       args[PARAM_ADVTYPE]     = ADVTYPE_MULTI;
+       args[PARAM_STYPE]               = "";
+       args[PARAM_TERM]                = searches;
+       args[PARAM_AVAIL]               = limit2avail;
+
+    // publicate year filtering
+    var pub1;
+    if( (pub1 = $('adv_global_pub_date_1').value) && (''+pub1).match(/\d{4}/)) {
+        switch(getSelectorVal($('adv_global_pub_date_type'))) {
+            case 'equals':
+                   args[PARAM_PUBD_BETWEEN] = pub1+','+pub1;
+                break;
+            case 'before':
+                   args[PARAM_PUBD_BEFORE] = pub1;
+                break;
+            case 'after':
+                   args[PARAM_PUBD_AFTER] = pub1;
+                break;
+            case 'between':
+                var pub2 = $('adv_global_pub_date_2').value;
+                if((''+pub2).match(/\d{4}/))
+                       args[PARAM_PUBD_BETWEEN] = pub1+','+pub2;
+                break;
+        }
+    }
+
+       /* pubdate sorting causes a record (not metarecord) search */
+       if( sortby == SORT_TYPE_PUBDATE || !$('adv_group_titles').checked ) {
+               args.page = RRESULT;
+               args[PARAM_RTYPE] = RTYPE_MULTI;
+       }
+
+       if($('adv_group_titles').checked ) 
+               cookieManager.write(COOKIE_NOGROUP_RECORDS,'1',-1);
+       else
+               cookieManager.write(COOKIE_NOGROUP_RECORDS,'');
+
+
+       goTo(buildOPACLink(args));
+}
+
+
+function advBuildSearchBlob() {
+
+       var searches = '';
+       var tbody    = $('adv_global_tbody');
+       var rows     = tbody.getElementsByTagName('tr');
+
+       for( var i = 0; i < rows.length; i++ ) {
+
+               var row = rows[i];
+               if(!(row && typeof row == 'object')) continue;
+               if(!row.getAttribute('type')) continue;
+               
+               var stype        = getSelectorVal($n(row, 'type'));
+               var contains = getSelectorVal($n(row, 'contains'));
+               var term                 = $n(row, 'term').value;
+               if(!term) continue;
+
+               var string = "";
+               switch(contains) {
+                       case 'contains' : 
+                               string += " " + term; 
+                               break;
+
+                       case 'nocontains' : {
+                               var words = term.split(" ");
+                                       for( var j in words ) 
+                                               string += " -" + words[j];
+                               }
+                               break;
+
+                       case 'exact' : 
+                               if(term.indexOf('"') > -1) string += " " + term;
+                               else string += " \"" + term + "\"";
+                               break;
+               }
+               if(string) {
+                       string = string.replace(/'/g,' ');
+                       string = string.replace(/\\/g,' ');
+            string = string.replace(/^\s*/,'');
+            string = string.replace(/\s*$/,'');
+                       //searches[stype].term = string;
+            if(searches) searches += ' ';
+            searches += stype + ':'+ string;
+               }
+       }
+
+    _debug("created search query " + searches);
+       return searches;
+}
+
+
+// retrieves the shelving locations
+var advLocationsLoaded = false;
+function advLoadCopyLocations(org) {
+    if(org == null) 
+        org = advSelectedOrg;
+    var req = new Request(FETCH_COPY_LOCATIONS, org);
+    req.callback(advShowCopyLocations);
+    req.send();
+    advLocationsLoaded = true;
+}
+
+// inserts the shelving locations into the multi-select
+function advShowCopyLocations(r) {
+    var locations = r.getResultObject();
+    var sel = $('adv_copy_location_filter_select');
+    for(var i = 0; i < locations.length; i++) 
+        insertSelectorVal(sel, -1, locations[i].name(), locations[i].id());
+}
+
+
diff --git a/web/opac/skin/uwin_old/js/advanced.js b/web/opac/skin/uwin_old/js/advanced.js
new file mode 100644 (file)
index 0000000..12728c1
--- /dev/null
@@ -0,0 +1,172 @@
+/* advanced search interface */
+
+attachEvt("common", "run", advInit);
+
+function advInit() { 
+
+       /* propogate these? */
+
+       depthSelInit(); 
+       setEnterFunc( $n( $('advanced.marc.tbody'), 'advanced.marc.value'), advMARCRun );
+
+       unHideMe($('adv_quick_search_sidebar'));
+
+       /*
+       if(isXUL()) 
+               setSelector($('adv_quick_type'), 'tcn'); */
+
+       setEnterFunc($('adv_quick_text'), advGenericSearch);
+
+       unHideMe($('adv_marc_search_sidebar'));
+}
+
+
+function advAddMARC() {
+       var newt = $('adv_sdbar_table').cloneNode(true);
+       newt.id = "";
+       unHideMe($n(newt, 'crow'));
+       $n(newt, 'advanced.marc.tag').value = "";
+       $n(newt, 'advanced.marc.subfield').value = "";
+       $n(newt, 'advanced.marc.value').value = "";
+       $('adv_marc_search_sidebar').insertBefore(newt, $('adv_marc_submit'));
+}
+
+function advMARCRun() {
+
+       clearSearchParams();
+
+       var div = $('adv_marc_search_sidebar');
+       var tbodies = div.getElementsByTagName('tbody');
+       var searches = [];
+
+       for( var i = 0; i < tbodies.length; i++ ) {
+               var tbody = tbodies[i];
+               var val = advExtractMARC(tbody);
+               if(val) searches.push(val);
+       }
+
+       if(searches.length == 0) return;
+
+       var arg = {};
+       arg.page = RRESULT;
+       arg[PARAM_FORM] = 'all'
+       arg[PARAM_RTYPE] = RTYPE_MARC;
+       arg[PARAM_OFFSET] = 0;
+       arg[PARAM_DEPTH]        = depthSelGetDepth();
+       arg[PARAM_LOCATION]     = depthSelGetNewLoc();
+       arg[PARAM_SEARCHES] = js2JSON(searches);
+       arg[PARAM_ADVTYPE] = ADVTYPE_MARC;
+       arg[PARAM_TERM] = "";
+
+       goTo(buildOPACLink(arg));
+}
+
+
+/* EXAMPLE => {"term":"0516011901","restrict":[{"tag":"020","subfield":"a"}]} */
+function advExtractMARC(tbody) {
+       if(!tbody) return null;
+       var term = $n(tbody, 'advanced.marc.value').value;
+       if(!term) return null;
+
+       var subfield = $n(tbody, 'advanced.marc.subfield').value;
+       if(!subfield) subfield = "_";
+
+       var tag = $n(tbody, 'advanced.marc.tag').value;
+       if(!tag) return null;
+
+       return { 'term' : term.toLowerCase(), 'restrict' :  [ { 'tag' : tag, 'subfield' : subfield } ] };
+}
+
+function advGenericSearch() {
+       clearSearchParams();
+       var type = getSelectorVal($('adv_quick_type'));
+       
+       var term = $('adv_quick_text').value;
+       if(!term) return;
+
+       var arg = {};
+
+       switch(type) {
+
+               case 'isbn' :
+                       arg.page                                        = RRESULT;
+                       arg[PARAM_STYPE]                = "";
+                       arg[PARAM_TERM]         = "";
+                       arg[PARAM_RTYPE]                = RTYPE_ISBN;
+                       arg[PARAM_OFFSET]               = 0;
+                       arg[PARAM_ADVTERM]      = term.toLowerCase();
+                       break;
+               
+               case 'issn' :
+                       arg.page                                        = RRESULT;
+                       arg[PARAM_STYPE]                = "";
+                       arg[PARAM_TERM]         = "";
+                       arg[PARAM_ADVTERM]      = term.toLowerCase();
+                       arg[PARAM_OFFSET]               = 0;
+                       arg[PARAM_RTYPE]                = RTYPE_ISSN;
+                       break;
+
+               case 'tcn' :
+                       arg.page                                        = RRESULT;
+                       arg[PARAM_STYPE]                = "";
+                       arg[PARAM_TERM]         = "";
+                       arg[PARAM_ADVTERM]      = term;
+                       arg[PARAM_OFFSET]               = 0;
+                       arg[PARAM_RTYPE]                = RTYPE_TCN;
+                       break;
+
+        case 'barcode':
+            advFindBarcode(term);
+            break;
+
+
+               case 'cn':
+                       arg.page                        = CNBROWSE;
+                       arg[PARAM_CN]   = term;
+                       arg[PARAM_DEPTH]                = depthSelGetDepth();
+                       arg[PARAM_LOCATION]     = depthSelGetNewLoc();
+                       break;
+
+               case 'lccn':
+                       arg.page = RRESULT;
+                       arg[PARAM_FORM] = 'all'
+                       arg[PARAM_RTYPE] = RTYPE_MARC;
+                       arg[PARAM_OFFSET] = 0;
+                       arg[PARAM_DEPTH]        = depthSelGetDepth();
+                       arg[PARAM_LOCATION]     = depthSelGetNewLoc();
+                       arg[PARAM_SEARCHES] = js2JSON([{ 'term' : term.toLowerCase(), 
+                                       'restrict' :  [ { 'tag' : '010', 'subfield' : '_' } ] }]);
+                       arg[PARAM_ADVTYPE] = ADVTYPE_MARC;
+                       arg[PARAM_TERM] = "";
+                       break;
+
+
+               default: alert('not done');
+       }
+
+       if(arg.page) goTo(buildOPACLink(arg));
+}
+
+
+function advFindBarcode(barcode) {
+    var req = new Request(FETCH_BIB_ID_BY_BARCODE, barcode);
+    req.callback(advDrawBarcode);
+    req.request.alertEvent = false;
+    req.send();
+}
+
+function advDrawBarcode(r) {
+    titleid = r.getResultObject();
+    if(checkILSEvent(titleid)) {
+        alertId('myopac.copy.not.found');
+        return;
+    }
+    if(!titleid) return;
+    var args = {};
+    args.page = RDETAIL;
+    args[PARAM_RID] = titleid;
+    location.href = buildOPACLink(args);
+}
+
+
+
diff --git a/web/opac/skin/uwin_old/js/cn_browse.js b/web/opac/skin/uwin_old/js/cn_browse.js
new file mode 100644 (file)
index 0000000..232e37d
--- /dev/null
@@ -0,0 +1,134 @@
+var cnOffset = 0;
+var cnCount = 9;
+var cnBrowseCN;
+var cnBrowseOrg;
+
+if( findCurrentPage() == CNBROWSE ) {
+       attachEvt("common", "run", cnBrowseLoadSearch);
+       attachEvt( "common", "locationUpdated", cnBrowseResubmit );
+       attachEvt( "common", "depthChanged", cnBrowseResubmit );
+}
+
+
+function cnBrowseLoadSearch() {
+       unHideMe($('cn_browse'));
+       cnBrowseGo(getCallnumber(), getLocation(), getDepth());
+}
+
+
+function cnBrowseResubmit() {
+       var args = {}
+       args[PARAM_CN] = cnBrowseCN;
+       args[PARAM_DEPTH] = depthSelGetDepth();
+       args[PARAM_LOCATION] = getNewSearchLocation();
+       goTo(buildOPACLink(args));
+}
+
+
+
+function cnBrowseGo(cn, org, depth) { 
+       if(depth == null) depth = getDepth();
+
+       org = findOrgUnit(org);
+       cnOffset = 0;
+
+       do {
+               var t = findOrgType(org.ou_type());
+               if( t.depth() > depth ) 
+                       org = findOrgUnit(org.parent_ou());
+               else break;
+       } while(true); 
+
+       cnBrowseOrg = org;
+       cnBrowseCN = cn;
+
+       _cnBrowseGo( cn, org );
+       appendClear($('cn_browse_where'), text(org.name()));
+}
+
+
+function _cnBrowseGo( cn, org ) {
+       var req = new Request( FETCH_CNBROWSE, cn, org.id(), cnCount, cnOffset );
+       req.callback( cnBrowseDraw );
+       req.send();
+}
+
+function cnBrowseNext() {
+       cnOffset++;
+       _cnBrowseGo( cnBrowseCN, cnBrowseOrg );
+}
+
+function cnBrowsePrev() {
+       cnOffset--;
+       _cnBrowseGo( cnBrowseCN, cnBrowseOrg );
+}
+
+
+function cnBrowseDraw( r ) {
+       var list = r.getResultObject();
+       _cnBrowseDraw(list);
+}
+
+
+var cnTbody;
+var cnRowT;
+var cnTdT;
+function _cnBrowseDraw( list ) {
+
+       if(!cnTbody) {
+               cnTbody = $('cn_tbody');
+               cnRowT = $('cn_browse_row');
+               cnTdT = cnRowT.removeChild($('cn_browse_td'));
+               cnTbody.removeChild(cnRowT);
+       }
+       removeChildren(cnTbody);
+
+       var counter = 1;
+       var currentRow = cnRowT.cloneNode(true);
+       cnTbody.appendChild(currentRow);
+
+       for( var idx in list ) {
+               
+
+               var currentTd = cnTdT.cloneNode(true);
+               currentRow.appendChild(currentTd);
+
+               var td = cnTdT.cloneNode(true);
+
+               var obj = list[idx];
+               var cn  = obj.cn;
+               var mods = obj.mods;
+
+               var cn_td                       = $n(currentTd, 'cn_browse_cn');
+               var lib_td                      = $n(currentTd, 'cn_browse_lib');
+               var title_td            = $n(currentTd, 'cn_browse_title');
+               var author_td           = $n(currentTd, 'cn_browse_author');
+               var pic_td                      = $n(currentTd, 'cn_browse_pic');
+
+               cn_td.appendChild(text(cn.label()));
+               lib_td.appendChild(text(findOrgUnit(cn.owning_lib()).name()));
+               cnBrowseDrawTitle(mods, title_td, author_td, pic_td);
+
+               if( counter++ % 3 == 0 ) {
+                       counter = 1;
+                       currentRow = cnRowT.cloneNode(true);
+                       cnTbody.appendChild(currentRow);
+               }
+       }
+}
+
+
+function cnBrowseDrawTitle(mods, title_td, author_td, pic_td) {
+
+       buildTitleDetailLink(mods, title_td); 
+       buildSearchLink(STYPE_AUTHOR, mods.author(), author_td);
+       pic_td.setAttribute("src", buildISBNSrc(cleanISBN(mods.isbn())));
+
+       var args = {};
+       args.page = RDETAIL;
+       args[PARAM_OFFSET] = 0;
+       args[PARAM_RID] = mods.doc_id();
+       args[PARAM_MRID] = 0;
+       pic_td.parentNode.setAttribute("href", buildOPACLink(args));
+}
+
diff --git a/web/opac/skin/uwin_old/js/container.js b/web/opac/skin/uwin_old/js/container.js
new file mode 100644 (file)
index 0000000..c898663
--- /dev/null
@@ -0,0 +1,67 @@
+
+function containerDoRequest( req, callback, args ) {
+
+       if( callback ) {
+               req.callback( callback );
+               req.request.args = args;
+               req.send();
+               return null;
+       }
+
+       req.send(true); 
+       return req.result();
+}
+
+
+function containerFetchAll( callback, args ) {
+       var req = new Request( 
+               FETCH_CONTAINERS, G.user.session, G.user.id(), 'biblio', 'bookbag' );
+       return containerDoRequest( req, callback, args );
+}
+
+function containerFlesh( id, callback, args ) {
+       var req = new Request( FLESH_CONTAINER, G.user.session, 'biblio', id );
+       return containerDoRequest( req, callback, args );
+}
+
+function containerDelete( id, callback, args ) {
+       var req = new Request( DELETE_CONTAINER, G.user.session, 'biblio', id );
+       return containerDoRequest(req, callback, args );
+}
+
+
+function containerCreate( name, pub, callback, args ) {
+
+       var container = new cbreb();
+       container.btype('bookbag');
+       container.owner( G.user.id() );
+       container.name( name );
+       if(pub) container.pub('t');
+       else container.pub('f');
+
+       var req = new Request( 
+               CREATE_CONTAINER, G.user.session, 'biblio', container );
+       return containerDoRequest( req, callback, args );
+}
+
+function containerUpdate( container, callback, args ) {
+       var req = new Request(UPDATE_CONTAINER, G.user.session, 'biblio', container);
+       return containerDoRequest(req, callback, args);
+}
+
+function containerCreateItem( containerId, target, callback, args ) {
+
+       var item = new cbrebi();
+       item.target_biblio_record_entry(target);
+       item.bucket(containerId);
+
+       var req = new Request( CREATE_CONTAINER_ITEM, 
+               G.user.session, 'biblio', item );
+
+       return containerDoRequest( req, callback, args );
+}
+
+function containerRemoveItem( id, callback, args ) {
+       var req = new Request( DELETE_CONTAINER_ITEM, G.user.session, 'biblio', id );
+       return containerDoRequest( req, callback, args );
+}
diff --git a/web/opac/skin/uwin_old/js/copy_details.js b/web/opac/skin/uwin_old/js/copy_details.js
new file mode 100644 (file)
index 0000000..762b13e
--- /dev/null
@@ -0,0 +1,352 @@
+var cpdTemplate;
+var cpdCounter = 0;
+var cpdNodes = {};
+
+function cpdBuild( contextTbody, contextRow, record, callnumber, orgid, depth, copy_location ) {
+var i = cpdCheckExisting(contextRow);
+       if(i) return i;
+
+       var counter = cpdCounter++;
+
+       /* yank out all of the template rows */
+       if(!cpdTemplate) cpdTemplate = $('rdetail_volume_details_row');
+       var templateRow = cpdTemplate.cloneNode(true);
+       templateRow.id = 'cpd_row_' + counter;
+
+       /* shove a dummy a tag in before the context previous sibling */
+       /*
+       contextTbody.insertBefore( 
+               elem('a',{name:'slot_'+templateRow.id}), contextRow.previousSibling);
+       goTo('#slot_'+templateRow.id);
+       */
+
+       if(isXUL()) {
+               /* unhide before we unhide/clone the parent */
+               unHideMe($n(templateRow, 'age_protect_label'));
+               unHideMe($n(templateRow, 'create_date_label'));
+               unHideMe($n(templateRow, 'holdable_label'));
+               unHideMe($n(templateRow, 'due_date_label'));
+       }
+
+       unHideMe(templateRow);
+
+       var print = $n(templateRow,'print');
+       print.onclick = function() { cpdBuildPrintPane(
+               contextRow, record, callnumber, orgid, depth) };
+
+       var mainTbody = $n(templateRow, 'copies_tbody');
+       var extrasRow = mainTbody.removeChild($n(mainTbody, 'copy_extras_row'));
+
+       var req = new Request(FETCH_COPIES_FROM_VOLUME, record.doc_id(), callnumber, orgid);
+       req.callback(cpdDrawCopies);
+
+       req.request.args = { 
+               contextTbody    : contextTbody, /* tbody that holds the contextrow */
+               contextRow              : contextRow, /* the row our new row will be inserted after */
+               record                  : record,
+               callnumber              : callnumber, 
+               orgid                           : orgid,
+               depth                           : depth,
+               templateRow             : templateRow, /* contains everything */
+               copy_location           : copy_location,
+               mainTbody               : mainTbody, /* holds the copy rows */
+               extrasRow               : extrasRow, /* wrapper row for all extras */
+               counter                 : counter
+       };
+
+       if( contextRow.nextSibling ) 
+               contextTbody.insertBefore( templateRow, contextRow.nextSibling );
+       else
+               contextTbody.appendChild( templateRow );
+
+       req.send();
+       _debug('creating new details row with id ' + templateRow.id);
+       cpdNodes[templateRow.id] = { templateRow : templateRow };
+       return templateRow.id;
+}
+
+
+function cpdBuildPrintWindow(record, orgid) {
+       var div = $('rdetail_print_details').cloneNode(true);
+       div.id = "";
+
+       $n(div, 'lib').appendChild(text(findOrgUnit(orgid).name()));
+       $n(div, 'title').appendChild(text(record.title()));
+       $n(div, 'author').appendChild(text(record.author()));
+       $n(div, 'edition').appendChild(text(record.edition()));
+       $n(div, 'pubdate').appendChild(text(record.pubdate()));
+       $n(div, 'publisher').appendChild(text(record.publisher()));
+       $n(div, 'phys').appendChild(text(record.physical_description()));
+
+       return div;
+}
+
+function cpdStylePopupWindow(div) {
+       var tds = div.getElementsByTagName('td');
+       for( var i = 0; i < tds.length ; i++ ) {
+               var td = tds[i];
+               var sty = td.getAttribute('style');
+               if(!sty) sty = "";
+               td.setAttribute('style', sty + 'padding: 2px; border: 1px solid #F0F0E0;');
+               if( td.className && td.className.match(/hide_me/) ) 
+                       td.parentNode.removeChild(td);
+       }
+}
+
+
+/* builds a friendly print window for this CNs data */
+function cpdBuildPrintPane(contextRow, record, callnumber, orgid, depth) {
+
+       var div = cpdBuildPrintWindow( record, orgid);
+
+       $n(div, 'cn').appendChild(text(callnumber));
+
+       unHideMe($n(div, 'copy_header'));
+
+       var subtbody = $n(contextRow.nextSibling, 'copies_tbody');
+       var rows = subtbody.getElementsByTagName('tr');
+
+       for( var r = 0; r < rows.length; r++ ) {
+               var row = rows[r];
+               if(!row) continue;
+               var name = row.getAttribute('name');
+               if( name.match(/extras_row/) ) continue; /* hide the copy notes, stat-cats */
+               var clone = row.cloneNode(true);
+               var links = clone.getElementsByTagName('a');
+               for( var i = 0; i < links.length; i++ ) 
+                       links[i].style.display = 'none';
+
+               $n(div, 'tbody').appendChild(clone);
+       }
+
+       cpdStylePopupWindow(div);
+       openWindow( div.innerHTML);
+}
+
+
+
+/* hide any open tables and if we've already 
+       fleshed this cn, just unhide it */
+function cpdCheckExisting( contextRow ) {
+
+       var existingid;
+       var next = contextRow.nextSibling;
+
+       if( next && next.getAttribute('templateRow') ) {
+               var obj = cpdNodes[next.id];
+               if(obj.templateRow.className.match(/hide_me/)) 
+                       unHideMe(obj.templateRow);
+               else hideMe(obj.templateRow);
+               existingid = next.id;
+       }
+
+       if(existingid) _debug('row exists with id ' + existingid);
+
+       for( var o in cpdNodes ) {
+               var node = cpdNodes[o];
+               if( existingid && o == existingid ) continue;
+               hideMe(node.templateRow);
+               removeCSSClass(node.templateRow.previousSibling, 'rdetail_context_row');
+       }
+
+       addCSSClass(contextRow, 'rdetail_context_row');
+       if(existingid) return existingid;
+       return null;
+}
+
+/*
+function cpdFetchCopies(r) {
+       var args = r.args;
+       args.cn = r.getResultObject();
+       var req = new Request(FETCH_COPIES_FROM_VOLUME, args.cn.id());
+       req.request.args = args;
+       req.callback(cpdDrawCopies);
+       req.send();
+}
+*/
+
+function cpdDrawCopies(r) {
+
+       var copies              = r.getResultObject();
+       var args                        = r.args;
+       var copytbody   = $n(args.templateRow, 'copies_tbody');
+       var copyrow             = copytbody.removeChild($n(copytbody, 'copies_row'));
+
+       if(isXUL()) {
+               /* unhide before we unhide/clone the parent */
+               unHideMe($n(copyrow, 'age_protect_value'));
+               unHideMe($n(copyrow, 'create_date_value'));
+               unHideMe($n(copyrow, 'copy_holdable_td'));
+               unHideMe($n(copyrow, 'copy_due_date_td'));
+       }
+
+       for( var i = 0; i < copies.length; i++ ) {
+               var row = copyrow.cloneNode(true);
+               var copyid = copies[i];
+               var req = new Request(FETCH_FLESHED_COPY, copies[i]);
+               req.callback(cpdDrawCopy);
+               req.request.args = r.args;
+               req.request.row = row;
+               req.send();
+               copytbody.appendChild(row);
+       }
+}
+
+function cpdDrawCopy(r) {
+       var copy = r.getResultObject();
+       var row  = r.row;
+
+    if (r.args.copy_location && copy.location().name() != r.args.copy_location) {
+        hideMe(row);
+        return;
+    }
+
+       $n(row, 'barcode').appendChild(text(copy.barcode()));
+       $n(row, 'location').appendChild(text(copy.location().name()));
+       $n(row, 'status').appendChild(text(copy.status().name()));
+
+       if(isXUL()) {
+               /* show the hold link */
+               var l = $n(row, 'copy_hold_link');
+               unHideMe(l);
+               l.onclick = function() {
+                       holdsDrawEditor( 
+                               { 
+                                       type                    : 'C',
+                                       copyObject      : copy,
+                                       onComplete      : function(){}
+                               }
+                       );
+               }
+
+               if( copy.age_protect() ) 
+                       appendClear($n(row, 'age_protect_value'), text(copy.age_protect().name()));
+
+               var cd = copy.create_date();
+               cd = cd.replace(/T.*/, '');
+               $n(row, 'create_date_value').appendChild(text(cd));
+
+               var yes = $('rdetail.yes').innerHTML;
+               var no = $('rdetail.no').innerHTML;
+
+               if( isTrue(copy.holdable()) &&
+                               isTrue(copy.location().holdable()) &&
+                               isTrue(copy.status().holdable()) ) {
+                       $n(row, 'copy_is_holdable').appendChild(text(yes));     
+               } else {
+                       $n(row, 'copy_is_holdable').appendChild(text(no));      
+               }
+
+               var circ;
+               if( copy.circulations() ) {
+                       circ = copy.circulations()[0];
+                       if( circ ) {
+                               $n(row, 'copy_due_date').appendChild(text(circ.due_date().replace(/[T ].*/,'')));
+                       }
+               }
+
+       }
+
+       r.args.copy = copy;
+       r.args.copyrow = row;
+       cpdShowNotes(copy, r.args)
+       cpdShowStats(copy, r.args);
+
+}
+
+function _cpdExtrasInit(args) {
+
+       var newrid      = 'extras_row_' + args.copy.barcode();
+       var newrow      = $(newrid);
+       if(!newrow) newrow = args.extrasRow.cloneNode(true);
+       var tbody       = $n(newrow, 'extras_tbody');
+       var rowt                = $n(tbody, 'extras_row');
+       newrow.id       = newrid;
+
+       var cr = args.copyrow;
+       var nr = cr.nextSibling;
+       var np = args.mainTbody;
+
+       /* insert the extras row into the main table */
+       if(nr) np.insertBefore( newrow, nr );
+       else np.appendChild(newrow);
+
+       var link = $n(args.copyrow, 'details_link');
+       var link2 = $n(args.copyrow, 'less_details_link');
+       var id = newrow.id;
+       link.id = id + '_morelink';
+       link2.id = id + '_lesslink';
+       unHideMe(link);
+       hideMe(link2);
+
+       link.setAttribute('href', 
+                       'javascript:unHideMe($("'+link2.id+'")); hideMe($("'+link.id+'"));unHideMe($("'+newrow.id+'"));');
+
+       link2.setAttribute('href', 
+                       'javascript:unHideMe($("'+link.id+'")); hideMe($("'+link2.id+'"));hideMe($("'+newrow.id+'"));');
+
+       return [ tbody, rowt ];
+}
+
+function cpdShowNotes(copy, args) {
+       var notes = copy.notes();
+       if(!notes || notes.length == 0) return;
+
+       var a = _cpdExtrasInit(args);
+       var tbody = a[0];
+       var rowt = a[1];
+
+       for( var n in notes ) {
+               var note = notes[n];
+               if(!isTrue(note.pub())) continue;
+               var row = rowt.cloneNode(true);
+               $n(row, 'key').appendChild(text(note.title()));
+               $n(row, 'value').appendChild(text(note.value()));
+               unHideMe($n(row, 'note'));
+               unHideMe(row);
+               tbody.appendChild(row);
+       }
+}
+
+
+function cpdShowStats(copy, args) {
+       var entries = copy.stat_cat_entry_copy_maps();
+       if(!entries || entries.length == 0) return;
+
+       var visibleStatCat = false;
+
+       /*
+               check all copy stat cats; if we find one that's OPAC visible,
+               set the flag and break the loop. If we've found one, or we're
+               in the staff client, build the table. if not, we return doing
+               nothing, as though the stat_cat_entry_copy_map was empty or null
+       */
+
+       for( var n in entries )
+       {
+                       var entry = entries[n];
+                       if(isTrue(entry.stat_cat().opac_visible()))
+                       {
+                               visibleStatCat = true;
+                               break;
+                       }
+       }
+
+       if(!(isXUL() || visibleStatCat)) return;
+
+       var a = _cpdExtrasInit(args);
+       var tbody = a[0];
+       var rowt = a[1];
+
+       for( var n in entries ) {
+               var entry = entries[n];
+               if(!(isXUL() || isTrue(entry.stat_cat().opac_visible()))) continue;
+               var row = rowt.cloneNode(true);
+               $n(row, 'key').appendChild(text(entry.stat_cat().name()));
+               $n(row, 'value').appendChild(text(entry.stat_cat_entry().value()));
+               unHideMe($n(row, 'cat'));
+               unHideMe(row);
+               tbody.appendChild(row);
+       }
+}
+
diff --git a/web/opac/skin/uwin_old/js/depth_selector.js b/web/opac/skin/uwin_old/js/depth_selector.js
new file mode 100644 (file)
index 0000000..1bd983e
--- /dev/null
@@ -0,0 +1,122 @@
+
+attachEvt( "common", "locationChanged", updateLoc );
+
+var _ds;
+var _libselspan;
+var _libselslink;
+var _dselspan;
+var _newlocation = null;
+
+function depthSelInit() {
+       _ds = $('depth_selector'); 
+       _ds.onchange = depthSelectorChanged;
+       _libselspan = $('lib_selector_span');
+       _libsellink = $('lib_selector_link');
+       _dselspan = $('depth_selector_span');
+
+       if( getLocation() == globalOrgTree.id() ) {
+               unHideMe( _libselspan );
+               _libsellink.onclick = _opacHandleLocationTagClick;
+       } else {
+               unHideMe( _dselspan );
+               buildLocationSelector();
+       }
+
+       setSelector(_ds,        getDepth());
+       _newlocation = getLocation();
+}
+
+
+var orgTreeIsBuilt = false;
+function _opacHandleLocationTagClick() {
+
+       swapCanvas(G.ui.common.org_container);
+
+       if(!orgTreeIsBuilt) {
+               drawOrgTree();
+               orgTreeIsBuilt = true;
+       }
+
+}
+
+function depthSelGetDepth() {
+       var depth = parseInt(_ds.options[_ds.selectedIndex].value);
+       if(isNaN(depth)) depth = 0;
+       return depth;
+}
+
+function depthSelectorChanged() {
+       var i = _ds.selectedIndex;
+       if( i == _ds.options.length - 1 ) {
+               setSelector( _ds, getDepth() );
+               _opacHandleLocationTagClick();
+       } else { 
+               /* this re-submits the search when they change the search range
+                       disabled for testing...
+                       */
+               /*runEvt('common', 'depthChanged');*/ 
+       }
+}
+
+var chooseAnotherNode;
+function buildLocationSelector(newLoc) {
+
+       var loc;
+       if(newLoc != null) loc = newLoc;
+       else loc = getLocation();
+
+       if( loc == globalOrgTree.id() ) return;
+
+       var selector = _ds;
+       if(!chooseAnotherNode) 
+               chooseAnotherNode = selector.removeChild(
+                       selector.getElementsByTagName("option")[0]);
+       var node = chooseAnotherNode;
+       removeChildren(selector);
+       
+       var location = findOrgUnit(loc);
+       var type;
+       if (location) type = findOrgType(location.ou_type());
+
+       while( type && location ) {
+               var n = node.cloneNode(true);   
+               n.setAttribute("value", type.depth());
+               removeChildren(n);
+               n.appendChild(text(type.opac_label()));
+               selector.appendChild(n);
+               location = findOrgUnit(location.parent_ou());
+               if(location) type = findOrgType(location.ou_type());
+               else type = null;
+       }
+
+       selector.appendChild(node);
+}
+
+function getNewSearchDepth() { return newSearchDepth; }
+function getNewSearchLocation() { return (isNull(_newlocation)) ? LOCATION : _newlocation; }
+function depthSelGetNewLoc() { return getNewSearchLocation(); }
+
+function updateLoc(location, depth) {
+       if( depth != null ) {
+               if(depth != 0 ){
+                       _libsellink.onclick = _opacHandleLocationTagClick;
+                       if( location == globalOrgTree.id() ) {
+                               hideMe( _dselspan );
+                               unHideMe( _libselspan );
+                       } else {
+                               buildLocationSelector(location);
+                               hideMe( _libselspan );
+                               unHideMe( _dselspan );
+                       }
+               }
+
+               setSelector(_ds, depth);
+               newSearchDepth = depth;
+       }
+
+       _newlocation = location;
+       runEvt('common','locationUpdated', location);
+}
+
+
+
diff --git a/web/opac/skin/uwin_old/js/holds.js b/web/opac/skin/uwin_old/js/holds.js
new file mode 100644 (file)
index 0000000..0a7370c
--- /dev/null
@@ -0,0 +1,892 @@
+var holdsOrgSelectorBuilt = false;
+var holdArgs;
+
+/* 
+note: metarecord holds have a holdable_formats field that contains
+item_type(s)-item_forms(s)-language
+item_form and language are optional - if language exist and no 
+item_form is specified, use item_type(s)--language
+*/
+
+var noEmailMessage;
+var noEmailMessageXUL;
+
+function holdsHandleStaff() {
+
+    // if we know the recipient's barcode, use it
+    if(xulG.patron_barcode) return _holdsHandleStaff();
+
+       swapCanvas($('xulholds_box'));
+       $('xul_recipient_barcode').focus();
+       $('xul_recipient_barcode').onkeypress = function(evt) 
+               {if(userPressedEnter(evt)) { _holdsHandleStaff(); } };
+       $('xul_recipient_barcode_submit').onclick = _holdsHandleStaff;
+       $('xul_recipient_me').onclick = _holdsHandleStaffMe;
+
+       $('xul_recipient_barcode').onkeyup = function(evt) {
+        if($('xul_recipient_barcode').value == '') 
+            $('xul_recipient_me').disabled = false;
+        else
+            $('xul_recipient_me').disabled = true;
+    };
+}
+
+$('holds_frozen_thaw_input').onchange = 
+        function(){holdsVerifyThawDateUI('holds_frozen_thaw_input');}
+$('holds_frozen_thaw_input').onkeyup = 
+        function(){holdsVerifyThawDateUI('holds_frozen_thaw_input');}
+
+function _holdsHandleStaffMe() {
+       holdArgs.recipient = G.user;
+       holdsDrawEditor();
+}
+
+function _holdsHandleStaff() {
+       var barcode = xulG.patron_barcode || $('xul_recipient_barcode').value;
+       var user = grabUserByBarcode( G.user.session, barcode );
+
+       var evt;
+       if(evt = checkILSEvent(user)) {
+               alertILSEvent(user);
+               return;
+       }
+
+       if(!barcode || !user) {
+               alertId('holds_invalid_recipient', barcode);
+               return
+       }
+
+       holdArgs.recipient = user;
+       holdsDrawEditor();
+}
+
+
+
+/** args:
+  * record, volume, copy (ids)
+  * request, recipient, editHold (objects)
+  */
+
+function holdsDrawEditor(args) {
+
+       holdArgs = (args) ? args : holdArgs;
+
+    if(!noEmailMessage)
+        noEmailMessage = $('holds_email').removeChild($('holds.no_email'));
+
+    if(!noEmailMessageXUL)
+        noEmailMessageXUL = $('holds_email').removeChild($('holds.no_email.xul'));
+
+       if(isXUL() && holdArgs.recipient == null 
+                       && holdArgs.editHold == null) {
+               holdsHandleStaff();
+               return;
+       }
+
+       if(!holdArgs.recipient) holdArgs.recipient = G.user;
+       if(!holdArgs.requestor) holdArgs.requestor = G.user;
+
+       if(!(holdArgs.requestor && holdArgs.requestor.session)) {
+               detachAllEvt('common','locationChanged');
+               attachEvt('common','loggedIn', holdsDrawEditor)
+               initLogin();
+               return;
+       }
+
+       if(holdArgs.editHold) // flesh the args with the existing hold 
+               holdArgsFromHold(holdArgs.editHold, holdArgs);
+
+       holdsDrawWindow();
+}
+
+
+// updates the edit window with the existing hold's data 
+function _holdsUpdateEditHold() {
+
+       var hold = holdArgs.editHold;
+       var qstats = holdArgs.status;
+
+       var orgsel = $('holds_org_selector');
+    var frozenbox = $('holds_frozen_chkbox');
+
+       setSelector(orgsel, hold.pickup_lib());
+
+       if( hold.capture_time() || qstats.status > 2 ) {
+        frozenbox.disabled = true;
+        $('holds_frozen_thaw_input').disabled = true;
+        if(qstats.status == 3) {
+            // no pickup lib changes while in-transit
+                   orgsel.disabled = true;
+        } else {
+            var orgs = fetchPermOrgs('UPDATE_PICKUP_LIB_FROM_HOLDS_SHELF');
+            if(orgs[0] == -1)
+                       orgsel.disabled = true;
+        }
+    } else {
+               orgsel.disabled = false;
+        frozenbox.disabled = false;
+    }
+
+
+       $('holds_submit').onclick = holdsEditHold;
+       $('holds_update').onclick = holdsEditHold;
+
+       if(hold.phone_notify()) {
+               $('holds_enable_phone').checked = true;
+               $('holds_phone').value = hold.phone_notify();
+
+       } else {
+               $('holds_phone').disabled = true;
+               $('holds_enable_phone').checked = false;
+       }
+
+       if(isTrue(hold.email_notify())) {
+               $('holds_enable_email').checked = true;
+
+       } else {
+               $('holds_enable_email').checked = false;
+       }
+
+    dijit.byId('holds_expire_time').setValue(dojo.date.stamp.fromISOString(hold.expire_time()));
+
+    /* populate the hold freezing info */
+    if(!frozenbox.disabled && isTrue(hold.frozen())) {
+        frozenbox.checked = true;
+        unHideMe($('hold_frozen_thaw_row'));
+        if(hold.thaw_date()) {
+            dijit.byId('holds_frozen_thaw_input').setValue(dojo.date.stamp.fromISOString(hold.thaw_date()));
+        } else {
+            dijit.byId('holds_frozen_thaw_input').setValue('');
+        }
+    } else {
+        frozenbox.checked = false;
+        dijit.byId('holds_frozen_thaw_input').setValue('');
+        hideMe($('hold_frozen_thaw_row'));
+    }
+}
+
+function holdsEditHold() {
+       var hold = holdsBuildHoldFromWindow();
+       if(!hold) return;
+       holdsUpdate(hold);
+       showCanvas();
+       if(holdArgs.onComplete)
+               holdArgs.onComplete(hold);
+}
+
+function holdArgsFromHold(hold, oargs) {
+       var args = (oargs) ? oargs : {};
+       args.type = hold.hold_type();
+       var target = hold.target();
+
+       switch(args.type) {
+               case 'M':
+                       args.metarecord = target;
+                       break;
+               case 'T':
+                       args.record = target;
+                       break;
+               case 'V':
+                       args.volume = target;
+                       break;
+               case 'C':
+                       args.copy = target;
+                       break;
+       }
+       return args;
+}
+
+function holdFetchObjects(hold, doneCallback) {
+
+       var args = (hold) ? holdArgsFromHold(hold) : holdArgs;
+
+       var type = args.type;
+
+       if( type == 'C' ) {
+
+               if( args.copyObject ) {
+
+                       args.copy = args.copyObject.id();
+                       args.volume = args.copyObject.call_number();
+                       _h_set_vol(args, doneCallback);
+
+               } else {
+                       var creq = new Request(FETCH_COPY, args.copy);
+
+                       creq.callback(
+                               function(r) {
+                                       var cp = r.getResultObject();
+                                       args.copyObject = cp;
+                                       args.volume = args.copyObject.call_number();
+                                       _h_set_vol(args, doneCallback);
+                               }
+                       );
+                       creq.send();
+               }
+       } else {
+               if( type == 'V' ) {
+                       _h_set_vol(args, doneCallback);
+
+               } else {
+                       if( type == 'T' ) {
+                               _h_set_rec(args, doneCallback);
+                       } else {
+                               _h_set_rec_descriptors(args, doneCallback);
+                       }
+               }
+       }
+
+       return args;
+}
+
+function _h_set_vol(args, doneCallback) {
+
+       if( args.volumeObject ) {
+               args.volume = args.volumeObject.id();
+               args.record = args.volumeObject.record();
+               _h_set_rec(args, doneCallback);
+
+       } else {
+
+               var vreq = new Request(FETCH_VOLUME, args.volume);
+               vreq.callback(
+                       function(r) {
+                               var vol = r.getResultObject();
+                               args.volumeObject = vol;
+                               args.record = vol.record();
+                               _h_set_rec(args, doneCallback);
+                       }
+               );
+               vreq.send();
+       }
+}
+
+function _h_set_rec(args, doneCallback) {
+
+       if(args.recordObject) 
+               args.record = args.recordObject.doc_id();
+       else 
+               args.recordObject = findRecord( args.record, 'T' );
+       
+       if( args.type == 'T' || args.type == 'M' ) 
+               _h_set_rec_descriptors(args, doneCallback);
+       else 
+               if(doneCallback) doneCallback(args);
+}
+
+
+function _h_set_rec_descriptors(args, doneCallback) {
+
+       // grab the list of record desciptors attached to this records metarecord 
+       if( ! args.recordDescriptors )  {
+               var params = { record: args.record };
+
+               if( ! args.record ) {
+                       if( args.metarecord )
+                               params = { metarecord : args.metarecord };
+                       else 
+                               params = { metarecord : args.metarecordObject.doc_id() };
+               }
+
+               var req = new Request(FETCH_MR_DESCRIPTORS, params );
+               req.callback(
+                       function(r) {
+                               var data = r.getResultObject();
+                               args.recordDescriptors = data.descriptors;
+                               args.metarecord = data.metarecord;
+                               if( args.type == 'M' && ! args.metarecordObject) 
+                                       args.metarecordObject = findRecord(args.metarecord, 'M');       
+                                
+                               if(doneCallback) doneCallback(args);
+                       }
+               );
+               req.send();
+
+       } else {
+               if(doneCallback) doneCallback(args);
+       }
+
+       return args;
+}
+
+
+
+function holdsDrawWindow() {
+       swapCanvas($('holds_box'));
+       $('holds_cancel').onclick = function(){ runEvt('common', 'holdUpdateCanceled'), showCanvas() };
+       $('holds_submit').onclick = function(){holdsPlaceHold(holdsBuildHoldFromWindow())};
+       $('holds_update').onclick = function(){holdsPlaceHold(holdsBuildHoldFromWindow())};
+       holdFetchObjects(null, 
+               function(){
+                       __holdsDrawWindow();
+
+                       if(holdArgs.editHold) {
+                               hideMe($('holds_submit'));
+                               unHideMe($('holds_update'));
+                               var req = new Request(FETCH_HOLD_STATUS, 
+                                       G.user.session, holdArgs.editHold.id());
+                               req.send(true);
+                               holdArgs.status = req.result();
+                               _holdsUpdateEditHold();
+                       }  
+               }
+       );
+}
+
+function __holdsDrawWindow() {
+
+       var rec = holdArgs.recordObject;
+       var vol = holdArgs.volumeObject;
+       var copy = holdArgs.copyObject;
+       var mr = holdArgs.metarecordObject;
+
+       rec = (rec) ? rec : mr;
+
+       if(!holdsOrgSelectorBuilt) {
+               holdsBuildOrgSelector(null,0);
+               holdsOrgSelectorBuilt = true;
+               var selector = $('holds_org_selector');
+
+               /*
+               var o_loc = findOrgUnit(getOrigLocation());
+               var t = findOrgType(o_loc.ou_type());
+               if( t.can_have_users() ) 
+                       setSelector(selector, o_loc.id());
+               else 
+               */
+
+               setSelector(selector, holdArgs.recipient.home_ou());
+       
+       }
+
+       /*
+       if(isXUL()) {
+               var dsel = $('holds_depth_selector');
+               unHideMe($('holds_depth_selector_row'));
+               if(dsel.getElementsByTagName('option').length == 0) {
+                       var types = globalOrgTypes;
+                       var depth = findOrgDepth(G.user.ws_ou());
+                       iterate(types, 
+                               function(t) {
+                                       if(t.depth() > depth) return;
+                                       insertSelectorVal(dsel, -1, t.opac_label(), t.depth());
+                               }
+                       );
+               }
+       }
+       */
+
+       appendClear($('holds_recipient'), text(
+               holdArgs.recipient.family_name() + ', ' +  
+                       holdArgs.recipient.first_given_name()));
+       appendClear($('holds_title'), text(rec.title()));
+       appendClear($('holds_author'), text(rec.author()));
+
+       if( holdArgs.type == 'V' || holdArgs.type == 'C' ) {
+
+               unHideMe($('holds_type_row'));
+               unHideMe($('holds_cn_row'));
+               appendClear($('holds_cn'), text(holdArgs.volumeObject.label()));
+
+               if( holdArgs.type == 'V'  ) {
+                       unHideMe($('holds_is_cn'));
+                       hideMe($('holds_is_copy'));
+
+               } else {
+                       hideMe($('holds_is_cn'));
+                       unHideMe($('holds_is_copy'));
+                       unHideMe($('holds_copy_row'));
+                       appendClear($('holds_copy'), text(holdArgs.copyObject.barcode()));
+               }
+
+       } else {
+               hideMe($('holds_type_row'));
+               hideMe($('holds_copy_row'));
+               hideMe($('holds_cn_row'));
+       }
+
+       removeChildren($('holds_format'));
+
+       var mods_formats = rec.types_of_resource();
+       var formats;
+
+       if(holdArgs.recordDescriptors)
+               formats = holdArgs.recordDescriptors[0].item_type();
+
+       if( holdArgs.type == 'T' ) {
+               var desc = grep( holdArgs.recordDescriptors,
+                       function(i) {
+                               return (i.record() == holdArgs.record); 
+                       }
+               );
+               formats = desc[0].item_type();
+       }
+
+       if( holdArgs.type == 'M' ) {
+               var data = holdsParseMRFormats(holdArgs.editHold.holdable_formats());
+               mods_formats = data.mods_formats;
+               formats = data.formats;
+       }
+
+
+       for( var i in mods_formats ) {
+               var res = mods_formats[i];
+               var img = elem("img");
+               setResourcePic(img, res);
+               $('holds_format').appendChild(img);
+               if(formats)
+                       $('holds_format').appendChild(text(' '+ MARCTypeToFriendly(formats[i]) +' '));
+               else
+                       $('holds_format').appendChild(text(' '+ mods_formats[i] +' '));
+               $('holds_format').appendChild(elem('br'));
+       }
+
+
+       $('holds_phone').value = holdArgs.recipient.day_phone();
+       appendClear( $('holds_email'), text(holdArgs.recipient.email()));
+
+       var pref = G.user.prefs[PREF_HOLD_NOTIFY];
+
+       if(pref) {
+               if( ! pref.match(/email/i) ) 
+                       $('holds_enable_email').checked = false;
+
+               if( ! pref.match(/phone/i) ) {
+                       $('holds_phone').disabled = true;
+                       $('holds_enable_phone').checked = false;
+               }
+       }
+
+    if(!holdArgs.recipient.email()) {
+               $('holds_enable_email').checked = false;        
+               $('holds_enable_email').disabled = true;
+        var message;
+        if(isXUL()) {
+            message = noEmailMessageXUL.cloneNode(true);
+               appendClear($('holds_email'), message);
+        } else {
+            message = noEmailMessage.cloneNode(true);
+               appendClear($('holds_email'), message);
+            $('holds.no_email.my_account').setAttribute('href', buildOPACLink({page:MYOPAC},null,true));
+        }
+        unHideMe(message);
+    }
+
+       if(!$('holds_phone').value) 
+               $('holds_enable_phone').checked = false;        
+
+       appendClear($('holds_physical_desc'), text(rec.physical_description()));
+
+       if(holdArgs.type == 'M') hideMe($('hold_physical_desc_row'));
+
+       holdsSetFormatSelector();
+
+    $('holds_frozen_chkbox').checked = false;
+    hideMe($('hold_frozen_thaw_row'));
+
+    var interval = fetchOrgSettingDefault(holdArgs.recipient.home_ou(), 'circ.hold_expire_interval');
+    var secs = 0;
+    if(interval) {
+        secs = interval_to_seconds(interval);
+        var expire = new Date();
+        expire.setTime(expire.getTime() + Number(secs + '000'));
+        dijit.byId('holds_expire_time').setValue(expire);
+    }
+}
+
+function holdsParseMRFormats(str) {
+       var data = str.split(/-/);      
+
+       var formats = [];
+       var mods_formats = [];
+
+       for( var i = 0; i < data[0].length; i++ ) {
+               formats.push( data[0].charAt(i) );
+               mods_formats.push( MARCFormatToMods( formats[i] ) );
+       }
+       
+       formats = uniquify(formats);
+       mods_formats = uniquify(mods_formats);
+
+       return {
+               formats                 : formats,
+               mods_formats    : mods_formats,
+               lang                            : data[2],
+               largeprint              : data[1]
+       };
+}
+
+
+function holdsSetFormatSelector() {
+       var type = holdArgs.type;
+       if( type == 'C' || type == 'V' || holdArgs.editHold ) return;
+
+       var data                                = holdsGetFormats();
+       var avail_formats       = data.avail_formats;
+       var sel_formats = data.sel_formats;
+       holdArgs.language = data.lang;
+
+       unHideMe($('holds_alt_formats_row_extras'));
+       var selector = $('hold_alt_form_selector');
+
+       for( var i = 0; i < avail_formats.length; i++ ) {
+               var form = avail_formats[i];
+               unHideMe(findSelectorOptByValue(selector, form));
+       }
+}
+
+
+function holdsGetFormats() {
+
+       var lang;
+       var formats = [];
+       var sformats = []; // selected formats 
+
+       var type = holdArgs.type;
+       var desc = holdArgs.recordDescriptors;
+       var rec = holdArgs.record;
+       var mrec = holdArgs.metarecord;
+
+       if( type == 'T' ) {
+
+               for( var i = 0; i < desc.length; i++ ) {
+                       var d = desc[i];
+                       if( d.record() == holdArgs.record ) {
+                               lang = d.item_lang();
+                               holdArgs.myFormat =  _t_f_2_format(d.item_type(), d.item_form());
+                               sformats.push(holdArgs.myFormat);
+                               break;
+                       }
+               }
+       }
+
+       for( var i = 0; i < desc.length; i++ ) {
+               var d = desc[i];
+               if( d.item_lang() != lang ) continue;
+               formats.push( _t_f_2_format(d.item_type(), d.item_form()));
+       }
+
+       formats = uniquify(formats);
+
+       return {
+               lang : lang,
+               avail_formats : formats, 
+               sel_formats : sformats
+       };
+}
+
+
+
+function _t_f_2_format(type, form) {
+       if( form == 'd' ) return 'at-d';
+       return (type == 'a' || type == 't') ? 'at' : 
+               ( type == 'i' || type == 'g' || type == 'j' ) ? type : null;
+}
+
+function holdsSetSelectedFormats() {
+
+       var cn = $('holds_alt_formats_row').className;
+       if( cn && cn.match(/hide_me/) ) return;
+
+       var selector = $('hold_alt_form_selector');
+       var vals = getSelectedList(selector);
+
+       if(vals.length == 0) return;
+
+       var fstring = "";
+
+       if( contains(vals, 'at-d') ) {
+               if( contains(vals, 'at') )
+                       fstring = 'at';
+               else 
+                       fstring = 'at-d';
+       } else {
+               if( contains(vals, 'at') )
+                       fstring = 'at';
+       }
+
+       for( var i = 0; i < vals.length; i++ ) {
+               var val = vals[i];
+               if( !val.match(/at/) ) fstring = val + fstring;
+       }
+
+       if( holdArgs.language ) {
+               if( fstring.match(/-/) )
+                       fstring = fstring + '-' + holdArgs.language;
+               else
+                       fstring = fstring + '--' + holdArgs.language;
+       }
+
+
+       return fstring;
+}
+
+
+function holdsCheckPossibility(pickuplib, hold, recurse) {
+
+       var args = { 
+               titleid : holdArgs.record,
+               volume_id : holdArgs.volume,
+               copy_id : holdArgs.copy,
+               hold_type : holdArgs.type,
+               patronid : holdArgs.recipient.id(),
+               depth : 0, 
+               pickup_lib : pickuplib 
+       };
+
+       if(recurse) {
+               /* if we're calling create again (recursing), 
+                       we know that the hold possibility check already succeeded */
+               holdHandleCreateResponse({_recurse:true, _hold:hold}, true );
+
+       } else {
+               _debug("hold possible args = "+js2JSON(args));
+       
+               var req = new Request(CHECK_HOLD_POSSIBLE, G.user.session, args );
+       
+               req.request.alertEvent = false;
+               req.request._hold = hold;
+               req.request._recurse = recurse;
+               req.callback(holdHandleCreateResponse);
+               req.send();
+       }
+}
+
+
+function holdsBuildOrgSelector(node) {
+
+       if(!node) node = globalOrgTree;
+    if(!isTrue(node.opac_visible())) return;
+
+       var selector = $('holds_org_selector');
+       var index = selector.options.length;
+
+       var type = findOrgType(node.ou_type());
+       var indent = type.depth() - 1;
+       var opt = setSelectorVal( selector, index, node.name(), node.id(), null, indent );
+       if(!type.can_have_users()) {
+               opt.disabled = true;
+               addCSSClass(opt, 'disabled_option');
+       }
+       
+       for( var i in node.children() ) {
+               var child = node.children()[i];
+               if(child) holdsBuildOrgSelector(child);
+       }
+}
+
+function holdsBuildHoldFromWindow() {
+
+       var org = getSelectorVal($('holds_org_selector'));
+       var node = findOrgUnit(org);
+       var ntype = findOrgType(node.ou_type());
+       if(!ntype.can_have_users()) {
+               alertId('holds_pick_good_org');
+               return;
+       }
+
+       var hold = new ahr();
+       if(holdArgs.editHold) {
+               hold = holdArgs.editHold;
+               holdArgs.editHold = null;
+       }
+
+       if( $('holds_enable_phone').checked ) {
+               var phone = $('holds_phone').value;
+               if( !phone || !phone.match(REGEX_PHONE) ) {
+                       alert($('holds_bad_phone').innerHTML);
+                       return null;
+               }
+               hold.phone_notify(phone);
+
+       } else {
+               hold.phone_notify("");
+       }
+
+       if( $('holds_enable_email').checked ) 
+               hold.email_notify(1);
+       else
+               hold.email_notify(0);
+
+       var target;
+
+       switch(holdArgs.type) {
+               case 'M':
+                       target = holdArgs.metarecord; break;
+               case 'T':
+                       target = holdArgs.record; break;
+               case 'V':
+                       target = holdArgs.volume; break;
+               case 'C':
+                       target = holdArgs.copy; break;
+       }
+
+
+
+       hold.pickup_lib(org); 
+       //hold.request_lib(org); 
+       hold.requestor(holdArgs.requestor.id());
+       hold.usr(holdArgs.recipient.id());
+       hold.target(target);
+       hold.hold_type(holdArgs.type);
+
+    var expDate = dijit.byId('holds_expire_time').getValue();
+    if(expDate) {
+        var expireDate = dojo.date.stamp.toISOString(expDate);
+        expireDate = holdsVerifyThawDate(expireDate); 
+        if(expireDate)
+            hold.expire_time(expireDate);
+        else 
+            return;
+    }
+
+    // see if this hold should be frozen and for how long
+    if($('holds_frozen_chkbox').checked) {
+        hold.frozen('t');
+        unHideMe($('hold_frozen_thaw_row'));
+        thawDate = dojo.date.stamp.toISOString(dijit.byId('holds_frozen_thaw_input').getValue());
+        if(thawDate) {
+            thawDate = holdsVerifyThawDate(thawDate); 
+            if(thawDate) 
+                hold.thaw_date(thawDate);
+            else
+                return;
+        } else {
+            hold.thaw_date(null);
+        }
+    } else {
+        hold.frozen('f');
+        hold.thaw_date(null);
+    }
+
+       //check for alternate hold formats 
+       var fstring = holdsSetSelectedFormats();
+       if(fstring) { 
+               hold.hold_type('M'); 
+               hold.holdable_formats(fstring);
+               hold.target(holdArgs.metarecord);
+       }
+       return hold;
+}
+       
+function holdsPlaceHold(hold, recurse) {
+       if(!hold) return;
+       swapCanvas($('check_holds_box'));
+       holdsCheckPossibility(hold.pickup_lib(), hold, recurse);
+}
+
+
+function holdHandleCreateResponse(r, recurse) {
+
+       if(!recurse) {
+               var res = r.getResultObject();
+               if(checkILSEvent(res) || res.success != 1) {
+                       if(res.success != 1) {
+                               alert($('hold_not_allowed').innerHTML);
+                       } else {
+                               if( res.textcode == 'PATRON_BARRED' ) {
+                                       alertId('hold_failed_patron_barred');
+                       } else {
+                                       alert($('hold_not_allowed').innerHTML);
+                               }
+                       }
+                       swapCanvas($('holds_box'));
+                       return;
+               }
+        r._hold.selection_depth(res.depth);
+       }       
+
+       holdCreateHold(r._recurse, r._hold);
+}
+
+
+function holdCreateHold( recurse, hold ) {
+       var method = CREATE_HOLD;
+       if(recurse) method = CREATE_HOLD_OVERRIDE;
+       var req = new Request( method, holdArgs.requestor.session, hold );
+       req.request.alertEvent = false;
+       req.send(true);
+       var res = req.result();
+       holdProcessResult(hold, res, recurse);
+       
+       showCanvas();
+
+       runEvt('common', 'holdUpdated');
+}
+
+
+function holdProcessResult( hold, res, recurse ) {
+
+       if( res == '1' ) {
+               alert($('holds_success').innerHTML);
+               holdArgs = null;
+
+       } else {
+
+               if( recurse ) {
+                       alert($('holds_failure').innerHTML);
+                       return;
+               }
+
+               if( grep(res, function(e) { return (e.textcode == 'HOLD_EXISTS'); }) ) {
+                       if( fetchPermOrgs('HOLD_EXISTS.override')[0] != -1 ) {
+                               if( confirm($('hold_dup_exists_override').innerHTML) ) {
+                                       return holdsPlaceHold(hold, true);
+                               }
+
+                       } else {
+                               return alert($('hold_dup_exists').innerHTML);
+                       }
+               }
+
+               alert($('holds_failure').innerHTML);
+       }
+}
+
+
+function holdsCancel(holdid, user) {
+       if(!user) user = G.user;
+       var req = new Request(CANCEL_HOLD, user.session, holdid, /* Patron via OPAC */ 6);
+       req.send(true);
+       return req.result();
+       runEvt('common', 'holdUpdated');
+}
+
+function holdsUpdate(hold, user) {
+       if(!user) user = G.user;
+       var req = new Request(UPDATE_HOLD, user.session, hold);
+       req.send(true);
+       var x = req.result(); // cause an exception if there is one 
+       runEvt('common', 'holdUpdated');
+}
+
+/* verify that the thaw date is valid and after today */
+function holdsVerifyThawDate(dateString, isGreater) {
+    thawDate = dojo.date.stamp.fromISOString(dateString);
+    if(thawDate) {
+        if(isGreater) {
+            if(dojo.date.compare(thawDate) > 0) {
+                return dojo.date.stamp.toISOString(thawDate);
+            }
+        } else {
+            return dojo.date.stamp.toISOString(thawDate);
+        }
+    }
+    return null;
+}
+
+function holdsVerifyThawDateUI(element) {
+    value = dojo.date.stamp.toISOString(dijit.byId(element).getValue());
+
+    if(!value) {
+        removeCSSClass($(element), 'invalid_field');
+        return;
+    }
+
+    if(!holdsVerifyThawDate(value, true)) {
+        addCSSClass($(element), 'invalid_field');
+    } else {
+        removeCSSClass($(element), 'invalid_field');
+    }
+}
+
diff --git a/web/opac/skin/uwin_old/js/mresult.js b/web/opac/skin/uwin_old/js/mresult.js
new file mode 100644 (file)
index 0000000..5185052
--- /dev/null
@@ -0,0 +1,121 @@
+//var records = {};
+var records = [];
+var ranks = [];
+var onlyrecord = {};
+var table;
+var mresultPreCache = 200;
+var searchTimer;
+
+attachEvt("common", "unload", mresultUnload);
+attachEvt("common", "run", mresultDoSearch);
+attachEvt("result", "idsReceived", mresultSetRecords); 
+attachEvt("result", "idsReceived", mresultCollectRecords); 
+
+function mresultUnload() { removeChildren(table); table = null;}
+
+hideMe($('copyright_block')); 
+
+function mresultDoSearch() {
+
+
+       TFORM = null; /* clear the rresult tform var so it's not propogated */
+
+       swapCanvas($('loading_alt'));
+       table = G.ui.result.main_table;
+
+       while( table.parentNode.rows.length <= (getDisplayCount() + 1) )  
+               table.appendChild(G.ui.result.row_template.cloneNode(true));
+
+       if( (getSearches() || getAdvTerm()) && !getTerm() ) {
+               if(getAdvType() == ADVTYPE_MULTI ) mresultCollectAdvIds();
+
+       } else {
+               _mresultCollectIds(); 
+               ADVTERM = "";
+               ADVTYPE = "";
+       }
+}
+
+function _mresultCollectIds() { 
+       resultCollectSearchIds(true, SEARCH_MRS_QUERY, mresultHandleMRIds ); 
+}
+
+function mresultCollectAdvIds() { 
+       resultCollectSearchIds(false, SEARCH_MRS_QUERY, mresultHandleMRIds ); 
+}
+
+
+function mresultHandleMRIds(r) {
+       var res = r.getResultObject();
+    resultCompiledSearch = res.compiled_search;
+    cookieManager.write(COOKIE_SEARCH, js2JSON(res.compiled_search), -1);
+       if(res.count != null) {
+               if( getOffset() == 0 ) HITCOUNT = res.count;
+               runEvt('result', 'hitCountReceived');
+       } 
+       runEvt('result', 'idsReceived', res.ids);
+}
+
+
+
+function mresultSetRecords(idstruct) {
+       if(!idstruct) return;
+       var o = getOffset();
+       for( var x = o; x < idstruct.length + o; x++ ) {
+               if( idstruct[x-o] != null ) {
+                       var r = parseInt(idstruct[x - o][0]);
+                       var ra = parseFloat(idstruct[x - o][1]);
+                       var or = parseInt(idstruct[x - o][2]);
+                       if(!isNull(r) && !isNaN(r)) records[x] = r;
+                       if(!isNull(ra) && !isNaN(ra)) ranks[x] = ra;
+                       if(!isNull(or) && !isNaN(or)) onlyrecord[x] = or;
+               }
+       }
+
+       TOPRANK = ranks[getOffset()];
+}
+
+
+
+function mresultCollectRecords() {
+       if(getHitCount() > 0 ) runEvt("result", "preCollectRecords");
+       var i = 0;
+       for( var x = getOffset(); x!= getDisplayCount() + getOffset(); x++ ) {
+               if(isNull(records[x])) break;
+               if(isNaN(records[x])) continue;
+               var req = new Request(FETCH_MRMODS, records[x]);
+
+               req.request.userdata = i++;
+
+               /* wait at most 10 seconds for the mods rec to come back */
+               /* this needs more testing  */
+               req.request.timeout(10); 
+               req.request.abortCallback(
+                       function(){
+                               recordsHandled++;
+                               if(resultPageIsDone()) {
+                                       runEvt('result', 'allRecordsReceived', recordsCache);
+                                       unHideMe($('copyright_block'));
+                               }
+                       }
+               );
+
+               req.callback(mresultHandleMods);
+               req.send();
+       }
+}
+
+function mresultHandleMods(r) {
+       var rec = r.getResultObject();
+       var pagePosition = r.userdata;
+       runEvt('result', 'recordReceived', rec, pagePosition, true);
+       if(rec) resultCollectCopyCounts(rec, pagePosition, FETCH_MR_COPY_COUNTS);
+       if(resultPageIsDone()) {
+               runEvt('result', 'allRecordsReceived', recordsCache);
+               unHideMe($('copyright_block')); /* *** */
+       }
+}
+
+
+
+
diff --git a/web/opac/skin/uwin_old/js/myopac.js b/web/opac/skin/uwin_old/js/myopac.js
new file mode 100644 (file)
index 0000000..cd1cdae
--- /dev/null
@@ -0,0 +1,1715 @@
+\r
+attachEvt("common", "run", myOPACInit );\r
+//attachEvt("common", "loggedIn", myOPACInit );\r
+attachEvt('common','locationUpdated', myopacReload );\r
+\r
+var fleshedUser = null;\r
+var fleshedContainers = {};\r
+var holdCache = {};\r
+var holdStatusCache = {};\r
+var allowPendingAddr = false;\r
+\r
+function clearNodes( node, keepArray ) {\r
+       if(!node) return;\r
+       for( var n in keepArray ) node.removeChild(keepArray[n]);\r
+       removeChildren(node);\r
+       for( var n in keepArray ) node.appendChild(keepArray[n]);\r
+}\r
+\r
+function myOPACInit() {\r
+\r
+       if(!(G.user && G.user.session)) {\r
+        initLogin();\r
+\r
+    } else {\r
+\r
+        allowPendingAddr = fetchOrgSettingDefault(G.user.home_ou(), 'opac.allow_pending_address');\r
+        if(allowPendingAddr)\r
+            unHideMe($('myopac_pending_addr_td'));\r
+           myOPACChangePage( "summary" );\r
+    }\r
+\r
+    $('myopac_holds_thaw_date_input').onkeyup = \r
+        function(){holdsVerifyThawDateUI('myopac_holds_thaw_date_input'); }\r
+    $('myopac_holds_thaw_date_input').onchange = \r
+        function(){holdsVerifyThawDateUI('myopac_holds_thaw_date_input'); }\r
+\r
+}\r
+\r
+function myopacReload() {\r
+       //swapCanvas($('myopac_reloading'));\r
+       var a = {};\r
+       a[PARAM_LOCATION] = getNewSearchLocation();\r
+       a[PARAM_DEPTH] = getNewSearchDepth();\r
+       hideMe($('canvas_main'));\r
+       goTo(buildOPACLink(a, true));\r
+}\r
+\r
+\r
+function myOPACChangePage( page ) {\r
+       showCanvas();\r
+\r
+       var s = $("myopac_summary_td");\r
+       var c = $("myopac_checked_td");\r
+       var f = $("myopac_fines_td");\r
+       var h = $("myopac_holds_td");\r
+       var p = $("myopac_prefs_td");\r
+       var b = $('myopac_bookbag_td');\r
+\r
+       var ss = $("myopac_summary_div");\r
+       var cc = $("myopac_checked_div");\r
+       var ff = $("myopac_fines_div");\r
+       var hh = $("myopac_holds_div");\r
+       var pp = $("myopac_prefs_div");\r
+       var bb = $('myopac_bookbag_div');\r
+\r
+       var cls = "myopac_link";\r
+       var acls = "myopac_link_active";\r
+\r
+       hideMe(ss);\r
+       hideMe(cc); hideMe(ff);\r
+       hideMe(hh); hideMe(pp);\r
+       hideMe(bb);\r
+\r
+       removeCSSClass(s, acls );\r
+       removeCSSClass(c, acls );\r
+       removeCSSClass(f, acls );\r
+       removeCSSClass(h, acls );\r
+       removeCSSClass(p, acls );\r
+       removeCSSClass(b, acls );\r
+\r
+       switch( page ) {\r
+\r
+               case "summary": \r
+                       unHideMe(ss);\r
+                       addCSSClass(s, acls );\r
+                       myOPACShowSummary();\r
+                       break;\r
+\r
+               case "checked": \r
+                       unHideMe(cc);\r
+                       addCSSClass(c, acls );\r
+                       myOPACShowChecked();\r
+                       break;\r
+\r
+               case "holds": \r
+                       unHideMe(hh);\r
+                       addCSSClass(h, acls );\r
+                       myOPACShowHolds();\r
+                       break;\r
+\r
+               case "fines": \r
+                       unHideMe(ff);\r
+                       addCSSClass(f, acls );\r
+                       myOPACShowFines();\r
+                       break;\r
+\r
+               case "prefs": \r
+                       unHideMe(pp);\r
+                       addCSSClass(p, acls );\r
+                       myOPACShowPrefs();\r
+                       break;\r
+\r
+               case 'bookbag':\r
+                       unHideMe(bb);\r
+                       addCSSClass(b, acls);\r
+                       myOPACShowBookbags();\r
+                       break;\r
+       }\r
+}\r
+\r
+function myOPACShowChecked() {\r
+       if(checkedDrawn) return;\r
+       var req = new Request(FETCH_CHECKED_OUT_SUM, G.user.session, G.user.id());      \r
+       req.callback(myOPACDrawCheckedOutSlim);\r
+       req.send();\r
+\r
+       var nreq = new Request(FETCH_NON_CAT_CIRCS, G.user.session);\r
+       nreq.callback(myOPACDrawNonCatCircs);\r
+       nreq.send();\r
+}\r
+\r
+\r
+var checkedRowTemplate;\r
+var circsCache = new Array();\r
+var checkedDrawn = false;\r
+\r
+function moClearCheckedTable() {\r
+       var tbody                       = $("myopac_checked_tbody");\r
+       var loading                     = $("myopac_checked_loading");\r
+       var none                                = $("myopac_checked_none");\r
+       clearNodes( tbody, [ loading, none ] );\r
+}\r
+\r
+var __can_renew_one = false;\r
+\r
+function myOPACDrawCheckedOutSlim(r) {\r
+\r
+       var checked                     = r.getResultObject();\r
+       var tbody                       = $("myopac_checked_tbody");\r
+       var loading                     = $("myopac_checked_loading");\r
+       var none                                = $("myopac_checked_none");\r
+\r
+   __can_renew_one = false;\r
+\r
+       if(checkedDrawn) return;\r
+       checkedDrawn = true;\r
+       if(!checkedRowTemplate) \r
+               checkedRowTemplate = tbody.removeChild($("myopac_checked_row"));\r
+\r
+   moClearCheckedTable();\r
+\r
+       hideMe(loading); /* remove all children and start over */\r
+       if(!(checked && (checked.out || checked.overdue))) {\r
+               unHideMe(none);\r
+               return;\r
+       }\r
+\r
+       for( var i = 0; i < checked.overdue.length; i++ ) {\r
+               var req = new Request(FETCH_CIRC_BY_ID, G.user.session, checked.overdue[i]);\r
+               req.request.tbody = tbody;\r
+               req.request.od = true;\r
+               req.callback(myOPACDrawCheckedItem);\r
+               req.send();\r
+       }\r
+\r
+\r
+       for( var i = 0; i < checked.out.length; i++ ) {\r
+               var req = new Request(FETCH_CIRC_BY_ID, G.user.session, checked.out[i]);\r
+               req.request.tbody = tbody;\r
+               req.callback(myOPACDrawCheckedItem);\r
+               req.send();\r
+       }\r
+\r
+   appendClear($('mo_items_out_count'), \r
+      text(new String( parseInt(checked.overdue.length) + parseInt(checked.out.length) )) );\r
+\r
+   if( checked.overdue.length > 0 ) {\r
+      addCSSClass($('mo_items_overdue_count'), 'overdue');\r
+      appendClear($('mo_items_overdue_count'),\r
+         text(new String( parseInt(checked.overdue.length) )) );\r
+   }\r
+\r
+}\r
+\r
+\r
+function myOPACDrawCheckedItem(r) {\r
+\r
+       var circ = r.getResultObject();\r
+       var tbody = r.tbody;\r
+       var row = checkedRowTemplate.cloneNode(true);\r
+       row.id = 'myopac_checked_row_ ' + circ.id();\r
+   row.setAttribute('circid', circ.id());\r
+\r
+       var due = _trimTime(circ.due_date());\r
+\r
+       var dlink = $n( row, "myopac_checked_due" );\r
+       var rlink = $n( row, "myopac_checked_renewals" );\r
+       //var rnlink = $n( row, "myopac_checked_renew_link" );\r
+\r
+       //if( r.od ) due = elem('b', {style:'color:red;font-size:110%'},due);\r
+       if( r.od ) {\r
+      due = elem('b', null, due);\r
+      addCSSClass(due, 'overdue');\r
+   } else {\r
+      due = text(due);\r
+   }\r
+\r
+       dlink.appendChild(due);\r
+       rlink.appendChild(text(circ.renewal_remaining()));\r
+       unHideMe(row);\r
+       //rnlink.setAttribute('href', 'javascript:myOPACRenewCirc("'+circ.id()+'");');\r
+       circsCache.push(circ);\r
+\r
+       if( circ.renewal_remaining() < 1 ) {\r
+      $n(row, 'selectme').disabled = true;\r
+      if(!__can_renew_one)\r
+         $('mo_renew_button').disabled = true;\r
+   } else {\r
+      __can_renew_one = true;\r
+      $('mo_renew_button').disabled = false;\r
+      $n(row, 'selectme').disabled = false;\r
+   }\r
+\r
+       tbody.appendChild(row);\r
+\r
+       var req = new Request(FETCH_MODS_FROM_COPY, circ.target_copy() );\r
+       req.request.alertEvent = false;\r
+       req.request.circ = circ.id();\r
+       req.request.copy = circ.target_copy();\r
+       req.callback(myOPACDrawCheckedTitle);\r
+       req.send();\r
+}\r
+\r
+var __circ_titles = {};\r
+\r
+function myOPACDrawCheckedTitle(r) {\r
+       var record = r.getResultObject();\r
+       var circid = r.circ;\r
+\r
+       if(!record || checkILSEvent(record)) {\r
+               var req = new Request( FETCH_COPY, r.copy );\r
+               req.request.circ = circid\r
+               req.callback(myOPACDrawNonCatalogedItem);\r
+               req.send();\r
+               return;\r
+       }\r
+\r
+       var row = $('myopac_checked_row_ ' + circid);\r
+       var tlink = $n( row, "myopac_checked_title_link" );\r
+       var alink = $n( row, "myopac_checked_author_link" );\r
+       buildTitleDetailLink(record, tlink);\r
+       buildSearchLink(STYPE_AUTHOR, record.author(), alink);\r
+   __circ_titles[circid] = record.title();\r
+}\r
+\r
+function myOPACDrawNonCatalogedItem(r) {\r
+       var copy = r.getResultObject();\r
+       var circid = r.circ;\r
+\r
+       var row = $('myopac_checked_row_ ' + circid);\r
+       var tlink = $n( row, "myopac_checked_title_link" );\r
+       var alink = $n( row, "myopac_checked_author_link" );\r
+\r
+       tlink.parentNode.appendChild(text(copy.dummy_title()));\r
+       alink.parentNode.appendChild(text(copy.dummy_author()));\r
+   __circ_titles[circid] = copy.dummy_title();\r
+}\r
+\r
+\r
+/*\r
+function myOPACRenewCirc(circid) {\r
+\r
+       var circ;\r
+       for( var i = 0; i != circsCache.length; i++ ) \r
+               if(circsCache[i].id() == circid)\r
+                       circ = circsCache[i];\r
+\r
+       if(!confirm($('myopac_renew_confirm').innerHTML)) return;\r
+\r
+       var req = new Request(RENEW_CIRC, G.user.session, \r
+               { patron : G.user.id(), copyid : circ.target_copy(), opac_renewal : 1 } );\r
+       req.request.alertEvent = false;\r
+       req.send(true);\r
+       var res = req.result();\r
+\r
+       if(checkILSEvent(res) || checkILSEvent(res[0])) {\r
+               alertId('myopac_renew_fail');\r
+               return;\r
+       }\r
+\r
+       alert($('myopac_renew_success').innerHTML);     \r
+       checkedDrawn = false;\r
+       myOPACShowChecked();\r
+}\r
+*/\r
+\r
+\r
+\r
+function myOPACShowHolds() {\r
+       var req = new Request(FETCH_HOLDS, G.user.session, G.user.id());        \r
+       req.callback(myOPACDrawHolds);\r
+       req.send();\r
+    $('myopac_holds_actions_none').selected = true;\r
+}\r
+\r
+var holdsTemplateRowOrig;\r
+var holdsTemplateRow;\r
+var myopacForceHoldsRedraw = false;\r
+function myOPACDrawHolds(r) {\r
+\r
+       var tbody = $("myopac_holds_tbody");\r
+       if(holdsTemplateRow && !myopacForceHoldsRedraw) return;\r
+    myopacForceHoldsRedraw = false;\r
+\r
+       if(holdsTemplateRowOrig) {\r
+               holdsTemplateRow = holdsTemplateRowOrig;\r
+               removeChildren(tbody);\r
+       } else {\r
+               holdsTemplateRow = tbody.removeChild($("myopac_holds_row"));\r
+               holdsTemplateRowOrig = holdsTemplateRow;\r
+       }\r
+\r
+       hideMe($('myopac_holds_loading'));\r
+\r
+       var holds = r.getResultObject();\r
+\r
+       if(!holds || holds.length < 1) unHideMe($('myopac_holds_none'));\r
+       for( var i = 0; i != holds.length; i++ ) {\r
+\r
+               var h = holds[i];\r
+               holdCache[h.id()] = h;\r
+\r
+               var row = holdsTemplateRow.cloneNode(true);\r
+               row.id = "myopac_holds_row_" + h.id();\r
+\r
+               var form = $n(row, "myopac_holds_formats");\r
+               form.id = "myopac_holds_form_" + h.id();\r
+\r
+               var orglink = $n(row, "myopac_holds_location");\r
+               orglink.appendChild(text(findOrgUnit(h.pickup_lib()).name()));\r
+\r
+               tbody.appendChild(row);\r
+\r
+               $n(row,'myopac_holds_edit_link').setAttribute(\r
+                       'href','javascript:myOPACEditHold("'+ h.id()+'");'); \r
+\r
+        if(isTrue(h.frozen())) {\r
+            hideMe($n(row, 'myopac_hold_unfrozen_true'))\r
+            unHideMe($n(row, 'myopac_hold_unfrozen_false'))\r
+            if(h.thaw_date()) {\r
+                var d = dojo.date.stamp.fromISOString(h.thaw_date());\r
+                $n(row, 'myopac_holds_frozen_until').appendChild(text(dojo.date.locale.format(d, {selector: 'date', fullYear: true})));\r
+            }\r
+        } else {\r
+            unHideMe($n(row, 'myopac_hold_unfrozen_true'))\r
+            hideMe($n(row, 'myopac_hold_unfrozen_false'))\r
+        }\r
+\r
+        $n(row, 'myopac_holds_selected_chkbx').checked = false;\r
+\r
+        var exp_date;\r
+        if(h.expire_time()) {\r
+            exp_date = dojo.date.stamp.fromISOString(h.expire_time());\r
+            $n(row, 'myopac_hold_expire_time').appendChild(\r
+                text(dojo.date.locale.format(exp_date, {selector:'date'})));\r
+        }\r
+\r
+               unHideMe(row);\r
+\r
+        var interval = fetchOrgSettingDefault(G.user.home_ou(), 'circ.hold_expire_alert_interval');\r
+        if(interval && exp_date) {\r
+            secs = interval_to_seconds(interval) * 1000;\r
+            var diff = exp_date.getTime() - new Date().getTime();\r
+            if(diff < secs)\r
+                addCSSClass($n(row, 'myopac_hold_expire_time'), 'hold_expire_warning');\r
+        }\r
+\r
+        myOPACDrawHoldTitle(h);\r
+        myOPACDrawHoldStatus(h);\r
+    }\r
+}\r
+\r
+function myOPACEditHold(holdid) {\r
+       var hold = holdCache[holdid];\r
+\r
+       holdsDrawEditor( \r
+               { \r
+                       editHold : hold,\r
+                       onComplete : function(){ \r
+                               holdsTemplateRow = null;\r
+                               myOPACShowHolds(); \r
+                       }\r
+               }\r
+       );\r
+}\r
+\r
+\r
+function myOPACDrawHoldStatus(hold) {\r
+       var req = new Request(FETCH_HOLD_STATUS, G.user.session, hold.id() );\r
+       req.callback(myOShowHoldStatus);\r
+       req.request.hold = hold;\r
+       req.send();\r
+}\r
+\r
+var myopacShowHoldEstimate = false;\r
+function myOShowHoldStatus(r) {\r
+\r
+       var hold = r.hold;\r
+       var qstats = r.getResultObject();\r
+    holdStatusCache[hold.id()] = qstats;\r
+\r
+       var row = $("myopac_holds_row_" + r.hold.id());\r
+\r
+    if(qstats.estimated_wait || myopacShowHoldEstimate) {\r
+        myopacShowHoldEstimate = true;\r
+        if(qstats.estimated_wait)\r
+            $n(row, 'myopac_holds_estimated_wait').appendChild(text(qstats.estimated_wait));\r
+        unHideMe($('myopac_holds_estimated_wait_column'));\r
+        unHideMe($n(row, 'myopac_holds_estimated_wait'));\r
+    } \r
+\r
+       if( qstats.status == 4 ) {\r
+               unHideMe($n(row, 'hold_status_available'));\r
+               hideMe($n(row, 'myopac_holds_cancel_link'));\r
+       }\r
+\r
+    if(false) {\r
+        var node = $n(row, 'hold_qstats');\r
+        // XXX best way to display this info + dojo i18n\r
+        node.appendChild(text('hold #' + qstats.queue_position+' of '+qstats.queue_position+' and '+qstats.potential_copies+' item(s)'));\r
+        unHideMe(node);\r
+\r
+    } else {\r
+           if( qstats.status < 3 )\r
+                   unHideMe($n(row, 'hold_status_waiting'));\r
+    \r
+           if( qstats.status == 3 )\r
+                   unHideMe($n(row, 'hold_status_transit'));\r
+    }\r
+}\r
+\r
+\r
+function myOPACDrawHoldTitle(hold) {\r
+       var method;\r
+\r
+       if( hold.hold_type() == 'T' || hold.hold_type() == 'M' ) {\r
+               if(hold.hold_type() == "M") method = FETCH_MRMODS;\r
+               if(hold.hold_type() == "T") method = FETCH_RMODS;\r
+               var req = new Request(method, hold.target());\r
+               req.callback(myOPACFleshHoldTitle);\r
+               req.request.hold = hold;\r
+               req.request.alertEvent = false;\r
+               req.send();\r
+\r
+       } else {\r
+               holdFetchObjects(hold, \r
+                       function(a) { _myOPACFleshHoldTitle(hold, a);});\r
+       }\r
+}\r
+\r
+function myOPACFleshHoldTitle(r) {\r
+       var rec = r.getResultObject();\r
+       _myOPACFleshHoldTitle(r.hold, {recordObject: rec});\r
+}\r
+\r
+function _myOPACFleshHoldTitle(hold, holdObjects) {\r
+\r
+       var record = holdObjects.recordObject;\r
+       var volume      = holdObjects.volumeObject;\r
+       var copy        = holdObjects.copyObject;\r
+\r
+       var row = $("myopac_holds_row_" + hold.id());\r
+       var title_link = $n(row, "myopac_holds_title_link");\r
+       var author_link = $n(row, "myopac_holds_author_link");\r
+\r
+       if(!record || checkILSEvent(record) ) {\r
+               addCSSClass(row, 'invalid_hold');\r
+               $n(row, 'myopac_holds_edit_link').setAttribute('href', 'javascript:void(0);');\r
+               $n(row, 'myopac_holds_edit_link').onclick = function(){alertId('invalid_hold');};\r
+               return;\r
+       }\r
+\r
+       buildTitleDetailLink(record, title_link);\r
+       buildSearchLink(STYPE_AUTHOR, record.author(), author_link);\r
+\r
+       if( volume ) {\r
+               $n(row, 'volume').appendChild(text(volume.label()));\r
+               unHideMe($n(row, 'vol_copy'));\r
+               if(copy) $n(row, 'copy').appendChild(text(copy.barcode()));\r
+       }\r
+\r
+       var form = $("myopac_holds_form_" + hold.id());\r
+\r
+       if(form) {\r
+               var mods_formats = record.types_of_resource();\r
+\r
+               if( hold.hold_type() == 'M' ) {\r
+                       var data = holdsParseMRFormats(hold.holdable_formats());\r
+                       mods_formats = data.mods_formats;\r
+               }\r
+\r
+               for( var i = 0; i < mods_formats.length; i++ ) {\r
+                       var img = elem("img");\r
+                       setResourcePic(img, mods_formats[i]);\r
+                       form.appendChild(img);\r
+               }\r
+       }\r
+}\r
+\r
+var finesShown = false;\r
+function myOPACShowFines() {\r
+       if(finesShown) return; finesShown = true;\r
+       var req = new Request(FETCH_FINES_SUMMARY, G.user.session, G.user.id() );\r
+       req.callback(_myOPACShowFines);\r
+       req.send();\r
+}\r
+\r
+function _myOPACShowFines(r) {\r
+       hideMe($('myopac_fines_summary_loading'));\r
+       unHideMe($('myopac_fines_summary_row'));\r
+\r
+       var summary = r.getResultObject();\r
+       var total       = "0.00"; /* localization? */\r
+       var paid                = "0.00";\r
+       var balance = "0.00";\r
+       if( instanceOf(summary,mous) ) {\r
+\r
+               total           = _finesFormatNumber(summary.total_owed());\r
+               paid            = _finesFormatNumber(summary.total_paid());\r
+               balance = _finesFormatNumber(summary.balance_owed());\r
+\r
+               var req = new Request(FETCH_TRANSACTIONS, G.user.session, G.user.id() );\r
+               req.callback(myOPACShowTransactions);\r
+               req.send();\r
+       }\r
+\r
+       $('myopac_fines_summary_total').appendChild(text(total));\r
+       $('myopac_fines_summary_paid').appendChild(text(paid));\r
+       $('myopac_fines_summary_balance').appendChild(text(balance));\r
+}\r
+\r
+function _finesFormatNumber(num) {\r
+       if(isNull(num)) num = 0;\r
+       num = num + "";\r
+       if(num.length < 2 || !num.match(/\./)) num += ".00";\r
+       if(num.match(/\./) && num.charAt(num.length-2) == '.') num += "0";\r
+       return num;\r
+}          \r
+\r
+//function _trimTime(time) { if(!time) return ""; return time.replace(/\ .*/,""); }\r
+function _trimTime(time) { \r
+       if(!time) return ""; \r
+    var d = dojo.date.stamp.fromISOString(time);\r
+    if(!d) return ""; /* date parse failed */\r
+    return d.iso8601Format('YMD');\r
+}\r
+\r
+function _trimSeconds(time) { \r
+    if(!time) return ""; \r
+    var d = dojo.date.stamp.fromISOString(time);\r
+    if(!d) return ""; /* date parse failed */\r
+    return d.iso8601Format('YMDHM',null,true,true);\r
+}\r
+\r
+function myOPACShowTransactions(r) {\r
+\r
+       if(myopacGenericTransTemplate || myopacCircTransTemplate) return;\r
+\r
+       var transactions = r.getResultObject();\r
+\r
+       for( var idx in transactions ) {\r
+\r
+               var trans       = transactions[idx].transaction;\r
+               var record      = transactions[idx].record;\r
+               var circ                = transactions[idx].circ;\r
+\r
+               if(trans.xact_type() == 'circulation') \r
+                       myOPACShowCircTransaction(trans, record, circ);\r
+\r
+               else if(trans.xact_type() == 'grocery' ) \r
+                       myopacShowGenericTransaction( trans );\r
+       }\r
+}\r
+\r
+var myopacGenericTransTemplate;\r
+function myopacShowGenericTransaction( trans ) {\r
+       var tbody = $('myopac_trans_tbody');\r
+\r
+       if(!myopacGenericTransTemplate) {\r
+               myopacGenericTransTemplate = \r
+                       tbody.removeChild($('myopac_trans_row'));\r
+               removeChildren(tbody);\r
+       }\r
+\r
+       var row = myopacGenericTransTemplate.cloneNode(true);\r
+\r
+       $n(row,'myopac_trans_start').appendChild(\r
+                       text(_trimSeconds(trans.xact_start())));\r
+\r
+       $n(row,'myopac_trans_last_payment').appendChild(\r
+                       text(_trimSeconds(trans.last_payment_ts())));\r
+\r
+       $n(row,'myopac_trans_init_amount').appendChild(\r
+                       text(_finesFormatNumber(trans.total_owed())));\r
+\r
+       $n(row,'myopac_trans_total_paid').appendChild(\r
+                       text(_finesFormatNumber(trans.total_paid())));\r
+\r
+       $n(row,'myopac_trans_balance').appendChild(\r
+                       text(_finesFormatNumber(trans.balance_owed())));\r
+\r
+       var req = new Request(FETCH_MONEY_BILLING, G.user.session, trans.id());\r
+       req.send(true);\r
+       var bills = req.result();\r
+       if(bills && bills[0])\r
+               $n(row,'myopac_trans_bill_type').appendChild(\r
+                               text(bills[0].billing_type()));\r
+\r
+       tbody.appendChild(row);\r
+       unHideMe($('myopac_trans_div'));\r
+}\r
+\r
+\r
+\r
+/* draws a circulation transaction summary */\r
+var myopacCircTransTemplate;\r
+function myOPACShowCircTransaction(trans, record, circ) {\r
+       var tbody = $('myopac_circ_trans_tbody');\r
+\r
+       if(!myopacCircTransTemplate) {\r
+               myopacCircTransTemplate = tbody.removeChild($('myopac_circ_trans_row'));\r
+               removeChildren(tbody);\r
+       }\r
+\r
+       var row = myopacCircTransTemplate.cloneNode(true);\r
+\r
+       if(record) {\r
+               buildTitleDetailLink(record, $n(row,'myopac_circ_trans_title'));\r
+\r
+               $n(row,'myopac_circ_trans_author').appendChild(text(\r
+                       normalize(truncate(record.author(), 65))));\r
+\r
+       } else {\r
+\r
+               var req = new Request( FETCH_COPY, circ.target_copy() );\r
+               req.alertEvents = false;\r
+               req.send(true);\r
+               var copy = req.result();\r
+               if( copy ) {\r
+                       $n(row,'myopac_circ_trans_title').appendChild(text(copy.dummy_title()));\r
+                       $n(row,'myopac_circ_trans_author').appendChild(text(copy.dummy_author()));\r
+               }\r
+       }\r
+\r
+\r
+       $n(row,'myopac_circ_trans_start').\r
+               appendChild(text(_trimTime(trans.xact_start())));\r
+\r
+   var due = _trimTime(circ.due_date());\r
+       var checkin = _trimTime(circ.stop_fines_time());\r
+\r
+       $n(row,'myopac_circ_trans_due').appendChild(text(due))\r
+       if(checkin)\r
+               appendClear($n(row,'myopac_circ_trans_finished'), text(checkin));\r
+       if(circ.stop_fines() == 'LOST')\r
+               appendClear($n(row,'myopac_circ_trans_finished'), text(circ.stop_fines()));\r
+       if(circ.stop_fines() == 'CLAIMSRETURNED')\r
+               appendClear($n(row,'myopac_circ_trans_finished'), text(""));\r
+\r
+\r
+       $n(row,'myopac_circ_trans_balance').\r
+               appendChild(text(_finesFormatNumber(trans.balance_owed())));\r
+\r
+       tbody.appendChild(row);\r
+       unHideMe($('myopac_circ_trans_div'));\r
+}\r
+\r
+\r
+function myOPACSavePrefs() {\r
+       G.user.prefs[PREF_HITS_PER] = getSelectorVal($('prefs_hits_per'));\r
+       G.user.prefs[PREF_DEF_FONT] = getSelectorVal($('prefs_def_font'));\r
+       G.user.prefs[PREF_HOLD_NOTIFY] = getSelectorVal($('prefs_hold_notify'));\r
+       G.user.prefs[PREF_DEF_DEPTH] = getSelectorVal($('prefs_def_range'));\r
+\r
+       if( $('myopac_pref_home_lib').checked == true )\r
+               G.user.prefs[PREF_DEF_LOCATION] = null;\r
+       else\r
+               G.user.prefs[PREF_DEF_LOCATION] = getSelectorVal($('prefs_def_location'));\r
+\r
+       if(commitUserPrefs())\r
+               alert($('prefs_update_success').innerHTML);\r
+       else alert($('prefs_update_failure').innerHTML);\r
+}\r
+\r
+\r
+function myOPACShowDefFont() {\r
+       var font;\r
+       if(G.user.prefs[PREF_DEF_FONT])\r
+               font = G.user.prefs[PREF_DEF_FONT];\r
+       else font = "regular";\r
+       setSelector($('prefs_def_font'), font);\r
+}\r
+\r
+function myOPACShowHoldNotify() {\r
+       var pref = G.user.prefs[PREF_HOLD_NOTIFY];\r
+\r
+       if(pref) {\r
+               if(pref.match(/email/i) && pref.match(/phone/i)) {\r
+                       setSelector($('prefs_hold_notify'), 'phone:email');\r
+               } else if( pref.match(/email/i) ) {\r
+                       setSelector($('prefs_hold_notify'), 'email');\r
+               } else if( pref.match(/phone/i) ) {\r
+                       setSelector($('prefs_hold_notify'), 'phone');\r
+               }\r
+\r
+       } else {\r
+               setSelector($('prefs_hold_notify'), 'phone:email');\r
+       }\r
+}\r
+\r
+function myOPACShowPrefs() {\r
+       grabUserPrefs();\r
+       myOPACShowHitsPer();\r
+       myOPACShowDefFont();\r
+       myOPACShowHoldNotify();\r
+       myOPACShowDefLocation();\r
+       hideMe($('myopac_prefs_loading'));\r
+}\r
+\r
+var defSearchLocationDrawn = false;\r
+var defDepthIndex = 0;\r
+function myOPACShowDefLocation() {\r
+\r
+       var selector = $('prefs_def_location');\r
+       var rsel = $('prefs_def_range');\r
+\r
+       if(!defSearchLocationDrawn) {\r
+\r
+               defSearchLocationDrawn = true;\r
+\r
+               var org = G.user.prefs[PREF_DEF_LOCATION];\r
+\r
+               if(!org) {\r
+                       $('myopac_pref_home_lib').checked = true;\r
+                       $('prefs_def_location').disabled = true;\r
+                       org = G.user.home_ou();\r
+               }\r
+\r
+               buildOrgSel(selector, globalOrgTree, 0);\r
+\r
+               globalOrgTypes = globalOrgTypes.sort(\r
+                       function(a, b) {\r
+                               if( a.depth() < b.depth() ) return -1;\r
+                               return 1;\r
+                       }\r
+               );\r
+\r
+               iterate(globalOrgTypes,\r
+                       function(t) {\r
+                               if( t.depth() <= findOrgDepth(org) ) {\r
+                                       setSelectorVal(rsel, defDepthIndex++, t.opac_label(), t.depth());\r
+                                       if( t.depth() == findOrgDepth(org) ) \r
+                                               setSelector(rsel, t.depth());\r
+                               }\r
+                       }\r
+               );\r
+       }\r
+\r
+       setSelector(selector, org);\r
+}\r
+\r
+function myOPACShowHitsPer() {\r
+       var hits = 10;\r
+       if(G.user.prefs[PREF_HITS_PER])\r
+               hits = G.user.prefs[PREF_HITS_PER];\r
+       var hitsSel = $('prefs_hits_per');\r
+       setSelector(hitsSel, hits);\r
+}\r
+\r
+var userShown = false;\r
+function myOPACShowSummary() {\r
+       if(userShown) return; userShown = true;\r
+       var req = new Request(FETCH_FLESHED_USER,G.user.session, G.user.id());\r
+       req.callback(_myOPACSummaryShowUer);\r
+       req.send();\r
+}\r
+\r
+var addrRowTemplate;\r
+var notesTemplate;\r
+function _myOPACSummaryShowUer(r) {\r
+\r
+       var user = r.getResultObject();\r
+       fleshedUser = user;\r
+       if(!user) return;\r
+\r
+    var expireDate = dojo.date.stamp.fromISOString(user.expire_date());\r
+    if( expireDate < new Date() ) {\r
+        appendClear($('myopac.expired.date'), expireDate.iso8601Format('YMD'));\r
+        unHideMe($('myopac.expired.alert'));\r
+    }\r
+\r
+       var iv1 = user.ident_value()+'';\r
+    if (iv1.length > 4 && iv1.match(/\d{4}/)) iv1 = iv1.substring(0,4) + '***********';\r
+\r
+\r
+       appendClear($('myopac_summary_prefix'),text(user.prefix()));\r
+       appendClear($('myopac_summary_first'),text(user.first_given_name()));\r
+       appendClear($('myopac_summary_middle'),text(user.second_given_name()));\r
+       appendClear($('myopac_summary_dayphone'),text(user.day_phone()));\r
+       appendClear($('myopac_summary_eveningphone'),text(user.evening_phone()));\r
+       appendClear($('myopac_summary_otherphone'),text(user.other_phone()));\r
+       appendClear($('myopac_summary_last'),text(user.family_name()));\r
+       appendClear($('myopac_summary_suffix'),text(user.suffix()));\r
+       appendClear($('myopac_summary_username'),text(user.usrname()));\r
+       appendClear($('myopac_summary_email'),text(user.email()));\r
+       appendClear($('myopac_summary_barcode'),text(user.card().barcode()));\r
+       appendClear($('myopac_summary_ident1'),text(iv1));\r
+       appendClear($('myopac_summary_homelib'),text(findOrgUnit(user.home_ou()).name()));\r
+       appendClear($('myopac_summary_create_date'),text(_trimTime(user.create_date())));\r
+\r
+       var req = new Request( \r
+               FETCH_USER_NOTES, G.user.session, {pub:1, patronid:G.user.id()});\r
+       req.callback(myopacDrawNotes);\r
+       req.send();\r
+\r
+\r
+       var tbody = $('myopac_addr_tbody');\r
+       var template;\r
+\r
+       if(addrRowTemplate) { \r
+               template = addrRowTemplate;\r
+       } else {\r
+               template = tbody.removeChild($('myopac_addr_row'));\r
+               addrRowTemplate = template;\r
+       }\r
+       removeChildren(tbody);\r
+\r
+    var addrs = user.addresses();\r
+       for( var a in addrs ) {\r
+        var addr = addrs[a];\r
+        if(!allowPendingAddr && isTrue(addr.pending()))\r
+            continue;\r
+        if(addr.replaces() != null) continue;\r
+               var row = template.cloneNode(true);\r
+               myOPACDrawAddr(row, addr, addrs);\r
+               tbody.appendChild(row);\r
+       }\r
+}\r
+\r
+\r
+function myopacDrawNotes(r) {\r
+       var notes = r.getResultObject();\r
+       var tbody = $('myopac.notes.tbody');\r
+       if(!notesTemplate)\r
+               notesTemplate = tbody.removeChild($('myopac.notes.tr'));\r
+       removeChildren(tbody);\r
+\r
+       iterate(notes, \r
+               function(note) {\r
+                       unHideMe($('myopac.notes.div'));\r
+                       var row = notesTemplate.cloneNode(true);\r
+                       $n(row, 'title').appendChild(text(note.title()));\r
+                       $n(row, 'value').appendChild(text(note.value()));\r
+                       tbody.appendChild(row);\r
+               }\r
+       );\r
+}\r
+\r
+\r
+\r
+function myOPACDrawAddr(row, addr, addrs) {\r
+    appendClear($n(row, 'myopac_addr_type'),text(addr.address_type()));\r
+    appendClear($n(row, 'myopac_addr_street'),text(addr.street1()));\r
+    appendClear($n(row, 'myopac_addr_street2'),text(addr.street2()));\r
+    appendClear($n(row, 'myopac_addr_city'),text(addr.city()));\r
+    appendClear($n(row, 'myopac_addr_county'),text(addr.county()));\r
+    appendClear($n(row, 'myopac_addr_state'),text(addr.state()));\r
+    appendClear($n(row, 'myopac_addr_country'),text(addr.country()));\r
+    appendClear($n(row, 'myopac_addr_zip'),text(addr.post_code()));\r
+\r
+    if(!allowPendingAddr) return;\r
+\r
+    $n(row, 'myopac_addr_edit_link').onclick = function(){myopacEditAddress(addr)};\r
+    unHideMe($n(row, 'myopac_addr_edit_td'));\r
+\r
+    /* if we have a replacement address, plop it into the table next to this addr */\r
+    var repl = grep(addrs,\r
+        function(a) { \r
+            return a.replaces() == addr.id(); \r
+        } \r
+    );\r
+\r
+    $n(row, 'myopac_pending_addr_td').id = 'myopac_pending_addr_td_' + addr.id();\r
+\r
+    if(repl) {\r
+        hideMe($n(row, 'myopac_addr_edit_td')); // hide the edit link\r
+        repl = repl[0];\r
+        myopacSetAddrInputs(row, repl);\r
+    }\r
+}\r
+\r
+function myopacEditAddress(addr) {\r
+    var td = $('myopac_pending_addr_td_' + addr.id());\r
+    var row = td.parentNode;\r
+    myopacSetAddrInputs(row, addr);\r
+}\r
+\r
+function myopacSetAddrInputs(row, addr, prefix) {\r
+    unHideMe($n(row, 'myopac_pending_addr_td'));\r
+    $n(row, 'myopac_pending_addr_type').value = addr.address_type();\r
+    $n(row, 'myopac_pending_addr_street').value = addr.street1();\r
+    $n(row, 'myopac_pending_addr_street2').value = addr.street2();\r
+    $n(row, 'myopac_pending_addr_city').value = addr.city();\r
+    $n(row, 'myopac_pending_addr_county').value = addr.county();\r
+    $n(row, 'myopac_pending_addr_state').value = addr.state();\r
+    $n(row, 'myopac_pending_addr_country').value = addr.country();\r
+    $n(row, 'myopac_pending_addr_zip').value = addr.post_code();\r
+    $n(row, 'myopac_pending_addr_edit_link').onclick = function(){myopacSaveAddress(row, addr)};\r
+    $n(row, 'myopac_pending_addr_del_link').onclick = function(){myopacSaveAddress(row, addr, true)};\r
+}\r
+\r
+// if no pending addr exists, this is called with the original address\r
+function myopacSaveAddress(row, addr, deleteMe) {\r
+\r
+    if(addr.replaces() == null) {\r
+        // we are editing a non-pending address.  create a pending address to manage that\r
+        var repl = new aua();\r
+        repl.usr(addr.usr());\r
+        repl.address_type(addr.address_type());\r
+        repl.within_city_limits(addr.within_city_limits());\r
+        repl.replaces(addr.id());\r
+        repl.pending('t');\r
+        repl.isnew(true);\r
+        repl.id(null);\r
+        addr = repl;\r
+    }\r
+\r
+    if(deleteMe) {\r
+        if(addr.id() == null) {\r
+            hideMe($n(row, 'myopac_pending_addr_td'));\r
+            return;\r
+        }\r
+        addr.isdeleted(true);\r
+    } else {\r
+        addr.address_type($n(row, 'myopac_pending_addr_type').value);\r
+        addr.street1($n(row, 'myopac_pending_addr_street').value);\r
+        addr.street2($n(row, 'myopac_pending_addr_street2').value);\r
+        addr.city($n(row, 'myopac_pending_addr_city').value);\r
+        addr.county($n(row, 'myopac_pending_addr_county').value);\r
+        addr.state($n(row, 'myopac_pending_addr_state').value);\r
+        addr.country($n(row, 'myopac_pending_addr_country').value);\r
+        addr.post_code($n(row, 'myopac_pending_addr_zip').value);\r
+    }\r
+\r
+       var req = new Request(\r
+        'open-ils.actor:open-ils.actor.user.address.pending.cud', \r
+        G.user.session, addr);\r
+\r
+    req.callback(\r
+        function(r) {\r
+            var resp = r.getResultObject(); \r
+\r
+            if(addr.isnew()) {\r
+                // new, add to list of addrs\r
+                addr.id(resp);\r
+                fleshedUser.addresses().push(addr);\r
+\r
+            } else {\r
+                // deleted, remove from list of addrs\r
+                if(addr.isdeleted()) {\r
+                    hideMe($n(row, 'myopac_pending_addr_td'));\r
+                    var addrs = [];\r
+                    for(var i in fleshedUser.addresses()) {\r
+                        var a = fleshedUser.addresses()[i];\r
+                        if(a.id() != addr.id())\r
+                            addrs.push(a);\r
+                    }\r
+                    fleshedUser.addresses(addrs);\r
+                }\r
+            }\r
+           alertId('myopac_addr_changes_saved');\r
+        }\r
+    );\r
+    req.send();\r
+};\r
+\r
+\r
+function myOPACUpdateUsername() {\r
+       var username = $('myopac_new_username').value;\r
+       if(username == null || username == "") {\r
+               alert($('myopac_username_error').innerHTML);\r
+               return;\r
+       }\r
+\r
+       if( username.match(/.*\s.*/) ) {\r
+               alert($('myopac_invalid_username').innerHTML);\r
+               return;\r
+       }\r
+\r
+    r = fetchOrgSettingDefault(globalOrgTree.id(), 'opac.barcode_regex');\r
+    if(r) REGEX_BARCODE = new RegExp(r);\r
+\r
+    if(username.match(REGEX_BARCODE)) {\r
+        alert($('myopac_invalid_username').innerHTML);\r
+        return;\r
+    }\r
+\r
+       /* first see if the requested username is taken */\r
+       var req = new Request(CHECK_USERNAME, G.user.session, username);\r
+       req.send(true);\r
+       var res = req.result();\r
+       /* If the username does not already exist, res will be null;\r
+        * we can move on to updating the username.\r
+        * \r
+        * If the username does exist, then res will be the user ID.\r
+        * G.user.id() gives us the currently authenticated user ID.\r
+        * If res == G.user.id(), we try to update the username anyways.\r
+        */\r
+       if( res !== null && res != G.user.id() ) {\r
+               alertId('myopac_username_dup');\r
+               return;\r
+       }\r
+\r
+       var req = new Request(UPDATE_USERNAME, G.user.session, username );\r
+       req.send(true);\r
+       if(req.result()) {\r
+\r
+               var evt;\r
+               var res = req.result();\r
+               if(evt = checkILSEvent(res)) {\r
+                       alertILSEvent(res);\r
+                       return;\r
+               }\r
+\r
+               G.user.usrname(username);\r
+               hideMe($('myopac_update_username_row'));\r
+               userShown = false;\r
+               alertId('myopac_username_success');\r
+               myOPACShowSummary();\r
+               return;\r
+       }\r
+\r
+       alert($('myopac_username_failure').innerHTML);\r
+}\r
+\r
+function myOPACUpdateEmail() {\r
+       var email = $('myopac_new_email').value;\r
+       if(email == null || email == "") {\r
+               alert($('myopac_email_error').innerHTML);\r
+               return;\r
+       }\r
+\r
+       var req = new Request(UPDATE_EMAIL, G.user.session, email );\r
+       req.send(true);\r
+       if(req.result()) {\r
+               G.user.usrname(email);\r
+               hideMe($('myopac_update_email_row'));\r
+               userShown = false;\r
+               alertId('myopac_email_success');\r
+               myOPACShowSummary();\r
+               return;\r
+       }\r
+\r
+       alert($('myopac_email_failure').innerHTML);\r
+}\r
+\r
+\r
+function myOPACUpdatePassword() {\r
+       var curpassword = $('myopac_current_password').value;\r
+       var password = $('myopac_new_password').value;\r
+       var password2 = $('myopac_new_password2').value;\r
+\r
+       if(     curpassword == null || curpassword == "" || \r
+                       password == null || password == "" || \r
+                       password2 == null || password2 == "" || password != password2 ) {\r
+               alert($('myopac_password_error').innerHTML);\r
+               return;\r
+       }\r
+\r
+       if(!strongPassword(password, true)) return;\r
+\r
+       var req = new Request(UPDATE_PASSWORD, G.user.session, password, curpassword );\r
+       req.send(true);\r
+       if(req.result()) {\r
+               hideMe($('myopac_update_password_row'));\r
+               userShown = false;\r
+               alertId('myopac_password_success');\r
+               myOPACShowSummary();\r
+               return;\r
+       }\r
+\r
+       alert($('myopac_password_failure').innerHTML);\r
+}\r
+\r
+\r
+\r
+\r
+var containerTemplate;\r
+function myOPACShowBookbags(force) {\r
+\r
+       var tbody =$('myopac_bookbag_tbody') ;\r
+\r
+       if(!containerTemplate) \r
+               containerTemplate = tbody.removeChild($('myopac_bookbag_tr'));\r
+       else if(!force) return;\r
+\r
+       removeChildren(tbody);\r
+\r
+       var containers = containerFetchAll();\r
+\r
+       var found = false;\r
+       for( var i in containers ) {\r
+               found = true;\r
+               var cont = containers[i];\r
+               var row = containerTemplate.cloneNode(true);\r
+               row.id = 'myopac_bookbag_row_' + cont.id();\r
+               var link = $n(row, 'myopac_expand_bookbag');\r
+               var dlink = $n(row, 'myopac_container_delete');\r
+               link.appendChild( text(cont.name()) );\r
+               link.setAttribute('href', \r
+                       'javascript:myOPACExpandBookbag("' + cont.id() + '","' + cont.name() + '");');\r
+               myOPACFetchBBItems( cont.id(), row );\r
+               dlink.setAttribute('href', 'javascript:myOPACDeleteBookbag("'+cont.id()+'");');\r
+\r
+               if( isTrue(cont.pub()) ) {\r
+                       unHideMe($n(row, 'myopac_bb_published_yes'));\r
+                       var link = $n(row, 'myopac_bb_published_view');\r
+                       link.setAttribute('href', buildExtrasLink( 'feed/bookbag/html-full/'+cont.id(), false));  \r
+                       link.setAttribute('target', '_blank' );\r
+                       unHideMe(link);\r
+\r
+                       link = $n(row, 'myopac_bb_published_atom');\r
+                       link.setAttribute('href', buildExtrasLink( 'feed/bookbag/rss2-full/'+cont.id(), false));  \r
+                       link.setAttribute('target', '_blank' );\r
+                       unHideMe(link);\r
+\r
+                       link = $n(row, 'myopac_bb_make_unpublished');\r
+                       link.setAttribute('href', 'javascript:myOPACMakeBBPublished("'+cont.id()+'", true);');\r
+                       unHideMe(link);\r
+\r
+               } else { \r
+                       unHideMe($n(row, 'myopac_bb_published_no')); \r
+                       var link = $n(row, 'myopac_bb_make_published');\r
+                       link.setAttribute('href', 'javascript:myOPACMakeBBPublished("'+cont.id()+'");');\r
+                       unHideMe(link);\r
+               }\r
+\r
+               tbody.appendChild(row); \r
+       }\r
+\r
+       if(!found) unHideMe($('myopac_bookbags_none'));\r
+       else unHideMe($('myopac_bookbag_table'));       \r
+}\r
+\r
+function myOPACMakeBBPublished(bbid, hideme) {\r
+\r
+       var bb = fleshedContainers[bbid];\r
+\r
+       if(hideme) {\r
+               if(!confirm($('myopac_make_unpublished_confirm').innerHTML)) return;\r
+               bb.pub('f');\r
+       } else {\r
+               if(!confirm($('myopac_make_published_confirm').innerHTML)) return;\r
+               bb.pub('t');\r
+       }\r
+\r
+       var result = containerUpdate(bb);\r
+\r
+       var code = checkILSEvent(result);\r
+       if(code) { alertILSEvent(result); return; }\r
+\r
+       alert($('myopac_bb_update_success').innerHTML);\r
+       myOPACShowBookbags(true);\r
+}\r
+\r
+\r
+\r
+function myOPACDeleteBookbag(id) {\r
+       if( confirm( $('myopac_delete_bookbag_warn').innerHTML ) ) {\r
+               var result = containerDelete(id);\r
+               var code = checkILSEvent(result);\r
+               if(code) { alertILSEvent(result); return; }\r
+               alert($('myopac_bb_update_success').innerHTML);\r
+               hideMe($('myopac_bookbag_items_table'));\r
+               hideMe($('myopac_bookbag_items_name'));\r
+               hideMe($('myopac_bookbag_no_items'));\r
+               myOPACShowBookbags(true);\r
+       }\r
+}\r
+\r
+function myOPACFetchBBItems( id, row, block ) {\r
+       if(!block) {\r
+               containerFlesh( id, _myOPACSetBBItems, { row: row }  );\r
+       } else {\r
+               var cont = containerFlesh(id);\r
+               myOPACSetBBItems( cont, row );\r
+       }\r
+}\r
+\r
+function _myOPACSetBBItems(r) { myOPACSetBBItems( r.getResultObject(), r.args.row ); }\r
+\r
+function myOPACSetBBItems( container, row ) {\r
+       fleshedContainers[container.id()] = container;\r
+       var node = $n(row, 'myopac_bookbag_item_count');\r
+       removeChildren(node);\r
+       node.appendChild( text(container.items().length) );\r
+}\r
+\r
+var BBItemsRow;\r
+function myOPACExpandBookbag( id, name ) {\r
+       \r
+       var tbody = $('myopac_bookbag_items_tbody');\r
+       if(!BBItemsRow) BBItemsRow = tbody.removeChild($('myopac_bookbag_items_row'));\r
+       removeChildren(tbody);\r
+       removeChildren($('myopac_bookbag_items_name'));\r
+\r
+       $('myopac_bookbag_items_name').appendChild(text(name));\r
+\r
+       if( fleshedContainers[id] ) {\r
+               var len = fleshedContainers[id].items().length;\r
+\r
+               if( len == 0 ) {\r
+                       unHideMe($('myopac_bookbag_no_items'));\r
+                       hideMe($('myopac_bookbag_items_table'));\r
+                       return;\r
+               }\r
+\r
+               hideMe($('myopac_bookbag_no_items'));\r
+               unHideMe($('myopac_bookbag_items_table'));\r
+\r
+               for( var i = 0; i != len; i++ ) {\r
+                       var row = BBItemsRow.cloneNode(true);\r
+                       found = true;\r
+\r
+                       var item = fleshedContainers[id].items()[i];\r
+                       var tlink = $n(row,'myopac_bookbag_items_title');\r
+                       var alink = $n(row,'myopac_bookbag_items_author');\r
+\r
+                       var req = new Request( FETCH_RMODS, item.target_biblio_record_entry() );\r
+                       req.request.tlink = tlink;\r
+                       req.request.alink = alink;\r
+                       req.callback(myOPACShowBBItem);\r
+                       req.send();\r
+\r
+                       var clink = $n(row, 'myopac_bookbag_items_remove');\r
+                       clink.setAttribute('href', 'javascript:myOPACRemoveBBItem("'+item.id()+'","'+id+'","'+name+'");');\r
+\r
+                       tbody.appendChild(row);\r
+               }\r
+       }\r
+}\r
+\r
+function myOPACRemoveBBItem( id, containerid, container_name ) {\r
+       if(!confirm($('myopac_remove_bb_item_confirm').innerHTML)) return;\r
+       var stat = containerRemoveItem( id );\r
+       if(stat) alert($('myopac_bb_update_success').innerHTML);\r
+       myOPACFetchBBItems( containerid, $('myopac_bookbag_row_' + containerid), true);\r
+       myOPACExpandBookbag( containerid, container_name );\r
+}\r
+\r
+function myOPACShowBBItem(r) {\r
+       var record = r.getResultObject();\r
+       buildTitleDetailLink(record, r.tlink);\r
+       buildSearchLink(STYPE_AUTHOR, record.author(), r.alink);\r
+}\r
+\r
+function myOPACCreateBookbag() {\r
+       var name = $('myopac_bookbag_new_name').value;  \r
+       if(!name) return;\r
+\r
+       var exists = false;\r
+       for( var c in fleshedContainers ) { exists = true; break; }\r
+\r
+       /* let them know what they are getting into... */\r
+       if(!exists) if(!confirm($('bb_create_warning').innerHTML)) return;\r
+\r
+       var result = containerCreate( name, $('bb_public_yes').checked );\r
+       var code = checkILSEvent(result);\r
+       if(code) { alertILSEvent(result); return; }\r
+       if(result) alert($('myopac_bb_update_success').innerHTML);\r
+       myOPACShowBookbags(true);\r
+}\r
+\r
+\r
+/* ---------------------------------------------------------------------- */\r
+/* Non cat circs */\r
+/* ---------------------------------------------------------------------- */\r
+\r
+var nonCatCircIds;\r
+var nonCatTypes;\r
+/* if we have some circs, grab the non-cat types */\r
+function myOPACDrawNonCatCircs(r) {\r
+       var ids = r.getResultObject();\r
+       if(ids.length == 0) return;\r
+       nonCatCircIds = ids;\r
+       unHideMe($('non_cat_circs_div'));\r
+       var req = new Request(FETCH_NON_CAT_TYPES, G.user.home_ou());\r
+       req.callback(myOPACDrawNonCatCircs2);\r
+       req.send();\r
+}\r
+\r
+\r
+/* now we have circs and the types.. draw each one */\r
+var nonCatTbody;\r
+var nonCatRow;\r
+function myOPACDrawNonCatCircs2(r) {\r
+       nonCatTypes = r.getResultObject();\r
+       nonCatTbody = $('non_cat_circs_tbody');\r
+       if(!nonCatRow) nonCatRow = \r
+               nonCatTbody.removeChild($('non_cat_circs_row'));\r
+       removeChildren(nonCatTbody);\r
+       for( var i in nonCatCircIds ) {\r
+               var req = new Request(FETCH_NON_CAT_CIRC, G.user.session, nonCatCircIds[i]);\r
+               req.callback(myOPACDrawNonCatCirc);\r
+               req.send();\r
+       }\r
+}\r
+\r
+\r
+/* draw a single circ */\r
+function myOPACDrawNonCatCirc(r) {\r
+       var circ = r.getResultObject();\r
+\r
+\r
+       var type = grep(nonCatTypes, \r
+               function(i){\r
+                       return (i.id() == circ.item_type());\r
+               }\r
+       )[0];\r
+\r
+\r
+       var row = nonCatTbody.appendChild(nonCatRow.cloneNode(true));\r
+       appendClear($n(row, 'circ_lib'), text(findOrgUnit(circ.circ_lib()).name()));\r
+       appendClear($n(row, 'item_type'), text(type.name()));\r
+\r
+       var duration = interval_to_seconds(type.circ_duration());\r
+       duration = parseInt(duration + '000');\r
+\r
+       var dtf = circ.circ_time();\r
+    var start = dojo.date.stamp.fromISOString(circ.circ_time());\r
+       var due = new Date(  start.getTime() + duration );\r
+       appendClear($n(row, 'circ_time'), text(due.iso8601Format('YMDHM', null, true, true)));\r
+}\r
+\r
+\r
+\r
+\r
+function myopacSelectAllChecked() {\r
+   __myopacSelectChecked(true);\r
+}\r
+\r
+function myopacSelectNoneChecked() {\r
+   __myopacSelectChecked(false);\r
+}\r
+\r
+function __myopacSelectChecked(value) {\r
+   var rows = myopacGetCheckedOutRows();\r
+   for( var i = 0; i < rows.length; i++ ) {\r
+      var row = rows[i];\r
+      var box = $n(row, 'selectme');\r
+      if( box && ! box.disabled )\r
+      box.checked = value;\r
+   }\r
+}\r
+\r
+function myopacGetCheckedOutRows() {\r
+   var rows = [];\r
+   var tbody = $('myopac_checked_tbody');\r
+   var children = tbody.childNodes;\r
+   for( var i = 0; i < children.length; i++ ) {\r
+      var child = children[i];\r
+      if( child.nodeName.match(/^tr$/i) ) \r
+         if( $n(child, 'selectme') ) \r
+            rows.push(child);\r
+   }\r
+   return rows;\r
+}\r
+\r
+var __renew_circs = [];\r
+\r
+/* true if 1 renewal succeeded */\r
+var __success_count = 0;\r
+\r
+/*\r
+       holdBlock - checking for holds before allowing renewals\r
+\r
+*/\r
+function holdBlock(r) {\r
+       var rec = r.getResultObject();\r
+       var circ = r.circ;\r
+                               \r
+       //this may be inefficient, but go this route to snag needed title id\r
+       var new_req = new Request( FETCH_BIB_ID_BY_BARCODE, rec.barcode() );\r
+       new_req.send(true);\r
+                               \r
+       if (new_req) {\r
+               var record = new_req.result();\r
+                               \r
+               if (record){\r
+                       //alert(HOLDSU + ' start for ' + circ.id() + ' - ' + rec.barcode());\r
+                       /*\r
+                       var init_request = new Request( LOGIN_INIT, HOLDSU );\r
+                       init_request.send(true);\r
+                       var seed = init_request.result();\r
+\r
+                       var args = {\r
+                               password : hex_md5(seed + hex_md5(HOLDSP)),\r
+                               type            : "opac",\r
+                               org             : getOrigLocation(),\r
+                               username : HOLDSU\r
+                       };\r
+\r
+                       var auth_request = new Request( LOGIN_COMPLETE, args );\r
+\r
+                       auth_request.request.alertEvent = false;\r
+                       auth_request.send(true);\r
+                       var auth_result = auth_request.result();\r
+\r
+                               if(!auth_result) {\r
+                               alertId('problem with renewing');\r
+                               return null;\r
+                       }\r
+\r
+                       var temp_session = auth_result.payload.authtoken;\r
+                       */\r
+                               \r
+                       //if you needed a special session for this, would use the above\r
+                       //and pass it in the call, however, this doesn't seem to matter\r
+                       //for this call\r
+                       /*\r
+                       new_req = new Request( "open-ils.circ:open-ils.circ.open_holds.retrieve", \r
+                               temp_session, record, 'T', getOrigLocation() );\r
+                       */\r
+\r
+                       //make the call with user's credentials\r
+                       new_req = new Request( "open-ils.circ:open-ils.circ.open_holds.retrieve", \r
+                               G.user.session, record, 'T', getOrigLocation() );\r
+                               \r
+                       new_req.send(true);\r
+\r
+                       //we would clean up session right away if we had created one\r
+                       /*\r
+                       var sess_req = new Request(LOGIN_DELETE, temp_session);\r
+                       sess_req.send(true);\r
+                       try { sess_req.result(); } catch(E){}\r
+                       */\r
+                               \r
+                       if (new_req) {\r
+                               record = new_req.result();\r
+                               if (record.length > 0) {\r
+                                       var renewTitle = __circ_titles[circ.id()];\r
+                                       if (renewTitle) {\r
+                                               alert('Sorry, someone has requested \"' + renewTitle +\r
+                                                       '\", it can not be renewed, please return this title to the library.');\r
+                                       }//if renewTitle\r
+                                       return null;\r
+                               } else {\r
+                                       //alert('renew for ' + circ.id());\r
+                                       moRenewCirc( circ.target_copy(), G.user.id(), circ );\r
+                               }//if record\r
+                       }//if new_req\r
+               \r
+               }//if record\r
+       }//if new_req\r
+\r
+}//holdBlock\r
+\r
+\r
+/* renews all selected circulations */\r
+function myOPACRenewSelected() {\r
+\r
+       var rows = myopacGetCheckedOutRows();\r
+       if(!confirm($('myopac_renew_confirm').innerHTML)) return;\r
+       __success_count = 0;\r
+\r
+       for( var i = 0; i < rows.length; i++ ) {\r
+\r
+               var row = rows[i];\r
+               if( ! $n(row, 'selectme').checked ) continue;\r
+               var circ_id = row.getAttribute('circid');\r
+\r
+               var circ;\r
+               for( var j = 0; j != circsCache.length; j++ ) {\r
+                       if(circsCache[j].id() == circ_id) {\r
+                               circ = circsCache[j];\r
+                               var cp =  circ.target_copy();\r
+                               if (cp) {\r
+                                       var hold_req = new Request(FETCH_FLESHED_COPY, \r
+                                               circ.target_copy() );\r
+                                       hold_req.request.circ = circ;\r
+                                       hold_req.callback(holdBlock);\r
+                                       hold_req.send();\r
+                               }//if cp\r
+                       }//if circsCache\r
+               }//for j\r
+       }//for i\r
+}//myOPACRenewSelected\r
+\r
+\r
+/* renews a single circulation */\r
+function moRenewCirc(copy_id, user_id, circ) {\r
+\r
+   _debug('renewing circ ' + circ.id() + ' with copy ' + copy_id);\r
+   var req = new Request(RENEW_CIRC, G.user.session, \r
+      {  patron : user_id, \r
+         copyid : copy_id, \r
+         opac_renewal : 1 \r
+      } \r
+   );\r
+\r
+   req.request.alertEvent = false;\r
+   req.callback(myHandleRenewResponse);\r
+   req.request.circ = circ;\r
+   req.send();\r
+}\r
+\r
+\r
+\r
+/* handles the circ renew results */\r
+function myHandleRenewResponse(r) {\r
+   var res = r.getResultObject();\r
+   var circ = r.circ;\r
+\r
+   /* remove this circ from the list of circs to renew */\r
+   __renew_circs = grep(__renew_circs, function(i) { return (i.id() != circ.id()); });\r
+\r
+   _debug("handling renew result for " + circ.id());\r
+\r
+   if(checkILSEvent(res) || checkILSEvent(res[0])) \r
+      alertIdText('myopac_renew_fail', __circ_titles[circ.id()]);\r
+   else __success_count++;\r
+\r
+   if(__renew_circs) return; /* more to come */\r
+\r
+   __renew_circs = [];\r
+\r
+       if( __success_count > 0 )\r
+      alertIdText('myopac_renew_success', __success_count);\r
+\r
+   hideMe($('my_renewing'));\r
+   checkedDrawn = false;\r
+    myOPACShowChecked();\r
+}\r
+\r
+/** ---- batch hold processing ------------ */\r
+\r
+\r
+/* myopac_holds_checkbx */\r
+function myopacSelectAllHolds() {\r
+    var rows = getTableRows($("myopac_holds_tbody"));\r
+    for(var i = 0; i < rows.length; i++) {\r
+        cb = $n(rows[i], 'myopac_holds_selected_chkbx');\r
+        if(cb) cb.checked = true;\r
+    }\r
+}\r
+\r
+function myopacSelectNoneHolds() {\r
+    var rows = getTableRows($("myopac_holds_tbody"));\r
+    for(var i = 0; i < rows.length; i++) {\r
+        cb = $n(rows[i], 'myopac_holds_selected_chkbx');\r
+        if(cb) cb.checked = false;\r
+    }\r
+}\r
+\r
+function myopacSelectedHoldsRows() {\r
+    var r = [];\r
+    var rows = getTableRows($("myopac_holds_tbody"));\r
+    for(var i = 0; i < rows.length; i++) {\r
+        cb = $n(rows[i], 'myopac_holds_selected_chkbx');\r
+        if(cb && cb.checked)\r
+            r.push(rows[i]);\r
+    }\r
+    return r;\r
+}\r
+\r
+var myopacProcessedHolds = 0;\r
+var myopacHoldsToProcess = 0;\r
+function myopacDoHoldAction() {\r
+\r
+    var selectedRows = myopacSelectedHoldsRows();\r
+    action = getSelectorVal($('myopac_holds_actions'));\r
+    $('myopac_holds_actions_none').selected = true;\r
+    if(selectedRows.length == 0) return;\r
+\r
+    myopacProcessedHolds = 0;\r
+\r
+    if(!confirmId('myopac.holds.'+action+'.confirm')) return;\r
+    myopacSelectNoneHolds(); /* clear the selection */\r
+\r
+\r
+    /* first, let's collect the holds that actually need processing and\r
+        collect the full process count while we're at it */\r
+    var holds = [];\r
+    for(var i = 0; i < selectedRows.length; i++) {\r
+        hold = holdCache[myopacHoldIDFromRow(selectedRows[i])];\r
+        var qstats = holdStatusCache[hold.id()];\r
+        switch(action) {\r
+            case 'cancel':\r
+                holds.push(hold);\r
+                break;\r
+            case 'thaw_date':\r
+            case 'thaw':\r
+                if(isTrue(hold.frozen()))\r
+                    holds.push(hold);\r
+                break;\r
+            case 'freeze':\r
+                if(!isTrue(hold.frozen()) && qstats.status < 3)\r
+                    holds.push(hold);\r
+                break;\r
+        }\r
+    }\r
+    myopacHoldsToProcess = holds;\r
+    if(myopacHoldsToProcess.length == 0) return;\r
+\r
+    if(action == 'thaw_date' || action == 'freeze') \r
+        myopacDrawHoldThawDateForm();\r
+    else\r
+    myopacProcessHolds(action);\r
+}\r
+\r
+\r
+function myopacProcessHolds(action, thawDate) {\r
+\r
+    myopacShowHoldProcessing();\r
+    /* now we process them */\r
+    for(var i = 0; i < myopacHoldsToProcess.length; i++) {\r
+\r
+        hold = myopacHoldsToProcess[i];\r
+        \r
+        var req;\r
+        switch(action) { \r
+\r
+            case 'cancel':\r
+                req = new Request(CANCEL_HOLD, G.user.session, hold.id());\r
+                break;\r
+    \r
+            case 'thaw':\r
+                hold.frozen('f');\r
+                hold.thaw_date(null);\r
+                req = new Request(UPDATE_HOLD, G.user.session, hold);\r
+                break;\r
+\r
+            case 'thaw_date':\r
+            case 'freeze':\r
+                hold.frozen('t');\r
+                hold.thaw_date(thawDate); \r
+                req = new Request(UPDATE_HOLD, G.user.session, hold);\r
+                break;\r
+                //thawDate = prompt($('myopac.holds.freeze.select_thaw').innerHTML);\r
+\r
+        }\r
+\r
+        req.callback(myopacBatchHoldCallback);\r
+        req.send();\r
+        req = null;\r
+    }\r
+}\r
+\r
+function myopacDrawHoldThawDateForm() {\r
+    hideMe($('myopac_holds_main_table'));\r
+    unHideMe($('myopac_holds_thaw_date_form'));\r
+    $('myopac_holds_thaw_date_input').focus();\r
+}\r
+\r
+function myopacApplyThawDate() {\r
+    var dateString = dijit.byId('myopac_holds_thaw_date_input').getValue();\r
+    if(dateString) {\r
+        dateString = dojo.date.stamp.toISOString(dateString);\r
+        if(dateString) {\r
+            dateString = holdsVerifyThawDate(dateString);\r
+            if(!dateString) return;\r
+        } else {\r
+            dateString = null;\r
+        }\r
+    }\r
+    myopacProcessHolds('freeze', dateString);\r
+}\r
+\r
+function myopacHoldIDFromRow(row) {\r
+    return row.id.replace(/.*_(\d+)$/, '$1');\r
+}\r
+\r
+function myopacShowHoldProcessing() {\r
+    unHideMe($('myopac_holds_processing'));\r
+    hideMe($('myopac_holds_main_table'));\r
+}\r
+\r
+function myopacHideHoldProcessing() {\r
+    hideMe($('myopac_holds_processing'));\r
+    unHideMe($('myopac_holds_main_table'));\r
+    hideMe($('myopac_holds_thaw_date_form'));\r
+}\r
+\r
+function myopacBatchHoldCallback(r) {\r
+    if(r) /* force load any exceptions */\r
+        r.getResultObject();\r
+    if(++myopacProcessedHolds >= myopacHoldsToProcess.length) {\r
+        myopacHideHoldProcessing();\r
+        holdCache = {};\r
+        holdStatusCache = {};\r
+        myopacForceHoldsRedraw = true;\r
+        myOPACShowHolds();\r
+    }\r
+}\r
+\r
diff --git a/web/opac/skin/uwin_old/js/rdetail.js b/web/opac/skin/uwin_old/js/rdetail.js
new file mode 100644 (file)
index 0000000..4b43348
--- /dev/null
@@ -0,0 +1,1033 @@
+/* */\r
+\r
+detachAllEvt('common', 'run');\r
+attachEvt("common", "run", rdetailDraw);\r
+attachEvt("rdetail", "recordDrawn", rdetailBuildStatusColumns);\r
+attachEvt("rdetail", "recordDrawn", rdetailBuildInfoRows);\r
+attachEvt("rdetail", "recordDrawn", rdetailGetPageIds);\r
+\r
+/* Per-skin configuration settings */\r
+var rdetailLocalOnly = true;\r
+var rdetailShowLocal = true;\r
+var rdetailShowCopyLocation = true;\r
+var rdetailGoogleBookPreview = true;\r
+var rdetailDisplaySerialHoldings = true;\r
+var rdetailEnableRefWorks = true;\r
+var rdetailRefWorksHost = 'http://refworks.scholarsportal.info';\r
+\r
+/* vars vars vars */\r
+var record = null;\r
+var cp_statuses = null;\r
+var recordsCache = [];\r
+\r
+var copyRowParent = null;\r
+var copyRow = null;\r
+var statusRow = null;\r
+var numStatuses = null;\r
+var defaultCN;\r
+var callnumberCache = {};\r
+var globalCNCache = {};\r
+var localTOC;\r
+var cachedRecords;\r
+var _statusPositions = {};\r
+var opac_strings;\r
+\r
+var nextContainerIndex;\r
+\r
+var nextRecord;\r
+var prevRecord;\r
+\r
+var rdetailPrev = null;\r
+var rdetailNext = null;\r
+var rdetailStart = null;\r
+var rdetailEnd = null;\r
+\r
+/* serials are currently the only use of Dojo strings in the OPAC */\r
+if (rdetailDisplaySerialHoldings) {\r
+       dojo.requireLocalization("openils.opac", "opac");\r
+       opac_strings = dojo.i18n.getLocalization("openils.opac", "opac");\r
+}\r
+\r
+function rdetailReload() {\r
+       var args = {};\r
+       args[PARAM_LOCATION] = getNewSearchLocation();\r
+       args[PARAM_DEPTH] = depthSelGetDepth();\r
+       goTo(buildOPACLink(args));\r
+}\r
+\r
+/* looks to see if we have a next and/or previous record in the\r
+   record cache, if so, set up the nav links */\r
+function rdetailSetPaging(ids) {\r
+\r
+       cachedRecords = {};\r
+       cachedRecords.ids = ids;\r
+\r
+       for( var i = 0; i < cachedRecords.ids.length; i++ ) {\r
+               var rec = cachedRecords.ids[i];\r
+               if( rec == getRid() ) {\r
+                       if( i > 0 ) prevRecord = cachedRecords.ids[i-1];\r
+                       if( i < cachedRecords.ids.length - 1 )\r
+                               nextRecord = cachedRecords.ids[i+1];\r
+                       break;\r
+               }\r
+       }\r
+\r
+       $('np_offset').appendChild(text(i + 1));\r
+       $('np_count').appendChild(text(getHitCount()));\r
+\r
+       if(prevRecord) {\r
+               unHideMe($('np_table'));\r
+               unHideMe($('np_prev'));\r
+               unHideMe($('np_start'));\r
+               rdetailPrev = function() { _rdetailNav(prevRecord); };\r
+               rdetailStart = function() { _rdetailNav(cachedRecords.ids[0]); };\r
+       }\r
+\r
+       if(nextRecord) {\r
+               unHideMe($('np_table'));\r
+               unHideMe($('np_next'));\r
+               unHideMe($('np_end'));\r
+               rdetailNext = function() { _rdetailNav(nextRecord); };\r
+               rdetailEnd = function() { _rdetailNav(cachedRecords.ids[cachedRecords.ids.length-1]); };\r
+       }\r
+\r
+       runEvt('rdetail', 'nextPrevDrawn', i, cachedRecords.ids.length);\r
+}\r
+\r
+\r
+function _rdetailNav(id, offset) {\r
+       var args = {};\r
+       args[PARAM_RID] = id;\r
+       goTo(buildOPACLink(args));\r
+}\r
+\r
+function rdetailDraw() {\r
+\r
+       detachAllEvt('common','depthChanged');\r
+       detachAllEvt('common','locationUpdated');\r
+       attachEvt('common','depthChanged', rdetailReload);\r
+       attachEvt('common','locationUpdated', rdetailReload);\r
+       attachEvt('common','holdUpdated', rdetailReload);\r
+       attachEvt('common','holdUpdateCanceled', rdetailReload);\r
+\r
+       copyRowParent = G.ui.rdetail.cp_info_row.parentNode;\r
+       copyRow = copyRowParent.removeChild(G.ui.rdetail.cp_info_row);\r
+       statusRow = G.ui.rdetail.cp_status.parentNode;\r
+       statusRow.id = '__rdsrow';\r
+\r
+       G.ui.rdetail.cp_info_local.onclick = rdetailShowLocalCopies;\r
+       G.ui.rdetail.cp_info_all.onclick = rdetailShowAllCopies;\r
+\r
+       if(getLocation() == globalOrgTree.id())\r
+               hideMe(G.ui.rdetail.cp_info_all);\r
+\r
+       var req = new Request(FETCH_RMODS, getRid());\r
+       req.callback(_rdetailDraw);\r
+       req.send();\r
+\r
+       if (rdetailDisplaySerialHoldings) {\r
+               var req = new Request(FETCH_MFHD_SUMMARY, getRid());\r
+               req.callback(_holdingsDraw);\r
+               req.send();\r
+       }\r
+\r
+       detachAllEvt("result", "idsReceived");\r
+       G.evt.result.hitCountReceived = [];\r
+       G.evt.result.recordReceived = [];\r
+       G.evt.result.copyCountsReceived = [];\r
+       G.evt.result.allRecordsReceived = [];\r
+}\r
+\r
+function rdetailGetPageIds() {\r
+       attachEvt("result", "idsReceived", rdetailSetPaging );\r
+       resultFetchAllRecords = true;\r
+       rresultCollectIds(true);\r
+}\r
+\r
+\r
+function buildunAPISpan (span, type, id) {\r
+       var cgi = new CGI();\r
+       var d = new Date();\r
+\r
+       addCSSClass(span,'unapi-id');\r
+\r
+       span.setAttribute(\r
+                       'title', 'tag:' + cgi.server_name + ',' +\r
+                       d.getFullYear() + ':' + type + '/' + id\r
+                       );\r
+}\r
+\r
+function rdetailViewMarc(r,id) {\r
+       hideMe($('rdetail_extras_loading'));\r
+       $('rdetail_view_marc_box').innerHTML = r.getResultObject();\r
+\r
+       var div = elem('div', { "class" : 'hide_me' });\r
+       var span = div.appendChild( elem('abbr') );\r
+\r
+       buildunAPISpan( span, 'biblio-record_entry', record.doc_id() );\r
+\r
+       $('rdetail_view_marc_box').insertBefore(span, $('rdetail_view_marc_box').firstChild);\r
+}\r
+\r
+\r
+function rdetailShowLocalCopies() {\r
+       rdetailShowLocal = true;\r
+       rdetailBuildInfoRows();\r
+       hideMe(G.ui.rdetail.cp_info_local);\r
+       unHideMe(G.ui.rdetail.cp_info_all);\r
+       hideMe(G.ui.rdetail.cp_info_none); \r
+}\r
+\r
+function rdetailShowAllCopies() {\r
+\r
+       rdetailShowLocal = false;\r
+       rdetailBuildInfoRows();\r
+       hideMe(G.ui.rdetail.cp_info_all);\r
+       unHideMe(G.ui.rdetail.cp_info_local);\r
+       hideMe(G.ui.rdetail.cp_info_none); \r
+}\r
+\r
+function OpenMarcEditWindow(pcrud, rec) {\r
+       /*\r
+          To run in Firefox directly, must set signed.applets.codebase_principal_support\r
+          to true in about:config\r
+        */\r
+       netscape.security.PrivilegeManager.enablePrivilege('UniversalXPConnect');\r
+       win = window.open('/xul/server/cat/marcedit.xul'); // XXX version?\r
+       dojo.require('openils.PermaCrud');\r
+\r
+       win.xulG = {\r
+               "record": {"marc": rec.marc()},\r
+               "save": {\r
+                       "label": opac_strings.SAVE_MFHD_LABEL,\r
+                       "func": function(xmlString) {\r
+                               rec.marc(xmlString);\r
+                               rec.ischanged(true);\r
+                               pcrud.update(rec);\r
+                       }\r
+               }\r
+       };\r
+}\r
+\r
+function loadMarcEditor(recId) {\r
+       var pcrud = new openils.PermaCrud({"authtoken": G.user.session});\r
+       var rec = pcrud.retrieve("sre", recId);\r
+       if (rec) {\r
+               OpenMarcEditWindow(pcrud, rec);\r
+       }\r
+}\r
+\r
+/*\r
+ * This function could be written much more intelligently\r
+ * Limited brain power means that I'm brute-forcing it for now\r
+ */\r
+function _holdingsDraw(h) {\r
+       holdings = h.getResultObject();\r
+       if (!holdings) { return null; }\r
+\r
+       dojo.forEach(holdings, _holdingsDrawMFHD);\r
+}\r
+\r
+function _holdingsDrawMFHD(holdings, entryNum) {\r
+        var here = findOrgUnit(getLocation());\r
+        if (getDepth() > 0 || getDepth === 0 ) {\r
+                while (getDepth() < findOrgDepth(here))\r
+                here = findOrgUnit( here.parent_ou() );\r
+               if (!orgIsMine(findOrgUnit(here), findOrgUnit(holdings.owning_lib()))) {\r
+                       return null;\r
+               }\r
+        }\r
+\r
+       var hh = holdings.holdings();\r
+       var hch = holdings.current_holdings();\r
+       var hs = holdings.supplements();\r
+       var hcs = holdings.current_supplements();\r
+       var hi = holdings.indexes();\r
+       var hci = holdings.current_indexes();\r
+       var ho = holdings.online();\r
+       var hm = holdings.missing();\r
+       var hinc = holdings.incomplete();\r
+       var hloc = holdings.location() || 'MFHD';\r
+\r
+       if (    hh.length == 0 && hch.length == 0 && hs.length == 0 &&\r
+               hcs.length == 0 && hi.length == 0 && hci.length == 0 &&\r
+               ho.length == 0 && hm.length == 0 && hinc.length == 0 && !isXUL()\r
+       ) {\r
+               return null;\r
+       }\r
+\r
+       dojo.place("<table style='width: 100%;'><caption id='mfhdHoldingsCaption' class='rdetail_header color_1'>" +\r
+               dojo.string.substitute(opac_strings.HOLDINGS_TABLE_CAPTION, [hloc]) +\r
+               "</caption><tbody id='rdetail_holdings_tbody_" + entryNum +\r
+               "'></tbody></table>", "rdetail_details_table", "after"\r
+       );\r
+       if (hh.length > 0) { _holdingsDrawMFHDEntry(entryNum, opac_strings.HOLDINGS, hh); }\r
+       if (hch.length > 0) { _holdingsDrawMFHDEntry(entryNum, opac_strings.CURRENT_HOLDINGS, hch); }\r
+       if (hs.length > 0) { _holdingsDrawMFHDEntry(entryNum, opac_strings.SUPPLEMENTS, hs); }\r
+       if (hcs.length > 0) { _holdingsDrawMFHDEntry(entryNum, opac_strings.CURRENT_SUPPLEMENTS, hcs); }\r
+       if (hi.length > 0) { _holdingsDrawMFHDEntry(entryNum, opac_strings.INDEXES, hi); }\r
+       if (hci.length > 0) { _holdingsDrawMFHDEntry(entryNum, opac_strings.CURRENT_INDEXES, hci); }\r
+       if (ho.length > 0) { _holdingsDrawMFHDEntry(entryNum, opac_strings.ONLINE_VOLUMES, ho); }\r
+       if (hm.length > 0) { _holdingsDrawMFHDEntry(entryNum, opac_strings.MISSING_VOLUMES, hm); }\r
+       if (hinc.length > 0) { _holdingsDrawMFHDEntry(entryNum, opac_strings.INCOMPLETE_VOLUMES, hinc); }\r
+\r
+       if (isXUL()) {\r
+               dojo.require('openils.Event');\r
+               dojo.require('openils.PermaCrud');\r
+               dojo.place("<span> - </span><a class='classic_link' href='javascript:loadMarcEditor(" +\r
+                       holdings.id() + ")'>" + opac_strings.EDIT_LABEL + "</a>", \r
+                       "mfhdHoldingsCaption", "last"\r
+               );\r
+       }\r
+}\r
+\r
+function _holdingsDrawMFHDEntry(entryNum, entryName, entry) {\r
+       var flatEntry = entry.toString().replace(/,/g, ', ');\r
+       dojo.place("<tr><td> </td><td nowrap='nowrap' class='rdetail_desc'>" + entryName + "</td><td class='rdetail_item'>" + flatEntry + "</td></tr>", "rdetail_holdings_tbody_" + entryNum, "last");\r
+}\r
+\r
+function _rdetailDraw(r) {\r
+       record = r.getResultObject();\r
+\r
+       runEvt('rdetail', 'recordRetrieved', record.doc_id());\r
+\r
+       G.ui.rdetail.title.appendChild(text(record.title()));\r
+       buildSearchLink(STYPE_AUTHOR, record.author(), G.ui.rdetail.author);\r
+       G.ui.rdetail.isbn.appendChild(text(cleanISBN(record.isbn())));\r
+       G.ui.rdetail.edition.appendChild(text(record.edition()));\r
+       G.ui.rdetail.pubdate.appendChild(text(record.pubdate()));\r
+       G.ui.rdetail.publisher.appendChild(text(record.publisher()));\r
+       $('rdetail_physical_desc').appendChild(text(record.physical_description()));\r
+       r = record.types_of_resource();\r
+       if(r) {\r
+               G.ui.rdetail.tor.appendChild(text(r[0]));\r
+               setResourcePic( G.ui.rdetail.tor_pic, r[0]);\r
+       }\r
+       G.ui.rdetail.abstr.appendChild(text(record.synopsis()));\r
+\r
+       try{\r
+               if(record.isbn()) {\r
+                       if(ENABLE_ADDED_CONTENT_ATTRIB_LINKS) {\r
+                               unHideMe($('rdetail.jacket_attrib_div'));\r
+                               var href = $('rdetail.jacket_attrib_link').getAttribute('href') +cleanISBN(record.isbn());\r
+                               $('rdetail.jacket_attrib_link').setAttribute('href', href);\r
+                       }\r
+                       rdetailCheckForGBPreview();\r
+\r
+               } else {\r
+                       hideMe($("rdetail.jacket_attrib_div"));\r
+                       hideMe($("rdetail_img_link"));\r
+               }\r
+       } catch(E) {}\r
+\r
+\r
+       // see if the record has any external links \r
+       var links = record.online_loc();\r
+       for( var i = 0; links && links.length > 0 && i < links.length; i = i + 3 ) {\r
+               var href = links[i];\r
+               // avoid matching "HTTP: The Complete Reference"\r
+               if( href.match(/https?:\/|ftps?:\/|mailto:/i) ) {\r
+                       unHideMe($('rdetail_online_row'));\r
+                       // MODS can contain a display label (used for the text of the link)\r
+                       // as well as a note about the URL; many legacy systems conflate the\r
+                       // two and generate MARC records that expect the note to be used as\r
+                       // the text of the link, with no display label; here's the canonical\r
+                       // format:\r
+                       //\r
+                       // 856 40 $uhttp://localhost$yDisplay label$zPublic note\r
+                       //\r
+                       // Note that the MARC21slim2MODS XSL concatenates $3 and $y together\r
+                       // (as $y was defined later in MARC21's life as the display label)\r
+                       var displayLabel = '' + links[i+1];\r
+                       var note = '' + links[i+2];\r
+                       if(!displayLabel || displayLabel.match(/https?:\/|ftps?:\/|mailto:/i)) {\r
+                               if(!note || note.match(/https?:\/|ftps?:\/|mailto:/i)) {\r
+                                       displayLabel = href;\r
+                               } else {\r
+                                       displayLabel = note;\r
+                               }\r
+                       }\r
+                       $('rdetail_online').appendChild(elem('a', {href:href,'class':'classic_link'}, displayLabel));\r
+                       if (note && note != displayLabel) {\r
+                               $('rdetail_online').appendChild(elem('span', {'class':'url_note'}, ' - ' + note));\r
+                       }\r
+                       $('rdetail_online').appendChild(elem('br'));\r
+               }\r
+       }\r
+\r
+       // Fill in our unAPI ID, if anyone cares\r
+       var abbrs = document.getElementsByTagName('abbr');\r
+       var span;\r
+       for (var i = 0; i < abbrs.length; i = i + 1) {\r
+               if (abbrs[i].getAttribute('name') == 'unapi') {\r
+                       span = abbrs[i];\r
+                       break;\r
+               }\r
+       }\r
+       buildunAPISpan( span, 'biblio-record_entry', record.doc_id() );\r
+\r
+       $('rdetail_place_hold').setAttribute(\r
+                       'href','javascript:holdsDrawEditor({record:"'+record.doc_id()+'",type:"T"});');\r
+\r
+       var RW = $('rdetail_exp_refworks');\r
+       if (RW && rdetailEnableRefWorks) {\r
+\r
+               var here = (findOrgUnit(getLocation())).name();\r
+               var org_name = here.replace(" ", "+");\r
+               var cgi = new CGI();\r
+\r
+               RW.setAttribute(\r
+                       'href',\r
+                       rdetailRefWorksHost + '/express/expressimport.asp?vendor='\r
+                       + org_name\r
+                       + '&filter=MARC+Format&database=All+MARC+Formats&encoding=65001&url=http%3A%2F%2F'\r
+                       + cgi.server_name + '/opac/extras/supercat/marctxt/record/'\r
+                       + record.doc_id()\r
+              );\r
+\r
+               RW.setAttribute('target', 'RefWorksMain');\r
+               unHideMe($('rdetail_exp_refworks_span'));\r
+       }\r
+\r
+       $('rdetail_img_link').setAttribute('href', buildISBNSrc(cleanISBN(record.isbn()), 'large'));\r
+       G.ui.rdetail.image.setAttribute("src", buildISBNSrc(cleanISBN(record.isbn())));\r
+       runEvt("rdetail", "recordDrawn");\r
+       recordsCache.push(record);\r
+\r
+       rdetailSetExtrasSelector();\r
+\r
+       var breq = new Request(FETCH_BRE, [getRid()]);\r
+       breq.callback( rdetailCheckDeleted );\r
+       breq.send();\r
+\r
+       resultBuildCaches( [ record ] );\r
+       resultDrawSubjects();\r
+       resultDrawSeries();\r
+\r
+       // grab added content \r
+       acCollectData(cleanISBN(record.isbn()), rdetailhandleAC);\r
+}\r
+\r
+\r
+\r
+function rdetailCheckDeleted(r) {\r
+       var br = r.getResultObject()[0];\r
+       if( isTrue(br.deleted()) ) {\r
+               hideMe($('rdetail_place_hold'));\r
+               $('rdetail_more_actions_selector').disabled = true;\r
+               unHideMe($('rdetail_deleted_exp'));\r
+       }\r
+}\r
+\r
+function rdetailSetExtrasSelector() {\r
+       if(!grabUser()) return;\r
+       unHideMe($('rdetail_more_actions'));\r
+\r
+       var req = new Request( \r
+                       FETCH_CONTAINERS, G.user.session, G.user.id(), 'biblio', 'bookbag' );\r
+       req.callback(rdetailAddBookbags);\r
+       req.send();\r
+}\r
+\r
+function rdetailAddBookbags(r) {\r
+\r
+       var containers = r.getResultObject();\r
+       var selector = $('rdetail_more_actions_selector');\r
+       var found = false;\r
+       var index = 3;\r
+       doSelectorActions(selector);\r
+\r
+       for( var i = 0; i != containers.length; i++ ) {\r
+               found = true;\r
+               var container = containers[i];\r
+               insertSelectorVal( selector, index++, container.name(), \r
+                               "container_" + container.id(), rdetailAddToBookbag,  1 );\r
+       }\r
+\r
+       nextContainerIndex = index;\r
+}\r
+\r
+var _actions = {};\r
+function rdetailNewBookbag() {\r
+       var name = prompt($('rdetail_bb_new').innerHTML,"");\r
+       if(!name) return;\r
+\r
+       var id;\r
+       if( id = containerCreate( name ) ) {\r
+               alert($('rdetail_bb_success').innerHTML);\r
+               var selector = $('rdetail_more_actions_selector');\r
+               insertSelectorVal( selector, nextContainerIndex++, name, \r
+                               "container_" + id, rdetailAddToBookbag, 1 );\r
+               setSelector( selector, 'start' );\r
+       }\r
+}\r
+\r
+\r
+function rdetailAddToBookbag() {\r
+       var selector = $('rdetail_more_actions_selector');\r
+       var id = selector.options[selector.selectedIndex].value;\r
+       setSelector( selector, 'start' );\r
+\r
+       if( containerCreateItem( id.substring(10), record.doc_id() )) {\r
+               alert($('rdetail_bb_item_success').innerHTML);\r
+       }\r
+}\r
+\r
+\r
+var rdetailMarcFetched = false;\r
+function rdetailShowExtra(type, args) {\r
+\r
+       hideMe($('rdetail_copy_info_div'));\r
+       hideMe($('rdetail_reviews_div'));\r
+       hideMe($('rdetail_toc_div'));\r
+       hideMe($('rdetail_anotes_div'));\r
+       hideMe($('rdetail_excerpt_div'));\r
+       hideMe($('rdetail_preview_div'));\r
+       hideMe($('rdetail_marc_div'));\r
+       hideMe($('cn_browse'));\r
+       hideMe($('rdetail_cn_browse_div'));\r
+       hideMe($('rdetail_notes_div'));\r
+\r
+       removeCSSClass($('rdetail_copy_info_link'), 'rdetail_extras_selected');\r
+       removeCSSClass($('rdetail_viewcn_link'), 'rdetail_extras_selected');\r
+       removeCSSClass($('rdetail_reviews_link'), 'rdetail_extras_selected');\r
+       removeCSSClass($('rdetail_toc_link'), 'rdetail_extras_selected');\r
+       removeCSSClass($('rdetail_excerpt_link'), 'rdetail_extras_selected');\r
+       removeCSSClass($('rdetail_preview_link'), 'rdetail_extras_selected');\r
+       removeCSSClass($('rdetail_anotes_link'), 'rdetail_extras_selected');\r
+       removeCSSClass($('rdetail_annotation_link'), 'rdetail_extras_selected');\r
+       removeCSSClass($('rdetail_viewmarc_link'), 'rdetail_extras_selected');\r
+\r
+       switch(type) {\r
+\r
+               case "copyinfo": \r
+                       unHideMe($('rdetail_copy_info_div')); \r
+                       addCSSClass($('rdetail_copy_info_link'), 'rdetail_extras_selected');\r
+                       break;\r
+\r
+               case "reviews": \r
+                       addCSSClass($('rdetail_reviews_link'), 'rdetail_extras_selected');\r
+                       unHideMe($('rdetail_reviews_div')); \r
+                       break;\r
+\r
+               case "excerpt": \r
+                       addCSSClass($('rdetail_excerpt_link'), 'rdetail_extras_selected');\r
+                       unHideMe($('rdetail_excerpt_div'));\r
+                       break;\r
+\r
+               case "preview": \r
+                       addCSSClass($('rdetail_preview_link'), 'rdetail_extras_selected');\r
+                       unHideMe($('rdetail_preview_div'));\r
+                       rdetailDisplayGBPreview();\r
+                       break;\r
+\r
+               case "anotes": \r
+                       addCSSClass($('rdetail_anotes_link'), 'rdetail_extras_selected');\r
+                       unHideMe($('rdetail_anotes_div'));\r
+                       break;\r
+\r
+               case "toc": \r
+                       addCSSClass($('rdetail_toc_link'), 'rdetail_extras_selected');\r
+                       unHideMe($('rdetail_toc_div'));\r
+                       break;\r
+\r
+               case "marc": \r
+                       addCSSClass($('rdetail_viewmarc_link'), 'rdetail_extras_selected');\r
+                       unHideMe($('rdetail_marc_div')); \r
+                       if(rdetailMarcFetched) return;\r
+                       unHideMe($('rdetail_extras_loading'));\r
+                       rdetailMarcFetched = true;\r
+                       var req = new Request( FETCH_MARC_HTML, record.doc_id() );\r
+                       req.callback(rdetailViewMarc); \r
+                       req.send();\r
+                       break;\r
+\r
+               case 'cn':\r
+                       addCSSClass($('rdetail_viewcn_link'), 'rdetail_extras_selected');\r
+                       unHideMe($('rdetail_cn_browse_div'));\r
+                       rdetailShowCNBrowse(defaultCN, getLocation(), null, true);\r
+                       break;\r
+\r
+       }\r
+}\r
+\r
+function rdetailVolumeDetails(args) {\r
+       var row = $(args.rowid);\r
+       var tbody = row.parentNode;\r
+       cpdBuild( tbody, row, record, args.cn, args.org, args.depth, args.copy_location );\r
+       return;\r
+}\r
+\r
+function rdetailBuildCNList() {\r
+\r
+       var select = $('cn_browse_selector');\r
+       var index = 0;\r
+       var arr = [];\r
+       for( var cn in callnumberCache ) arr.push( cn );\r
+       arr.sort();\r
+\r
+       if( arr.length == 0 ) {\r
+               hideMe($('rdetail_cn_browse_select_div'));\r
+               return;\r
+       }\r
+\r
+       for( var i in arr ) {\r
+               var cn = arr[i];\r
+               var opt = new Option(cn);\r
+               select.options[index++] = opt;\r
+       }\r
+       select.onchange = rdetailGatherCN;\r
+}\r
+\r
+function rdetailGatherCN() {\r
+       var cn = getSelectorVal($('cn_browse_selector'));\r
+       rdetailShowCNBrowse( cn, getLocation(), getDepth(), true );\r
+       setSelector( $('cn_browse_selector'), cn );\r
+}\r
+\r
+\r
+function rdetailShowCNBrowse( cn, loc, depth, fromOnclick ) {\r
+\r
+       if(!cn) {\r
+               unHideMe($('cn_browse_none'));\r
+               hideMe($('rdetail_cn_browse_select_div'));\r
+               return;\r
+       }\r
+\r
+       unHideMe($('rdetail_cn_browse_select_div'));\r
+       rdetailBuildCNList();\r
+       setSelector( $('cn_browse_selector'), cn );\r
+       hideMe($('rdetail_copy_info_div'));\r
+       hideMe($('rdetail_reviews_div'));\r
+       hideMe($('rdetail_toc_div'));\r
+       hideMe($('rdetail_marc_div'));\r
+       unHideMe($('rdetail_cn_browse_div'));\r
+       unHideMe($('cn_browse'));\r
+       if( !rdetailLocalOnly && ! fromOnclick ) depth = findOrgDepth(globalOrgTree);\r
+       cnBrowseGo(cn, loc, depth);\r
+}\r
+\r
+function rdetailhandleAC(data) {\r
+\r
+       if( data.reviews.html ) {\r
+               $('rdetail_review_container').innerHTML = data.reviews.html;\r
+               unHideMe($('rdetail_reviews_link'));\r
+       }\r
+\r
+       if( data.toc.html ) {\r
+               $('rdetail_toc_div').innerHTML = data.toc.html;\r
+               unHideMe($('rdetail_toc_link'));\r
+       }\r
+\r
+       if( data.excerpt.html ) {\r
+               $('rdetail_excerpt_div').innerHTML = data.excerpt.html;\r
+               unHideMe($('rdetail_excerpt_link'));\r
+       }\r
+\r
+       if( data.anotes.html ) {\r
+               $('rdetail_anotes_div').innerHTML = data.anotes.html;\r
+               unHideMe($('rdetail_anotes_link'));\r
+       }\r
+}\r
+\r
+function rdetailShowReviews(r) {\r
+       hideMe($('rdetail_extras_loading'));\r
+       var res = r.getResultObject();\r
+       var par = $('rdetail_reviews_div');\r
+       var template = par.removeChild($('rdetail_review_template'));\r
+       if( res && res.length > 0 ) {\r
+               unHideMe($('rdetail_reviews_link'));\r
+               for( var i = 0; i != res.length; i++ ) {\r
+                       var rev = res[i];       \r
+                       if( rev.text && rev.info ) {\r
+                               var node = template.cloneNode(true);\r
+                               $n(node, 'review_header').appendChild(text(rev.info));\r
+                               $n(node, 'review_text').appendChild(text(rev.text));\r
+                               par.appendChild(node);\r
+                       }\r
+               }\r
+       }\r
+}\r
+\r
+\r
+function rdetailShowTOC(r) {\r
+       hideMe($('rdetail_extras_loading'));\r
+       var resp = r.getResultObject();\r
+       if(resp) {\r
+               unHideMe($('rdetail_toc_link'));\r
+               $('rdetail_toc_div').innerHTML = resp;\r
+       }\r
+}\r
+\r
+function rdetailBuildInfoRows() {\r
+       var req;\r
+       var method = FETCH_COPY_COUNTS_SUMMARY;\r
+       if (rdetailShowCopyLocation)\r
+               method = FETCH_COPY_LOCATION_COUNTS_SUMMARY;\r
+\r
+       if( rdetailShowLocal ) \r
+               req = new Request(method, record.doc_id(), getLocation(), getDepth())\r
+       else\r
+               req = new Request(method, record.doc_id());\r
+       req.callback(_rdetailBuildInfoRows);\r
+       req.send();\r
+}\r
+\r
+function _rdetailRows(node) {\r
+\r
+       if( rdetailShowLocal && getLocation() != globalOrgTree.id() ) {\r
+               var loc = findOrgUnit(getLocation());\r
+               if( node ) {\r
+                       if( !orgIsMine(node, loc) && !orgIsMine(loc,node) ) return;\r
+               } else {\r
+                       for( var i = 0; i < globalOrgTree.children().length; i++ ) {\r
+                               var org = findOrgUnit(globalOrgTree.children()[i]);\r
+                               if( orgIsMine(org, loc) ) {\r
+                                       node = org;\r
+                                       break;\r
+                               }\r
+                       }\r
+               } \r
+       }\r
+\r
+       if(!node && findOrgType(globalOrgTree.ou_type()).can_have_vols())\r
+               node = globalOrgTree;\r
+\r
+\r
+       /* don't show hidden orgs */\r
+\r
+       if(node) {\r
+\r
+               if(!isXUL() && !isTrue(node.opac_visible())) return;\r
+\r
+               var row = copyRow.cloneNode(true);\r
+               row.id = "cp_info_" + node.id();\r
+\r
+               var libtd = findNodeByName( row, config.names.rdetail.lib_cell );\r
+               var cntd  = findNodeByName( row, config.names.rdetail.cn_cell );\r
+               var cpctd = findNodeByName( row, config.names.rdetail.cp_count_cell );\r
+               var actions = $n(row, 'rdetail_actions_cell');\r
+\r
+               var p = libtd.getElementsByTagName('a')[0];\r
+               libtd.insertBefore(text(node.name()), p);\r
+               libtd.setAttribute("style", "padding-left: " + ((findOrgDepth(node) - 1)  * 9) + "px;");\r
+\r
+               if(!findOrgType(node.ou_type()).can_have_vols()) {\r
+\r
+                       row.removeChild(cntd);\r
+                       row.removeChild(cpctd);\r
+                       row.removeChild(actions);\r
+                       row.setAttribute('novols', '1');\r
+\r
+                       libtd.setAttribute("colspan", numStatuses + 3 );\r
+                       libtd.colSpan = numStatuses + 3;\r
+                       addCSSClass(row, 'copy_info_region_row');\r
+               } \r
+\r
+               copyRowParent.appendChild(row);\r
+\r
+       } else { node = globalOrgTree; }\r
+\r
+       for( var c in node.children() ) \r
+               _rdetailRows(node.children()[c]);\r
+}\r
+\r
+function rdetailCNPrint(orgid, cn) {\r
+       var div = cpdBuildPrintWindow( record, orgid);\r
+       var template = div.removeChild($n(div, 'cnrow'));\r
+       var rowNode = $("cp_info_" + orgid);\r
+       cpdStylePopupWindow(div);\r
+       openWindow(div.innerHTML);\r
+}\r
+\r
+var localCNFound = false;\r
+var ctr = 0;\r
+function _rdetailBuildInfoRows(r) {\r
+\r
+       if (rdetailShowCopyLocation)\r
+               unHideMe( $n( $('rdetail_copy_info_table'), 'rdetail_copylocation_header' ) );\r
+\r
+       removeChildren(copyRowParent);\r
+\r
+       _rdetailRows();\r
+\r
+       var summary = r.getResultObject();\r
+       if(!summary) return;\r
+\r
+       var found = false;\r
+       for( var i = 0; i < summary.length; i++ ) {\r
+\r
+               var arr = summary[i];\r
+               globalCNCache[arr[1]] = 1;\r
+               var thisOrg = findOrgUnit(arr[0]);\r
+               var rowNode = $("cp_info_" + thisOrg.id());\r
+               if(!rowNode) continue;\r
+\r
+               if(rowNode.getAttribute("used")) {\r
+\r
+                       if( rowNode.nextSibling ) {\r
+                               sib = rowNode.nextSibling;\r
+                               o ='cp_info_'+thisOrg.id()+'_';\r
+                               /* push the new row on as the last row for this org unit */\r
+                               while( sib && sib.id.match(o) ) {\r
+                                       sib = sib.nextSibling;\r
+                               }\r
+                               if(sib)\r
+                                       rowNode = copyRowParent.insertBefore(copyRow.cloneNode(true), sib);\r
+                               else\r
+                                       rowNode = copyRowParent.appendChild(copyRow.cloneNode(true));\r
+                       } else {\r
+                               rowNode = copyRowParent.appendChild(copyRow.cloneNode(true));\r
+                       }\r
+\r
+                       var n = findNodeByName( rowNode, config.names.rdetail.lib_cell );\r
+                       n.appendChild(text(thisOrg.name()));\r
+                       n.setAttribute("style", "padding-left: " + ((findOrgDepth(thisOrg) - 1)  * 9) + "px;");\r
+                       rowNode.id = "cp_info_" + thisOrg.id() + '_' + (++ctr); \r
+\r
+               } else {\r
+                       rowNode.setAttribute("used", "1");\r
+               }\r
+\r
+               var cpc_temp = rowNode.removeChild(\r
+                               findNodeByName(rowNode, config.names.rdetail.cp_count_cell));\r
+\r
+               var statuses = arr[2];\r
+               var cl = '';\r
+               if (rdetailShowCopyLocation) {\r
+                       cl = arr[2];\r
+                       statuses = arr[3];\r
+               }\r
+\r
+\r
+               rdetailApplyStatuses(rowNode, cpc_temp, statuses);\r
+\r
+               var isLocal = false;\r
+               if( orgIsMine( findOrgUnit(getLocation()), thisOrg ) ) { \r
+                       found = true; \r
+                       isLocal = true; \r
+                       if(!localCNFound) {\r
+                               localCNFound = true;\r
+                               defaultCN = arr[1];\r
+                       }\r
+               }\r
+\r
+               //if(isLocal) unHideMe(rowNode);\r
+               unHideMe(rowNode);\r
+\r
+               rdetailSetPath( thisOrg, isLocal );\r
+               rdetailBuildBrowseInfo( rowNode, arr[1], isLocal, thisOrg, cl );\r
+\r
+               if( i == summary.length - 1 && !defaultCN) defaultCN = arr[1];\r
+       }\r
+\r
+       if(!found) unHideMe(G.ui.rdetail.cp_info_none);\r
+}\r
+\r
+function rdetailBuildBrowseInfo(row, cn, local, orgNode, cl) {\r
+\r
+       if(local) {\r
+               var cache = callnumberCache[cn];\r
+               if( cache ) cache.count++;\r
+               else callnumberCache[cn] = { count : 1 };\r
+       }\r
+\r
+       var depth = getDepth();\r
+       if( !local ) depth = findOrgDepth(globalOrgTree);\r
+\r
+       $n(row, 'rdetail_callnumber_cell').appendChild(text(cn));\r
+\r
+       if (rdetailShowCopyLocation) {\r
+               var cl_cell = $n(row, 'rdetail_copylocation_cell');\r
+               cl_cell.appendChild(text(cl));\r
+               unHideMe(cl_cell);\r
+       }\r
+\r
+       _debug('setting action clicks for cn ' + cn);\r
+\r
+       var dHref = 'javascript:rdetailVolumeDetails('+\r
+                       '{copy_location : "'+cl+'", rowid : "'+row.id+'", cn :"'+cn+'", depth:"'+depth+'", org:"'+orgNode.id()+'", local: '+local+'});';\r
+\r
+       var bHref = 'javascript:rdetailShowCNBrowse("' + cn + '", '+orgNode.id()+', "'+depth+'");'; \r
+\r
+       unHideMe( $n(row, 'details') )\r
+               $n(row, 'details').setAttribute('href', dHref);\r
+       unHideMe( $n(row, 'browse') )\r
+               $n(row, 'browse').setAttribute('href', bHref);\r
+\r
+       if(isXUL()) {\r
+               unHideMe($n(row, 'hold_div'));\r
+               $n(row, 'hold').onclick = function() {\r
+                       var req = new Request(FETCH_VOLUME_BY_INFO, cn, record.doc_id(), orgNode.id());\r
+                       req.callback(\r
+                                       function(r) {\r
+                                       var vol = r.getResultObject();\r
+                                       holdsDrawEditor({type: 'V', volumeObject : vol});\r
+                                       }\r
+                                   );\r
+                       req.send();\r
+               };\r
+       }\r
+}\r
+\r
+// sets the path to org as 'active' and displays the path if it's local \r
+function rdetailSetPath(org, local) {\r
+       if( findOrgDepth(org) == 0 ) return;\r
+       var row = $("cp_info_" + org.id());\r
+       row.setAttribute("hasinfo", "1");\r
+       unHideMe(row);\r
+       rdetailSetPath(findOrgUnit(org.parent_ou()), local);\r
+}\r
+\r
+//Append all the statuses for a given summary to the \r
+//copy summary table \r
+function rdetailApplyStatuses( row, template, statuses ) {\r
+       for( var j in _statusPositions ) {\r
+               var stat = _statusPositions[j];\r
+               var val = statuses[stat.id()];\r
+               var nn = template.cloneNode(true);\r
+               if(val) nn.appendChild(text(val));\r
+               else nn.appendChild(text(0));\r
+               row.appendChild(nn);\r
+       }\r
+}\r
+\r
+//Add one td (creating a new column) to the copy summary\r
+//table for each opac_visible copy status\r
+function rdetailBuildStatusColumns() {\r
+\r
+       rdetailGrabCopyStatuses();\r
+       var parent = statusRow;\r
+       var template = parent.removeChild(G.ui.rdetail.cp_status);\r
+\r
+       var i = 0;\r
+       for( i = 0; i < cp_statuses.length; i++ ) {\r
+\r
+               var c = cp_statuses[i];\r
+               if( c && isTrue(c.opac_visible()) ) {\r
+                       var name = c.name();\r
+                       _statusPositions[i] = c;\r
+                       var node = template.cloneNode(true);\r
+                       var data = findNodeByName( node, config.names.rdetail.cp_status);\r
+\r
+                       data.appendChild(text(name));\r
+                       parent.appendChild(node);\r
+               }\r
+       }       \r
+\r
+       numStatuses = 0;\r
+       for(x in _statusPositions) numStatuses++; \r
+}\r
+\r
+function rdetailGrabCopyStatuses() {\r
+       if(cp_statuses) return cp_statuses;\r
+       var req = new Request(FETCH_COPY_STATUSES);\r
+       req.send(true);\r
+       cp_statuses = req.result();\r
+       cp_statuses = cp_statuses.sort(_rdetailSortStatuses);\r
+}\r
+\r
+function _rdetailSortStatuses(a, b) {\r
+       return parseInt(a.id()) - parseInt(b.id());\r
+}\r
+\r
+/**\r
+ * Check for a Google Book preview \r
+ */\r
+function rdetailCheckForGBPreview() {\r
+       if (!rdetailGoogleBookPreview) return;\r
+       searchForGBPreview( cleanISBN(record.isbn()) );\r
+}\r
+\r
+/**\r
+ *\r
+ * @param {DOM object} query The form element containing the\r
+ *                     input parameters "isbns"\r
+ */\r
+function searchForGBPreview( isbn ) {\r
+\r
+       // Delete any previous Google Booksearch JSON queries.\r
+       var GBPJsonScript = document.getElementById("GBPJsonScript");\r
+       if (GBPJsonScript) {\r
+               GBPJsonScript.parentNode.removeChild(GBPJsonScript);\r
+       }\r
+\r
+       // Add a script element with the src as the user's Google Booksearch query. \r
+       // JSON output is specified by including the alt=json-in-script argument\r
+       // and the callback function is also specified as a URI argument.\r
+       var GBPScriptElement = document.createElement("script");\r
+\r
+       GBPScriptElement.setAttribute("id", "GBPJsonScript");\r
+       GBPScriptElement.setAttribute("src",\r
+                       "http://books.google.com/books?bibkeys=" + \r
+                       isbn + "&jscmd=viewapi&callback=GBPreviewCallback");\r
+       GBPScriptElement.setAttribute("type", "text/javascript");\r
+\r
+       // make the request to Google booksearch\r
+       document.documentElement.firstChild.appendChild(GBPScriptElement);\r
+}\r
+\r
+/**\r
+ * This function is the call-back function for the JSON scripts which \r
+ * executes a Google book search response.\r
+ *\r
+ * XXX I18N of text needed\r
+ *\r
+ * @param {JSON} booksInfo is the JSON object pulled from the Google books service.\r
+ */\r
+function GBPreviewCallback(GBPBookInfo) {\r
+       var GBPreviewDiv = document.getElementById("rdetail_preview_div");\r
+       var GBPBook;\r
+\r
+       for ( i in GBPBookInfo ) {\r
+               GBPBook = GBPBookInfo[i];\r
+       }\r
+\r
+       if ( !GBPBook ) {\r
+               return;\r
+       }\r
+\r
+       if ( GBPBook.preview != "noview" ) {\r
+               if ( GBPBook.preview == 'full' ) {\r
+                       setText( $('rdetail_preview_link'), $('rdetail_preview_full_text').innerHTML );\r
+                       $('rdetail_preview_link_a').title = $('rdetail_preview_title').innerHTML;      \r
+               }\r
+\r
+               // Add a button below the book cover image to load the preview.\r
+//             GBPBadge = document.createElement( 'img' );\r
+//             GBPBadge.src = 'http://books.google.com/intl/en/googlebooks/images/gbs_preview_button1.gif';\r
+//             GBPBadge.title = $('rdetail_preview_badge').innerHTML;\r
+//             GBPBadge.style.border = 0;\r
+//             GBPBadgelink = document.createElement( 'a' );\r
+//             GBPBadgelink.href = 'javascript:rdetailShowExtra("preview");';\r
+//             GBPBadgelink.appendChild( GBPBadge );\r
+//             $('rdetail_image_cell').appendChild( GBPBadgelink );\r
+//             $('rdetail_preview_div').style.height = 600;\r
+\r
+               /* Display the "Preview" tab in the Extras section */\r
+               unHideMe( $('rdetail_preview_link' ) );\r
+       }\r
+}\r
+\r
+/**\r
+ *  This is called when the user clicks on the 'Preview' link.  We assume\r
+ *  a preview is available from Google if this link was made visible.\r
+ *\r
+ * XXX I18N of Google Book Preview language attribute needed\r
+ */\r
+function rdetailDisplayGBPreview() {\r
+       unHideMe($('rdetail_extras_loading'));\r
+       GBPreviewPane = $('rdetail_preview_div');\r
+       if ( GBPreviewPane.getAttribute('loaded') == null ||\r
+               GBPreviewPane.getAttribute('loaded') == "false" ) {\r
+               google.load("books", "0", {"callback" : rdetailGBPViewerLoadCallback, "language": "en"} );\r
+               GBPreviewPane.setAttribute('loaded', 'true');\r
+       }\r
+}\r
+\r
+function rdetailGBPViewerLoadCallback() {\r
+       hideMe($('rdetail_extras_loading'));\r
+       var GBPViewer = new google.books.DefaultViewer(document.getElementById('rdetail_preview_div'));\r
+       GBPViewer.load('ISBN:' + cleanISBN(record.isbn()) );\r
+\r
+}\r
diff --git a/web/opac/skin/uwin_old/js/result_common.js b/web/opac/skin/uwin_old/js/result_common.js
new file mode 100644 (file)
index 0000000..65faf8f
--- /dev/null
@@ -0,0 +1,770 @@
+
+var recordsHandled = 0;
+var recordsCache = [];
+var lowHitCount = 4;
+var isbnList = '';
+var googleBooksLink = false;
+var enableHoldsOnAvailable = false;
+
+var resultFetchAllRecords = false;
+var resultCompiledSearch = null;
+
+/* set up the event handlers */
+if( findCurrentPage() == MRESULT || findCurrentPage() == RRESULT ) {
+       G.evt.result.hitCountReceived.push(resultSetHitInfo);
+       G.evt.result.recordReceived.push(resultDisplayRecord, resultAddCopyCounts);
+       G.evt.result.copyCountsReceived.push(resultDisplayCopyCounts);
+       G.evt.result.allRecordsReceived.push(resultBuildCaches, resultDrawSubjects, 
+      resultDrawAuthors, resultDrawSeries, function(){unHideMe($('result_info_2'))},
+         fetchGoogleBooksLink);
+
+       attachEvt('result','lowHits',resultLowHits);
+       attachEvt('result','zeroHits',resultZeroHits);
+       attachEvt( "common", "locationUpdated", resultSBSubmit );
+       /* do this after we have ID's so the rank for mr pages will be correct */
+       attachEvt("result", "preCollectRecords", resultPaginate);
+}
+
+function resultSBSubmit(){searchBarSubmit();}
+
+/* returns the last 'index' postion ocurring in this page */
+function resultFinalPageIndex() {
+       if(getHitCount() < (getOffset() + getDisplayCount())) 
+               return getHitCount() - 1;
+       return getOffset() + getDisplayCount() - 1;
+}
+
+
+
+
+/* generic search method */
+function resultCollectSearchIds( type, method, handler ) {
+
+       var sort                = (getSort() == SORT_TYPE_REL) ? null : getSort(); 
+       var sortdir = (sort) ? ((getSortDir()) ? getSortDir() : SORT_DIR_ASC) : null;
+
+       var item_type;
+       var item_form;
+       var args = {};
+
+       if( type ) {
+               var form = parseForm(getForm());
+               item_type = form.item_type;
+               item_form = form.item_form;
+
+       } else {
+               item_type = (getItemType()) ? getItemType().split(/,/) : null;
+               item_form = (getItemForm()) ? getItemForm().split(/,/) : null;
+       }
+
+       var limit = (resultFetchAllRecords) ? 1000 : getDisplayCount();
+
+       if( getOffset() > 0 ) {
+               if( getHitCount() > 0 && (getOffset() + getDisplayCount()) > getHitCount() ) 
+                       limit = getHitCount() - getOffset();
+       }
+
+       var lasso = getLasso();
+
+       if (lasso) args.org_unit = -lasso;
+       else args.org_unit = getLocation();
+
+       args.depth    = getDepth();
+       args.limit    = limit;
+       args.offset   = getOffset();
+       args.visibility_limit = 3000;
+    args.default_class = getStype();
+
+       if(sort) args.sort = sort;
+       if(sortdir) args.sort_dir = sortdir;
+       if(item_type) args.item_type    = item_type;
+       if(item_form) args.item_form    = item_form;
+    if(getAvail()) args.available = 1;
+
+
+       if(getAudience()) args.audience  = getAudience().split(/,/);
+       if(getLitForm()) args.lit_form  = getLitForm().split(/,/);
+       if(getLanguage()) args.language = getLanguage().split(/,/);
+       if(getBibLevel()) args.bib_level        = getBibLevel().split(/,/);
+       if(getCopyLocs()) args.locations        = getCopyLocs().split(/,/);
+    if(getPubdBefore()) args.before = getPubdBefore();
+    else if(getPubdAfter()) args.after = getPubdAfter();
+    else if(getPubdBetween()) args.between = getPubdBetween().split(/,/);
+
+       _debug('Search args: ' + js2JSON(args));
+       _debug('Raw query: ' + getTerm());
+
+       var req = new Request(method, args, getTerm(), 1);
+       req.callback(handler);
+       req.send();
+}
+
+
+
+
+
+/* set the search result info, number of hits, which results we're 
+       displaying, links to the next/prev pages, etc. */
+function resultSetHitInfo() { 
+
+       var lasso = getLasso();
+       if (!lasso) {
+               /* tell the user where the results are coming from */
+               var baseorg = findOrgUnit(getLocation());
+               var depth = getDepth();
+               var mydepth = findOrgDepth(baseorg);
+               if( findOrgDepth(baseorg) != depth ) {
+                       var tmporg = baseorg;
+                       while( mydepth > depth ) {
+                               mydepth--;
+                               tmporg = findOrgUnit(tmporg.parent_ou());
+                       }
+                       unHideMe($('including_results_for'));
+                       $('including_results_location').appendChild(text(tmporg.name()));
+               }
+       }
+
+
+       try{searchTimer.stop()}catch(e){}
+
+       //if( findCurrentPage() == MRESULT ) {
+       if( findCurrentPage() == MRESULT || 
+
+               (findCurrentPage() == RRESULT &&
+                       (
+                               getRtype() == RTYPE_TITLE ||
+                               getRtype() == RTYPE_AUTHOR ||
+                               getRtype() == RTYPE_SUBJECT ||
+                               getRtype() == RTYPE_SERIES ||
+                               getRtype() == RTYPE_KEYWORD 
+                       )
+
+               ) ) {
+
+               if(getHitCount() <= lowHitCount && getTerm())
+                       runEvt('result', 'lowHits');
+       }
+
+       if(getHitCount() == 0) {
+               runEvt('result', 'zeroHits');
+               return;
+       }
+
+
+       var pages = getHitCount() / getDisplayCount();
+       if(pages % 1) pages = parseInt(pages) + 1;
+
+       
+
+       var cpage = (getOffset()/getDisplayCount()) + 1;
+
+       G.ui.result.current_page.appendChild(text(cpage));
+       G.ui.result.num_pages.appendChild(text(pages + ")")); /* the ) is dumb */
+
+       $('current_page2').appendChild(text(cpage));
+       $('num_pages2').appendChild(text(pages + ")")); /* the ) is dumb */
+
+       /* set the offsets */
+       var offsetEnd = getDisplayCount() + getOffset();  
+       if( getDisplayCount() > (getHitCount() - getOffset()))  
+               offsetEnd = getHitCount();
+
+       G.ui.result.offset_end.appendChild(text(offsetEnd));
+       G.ui.result.offset_start.appendChild(text(getOffset() + 1));
+
+       $('offset_end2').appendChild(text(offsetEnd));
+       $('offset_start2').appendChild(text(getOffset() + 1));
+
+       G.ui.result.result_count.appendChild(text(getHitCount()));
+       unHideMe(G.ui.result.info);
+
+       $('result_count2').appendChild(text(getHitCount()));
+       unHideMe($('result_info_div2'));
+}
+
+function resultLowHits() {
+       showCanvas();
+       unHideMe($('result_low_hits'));
+       if(getHitCount() > 0)
+               unHideMe($('result_low_hits_msg'));
+
+    var words = [];
+    for(var key in resultCompiledSearch.searches) 
+        words.push(resultCompiledSearch.searches[key].term);
+
+       var sreq = new Request(CHECK_SPELL, words.join(' '));
+       sreq.callback(resultSuggestSpelling);
+       sreq.send();
+
+    for(var key in resultCompiledSearch.searches) {
+               var areq = new Request(FETCH_CROSSREF, key, resultCompiledSearch.searches[key].term);
+               areq.callback(resultLowHitXRef);
+               areq.send();
+       }
+
+       if( !(getForm() == null || getForm() == 'all' || getForm() == "") ) {
+               var a = {};
+               a[PARAM_FORM] = "all";
+               $('low_hits_remove_format_link').setAttribute('href',buildOPACLink(a));
+               unHideMe($('low_hits_remove_format'));
+       }
+
+       resultSuggestSearchClass();
+
+       if(getTerm()) resultExpandSearch(); /* advanced search */
+}
+
+var lowHitsXRefSet = {};
+var lowHitsXRefLink;
+var lowHitsXRefLinkParent;
+function resultLowHitXRef(r) {
+       if(!lowHitsXRefLink){
+               lowHitsXRefLinkParent = $('low_hits_xref_link').parentNode;
+               lowHitsXRefLink = lowHitsXRefLinkParent.removeChild($('low_hits_xref_link'));
+       }
+       var res = r.getResultObject();
+       var arr = res.from;
+       arr.concat(res.also);
+       if(arr && arr.length > 0) {
+               unHideMe($('low_hits_cross_ref'));
+               var word;
+               var c = 0;
+               while( word = arr.shift() ) {
+
+            if (lowHitsXRefSet[word] == 1) continue;
+            lowHitsXRefSet[word] = 1;
+
+                       if(c++ > 20) break;
+                       var a = {};
+                       a[PARAM_TERM] = word;
+                       var template = lowHitsXRefLink.cloneNode(true);
+                       template.setAttribute('href',buildOPACLink(a));
+                       template.appendChild(text(word));
+                       lowHitsXRefLinkParent.appendChild(template);
+                       lowHitsXRefLinkParent.appendChild(text(' '));
+               }
+       }
+}
+
+function resultZeroHits() {
+       showCanvas();
+       unHideMe($('result_low_hits'));
+       unHideMe($('result_zero_hits_msg'));
+       //if(getTerm()) resultExpandSearch(); /* advanced search */
+}
+
+function resultExpandSearch() {
+       var top = findOrgDepth(globalOrgTree);
+       if(getDepth() == top) return;
+       unHideMe($('low_hits_expand_range'));
+       var par = $('low_hits_expand_link').parentNode;
+       var template = par.removeChild($('low_hits_expand_link'));
+
+       var bottom = getDepth();
+       while( top < bottom ) {
+               var a = {};
+               a[PARAM_DEPTH] = top;
+               var temp = template.cloneNode(true);
+               temp.appendChild(text(findOrgTypeFromDepth(top).opac_label()))
+               temp.setAttribute('href',buildOPACLink(a));
+               par.appendChild(temp);
+               top++;
+       }
+}
+
+function resultSuggestSearchClass() {
+       var stype = getStype();
+       if(stype == STYPE_KEYWORD) return;
+       var a = {}; var ref;
+       unHideMe($('low_hits_search_type'));
+       if(stype != STYPE_TITLE) {
+               ref = $('low_hits_title_search');
+               unHideMe(ref);
+               a[PARAM_STYPE] = STYPE_TITLE;
+               ref.setAttribute('href',buildOPACLink(a));
+       }
+       if(stype != STYPE_AUTHOR) {
+               ref = $('low_hits_author_search');
+               unHideMe(ref);
+               a[PARAM_STYPE] = STYPE_AUTHOR;
+               ref.setAttribute('href',buildOPACLink(a));
+       }
+       if(stype != STYPE_SUBJECT) {
+               ref = $('low_hits_subject_search');
+               unHideMe(ref);
+               a[PARAM_STYPE] = STYPE_SUBJECT;
+               ref.setAttribute('href',buildOPACLink(a));
+       }
+       if(stype != STYPE_KEYWORD) {
+               ref = $('low_hits_keyword_search');
+               unHideMe(ref);
+               a[PARAM_STYPE] = STYPE_KEYWORD;
+               ref.setAttribute('href',buildOPACLink(a));
+       }
+       if(stype != STYPE_SERIES) {
+               ref = $('low_hits_series_search');
+               unHideMe(ref);
+               a[PARAM_STYPE] = STYPE_SERIES;
+               ref.setAttribute('href',buildOPACLink(a));
+       }
+}
+
+function resultSuggestSpelling(r) {
+       var res = r.getResultObject();
+       var phrase = getTerm();
+       var words = phrase.split(/ /);
+
+       var newterm = "";
+
+       for( var w = 0; w < words.length; w++ ) {
+               var word = words[w];
+               var blob = grep(res, function(i){return (i.word == word);});
+               if( blob ) blob = blob[0];
+               else continue;
+               if( blob.word == word ) {
+                       if( blob.suggestions && blob.suggestions[0] ) {
+                               newterm += " " + blob.suggestions[0];
+                               unHideMe($('did_you_mean'));
+                       } else {
+                               newterm += " " + word;
+                       }
+               }
+       }
+
+       var arg = {};
+       arg[PARAM_TERM] = newterm;
+       $('spell_check_link').setAttribute('href', buildOPACLink(arg));
+       $('spell_check_link').appendChild(text(newterm));
+}
+
+
+function resultPaginate() {
+       var o = getOffset();
+
+       if( !(  ((o) + getDisplayCount()) >= getHitCount()) ) {
+
+               var args = {};
+               args[PARAM_OFFSET]      = o + getDisplayCount();
+               args[PARAM_SORT]                = SORT;
+               args[PARAM_SORT_DIR] = SORT_DIR;
+               args[PARAM_RLIST]               = new CGI().param(PARAM_RLIST);
+
+               G.ui.result.next_link.setAttribute("href", buildOPACLink(args)); 
+               addCSSClass(G.ui.result.next_link, config.css.result.nav_active);
+
+               $('next_link2').setAttribute("href", buildOPACLink(args)); 
+               addCSSClass($('next_link2'), config.css.result.nav_active);
+
+               args[PARAM_OFFSET] = getHitCount() - (getHitCount() % getDisplayCount());
+
+               /* when hit count is divisible by display count, we have to adjust */
+               if( getHitCount() % getDisplayCount() == 0 ) 
+                       args[PARAM_OFFSET] -= getDisplayCount();
+
+        /*
+               G.ui.result.end_link.setAttribute("href", buildOPACLink(args)); 
+               addCSSClass(G.ui.result.end_link, config.css.result.nav_active);
+
+               $('end_link2').setAttribute("href", buildOPACLink(args)); 
+               addCSSClass($('end_link2'), config.css.result.nav_active);
+        */
+       }
+
+       if( o > 0 ) {
+
+               var args = {};
+               args[PARAM_SORT]                = SORT;
+               args[PARAM_SORT_DIR] = SORT_DIR;
+               args[PARAM_RLIST]               = new CGI().param(PARAM_RLIST);
+
+               args[PARAM_OFFSET] = o - getDisplayCount();
+               G.ui.result.prev_link.setAttribute( "href", buildOPACLink(args)); 
+               addCSSClass(G.ui.result.prev_link, config.css.result.nav_active);
+
+               $('prev_link2').setAttribute( "href", buildOPACLink(args)); 
+               addCSSClass($('prev_link2'), config.css.result.nav_active);
+
+               args[PARAM_OFFSET] = 0;
+               G.ui.result.home_link.setAttribute( "href", buildOPACLink(args)); 
+               addCSSClass(G.ui.result.home_link, config.css.result.nav_active);
+
+               $('search_home_link2').setAttribute( "href", buildOPACLink(args)); 
+               addCSSClass($('search_home_link2'), config.css.result.nav_active);
+       }
+
+       if(getDisplayCount() < getHitCount()) {
+               unHideMe($('start_end_links_span'));
+               unHideMe($('start_end_links_span2'));
+   }
+
+       showCanvas();
+       try{searchTimer.stop()}catch(e){}
+}
+
+function buildunAPISpan (span, type, id) {
+       var cgi = new CGI();
+       var d = new Date();
+
+       addCSSClass(span,'unapi-id');
+
+       span.setAttribute(
+               'title',
+               'tag:' + cgi.server_name + ',' +
+                       d.getFullYear() +
+                       ':' + type + '/' + id
+       );
+}
+
+function unhideGoogleBooksLink (data) {
+    for ( var i in data ) {
+        //if (data[i].preview == 'noview') continue;
+
+        var gbspan = $n(document.documentElement, 'googleBooksLink-' + i);
+        var gba = $n(gbspan, "googleBooks-link");
+
+        gba.setAttribute(
+            'href',
+            data[i].info_url
+        );
+        removeCSSClass( gbspan, 'hide_me' );
+    }
+}
+
+/* display the record info in the record display table 'pos' is the 
+               zero based position the record should have in the display table */
+function resultDisplayRecord(rec, pos, is_mr) {
+
+       if(rec == null) rec = new mvr(); /* so the page won't die if there was an error */
+       recordsHandled++;
+       recordsCache.push(rec);
+
+       var r = table.rows[pos + 1];
+    var currentISBN = cleanISBN(rec.isbn());
+
+    if (googleBooksLink) {
+           var gbspan = $n(r, "googleBooksLink");
+        if (currentISBN) {
+            gbspan.setAttribute(
+                'name',
+                gbspan.getAttribute('name') + '-' + currentISBN
+            );
+
+            if (isbnList) isbnList += ', ';
+            isbnList += currentISBN;
+        }
+    }
+
+/*
+       try {
+               var rank = parseFloat(ranks[pos + getOffset()]);
+               rank            = parseInt( rank * 100 );
+               var relspan = $n(r, "relevancy_span");
+               relspan.appendChild(text(rank));
+               unHideMe(relspan.parentNode);
+       } catch(e){ }
+*/
+
+       var pic = $n(r, config.names.result.item_jacket);
+       pic.setAttribute("src", buildISBNSrc(currentISBN));
+
+       var title_link = $n(r, config.names.result.item_title);
+       var author_link = $n(r, config.names.result.item_author);
+
+       if( is_mr )  {
+               var onlyrec = onlyrecord[ getOffset() + pos ];
+               if(onlyrec) {
+                       buildunAPISpan($n(r,'unapi'), 'biblio-record_entry', onlyrec);
+
+                       var args = {};
+                       args.page = RDETAIL;
+                       args[PARAM_OFFSET] = 0;
+                       args[PARAM_RID] = onlyrec;
+                       args[PARAM_MRID] = rec.doc_id();
+                       pic.parentNode.setAttribute("href", buildOPACLink(args));
+                       title_link.setAttribute("href", buildOPACLink(args));
+                       title_link.appendChild(text(normalize(truncate(rec.title(), 65))));
+                       
+               } else {
+                       buildunAPISpan($n(r,'unapi'), 'metabib-metarecord', rec.doc_id());
+
+                       buildTitleLink(rec, title_link); 
+                       var args = {};
+                       args.page = RRESULT;
+                       args[PARAM_OFFSET] = 0;
+                       args[PARAM_MRID] = rec.doc_id();
+                       pic.parentNode.setAttribute("href", buildOPACLink(args));
+               }
+
+       } else {
+               buildunAPISpan($n(r,'unapi'), 'biblio-record_entry', rec.doc_id());
+
+               buildTitleDetailLink(rec, title_link); 
+               var args = {};
+               args.page = RDETAIL;
+               args[PARAM_OFFSET] = 0;
+               args[PARAM_RID] = rec.doc_id();
+               pic.parentNode.setAttribute("href", buildOPACLink(args));
+
+               if (enableHoldsOnAvailable) {
+                       unHideMe($n(r,'place_hold_span'));
+               }
+
+               $n(r,'place_hold_link').setAttribute(
+                       'href','javascript:holdsDrawEditor({record:"'+rec.doc_id()+'",type:"T"});');
+       }
+
+       buildSearchLink(STYPE_AUTHOR, rec.author(), author_link);
+
+       if(! is_mr ) {
+       
+               if(!isNull(rec.edition()))      {
+                       unHideMe( $n(r, "result_table_extra_span"));
+                       $n(r, "result_table_edition_span").appendChild( text( rec.edition()) );
+               }
+               if(!isNull(rec.pubdate())) {
+                       unHideMe( $n(r, "result_table_extra_span"));
+                       unHideMe($n(r, "result_table_pub_span"));
+                       $n(r, "result_table_pub_span").appendChild( text( rec.pubdate() ));
+               }
+               if(!isNull(rec.publisher()) ) {
+                       unHideMe( $n(r, "result_table_extra_span"));
+                       unHideMe($n(r, "result_table_pub_span"));
+                       $n(r, "result_table_pub_span").appendChild( text( " " + rec.publisher() ));
+               }
+
+               if(!isNull(rec.physical_description()) ) {
+                       unHideMe( $n(r, "result_table_extra_span"));
+                       var t = " " + rec.physical_description();
+                       //$n(r, "result_table_phys_span").appendChild( text(t.replace(/:.*/g,'')));
+                       $n(r, "result_table_phys_span").appendChild( text(t));
+               }
+
+       }
+
+       resultBuildFormatIcons( r, rec, is_mr );
+
+       unHideMe(r);
+       
+       runEvt("result", "recordDrawn", rec.doc_id(), title_link);
+
+       /*
+       if(resultPageIsDone())  {
+               runEvt('result', 'allRecordsReceived', recordsCache);
+       }
+       */
+}
+
+function _resultFindRec(id) {
+       for( var i = 0; i != recordsCache.length; i++ ) {
+               var rec = recordsCache[i];
+               if( rec && rec.doc_id() == id )
+                       return rec;
+       }
+       return null;
+}
+
+
+function resultBuildFormatIcons( row, rec, is_mr ) {
+
+       var ress = rec.types_of_resource();
+
+       for( var i in ress ) {
+
+               var res = ress[i];
+               if(!res) continue;
+
+               var link = $n(row, res + "_link");
+               link.title = res;
+               var img = link.getElementsByTagName("img")[0];
+               removeCSSClass( img, config.css.dim );
+
+               var f = getForm();
+               if( f != "all" ) {
+                       if( f == modsFormatToMARC(res) ) 
+                               addCSSClass( img, "dim2_border");
+               }
+
+               var args = {};
+               args[PARAM_OFFSET] = 0;
+
+               if(is_mr) {
+                       args.page = RRESULT;
+                       args[PARAM_TFORM] = modsFormatToMARC(res);
+                       args[PARAM_MRID] = rec.doc_id();
+
+               } else {
+                       args.page = RDETAIL
+                       args[PARAM_RID] = rec.doc_id();
+               }
+
+               link.setAttribute("href", buildOPACLink(args));
+
+       }
+}
+
+function fetchGoogleBooksLink () {
+    if (isbnList && googleBooksLink) {
+        var scriptElement = document.createElement("script");
+        scriptElement.setAttribute("id", "jsonScript");
+        scriptElement.setAttribute("src",
+            "http://books.google.com/books?bibkeys=" + 
+            escape(isbnList) + "&jscmd=viewapi&callback=unhideGoogleBooksLink");
+        scriptElement.setAttribute("type", "text/javascript");
+        // make the request to Google Book Search
+        document.documentElement.firstChild.appendChild(scriptElement);
+    }
+}
+
+function resultPageIsDone(pos) {
+
+       return (recordsHandled == getDisplayCount() 
+               || recordsHandled + getOffset() == getHitCount());
+}
+
+var resultCCHeaderApplied = false;
+
+/* -------------------------------------------------------------------- */
+/* dynamically add the copy count rows based on the org type 'countsrow' 
+       is the row into which we will add TD's to hold the copy counts 
+       This code generates copy count cells with an id of
+       'copy_count_cell_<depth>_<pagePosition>'  */
+function resultAddCopyCounts(rec, pagePosition) {
+
+       var r = table.rows[pagePosition + 1];
+       var countsrow = $n(r, config.names.result.counts_row );
+       var ccell = $n(countsrow, config.names.result.count_cell);
+
+       var nodes = orgNodeTrail(findOrgUnit(getLocation()));
+       var node = nodes[0];
+       var type = findOrgType(node.ou_type());
+       ccell.id = "copy_count_cell_" + type.depth() + "_" + pagePosition;
+       ccell.title = type.opac_label();
+       //addCSSClass(ccell, config.css.result.cc_cell_even);
+
+       var lastcell = ccell;
+       var lastheadcell = null;
+
+       var cchead = null;
+       var ccheadcell = null;
+       if(!resultCCHeaderApplied && !getLasso()) {
+               ccrow = $('result_thead_row');
+               ccheadcell =  ccrow.removeChild($n(ccrow, "result_thead_ccell"));
+               var t = ccheadcell.cloneNode(true);
+               lastheadcell = t;
+               t.appendChild(text(type.opac_label()));
+               ccrow.appendChild(t);
+               resultCCHeaderApplied = true;
+       }
+
+       if(nodes[1]) {
+
+               var x = 1;
+               var d = findOrgDepth(nodes[1]);
+               var d2 = findOrgDepth(nodes[nodes.length -1]);
+
+               for( var i = d; i <= d2 ; i++ ) {
+       
+                       ccell = ccell.cloneNode(true);
+
+                       //if((i % 2)) removeCSSClass(ccell, "copy_count_cell_even");
+                       //else addCSSClass(ccell, "copy_count_cell_even");
+
+                       var node = nodes[x++];
+                       var type = findOrgType(node.ou_type());
+       
+                       ccell.id = "copy_count_cell_" + type.depth() + "_" + pagePosition;
+                       ccell.title = type.opac_label();
+                       countsrow.insertBefore(ccell, lastcell);
+                       lastcell = ccell;
+
+                       if(ccheadcell) {
+                               var t = ccheadcell.cloneNode(true);
+                               t.appendChild(text(type.opac_label()));
+                               ccrow.insertBefore(t, lastheadcell);
+                               lastheadcell = t;
+                       }
+               }
+       }
+
+       unHideMe($("search_info_table"));
+}
+
+/* collect copy counts for a record using method 'methodName' */
+function resultCollectCopyCounts(rec, pagePosition, methodName) {
+       if(rec == null || rec.doc_id() == null) return;
+
+       var loc = getLasso();
+       if (loc) loc = -loc;
+       else loc= getLocation();
+
+       var req = new Request(methodName, loc, rec.doc_id(), getForm() );
+       req.request.userdata = [ rec, pagePosition ];
+       req.callback(resultHandleCopyCounts);
+       req.send();
+}
+
+function resultHandleCopyCounts(r) {
+       runEvt('result', 'copyCountsReceived', r.userdata[0], r.userdata[1], r.getResultObject()); 
+}
+
+
+/* XXX Needs to understand Lasso copy counts... */
+/* display the collected copy counts */
+function resultDisplayCopyCounts(rec, pagePosition, copy_counts) {
+       if(copy_counts == null || rec == null) return;
+
+       if (getLasso()) {
+               var copy_counts_lasso = {
+                       transcendant : null,
+                       count : 0,
+                       unshadow : 0,
+                       available : 0,
+                       depth : -1,
+                       org_unit : getLasso()
+               };
+
+               for (var i in copy_counts) {
+                       copy_counts_lasso.transcendant = copy_counts[i].transcendant;
+                       copy_counts_lasso.count += parseInt(copy_counts[i].count);
+                       copy_counts_lasso.unshadow += parseInt(copy_counts[i].unshadow);
+                       copy_counts_lasso.available += parseInt(copy_counts[i].available);
+               }
+
+               copy_counts = [ copy_counts_lasso ];
+       }
+
+       var i = 0;
+       var metarecords = (findCurrentPage() == MRESULT);
+       while(copy_counts[i] != null) {
+               var cell = $("copy_count_cell_" + i +"_" + pagePosition);
+               var cts = copy_counts[i];
+               cell.appendChild(text(cts.available + " / " + cts.count));
+
+               if (!enableHoldsOnAvailable && (i == (copy_counts.length - 1))) {
+                       var resultTBody = findParentByNodeName(cell, 'TBODY');
+                       if (cts.available == 0 && cts.count > 0 && !metarecords) {
+                               dojo.query('[name="place_hold_span"]', resultTBody).removeClass('hide_me');
+                       } else {
+                               dojo.query('[name="place_hold_span"]', resultTBody).addClass('hide_me');
+                       }
+               }
+
+               if(isXUL()) {
+                       /* here we style opac-invisible records for xul */
+
+                       if( cts.depth == 0 ) {
+                               if(!cts.transcendant && !cts.unshadow) {
+                                       _debug("found an opac-shadowed record: " + rec.doc_id());
+                                       var row = cell.parentNode.parentNode.parentNode.parentNode.parentNode; 
+                                       if( cts.count == 0 ) 
+                                               addCSSClass( row, 'no_copies' );
+                                       else 
+                                               addCSSClass( row, 'shadowed' );
+                               }
+                       }
+               }
+               i++;
+       }
+}
+
+
diff --git a/web/opac/skin/uwin_old/js/rresult.js b/web/opac/skin/uwin_old/js/rresult.js
new file mode 100644 (file)
index 0000000..d93aa45
--- /dev/null
@@ -0,0 +1,323 @@
+var records = new Array();
+var table;
+var rowtemplate;
+var rresultLimit = 200;
+
+var rresultIsPaged = false;
+
+function rresultUnload() { removeChildren(table); table = null;}
+
+attachEvt("common", "unload", rresultUnload);
+attachEvt("common", "run", rresultDoSearch);
+attachEvt("result", "idsReceived", rresultCollectRecords); 
+attachEvt("result", "recordDrawn", rresultLaunchDrawn); 
+
+hideMe($('copyright_block')); 
+
+function rresultDoSearch() {
+
+       swapCanvas($('loading_alt'));
+
+       table = G.ui.result.main_table;
+       hideMe(G.ui.result.row_template);
+       if( table && table.parentNode ) {
+               while( table.parentNode.rows.length <= (getDisplayCount() +1) ) 
+                       hideMe(table.appendChild(G.ui.result.row_template.cloneNode(true)));
+       }
+       rresultCollectIds();
+}
+
+function rresultCollectIds() {
+       var ids;
+
+       switch(getRtype()) {
+
+               case RTYPE_COOKIE:
+                       ids = JSON2js(cookieManager.read(COOKIE_RIDS));
+                       _rresultHandleIds( ids, ids.length );
+                       break;
+
+               case RTYPE_TITLE:
+               case RTYPE_AUTHOR:
+               case RTYPE_SUBJECT:
+               case RTYPE_SERIES:
+               case RTYPE_KEYWORD:
+                       rresultDoRecordSearch();
+                       break;
+
+               case RTYPE_MULTI:
+                       rresultDoRecordMultiSearch();
+                       break;
+                       
+               case RTYPE_LIST :
+                       rresultHandleList();
+                       break;
+
+               case RTYPE_MARC :
+                       rresultCollectMARCIds();
+                       break;
+
+               case RTYPE_ISBN :
+                       rresultCollectISBNIds();
+                       break;
+
+               case RTYPE_TCN :
+                       rresultCollectTCNIds();
+                       break;
+
+               case RTYPE_ISSN :
+                       rresultCollectISSNIds();
+                       break;
+
+
+               case RTYPE_MRID :
+               case null :
+               case "" :
+               default:
+                       var form = rresultGetForm();
+                       var args = { format : form, org : getLocation(), depth : rresultGetDepth() };
+
+                       var lasso = getLasso();
+                       if (lasso) args.org = -lasso;
+
+                       var req = new Request(FETCH_RIDS, getMrid(), args);
+                       req.callback( rresultHandleRIds );
+                       req.send();
+
+                       if( rresultGetDepth() != findOrgDepth(globalOrgTree) ) {
+                               var link = $('rresult_show_all_link');
+                               if(link) {
+                                       unHideMe($('rresult_show_all'));
+                                       link.appendChild( text(
+                                               findOrgType(globalOrgTree.ou_type()).opac_label()));
+                               }
+
+                       } else {
+                               if( rresultGetDepth() != getDepth() ) { /* inside a limited display */
+                                       var link = $('rresult_show_here_link');
+                                       if(link) {
+                                               link.appendChild( text(
+                                                       findOrgType(findOrgUnit(getLocation()).ou_type()).opac_label()));
+                                               unHideMe($('rresult_show_here'));
+                                       }
+                               }
+                       }
+       }
+}
+
+function rresultExpandSearch() {
+       var args = {};
+       args[PARAM_RDEPTH] = findOrgDepth(globalOrgTree);
+       goTo(buildOPACLink(args));
+}
+
+function rresultContractSearch() {
+       var args = {};
+       RDEPTH = null;
+       args[PARAM_OFFSET] = 0;
+       goTo(buildOPACLink(args));
+}
+
+
+function rresultGetDepth() {
+       if( getRdepth() != null) return getRdepth();
+       return getDepth();
+}
+
+
+function rresultGetForm() {
+       var form;
+
+       if(getTform())  /* did the user select a format from the icon list (temporary) */
+               form = (getTform() == 'all') ? null : getTform();
+       else  /* did the use select a format from simple search dropdown */
+               form = (getForm() == 'all') ? null : getForm();
+
+       if(!form) { /* did the user select a format from the advanced search */
+               form = getItemType();
+               var f = getItemForm();
+
+               if(form) {
+                       form = form.replace(/,/,'');
+                       if(f) form += '-' + f;
+               } else {
+                       if(f) form = '-' + f;
+               }
+       }
+
+       return form;
+}
+
+
+function rresultCollectMARCIds() {
+
+       var args                        = {};
+       args.searches   = JSON2js(getSearches());
+       args.limit              = 200;
+       args.org_unit   = globalOrgTree.id();
+       args.depth              = 0;
+
+       rresultIsPaged = true;
+       var req = new Request(FETCH_ADV_MARC_MRIDS, args, getDisplayCount(), getOffset());
+       req.callback(rresultHandleRIds);
+       req.request.noretry = true;
+       req.send();
+}
+
+
+function rresultCollectISBNIds() {
+       var req = new Request(FETCH_ADV_ISBN_RIDS, getAdvTerm() );
+       req.callback(
+               function(r) {
+                       var blob = r.getResultObject();
+                       _rresultHandleIds(blob.ids, blob.count);
+               }
+       );
+       req.send();
+}
+
+function rresultCollectTCNIds() {
+       var req = new Request(FETCH_ADV_TCN_RIDS, getAdvTerm() );
+       req.callback(
+               function(r) {
+                       var blob = r.getResultObject();
+                       _rresultHandleIds(blob.ids, blob.count);
+               }
+       );
+       req.send();
+}
+
+function rresultCollectISSNIds() {
+       var req = new Request(FETCH_ADV_ISSN_RIDS, getAdvTerm() );
+       req.callback(
+               function(r) {
+                       var blob = r.getResultObject();
+                       _rresultHandleIds(blob.ids, blob.count);
+               }
+       );
+       req.send();
+}
+
+function rresultHandleList() {
+       var ids = new CGI().param(PARAM_RLIST);
+    var count;
+    if(!dojo.isArray(ids)) {
+        count = 1;
+        ids = [ids];
+    } else {
+        count = ids.length;
+    }
+       if(ids) _rresultHandleIds(ids, count);
+}
+
+var rresultTries = 0;
+function rresultHandleRIds(r) {
+       var res = r.getResultObject();
+
+       if(!res) res = {count:0,ids:[]};
+
+       if( res.count == 0 && rresultTries == 0 && ! r.noretry) {
+
+               rresultTries++;
+               var form = rresultGetForm();
+               var args = { format : form, org : getLocation(), depth : findOrgDepth(globalOrgTree) };
+
+               var lasso = getLasso();
+               if (lasso) args.org = -lasso;
+
+               var req = new Request(FETCH_RIDS, getMrid(), args );
+               req.callback( rresultHandleRIds );
+               req.send();
+               unHideMe($('no_formats'));
+               hideMe($('rresult_show_all'));
+
+       } else {
+
+               _rresultHandleIds(res.ids, res.count);
+       }
+}
+
+function _rresultHandleIds(ids, count) {
+       //var json = js2JSON({ids:ids,count:count});
+       /*
+       cookieManager.write(COOKIE_SRIDS, json, '+1d');
+       */
+
+       HITCOUNT = parseInt(count);
+       runEvt('result', 'hitCountReceived');
+       runEvt('result', 'idsReceived', ids, getOffset());
+}
+
+/*
+function rresultCollectRecords(ids) {
+       runEvt("result", "preCollectRecords");
+       var x = 0;
+       for( var i = getOffset(); i!= getDisplayCount() + getOffset(); i++ ) {
+               if(ids[i] == null) break;
+               var req = new Request(FETCH_RMODS, parseInt(ids[i]));
+               req.callback(rresultHandleMods);
+               req.request.userdata = x++;
+               req.send();
+       }
+}
+*/
+
+
+function rresultCollectRecords(ids, base) {
+       runEvt("result", "preCollectRecords");
+       var x = 0;
+
+       if (!base) base = 0;
+       if( rresultIsPaged )  base = 0;
+
+       for( var i = base; i!= getDisplayCount() + base; i++ ) {
+               if(ids[i] == null) break;
+               var req = new Request(FETCH_RMODS, parseInt(ids[i]));
+               req.callback(rresultHandleMods);
+               req.request.userdata = x++;
+               req.send();
+       }
+}
+
+
+function rresultHandleMods(r) {
+       var rec = r.getResultObject();
+       runEvt('result', 'recordReceived', rec, r.userdata, false);
+       resultCollectCopyCounts(rec, r.userdata, FETCH_R_COPY_COUNTS);
+       if(resultPageIsDone()) {
+               runEvt('result', 'allRecordsReceived', recordsCache);
+               unHideMe($('copyright_block')); 
+       }
+}
+
+function rresultLaunchDrawn(id, node) {
+       runEvt("rresult", "recordDrawn", id, node);
+}
+
+
+function rresultDoRecordSearch() { 
+       rresultIsPaged = true;
+       resultCollectSearchIds(true, SEARCH_RS_QUERY, rresultFilterSearchResults ); 
+}
+
+function rresultDoRecordMultiSearch() { 
+       rresultIsPaged = true;
+       resultCollectSearchIds(false, SEARCH_RS_QUERY, rresultFilterSearchResults ); 
+}
+
+
+function rresultFilterSearchResults(r) {
+       var result = r.getResultObject();
+       var ids = [];
+       if( result.count > 0 ) {
+               for( var i = 0; i != result.ids.length; i++ ) 
+                       ids.push(result.ids[i][0]);
+       }
+
+    resultCompiledSearch = result.compiled_search;
+    cookieManager.write(COOKIE_SEARCH, js2JSON(result.compiled_search), -1);
+       _rresultHandleIds( ids, result.count );
+}
+
+
+
diff --git a/web/opac/skin/uwin_old/js/search_bar.js b/web/opac/skin/uwin_old/js/search_bar.js
new file mode 100644 (file)
index 0000000..37dc49e
--- /dev/null
@@ -0,0 +1,88 @@
+var searchBarExpanded = false;
+/* our search selector boxes */
+var _ts, _fs;
+
+
+var isFrontPage = false;
+
+
+G.evt.common.init.push(searchBarInit);
+
+/* if set by the org selector, this will be the location used the
+       next time the search is submitted */
+var newSearchLocation; 
+var newSearchDepth = null;
+
+
+function searchBarInit() {
+
+       _ts = G.ui.searchbar.type_selector;
+       _fs = G.ui.searchbar.form_selector;
+
+       try{G.ui.searchbar.text.focus();}catch(e){}
+       G.ui.searchbar.text.onkeydown = 
+               function(evt) {if(userPressedEnter(evt)) { searchBarSubmit(); } };
+       _ts.onkeydown = 
+               function(evt) {if(userPressedEnter(evt)) { searchBarSubmit(); } };
+       _fs.onkeydown = 
+               function(evt) {if(userPressedEnter(evt)) { searchBarSubmit(); } };
+
+       G.ui.searchbar.submit.onclick = searchBarSubmit;
+
+       /* set up the selector objects, etc */
+       G.ui.searchbar.text.value = (getTerm() != null) ? getTerm() : "";
+       setSelector(_ts,        getStype());
+       setSelector(_fs,        getForm());
+
+       depthSelInit();
+
+
+       if(!isFrontPage && (findCurrentPage() != MYOPAC)) {
+               attachEvt('common','depthChanged', searchBarSubmit);
+       }
+
+    if( (limit = $('opac.result.limit2avail')) ) {
+        if(getAvail()) limit.checked = true;
+        if(getSort() && getSortDir()) 
+            setSelector($('opac.result.sort'), getSort()+'.'+getSortDir());
+    }
+}
+
+function searchBarSubmit(isFilterSort) {
+
+       var text = G.ui.searchbar.text.value;
+
+       clearSearchParams();
+
+       if(!text || text == "") return;
+
+       var d   = (newSearchDepth != null) ?  newSearchDepth : depthSelGetDepth();
+       if(isNaN(d)) d = 0;
+
+       var args = {};
+
+       if(SHOW_MR_DEFAULT || (isFilterSort && findCurrentPage() == MRESULT)) {
+               args.page                               = MRESULT;
+       } else {
+               args.page                               = RRESULT;
+               args[PARAM_RTYPE]               = _ts.options[_ts.selectedIndex].value;
+       }
+
+       args[PARAM_STYPE]               = _ts.options[_ts.selectedIndex].value;
+       args[PARAM_TERM]                = text;
+       args[PARAM_LOCATION] = depthSelGetNewLoc();
+       args[PARAM_DEPTH]               = d;
+       args[PARAM_FORM]                = _fs.options[_fs.selectedIndex].value;
+
+    if($('opac.result.limit2avail')) {
+        args[PARAM_AVAIL] = ($('opac.result.limit2avail').checked) ? 1 : '';
+        if( (val = getSelectorVal($('opac.result.sort'))) ) {
+            args[PARAM_SORT] = val.split('.')[0]
+            args[PARAM_SORT_DIR] = val.split('.')[1]
+        }
+    }
+
+       goTo(buildOPACLink(args));
+}
+
+
diff --git a/web/opac/skin/uwin_old/js/sidebar.js b/web/opac/skin/uwin_old/js/sidebar.js
new file mode 100644 (file)
index 0000000..45296e4
--- /dev/null
@@ -0,0 +1,226 @@
+/* set up the colors in the sidebar 
+       Disables/Enables certain components based on various state data */
+
+attachEvt("common", "init", initSideBar);
+attachEvt("common", "init", setSidebarLinks);
+
+attachEvt("common", "unload", sidebarTreesFree );
+
+function prevRResults() {
+       return buildOPACLink({ page : RRESULT });
+}
+
+function prevMResults() {
+       return buildOPACLink({ page : MRESULT });
+}
+
+function initSideBar() {
+       var page = findCurrentPage();
+
+       if( page == MRESULT ) 
+               unHideMe($("sidebar_results_wrapper"));
+
+       if( page == RRESULT ) {
+               unHideMe($("sidebar_results_wrapper"));
+               unHideMe(G.ui.sidebar[MRESULT]);
+               if( getRtype() == RTYPE_MRID )
+                       $("sidebar_title_group_results").setAttribute("href", prevMResults());
+               else hideMe($("sidebar_title_group_results").parentNode);
+       }
+
+       if( page == RDETAIL ) {
+               unHideMe($("sidebar_results_wrapper"));
+
+
+               unHideMe(G.ui.sidebar[MRESULT]);
+               if(getRtype())
+                       $("sidebar_title_results").setAttribute("href", prevRResults());
+               unHideMe(G.ui.sidebar[RRESULT]);
+
+               if( getRtype() == RTYPE_MRID )
+                       $("sidebar_title_group_results").setAttribute("href", prevMResults());
+               else hideMe($("sidebar_title_group_results").parentNode);
+       }
+
+       unHideMe(G.ui.sidebar[page]);
+       addCSSClass(G.ui.sidebar[page], "sidebar_item_active");
+
+       /* if we're logged in, show it and replace the Login link with the Logout link */
+       if(grabUser()) {
+               G.ui.sidebar.username_dest.appendChild(text(G.user.usrname()));
+               unHideMe(G.ui.sidebar.logoutbox);
+               unHideMe(G.ui.sidebar.logged_in_as);
+               hideMe(G.ui.sidebar.loginbox);
+       }
+
+       if(G.ui.sidebar.login) G.ui.sidebar.login.onclick = initLogin;
+       if(G.ui.sidebar.logout) G.ui.sidebar.logout.onclick = doLogout; 
+
+       if(isXUL()) hideMe( G.ui.sidebar.logoutbox );
+}
+
+/* sets up the login ui components */
+var loginBoxVisible = false;
+
+function loginDance() {
+
+       if(doLogin(true)) {
+
+               if(!strongPassword( G.ui.login.password.value ) ) {
+
+                       cookieManager.write(COOKIE_SES, "");
+                       hideMe($('login_table'));
+                       unHideMe($('change_pw_table'));
+                       $('change_pw_current').focus();
+                       $('change_pw_button').onclick = changePassword;
+                       setEnterFunc($('change_pw_2'), changePassword);
+
+               } else {
+                       loggedInOK();
+               }
+       }
+}
+
+function loggedInOK() {
+       showCanvas();
+       G.ui.sidebar.username_dest.appendChild(text(G.user.usrname()));
+       unHideMe(G.ui.sidebar.logoutbox);
+       unHideMe(G.ui.sidebar.logged_in_as);
+       hideMe(G.ui.sidebar.loginbox);
+       runEvt( 'common', 'loggedIn');
+       
+       var org = G.user.prefs[PREF_DEF_LOCATION];
+       if(!org) org = G.user.home_ou();
+
+       var depth = G.user.prefs[PREF_DEF_DEPTH];
+       if(! ( depth && depth <= findOrgDepth(org)) ) 
+               depth = findOrgDepth(org);
+
+       runEvt( "common", "locationChanged", org, depth);
+}
+
+
+function changePassword() {
+
+       var pc = $('change_pw_current').value;
+       var p1 = $('change_pw_1').value;
+       var p2 = $('change_pw_2').value;
+
+       if( p1 != p2 ) {
+               alert($('pw_no_match').innerHTML);
+               return;
+       }
+
+       if(!strongPassword(p2, true) ) return;
+
+       var req = new Request(UPDATE_PASSWORD, G.user.session, p2, pc );
+       req.send(true);
+       if(req.result()) {
+               alert($('pw_update_successful').innerHTML);
+               loggedInOK();
+       }
+}
+
+var pwRegexSetting;
+function strongPassword(pass, alrt) {
+
+    /* first, let's see if there is a configured regex */
+    if(!pwRegexSetting) {
+        var regex = fetchOrgSettingDefault(G.user.home_ou(), 'global.password_regex');
+        if(regex) {
+            if(pass.match(new RegExp(regex))) {
+                return true;
+            } else {
+                if(alrt)
+                      alert($('pw_not_strong').innerHTML);
+                return false;
+            }
+        }
+    }
+
+    /* no regex configured, use the default */
+
+       var good = false;
+
+       do {
+
+               if(pass.length < 7) break;
+               if(!pass.match(/.*\d+.*/)) break;
+               if(!pass.match(/.*[A-Za-z]+.*/)) break;
+               good = true;
+
+       } while(0);
+
+       if(!good && alrt) alert($('pw_not_strong').innerHTML);
+       return good;
+}
+
+function initLogin() {
+
+       G.ui.login.button.onclick = loginDance;
+       G.ui.login.username.onkeydown = 
+               function(evt) {if(userPressedEnter(evt)) loginDance();};
+       G.ui.login.password.onkeydown = 
+               function(evt) {if(userPressedEnter(evt)) loginDance();};
+
+//     if(loginBoxVisible) {
+//             showCanvas();
+//     } else {
+               swapCanvas(G.ui.login.box);
+               try{G.ui.login.username.focus();}catch(e){}
+//     }
+
+//     loginBoxVisible = !loginBoxVisible;
+       G.ui.login.cancel.onclick = showCanvas;
+       if(findCurrentPage() == MYOPAC) 
+               G.ui.login.cancel.onclick = goHome;
+}
+
+function setSidebarLinks() {
+       G.ui.sidebar.home_link.setAttribute("href", buildOPACLink({page:HOME}));
+       G.ui.sidebar.advanced_link.setAttribute("href", buildOPACLink({page:ADVANCED}));
+       G.ui.sidebar.myopac_link.setAttribute("href", buildOPACLink({page:MYOPAC}, false, true));
+}
+
+function sidebarTreesFree() {
+       removeChildren($(subjectSidebarTree.rootid));
+       removeChildren($(authorSidebarTree.rootid));
+       removeChildren($(seriesSidebarTree.rootid));
+       subjectSidebarTree = null;
+       authorSidebarTree = null;
+       seriesSidebarTree = null;
+}
+
+
+
+
+/* --------------------------------------------------------------------------------- */
+/* Code to support GALILEO links for PINES.  Fails gracefully
+/* --------------------------------------------------------------------------------- */
+attachEvt('common', 'init', buildEGGalLink);
+function buildEGGalLink() {
+
+       /* we're in a lib, nothing to do here */
+       if( getOrigLocation() ) return;
+       if(!$('eg_gal_link')) return;
+
+       //var link = 'http://demo.galib.uga.edu/express?pinesid=';
+       var link = 'http://www.galileo.usg.edu/express?pinesid=';
+       if(grabUser()) {
+               $('eg_gal_link').setAttribute('href', link + G.user.session);
+               return;
+       }
+
+       $('eg_gal_link').setAttribute('href', 'javascript:void(0);');
+       $('eg_gal_link').setAttribute('target', '');
+       $('eg_gal_link').onclick = function() {
+               /* we're not logged in.  go ahead and login */
+               detachAllEvt('common','locationChanged');
+               detachAllEvt('common','loggedIn');
+               attachEvt('common','loggedIn', function() { goTo(link + G.user.session); })
+               initLogin();
+       };
+}
+/* --------------------------------------------------------------------------------- */
+
+
diff --git a/web/opac/skin/uwin_old/js/sidebar_extras.js b/web/opac/skin/uwin_old/js/sidebar_extras.js
new file mode 100644 (file)
index 0000000..cb35d88
--- /dev/null
@@ -0,0 +1,243 @@
+
+/* captures extraneous info from each record */
+
+var subjectCache = {};
+var authorCache = {};
+var seriesCache = {};
+
+function resultBuildCaches(records) {
+       for( var r in records ) {
+               var rec = records[r];
+               for( var s in rec.subject() ) 
+                       subjectCache[s] == null ? subjectCache[s] = 1 : subjectCache[s]++;
+               authorCache[rec.author()] = 1;
+               for( var s in rec.series() ) seriesCache[rec.series()[s]] = 1;
+       }
+}
+
+function resultSortSubjects(a, b) { return -(a.count - b.count); } /* sort in reverse */
+function resultDrawSubjects() {
+
+       var subjs = [];
+       for( var s in subjectCache )
+               subjs.push( { sub : s, count : subjectCache[s] } );
+       subjs.sort(resultSortSubjects);
+
+       var ss = [];
+       for( var s in subjs ) ss.push(subjs[s].sub);
+
+       resultDrawSidebarTrees( 
+               STYPE_SUBJECT, 
+               "subjectSidebarTree", ss, 
+               $("subject_tree_sidebar"), 
+               $("subject_sidebar_tree_div") );
+}
+
+function resultDrawAuthors() {
+       var auths = new Array();
+       for( var s in authorCache ) auths.push(s);
+
+       resultDrawSidebarTrees( 
+               STYPE_AUTHOR, 
+               "authorSidebarTree", auths.sort(), 
+               $("author_tree_sidebar"), 
+               $("author_sidebar_tree_div") );
+}
+
+function resultDrawSeries() {
+       var sers = new Array();
+       for( var s in seriesCache ) sers.push(s);
+       resultDrawSidebarTrees( 
+               STYPE_SERIES, 
+               "seriesSidebarTree", sers.sort(), 
+               $("series_tree_sidebar"), 
+               $("series_sidebar_tree_div") );
+}
+
+var IESux = true;
+
+function resultDrawSidebarTrees( stype, treeName, items, wrapperNode, destNode ) {
+       eval("tree = " + treeName);
+
+       var xrefCache = [];
+       var found = false;
+       var x = 0;
+       for( var i in items ) {
+
+               if(isNull(items[i])) continue;
+
+               /* again, IE is a turd */
+               if(IE) { if(x++ > 5) break; }
+               else { if(x++ > 7) break; }
+
+               found = true;
+
+               var item = normalize(truncate(items[i], 65));
+               var args = {};
+               var href = resultQuickLink( items[i], stype );
+               tree.addNode( stype + "_" + items[i], treeName + 'Root', item, href );
+
+//             if( !IE ) resultFireXRefReq(treeName, stype, items[i]);
+
+               var a = {};
+               a.type = stype;
+               a.term = item;
+               xrefCache.push(a);
+       }
+
+       if(found) {
+               unHideMe(wrapperNode);
+//             if(IE) resultFireXRefSingle(treeName, xrefCache, stype);
+               /* XXX */ // disabled auth lookups for now
+
+               if( DO_AUTHORITY_LOOKUPS ) {
+                       resultFireXRefBatch(treeName, xrefCache, stype);
+               }
+       }
+}
+
+/* XXX */
+function resultFireXRefBatch(treeName, xrefCache, stype) {
+       var query = [];
+       for( var i = 0; i != xrefCache.length; i++ ) {
+               var topic = xrefCache[i];
+               query.push( [ topic.type, topic.term ] );
+       }
+       var req = new Request(FETCH_CROSSREF_BATCH, query);
+       var tree;
+       eval('tree=' + treeName);
+       req.request._tree = tree;
+       req.request._stype = stype;
+       req.callback(resultRenderXRefTree);
+       req.send();
+}
+
+var xrefCacheIndex = {};
+xrefCacheIndex['subject'] = 0;
+xrefCacheIndex['author'] = 0;
+xrefCacheIndex['series'] = 0;
+
+function resultHandleXRefResponse(r) {
+       resultFireXRefSingle( r._treename, r._cache, r._stype );
+       resultAppendCrossRef(r);
+}
+
+
+function resultFireXRefSingle( treeName, xrefCache, stype ) {
+       var i = xrefCacheIndex[stype]++;
+       if(xrefCache[i] == null) return;
+       var item = xrefCache[i].term;
+       var tree;
+       eval('tree=' + treeName);
+       var req = new Request(FETCH_CROSSREF, stype, item);
+       req.request._tree = tree;
+       req.request._item = item;
+       req.request._stype = stype;
+       req.request._cache = xrefCache;
+       req.request._treename = treeName;
+       req.callback(resultHandleXRefResponse);
+       req.send();
+}
+
+function resultFireXRefReq( treeName, stype, item ) {
+       var tree;
+       eval('tree=' + treeName);
+       var req = new Request(FETCH_CROSSREF, stype, item);
+       req.request._tree = tree;
+       req.request._item = item;
+       req.request._stype = stype;
+       req.callback(resultAppendCrossRef);
+       req.send();
+}
+
+
+function resultQuickLink( term, type ) {
+       var args = {};
+       if(SHOW_MR_DEFAULT) {
+               args.page = MRESULT;
+       } else {
+               args.page = RRESULT;
+               args[PARAM_RTYPE] = type;
+       }
+       args[PARAM_OFFSET] = 0;
+       args[PARAM_TERM] = term;
+       args[PARAM_STYPE] = type;
+       return buildOPACLink(args);
+}
+
+/* XXX */
+function resultRenderXRefTree(r) {
+       var tree = r._tree;
+       var res = r.getResultObject();
+       var stype = r._stype;
+
+       for( var c in res ) {
+               var cls = res[c];
+               for( var t in cls ) {
+                       var term = res[c][t];
+                       var froms = term['from'];
+                       var alsos = term['also'];
+                       var total = 0;
+
+                       for( var i = 0; (total++ < 5 && i < froms.length); i++ ) {
+                               var string = normalize(truncate(froms[i], 45));
+                               if($(stype + '_' + froms[i])) continue;
+                               tree.addNode(stype + '_' + froms[i], 
+                                       stype + '_' + t, string, resultQuickLink(froms[i],stype));
+                       }
+                       for( var i = 0; (total++ < 10 && i < alsos.length); i++ ) {
+                               var string = normalize(truncate(alsos[i], 45));
+                               if($(stype + '_' + alsos[i])) continue;
+                               tree.addNode(stype + '_' + alsos[i], 
+                                       stype + '_' + t, string, resultQuickLink(alsos[i],stype));
+                       }
+               }
+       }
+}
+
+
+/* Addes the see-from/see-also entries for this subject item */
+function resultAppendCrossRef(r) {
+       var tree                = r._tree
+       var item                = r._item
+       var stype       = r._stype;
+       var result      = r.getResultObject();
+       if(!result) return;
+       var froms       = result['from'];
+       var alsos       = result['also'];
+
+       var total = 0;
+
+       for( var i = 0; (total++ < 5 && i < froms.length); i++ ) 
+               resultAddXRefItem( tree, item, stype, froms, i );
+
+       for( var i = 0; (total++ < 10 && i < alsos.length); i++ ) 
+               resultAddXRefItem( tree, item, stype, alsos, i );
+}
+
+/**
+ * Adds a single entry into the see-from/also sidebar tree 
+ */
+var collectedStrings = [];
+function resultAddXRefItem(tree, rootItem, stype, arr, idx) {
+
+       var string = normalize(truncate(arr[idx], 45));
+
+       if( string == rootItem ) return;
+
+       if( grep( collectedStrings, 
+               function(a) { return (a == string); }) ) return;
+
+       if($(stype + '_' + arr[idx])) return;
+
+       tree.addNode(stype + '_' + arr[idx], 
+               stype + '_' + rootItem, string, resultQuickLink(arr[idx],stype));
+
+       collectedStrings.push(string);
+}
+
+
+
+
+
+
diff --git a/web/opac/skin/uwin_old/js/tips.js b/web/opac/skin/uwin_old/js/tips.js
new file mode 100644 (file)
index 0000000..b24985b
--- /dev/null
@@ -0,0 +1,19 @@
+attachEvt('result', 'allRecordsReceived', insertTip);
+
+/*
+var user_tips = [
+       'Click on a folder icon in the sidebar to access related quick searches',
+       "If you don't find what you want try expanding your search using the range selector at the right of the search bar"
+];
+*/
+
+function insertTip () {
+       var tip_div = document.getElementById('tips');
+       if (tip_div) {
+               var tips = tip_div.getElementsByTagName('div')[0].getElementsByTagName('span');
+               var index = Math.floor(Math.random() * tips.length);
+               tip_div.appendChild( tips[index] );
+               removeCSSClass(tip_div, 'hide_me');
+       }
+}
+
diff --git a/web/opac/skin/uwin_old/local/images/uwin_main.png b/web/opac/skin/uwin_old/local/images/uwin_main.png
new file mode 100644 (file)
index 0000000..abf09a1
Binary files /dev/null and b/web/opac/skin/uwin_old/local/images/uwin_main.png differ
diff --git a/web/opac/skin/uwin_old/local/images/uwin_small.png b/web/opac/skin/uwin_old/local/images/uwin_small.png
new file mode 100644 (file)
index 0000000..25df42f
Binary files /dev/null and b/web/opac/skin/uwin_old/local/images/uwin_small.png differ
diff --git a/web/opac/skin/uwin_old/local/locale/en-CA/opac.dtd b/web/opac/skin/uwin_old/local/locale/en-CA/opac.dtd
new file mode 100644 (file)
index 0000000..e676481
--- /dev/null
@@ -0,0 +1,699 @@
+<!--   ================================================================= \r
+               Some generic stuff \r
+               ================================================================= -->\r
+<!ENTITY lang.version "remote v1">\r
+<!ENTITY lang.description "English">\r
+<!ENTITY lang.author "PINES">\r
+<!ENTITY common.all "All">\r
+<!ENTITY common.currency "$">\r
+<!ENTITY common.language "Language: ">\r
+<!ENTITY common.name "Name">\r
+<!ENTITY common.none "None">\r
+<!ENTITY common.title "Title">\r
+<!ENTITY common.author "Author">\r
+<!ENTITY common.authors "Authors">\r
+<!ENTITY common.callnumber "Call Number">\r
+<!ENTITY common.edition "Edition">\r
+<!ENTITY common.subject "Subject">\r
+<!ENTITY common.series "Series">\r
+<!ENTITY common.keyword "Keyword">\r
+<!ENTITY common.type "Search Type">\r
+<!ENTITY common.isbn "ISBN">\r
+<!ENTITY common.format "Format">\r
+<!-- Message displayed while search results are loading -->\r
+<!ENTITY common.loading "Loading...">\r
+<!ENTITY common.login "Login">\r
+<!ENTITY common.logout "Log Out">\r
+<!ENTITY common.physical "Physical Description">\r
+<!ENTITY common.pubdate "Publication Date">\r
+<!ENTITY common.publisher "Publisher">\r
+<!ENTITY common.results "Results">\r
+<!ENTITY common.select "Select">\r
+<!ENTITY common.status "Status">\r
+<!ENTITY common.at "at">\r
+<!ENTITY common.of "of">\r
+<!ENTITY common.no "No">\r
+<!ENTITY common.yes "Yes">\r
+<!ENTITY common.cancel "Cancel">\r
+<!ENTITY common.library "Library">\r
+<!ENTITY common.username "Username">\r
+<!ENTITY common.password "Password">\r
+<!ENTITY common.submit "Submit">\r
+<!ENTITY common.close "close">\r
+<!ENTITY common.and "and">\r
+<!ENTITY common.user_not_found "User not found">\r
+<!ENTITY opac.advanced.wizard.title "Advanced Search">\r
+<!ENTITY common.nowSearching "Now searching ">\r
+<!ENTITY common.ofAtLeast " of about ">\r
+<!ENTITY common.relevancy "Match Score: ">\r
+<!ENTITY common.tips "Tips:">\r
+<!ENTITY common.tips.tip1 "Click on a folder icon in the sidebar to access related quick searches">\r
+<!ENTITY common.tips.tip2 "If you don't find what you want try expanding your search using the range selector at the right of the search bar">\r
+<!ENTITY common.org.openAll "Expand All">\r
+<!ENTITY common.org.closeAll "Close All">\r
+<!ENTITY common.org.cancel "Cancel">\r
+<!ENTITY common.org.loading "Loading library selector...">\r
+<!ENTITY common.org.note "Tip:">\r
+<!ENTITY common.org.notetext "Click on a location's name to select it.  Click on the folder icons to expand a section.">\r
+<!ENTITY opac.login.login "">\r
+<!ENTITY opac.basic "Basic Catalogue (HTML only)">\r
+<!ENTITY common.password_criteria "The password must be at least 7 characters in length, \r
+       contain at least one letter (a-z/A-Z), \r
+       and contain at least one number.">\r
+<!ENTITY common.a2z.title "Title: A to Z">\r
+<!ENTITY common.z2a.title "Title: Z to A">\r
+<!ENTITY common.a2z.author "Author: A to Z">\r
+<!ENTITY common.z2a.author "Author: Z to A">\r
+<!ENTITY common.new2old.pubdate "Date: Newest to Oldest">\r
+<!ENTITY common.old2new.pubdate "Date: Oldest to Newest">\r
+\r
+<!ENTITY opac.style.reddish "Reddish">\r
+\r
+<!ENTITY holds.where_am_i "Holds lists are not as simple as\r
+       'first come, first served.'  A complex matrix combining\r
+       consideration of item ownership, patron home library, and item purchase\r
+       date determines  priorities for holds; the list is dynamic, changing\r
+       with every hold placed.  Therefore, any indication of a place in the\r
+       holds list would be inaccurate.  The holds system is designed to\r
+       obtain a requested item in the fastest and most efficient way possible.\r
+       Your library will contact you when you hold items become\r
+       available.">\r
+\r
+<!ENTITY holds.advanced_options "If you wish to broaden the scope of your hold to include other \r
+       versions of this title, select the formats that would be acceptable. \r
+       The first available copy will be sent to you.">\r
+<!--   ================================================================= \r
+               Events and Permissions \r
+               ================================================================= -->\r
+\r
+<!ENTITY ilsevent.0 "Operation Succeeded">\r
+<!ENTITY ilsevent.1000 "Login failed.  The username or password entered was incorrect.">\r
+<!ENTITY ilsevent.1001 "Login session has timed out or does not exist">\r
+<!ENTITY ilsevent.1002 "User was not found in the database">\r
+<!ENTITY ilsevent.1200 "The given username already exists in the database">\r
+<!ENTITY ilsevent.5000 "Permission Denied">\r
+<!ENTITY ilsperm.CREATE_HOLD "User is not allowed to create holds for other users at this location">\r
+<!--   ================================================================= \r
+       common/pages\r
+       ================================================================= -->\r
+\r
+\r
+<!ENTITY common.cn.loading "Loading Callnumber Page...">\r
+<!ENTITY common.cn.browsing "You are now browsing">\r
+<!ENTITY common.cn.previous "&lt;&lt; Previous Page">\r
+<!ENTITY common.cn.shelf "Shelf Browser">\r
+<!ENTITY common.cn.next "Next Page &gt;&gt;">\r
+\r
+<!ENTITY common.textsize.title "Text Size: ">\r
+<!ENTITY common.textsize.regular "Regular">\r
+<!-- Regular / Large -->\r
+<!ENTITY common.textsize.separator "/">\r
+<!ENTITY common.textsize.large "Large">\r
+\r
+<!ENTITY home.js.disabled "JavaScript must be enabled in order for you to use the regular Evergreen Catalogue. \r
+However, it seems JavaScript is either disabled or not supported by your browser. \r
+To use the regular Evergreen Catalogue, enable JavaScript by changing your browser options, then \r
+<a style='color: blue; text-decoration: underline;' href='/'>try again</a>. \r
+<br/><br/>Alternatively, you can use the basic HTML-only catalogue \r
+<a style='color: blue; text-decoration: underline;' href='/opac/extras/slimpac/start.html'>here</a>.">\r
+<!--   ================================================================= \r
+        MyOPAC bookbag page\r
+       ================================================================= -->\r
+\r
+<!ENTITY myopac.delete.bookbag "This will remove the selected bookbag and all items contained within the bookbag.  \r
+Are you sure you wish to continue?">\r
+<!ENTITY myopac.no.bookbags "You have not created any bookbags">\r
+<!ENTITY myopac.bookbags.title "My Bookbags">\r
+<!ENTITY myopac.bookbag.items "# Items">\r
+<!ENTITY myopac.bookbag.shared "Shared">\r
+<!ENTITY myopac.bookbag.toggle "Share / Hide">\r
+<!ENTITY myopac.bookbag.delete "Delete this bookbag?">\r
+<!ENTITY myopac.items "Items">\r
+<!ENTITY myopac.view "(View)">\r
+<!ENTITY myopac.atom.feed "ATOM Feed">\r
+<!ENTITY myopac.bookbag.hide "Hide">\r
+<!ENTITY myopac.delete "Delete">\r
+<!ENTITY myopac.bookbag.create "Create a new Bookbag">\r
+<!ENTITY myopac.bookbag.naming "Enter the name of the new Bookbag: ">\r
+<!ENTITY myopac.bookbag.share "Share this Bookbag">\r
+<!ENTITY myopac.bookbag.no.items "The selected bookbag contains no items...">\r
+<!ENTITY myopac.bookbag.remove "Remove this item?">\r
+<!ENTITY myopac.remove.link "remove">\r
+<!ENTITY myopac.publish.text 'Sharing a Bookbag means that the contents of the Bookbag will be visible to others.  \r
+To see the public view of a shared Bookbag, click the "View" link in the \r
+"Shared" column of the Bookbag list at the top of this page.'>\r
+<!ENTITY myopac.item.confirm "Are you sure you wish to remove this bookbag item?">\r
+<!ENTITY myopac.publish.confirm "Sharing this bookbag will allow the contents \r
+of the bookback to be seen by others.  Are you sure you wish to share this bookbag?">\r
+<!ENTITY myopac.unpublish.confirm "Are you sure you wish to hide this bookbag?">\r
+<!ENTITY myopac.update.success "The Bookbag was successfully updated.">\r
+<!ENTITY myopac.updated.success "Bookbag successfully updated">\r
+<!ENTITY myopac.create.warning "Warning: Adding items to a bookbag creates a link between you and the\r
+items in the database.  The contents of the bookbag are NOT publicly \r
+viewable unless the bookbag is shared. However, if you prefer not to\r
+have any link between your patron record and a particular item or items,\r
+we suggest that you do not place said items in a bookbag or that you \r
+avoid using bookbags all together.  Thank you.">\r
+<!ENTITY myopac.describe.bookbags "Bookbags are...">\r
+<!--   ================================================================= \r
+       MyOPAC Checked Page \r
+       ================================================================= -->\r
+\r
+<!ENTITY myopac.checked.out "Total items out:">\r
+<!ENTITY myopac.checked.overdue "Total items overdue:">\r
+<!ENTITY myopac.checked.renew "Renew Selected Items">\r
+<!ENTITY myopac.checked.renewing "Renewing...">\r
+<!ENTITY myopac.checked.renew.remaining "Renewals Remaining">\r
+<!ENTITY myopac.checked.noitems "You have no items checked out at this time">\r
+<!ENTITY myopac.checked.other.circ "Other Circulations">\r
+<!ENTITY myopac.checked.circ.lib "Circulating Library">\r
+<!ENTITY myopac.checked.item.type "Circulation Type">\r
+<!ENTITY myopac.checked.circ.time "Please return by ...">\r
+<!ENTITY myopac.checked.renew.success "item(s) successfully renewed">\r
+<!ENTITY myopac.checked.renew.confirm "Are you sure you wish to renew the selected item(s)?">\r
+<!ENTITY myopac.checked.renew.fail "The system is unable to renew the selected item at this time.  This usually means the item is needed to fulfill a hold.  Please see a librarian for further help.">\r
+<!ENTITY myopac.checked.renew.fail2 "Library policy prevents the renewal of this item at this time.  Please see a librarian for further details.">\r
+<!--   ================================================================= \r
+       MyOPAC Fines Page \r
+       ================================================================= -->\r
+\r
+<!ENTITY myopac.fines.title "Summary">\r
+<!ENTITY myopac.fines.owed "Total Owed">\r
+<!ENTITY myopac.fines.paid "Total Paid">\r
+<!ENTITY myopac.fines.balance "Balance Owed">\r
+<!ENTITY myopac.fines.status "Loading...">\r
+<!ENTITY myopac.fines.overdue "Overdue Materials">\r
+<!ENTITY myopac.fines.checkout "Checkout Date">\r
+<!ENTITY myopac.fines.due "Due Date">\r
+<!ENTITY myopac.fines.returned "Date Returned">\r
+<!ENTITY myopac.fines.accruing "(fines accruing)">\r
+<!ENTITY myopac.fines.other "Other Fees">\r
+<!ENTITY myopac.fines.time.start "Transaction Start Time">\r
+<!ENTITY myopac.fines.time.paid "Last Payment Time">\r
+<!ENTITY myopac.fines.owed.initial "Initial Amount Owed">\r
+<!ENTITY myopac.fines.paid.amount "Total Amount Paid">\r
+<!ENTITY myopac.fines.type "Billing Type">\r
+<!--   ================================================================= \r
+       MyOPAC Holds Page \r
+       ================================================================= -->\r
+\r
+<!ENTITY myopac.holds.formats "Formats">\r
+<!ENTITY myopac.holds.location "Pickup Location">\r
+<!ENTITY myopac.holds.edit "Edit">\r
+<!ENTITY myopac.holds.status.none "You have no items on hold at this time">\r
+<!ENTITY myopac.holds.status.waiting "Waiting for copy">\r
+<!ENTITY myopac.holds.status.intransit "In Transit">\r
+<!ENTITY myopac.holds.status.available "Ready for Pickup">\r
+<!ENTITY myopac.holds.cancel "Cancel">\r
+<!ENTITY myopac.holds.verify "If you wish to cancel the selected hold, click OK, otherwise click Cancel.">\r
+<!ENTITY myopac.holds.freeze_selected "Suspend">\r
+<!ENTITY myopac.holds.thaw_selected "Activate">\r
+<!ENTITY myopac.holds.thaw_date_selected "Set Active Date">\r
+<!ENTITY myopac.holds.cancel_selected "Cancel">\r
+<!ENTITY myopac.holds.processing "Processing holds... This may take a moment.">\r
+<!ENTITY myopac.holds.actions "Actions for selected holds">\r
+<!ENTITY myopac.holds.cancel.confirm "Are you sure you wish to cancel the selected holds?">\r
+<!ENTITY myopac.holds.freeze.confirm 'Are you sure you wish to suspend the selected holds?\r
+If an item has already been selected to fulfill the hold, it will not be suspended'>\r
+<!ENTITY myopac.holds.thaw.confirm 'Are you sure you wish to activate the selected holds?'>\r
+<!ENTITY myopac.holds.thaw_date.confirm 'Are you sure you wish to change the activate date for the selected holds?'>\r
+<!ENTITY myopac.holds.freeze.select_thaw "Select an automatic activation date.  If no date is chosen, the holds will remain suspended until they are manually activated.">\r
+\r
+<!ENTITY opac.holds.freeze "Suspend this hold">\r
+<!ENTITY opac.holds.freeze.help "A suspended hold will retain its place in the queue, but will not be fulfilled until it has been activated.">\r
+<!ENTITY opac.holds.freeze.thaw_date "Automatically activate hold on:">\r
+<!ENTITY opac.holds.expire_time "Expiration date">\r
+<!ENTITY myopac.holds.estimated_wait "Estimated Wait (days)">\r
+<!--   ================================================================= \r
+       MyOPAC Preferences Page \r
+       ================================================================= -->\r
+\r
+<!ENTITY myopac.prefs.title "Preferences">\r
+<!ENTITY myopac.prefs.hits "Search hits per page">\r
+<!ENTITY myopac.prefs.font "Default Font Size">\r
+<!ENTITY myopac.prefs.font.regular "Regular Font">\r
+<!ENTITY myopac.prefs.font.large "Large Font">\r
+<!ENTITY myopac.prefs.holds.notify "Default Hold Notification Method">\r
+<!ENTITY myopac.prefs.holds.both "Use Phone and Email">\r
+<!ENTITY myopac.prefs.holds.phone "Use Phone Only">\r
+<!ENTITY myopac.prefs.holds.email "Use Email Only">\r
+<!ENTITY myopac.prefs.search.location "Default Search Location">\r
+<!ENTITY myopac.prefs.search.home "Always search my home library by default.">\r
+<!ENTITY myopac.prefs.search.range "Default Search Range">\r
+<!ENTITY myopac.prefs.save "Save Preference Changes">\r
+<!ENTITY myopac.prefs.save.success "Preferences successfully updated">\r
+<!ENTITY myopac.prefs.save.failed "Preferences update failed!">\r
+<!ENTITY myopac.prefs.help "This setting defines how you will be notified of holds that are ready to be picked up from the library.\r
+By default, holds will use the notification style you choose here.  \r
+However, you will still have the option to change individual holds regardless of this setting.">\r
+<!ENTITY myopac.holds.unfrozen "Active">\r
+<!ENTITY myopac.holds.frozen.until "Activate on...">\r
+<!--   ================================================================= \r
+        MyOPAC Summary page\r
+       ================================================================= -->\r
+\r
+<!ENTITY myopac.summary.expired "Your account expired on <span id='myopac.expired.date'/>!  \r
+Please see a librarian to renew your account.">\r
+<!ENTITY myopac.summary.notes "* Staff Notes *">\r
+<!ENTITY myopac.summary.phone.day "Day Phone">\r
+<!ENTITY myopac.summary.phone.evening "Evening Phone">\r
+<!ENTITY myopac.summary.phone.other "Other Phone">\r
+<!ENTITY myopac.summary.change "Change">\r
+<!ENTITY myopac.summary.username.enter "Enter new username:">\r
+<!ENTITY myopac.summary.password.text "(not shown)">\r
+<!ENTITY myopac.summary.password.current "Enter current password:">\r
+<!ENTITY myopac.summary.password.new "Enter new password:">\r
+<!ENTITY myopac.summary.password.reenter "Re-enter new password:">\r
+<!ENTITY myopac.summary.email "Email Address">\r
+<!ENTITY myopac.summary.email.new "Enter new email address:">\r
+<!ENTITY myopac.summary.id.primary "Primary Identification">\r
+<!ENTITY myopac.summary.barcode "Active Barcode">\r
+<!ENTITY myopac.summary.home "Home Library">\r
+<!ENTITY myopac.summary.genesis "Account Creation Date">\r
+<!ENTITY myopac.summary.addresses "Addresses">\r
+<!ENTITY myopac.summary.addresses.pending "Pending Addresses">\r
+<!ENTITY myopac.summary.address.type "Address Type">\r
+<!ENTITY myopac.summary.address.street "Street">\r
+<!ENTITY myopac.summary.address.city "City">\r
+<!ENTITY myopac.summary.address.county "County">\r
+<!ENTITY myopac.summary.address.state "Province">\r
+<!ENTITY myopac.summary.address.country "Country">\r
+<!ENTITY myopac.summary.address.zip "Postal Code">\r
+<!ENTITY myopac.summary.username.error "Please enter a username">\r
+<!ENTITY myopac.summary.username.dup "The requested username is not available.  Please choose a different username.">\r
+<!ENTITY myopac.summary.username.success "Username successfully updated">\r
+<!ENTITY myopac.summary.username.failure "Username update failed">\r
+<!ENTITY myopac.summary.username.invalid "Username cannot contain spaces or have the same format as a barcode">\r
+<!ENTITY myopac.summary.email.error "Please enter a valid email address">\r
+<!ENTITY myopac.summary.email.success "Email address successfully updated">\r
+<!ENTITY myopac.summary.email.failed "Email address update failed">\r
+<!ENTITY myopac.summary.password.error "Passwords are empty or do not match">\r
+<!ENTITY myopac.summary.password.success "Password successfully updated">\r
+<!ENTITY myopac.summary.password.failure "Password update failed">\r
+<!--   ================================================================= \r
+       Advanced Search Page \r
+       ================================================================= -->\r
+\r
+<!ENTITY opac.advanced.wizard.contains "Selected field contains the following words">\r
+<!ENTITY opac.advanced.wizard.nocontains "Selected field does <u>not</u> contain the following words">\r
+<!ENTITY opac.advanced.wizard.exact "Selected field contains the <u>exact</u> phrase">\r
+<!ENTITY opac.advanced.refined.title "Refined Advanced Search">\r
+<!ENTITY opac.advanced.refined.title_contains "Title contains the following words">\r
+<!ENTITY opac.advanced.refined.author_contains "Author contains the following words">\r
+<!ENTITY opac.advanced.refined.subject_contains "Subject contains the following words">\r
+<!ENTITY opac.advanced.refined.series_contains "Series contains the following words">\r
+<!ENTITY opac.advanced.refined.contains "Contains">\r
+<!ENTITY opac.advanced.refined.nocontains "Does not contain">\r
+<!ENTITY opac.advanced.refined.exact "Matches Exactly">\r
+<!ENTITY opac.advanced.marc.warning "For Librarians">\r
+<!ENTITY opac.advanced.marc.title "MARC Expert Search">\r
+<!ENTITY opac.advanced.marc.tag "MARC Tag">\r
+<!ENTITY opac.advanced.marc.ind1 "Indicator 1">\r
+<!ENTITY opac.advanced.marc.ind2 "Indicator 2">\r
+<!ENTITY opac.advanced.marc.subfield "Subfield">\r
+<!ENTITY opac.advanced.marc.value "Value">\r
+<!ENTITY opac.advanced.marc.addrow "Add a new row">\r
+<!ENTITY opac.advanced.quick.title "Quick Search">\r
+<!ENTITY opac.advanced.quick.isbn "ISBN">\r
+<!ENTITY opac.advanced.quick.issn "ISSN">\r
+<!ENTITY opac.advanced.quick.lccn "LCCN">\r
+<!-- title control number -->\r
+<!ENTITY opac.advanced.quick.tcn "TCN">\r
+<!ENTITY opac.advanced.quick.barcode "Item Barcode">\r
+<!ENTITY opac.advanced.quick.cn "Call Number">\r
+<!ENTITY opac.advanced.copy_loc_filter "Shelving Location">\r
+<!-- ==========================================================\r
+     MARC expert search\r
+     ========================================================== -->\r
+\r
+<!ENTITY search.marc "MARC Expert Search">\r
+<!ENTITY search.marc.tag "Tag:">\r
+<!ENTITY search.marc.subfield "Subfield:">\r
+<!ENTITY search.marc.value "Value:">\r
+<!ENTITY search.marc.add.row "Add Row">\r
+<!-- ==========================================================\r
+     Status bar\r
+     ========================================================== -->\r
+\r
+\r
+<!ENTITY status.results "Including results for">\r
+<!-- ==========================================================\r
+     Tips\r
+     ========================================================== -->\r
+\r
+\r
+<!ENTITY tips.label "Tip:">\r
+<!-- ================================================================= \r
+               More generic stuff \r
+               ================================================================= -->\r
+\r
+<!ENTITY opac.session_expiring "Your login session will timeout in 1 minute unless there is activity.">\r
+<!ENTITY opac.session_expired "Your login session has expired">\r
+<!ENTITY navigate.home "Start over">\r
+<!ENTITY navigate.home.title "Go to the catalogue home page">\r
+<!ENTITY opac.navigate.advanced "Advanced Search">\r
+<!ENTITY opac.navigate.advanced.title "Go to the Advanced Search Page">\r
+<!ENTITY navigate.myopac "My Account">\r
+<!ENTITY opac.navigate.myopac "My Account">\r
+<!ENTITY navigate.myopac.title "Go to My OPAC">\r
+<!ENTITY navigate.login "Log in">\r
+<!ENTITY navigate.login.title "Log in for personalized features">\r
+<!ENTITY navigate.logout "Log out">\r
+<!ENTITY navigate.logout.title "Log out">\r
+<!ENTITY opac.navigate.selectNewOrg "Choose a different library">\r
+<!ENTITY opac.navigate.selectOrg "Choose a library to search">\r
+<!ENTITY navigate.loggedinas "You are logged in as ">\r
+<!ENTITY navigate.loggedinas.title "Logged in as...">\r
+<!ENTITY navigate.titleGroupResults "My Search Results">\r
+<!ENTITY navigate.titleResults "My Title Results">\r
+<!ENTITY navigate.title.details "My Title Details">\r
+<!ENTITY navigate.record.details "Record Details">\r
+<!--   ================================================================= \r
+       Footer\r
+       ================================================================= -->\r
+\r
+<!ENTITY footer.basic "Basic Catalogue (HTML only)">\r
+<!ENTITY footer.find.library "Find a Library Near Me">\r
+<!ENTITY footer.find.url "http://www.georgialibraries.org/lib/directories/pineslibdir.html">\r
+<!ENTITY footer.help.url "http://open-ils.org/dokuwiki/doku.php?id=evergreen-user:opac_help">\r
+<!ENTITY footer.help "Help">\r
+<!ENTITY footer.library.url "http://www.georgialibraries.org/public/pines.html">\r
+<!ENTITY footer.library.about "About PINES">\r
+<!ENTITY footer.union.url "http://www.galileo.usg.edu/">\r
+<!ENTITY footer.union "GALILEO">\r
+<!ENTITY footer.copyright "Copyright &#xA9; 2006-2008 Georgia Public Library Service">\r
+<!-- Introduces the logo for the project -->\r
+<!ENTITY footer.logo "Powered by">\r
+<!--   ================================================================= \r
+       My OPAC\r
+       ================================================================= -->\r
+\r
+<!ENTITY myopac.account "Account Summary">\r
+<!ENTITY myopac.checkouts "Items Checked Out">\r
+<!ENTITY myopac.holds "Items on Hold">\r
+<!ENTITY myopac.fines "Fines">\r
+<!ENTITY myopac.preferences "Account Preferences">\r
+<!ENTITY myopac.bookbags "My Bookbags">\r
+<!--   ================================================================= \r
+       Sidebar \r
+       ================================================================= -->\r
+\r
+<!ENTITY sidebar.relevantSubjects.headerLabel "Relevant Subjects">\r
+<!ENTITY sidebar.relevantAuthors.headerLabel "Relevant Authors">\r
+<!ENTITY sidebar.relevantSeries.headerLabel "Relevant Series">\r
+<!ENTITY sidebar.relevantReviews.headerLabel "Reviews">\r
+<!ENTITY sidebar.quick.search "Quick Search">\r
+<!ENTITY sidebar.copy.not.found "No copy with the requested barcode was found">\r
+<!--   ================================================================= \r
+               Search formats\r
+               ================================================================= -->\r
+\r
+<!ENTITY opac.search.books "Books">\r
+<!ENTITY opac.search.allFormats "All Formats">\r
+<!ENTITY opac.search.largePrint "Large Print Books">\r
+<!ENTITY opac.search.audioBooks "Audiobooks">\r
+<!ENTITY opac.search.videoRecordings "Video Recordings">\r
+<!ENTITY opac.search.music "Music">\r
+<!ENTITY opac.search.electronic "Electronic Resources">\r
+<!ENTITY opac.search.nowSearching "Now Searching">\r
+<!--   ================================================================= \r
+               Page Titles\r
+               ================================================================= -->\r
+\r
+\r
+<!ENTITY opac.title.home "Evergreen Home">\r
+<!ENTITY opac.title.mresult "Evergreen Title Groups">\r
+<!ENTITY opac.title.rresult "Evergreen Titles">\r
+<!ENTITY opac.title.myopac "Evergreen My Account">\r
+<!ENTITY opac.title.rdetail "Evergreen Title Details">\r
+<!ENTITY opac.title.advanced "Evergreen Advanced Search">\r
+<!ENTITY opac.title.reqitems "Evergreen Request Items">\r
+<!ENTITY opac.title.cnbrowse "Evergreen Call Number Browse">\r
+\r
+\r
+<!ENTITY opac.holds.forMe "Place this hold for myself">\r
+<!ENTITY opac.holds.xulRecipient "Enter recipient barcode">\r
+<!ENTITY opac.holds.recipient "Recipient">\r
+<!ENTITY opac.holds.placeHold "Place Hold">\r
+<!ENTITY opac.holds.contactPhone "Contact telephone number">\r
+<!ENTITY opac.holds.contactEmail "Contact email address">\r
+<!ENTITY opac.holds.pickupLocation "Pickup location">\r
+<!ENTITY opac.holds.success "Hold was successfully placed">\r
+<!ENTITY opac.holds.failure "Hold was not successfully placed">\r
+<!--   ================================================================= \r
+       Advanced\r
+       ================================================================= -->\r
+<!ENTITY advanced.search.title "Search Input">\r
+<!ENTITY advanced.add.row "Add Search Row">\r
+<!ENTITY advanced.search.submit "Submit Search">\r
+<!ENTITY advanced.search.reset "Reset Form">\r
+<!ENTITY advanced.search.filters "Search Filters">\r
+<!ENTITY advanced.item.form "Item Form">\r
+<!ENTITY advanced.item.type "Item Type">\r
+<!ENTITY advanced.link "Advanced">\r
+<!ENTITY advanced.basic.link "Basic">\r
+<!ENTITY advanced.literary.form "Literary Form">\r
+<!ENTITY advanced.non.fiction "Non Fiction">\r
+<!ENTITY advanced.fiction "Fiction">\r
+<!ENTITY advanced.language "Language">\r
+<!ENTITY advanced.audience "Audience">\r
+<!ENTITY advanced.adult "Adult">\r
+<!ENTITY advanced.juvenile "Juvenile">\r
+<!ENTITY advanced.general "General">\r
+<!ENTITY advanced.sort.criteria "Sort Criteria">\r
+<!ENTITY advanced.search.library "Search Library">\r
+<!ENTITY advanced.relevance "Relevance">\r
+<!ENTITY advanced.pubdate "Publication date">\r
+<!ENTITY advanced.sort.asc "Ascending / A to Z">\r
+<!ENTITY advanced.sort.desc "Descending / Z to A">\r
+<!ENTITY advanced.frbrize "Group Formats and Editions">\r
+<!ENTITY advanced.go "Go">\r
+<!ENTITY advanced.biblevel "Bib Level">\r
+<!ENTITY advanced.filter.pubyear "Publication Year">\r
+<!ENTITY advanced.filter.pubyear.equals "Is">\r
+<!ENTITY advanced.filter.pubyear.before "Before">\r
+<!ENTITY advanced.filter.pubyear.after "After">\r
+<!ENTITY advanced.filter.pubyear.between "Between">\r
+<!--   ================================================================= \r
+       Rdetail\r
+       ================================================================= -->\r
+\r
+<!ENTITY rdetail.print "print these details">\r
+<!ENTITY rdetail.cn.barcode "Barcode">\r
+<!ENTITY rdetail.cn.location "Location">\r
+<!ENTITY rdetail.cn.hold.age "Age Hold Protection">\r
+<!ENTITY rdetail.cn.genesis "Create Date">\r
+<!ENTITY rdetail.cn.holdable "Holdable">\r
+<!ENTITY rdetail.cn.due "Due Date">\r
+<!ENTITY rdetail.cn.more "more info...">\r
+<!ENTITY rdetail.cn.less "less info">\r
+<!ENTITY rdetail.cn.hold "place hold">\r
+<!ENTITY rdetail.cn.disabled "- Disabled -">\r
+<!ENTITY rdetail.cn.note "Copy Note">\r
+<!ENTITY rdetail.cn.category "Copy Category">\r
+<!ENTITY rdetail.cn.print "Print Page">\r
+<!ENTITY rdetail.page.results "First record">\r
+<!-- Result # &common.of; # -->\r
+<!ENTITY rdetail.result "Result">\r
+<!ENTITY rdetail.start "Start">\r
+<!ENTITY rdetail.page.previous "Previous record">\r
+<!ENTITY rdetail.page.next "Next record">\r
+<!ENTITY rdetail.page.last "Last record">\r
+<!ENTITY rdetail.end "End">\r
+<!ENTITY rdetail.more "Bookbags...">\r
+<!ENTITY rdetail.bookbag.add "Add to bookbag">\r
+<!ENTITY rdetail.bookbag.create "Create a new bookbag">\r
+<!ENTITY rdetail.record.deleted "This record has been deleted from the database.\r
+We recommend that you remove this title from any bookbags it may have been added to.">\r
+<!ENTITY rdetail.none "(none)">\r
+<!ENTITY rdetail.bookbag.add.success "Item successfully added to bookbag">\r
+<!ENTITY rdetail.bookbag.name "Enter the name of the new bookbag">\r
+<!ENTITY rdetail.bookbag.create.success "Bookbag successfully created">\r
+<!ENTITY rdetail.detailMain.headerLabel "Record Summary">\r
+<!ENTITY rdetail.detailMain.subjects "Subjects">\r
+<!ENTITY rdetail.detailMain.abstract "Abstract">\r
+<!ENTITY rdetail.detailMain.viewMarc "View MARC">\r
+<!ENTITY rdetail.detailMain.hideMarc "Return to title details">\r
+<!ENTITY rdetail.author.search "Perform an author search">\r
+<!ENTITY rdetail.copyInfo.headerLabel "Copy Information">\r
+<!ENTITY rdetail.copyInfo.library "Library">\r
+<!ENTITY rdetail.copyInfo.callnumber "Callnumber">\r
+<!ENTITY rdetail.copyInfo.copylocation "Copy Location">\r
+<!ENTITY rdetail.copyInfo.local "View Copy Information for this location only">\r
+<!ENTITY rdetail.copyInfo.all "View copy information for all libraries">\r
+<!ENTITY rdetail.copyInfo.actions "Actions">\r
+<!ENTITY rdetail.copyInfo.print "Print Call Numbers for this library">\r
+<!ENTITY rdetail.copyInfo.details "Copy Details">\r
+<!ENTITY rdetail.copyInfo.browse "Browse Call Numbers">\r
+<!ENTITY rdetail.copyInfo.hold "Place Hold">\r
+<!ENTITY rdetail.extras.summary "Copy Summary">\r
+<!ENTITY rdetail.extras.browser "Shelf Browser">\r
+<!ENTITY rdetail.extras.reviews "Reviews">\r
+<!ENTITY rdetail.extras.toc "Table of Contents">\r
+<!ENTITY rdetail.extras.excerpt "Excerpt">\r
+<!ENTITY rdetail.extras.preview "Preview">\r
+<!ENTITY rdetail.extras.author.notes "Author Notes">\r
+<!ENTITY rdetail.extras.annotation "Annotation">\r
+<!ENTITY rdetail.extras.marc "MARC Record">\r
+<!ENTITY rdetail.extras.call.null "There are no call numbers for this item at this location.">\r
+<!ENTITY rdetail.extras.call.local "Local Call Numbers:">\r
+<!ENTITY rdetail.extras.preview.fulltext "Full text">\r
+<!ENTITY rdetail.extras.preview.title "See the full text of this book.">\r
+<!ENTITY rdetail.extras.preview.badge "Show a preview of this book from Google Book Search">\r
+<!ENTITY rdetail.loading "Loading copy infomation...">\r
+<!ENTITY rdetail.noneAvailable " * There are no copies in this location">\r
+<!ENTITY rdetail.summary.online "Online Resources">\r
+\r
+<!ENTITY result.sort_by "Sort Results by Relevance">\r
+<!ENTITY result.sort_by.title "Sort Results by Title">\r
+<!ENTITY result.sort_by.author "Sort Results by Author">\r
+<!ENTITY result.sort_by.pubdate "Sort Results by Publication Date">\r
+\r
+<!ENTITY result.limit2avail "Limit to Available">\r
+<!ENTITY result.info.copies "Available copies / Total copies">\r
+<!ENTITY result.info.no.items "No items with the selected format were found in this location.">\r
+<!ENTITY result.info.format.items "Listed below are all items in the catalogue with the chosen format.">\r
+<!ENTITY result.info.show "Show records for">\r
+\r
+<!ENTITY result.lowhits.few "Few hits were returned for your search.">\r
+<!ENTITY result.lowhits.zero "Zero hits were returned for your search.">\r
+<!ENTITY result.lowhits.did.you.mean "Maybe you meant:">\r
+<!ENTITY result.lowhits.formats "You will find more hits when searching all item formats:">\r
+<!ENTITY result.lowhits.formats.search "Search again with all formats?">\r
+<!ENTITY result.lowhits.related "You may also like to try these related searches:">\r
+<!ENTITY result.lowhits.expand "You may also wish to expand your search range to:">\r
+<!ENTITY result.lowhits.class "You can try searching the same terms by:">\r
+<!ENTITY result.lowhits.title "title">\r
+<!ENTITY result.lowhits.author "author">\r
+<!ENTITY result.lowhits.subject "subject">\r
+<!ENTITY result.lowhits.series "series">\r
+<!ENTITY result.lowhits.keyword "keyword">\r
+\r
+<!ENTITY result.table.keyword "View titles for this record">\r
+<!ENTITY result.table.author "Perform an Author Search">\r
+<!ENTITY result.googleBooks.browse "Browse in Google Books Search">\r
+\r
+<!ENTITY common.call.number.label "Call Number:">\r
+<!ENTITY common.isbn.label "ISBN:">\r
+<!ENTITY common.issn.label "ISSN:">\r
+<!ENTITY common.copy.barcode.label "Copy Barcode:">\r
+<!ENTITY common.hold.place "Place hold for my account">\r
+<!ENTITY common.hold.check "Checking for possibility of hold fulfillment...">\r
+<!ENTITY common.hold.create "Create / Edit a Hold">\r
+<!ENTITY common.hold.update "Update Hold">\r
+<!ENTITY common.hold.type.label "Hold Type:">\r
+<!ENTITY common.hold.volume "Volume Hold">\r
+<!ENTITY common.hold.copy "Copy Hold">\r
+<!ENTITY common.hold.advanced "Advanced Hold Options">\r
+<!ENTITY common.hold.delivery "Please select a physical location where your hold can be delivered.">\r
+<!ENTITY common.hold.exists "A hold already exists on the requested item.">\r
+<!ENTITY common.hold.exists.override "A hold already exists on the requested\r
+item. Would you like to create the hold anyway?">\r
+<!ENTITY common.hold.barred 'PATRON BARRED. Please see any notes in the\r
+"Staff Notes" section of your "My Account" page or contact your local library.'>\r
+<!ENTITY common.hold.item.invalid "This hold is no longer valid. It's likely that the\r
+target for the hold was deleted from the system.  Please cancel this hold and\r
+place a new one.">\r
+<!ENTITY common.hold.patron.invalid "The patron barcode entered as the hold recipient is invalid.">\r
+<!-- Was (??), perhaps change to a button or icon? -->\r
+<!ENTITY common.help "(Help)">\r
+<!ENTITY common.phone.format.help "The phone number does not have the correct format. The expected format is XXX-YYY-ZZZZ">\r
+<!ENTITY common.hold.failed "No items were found that could fulfill the requested holds.\r
+It's possible that choosing a different format will result in a successful hold.\r
+It is also possible that you have exceeded the number of allowable holds.\r
+For further information, please consult your local librarian.">\r
+<!ENTITY common.control.click "(control-click to select multiple formats)">\r
+<!ENTITY common.format.alternatives "Acceptable Alternative Formats:">\r
+<!ENTITY common.phone.format "(XXX-YYY-ZZZZ)">\r
+<!ENTITY common.phone.enable "Enable phone notifications for this hold?">\r
+<!ENTITY common.email.enable "Enable email notifications for this hold?">\r
+<!ENTITY common.email.none "(Patron has no configured email address)">\r
+<!ENTITY common.email.set "(See <a class='classic_link' id='holds.no_email.my_account'>My Account</a> for setting your email address)">\r
+<!ENTITY common.keywords.label "Keywords:">\r
+<!ENTITY common.physical.label "Physical Description:">\r
+<!ENTITY common.series.label "Series:">\r
+<!ENTITY common.subject.label "Subject:">\r
+<!ENTITY common.title.label "Title:">\r
+<!ENTITY common.author.label "Author:">\r
+<!ENTITY common.format.label "Format:">\r
+<!ENTITY library.select "Find results in">\r
+<!ENTITY library.select.label "Choose a different library...">\r
+<!ENTITY library.select.help "Choose a library to search">\r
+<!ENTITY login.username "Username">\r
+<!ENTITY login.password.change "Change Password">\r
+<!ENTITY login.first.time "This appears to be the first time you have logged in.\r
+You will need to change your password.">\r
+<!ENTITY login.password.current.enter "Enter your current password">\r
+<!ENTITY login.password.new.enter "Enter the new password">\r
+<!ENTITY login.password.new.reenter "Re-type the new password for verification">\r
+<!ENTITY login.password.update "Update Password">\r
+<!ENTITY login.password.nomatch "Passwords do not match">\r
+<!ENTITY login.password.success "Password successfully updated">\r
+<!ENTITY login.password.strength "The password provided is not strong enough.">\r
+<!ENTITY login.barcode.inactive "The barcode used to login is marked as inactive.  Please contact your local library.">\r
+<!ENTITY login.account.inactive "This account has been deactivated.  Please contact your local library.">\r
+<!ENTITY login.failed "Login failed. The username or password provided was not valid.\r
+Ensure Caps-Lock is off and try again or contact your local library.">\r
+<!ENTITY button.go "Go!">\r
+<!--   ================================================================= \r
+       Slimpac Simple Search\r
+       ================================================================= -->\r
+\r
+<!ENTITY slimpac.language.select "Select language">\r
+\r
+<!ENTITY slimpac.start.title "Simple Search">\r
+<!ENTITY slimpac.start.nowSearching "Now searching: ">\r
+<!ENTITY slimpac.start.dynamic "Dynamic Catalogue">\r
+<!--   ================================================================= \r
+       Slimpac Advanced Search\r
+       ================================================================= -->\r
+\r
+<!ENTITY slimpac.advanced.language "Item Language">\r
+<!ENTITY slimpac.advanced.create_date "Record Creation Date">\r
+<!ENTITY slimpac.advanced.edit_date "Record Edit Date">\r
+\r
+<!ENTITY opac.image_provided "Image provided by">\r
+<!ENTITY vendor.name "Amazon">\r
+<!ENTITY vendor.base_link "http://amazon.com/dp/">\r
+<!--   ================================================================= \r
+       Selfcheck\r
+       ================================================================= -->\r
+\r
+<!ENTITY selfck.staff_login_label "Staff login">\r
+<!ENTITY selfck.staff_login "Library barcode or username">\r
+<!ENTITY selfck.staff_pw "Password">\r
+<!ENTITY selfck.submit "Submit">\r
+<!ENTITY selfck.clear "Clear">\r
+<!ENTITY selfck.patron_barcode_label "Please scan your library barcode">\r
+<!ENTITY selfck.item_barcode_label "Please scan an item to checkout or renew:">\r
+<!ENTITY selfck.barcode "Barcode">\r
+<!ENTITY selfck.title "Title">\r
+<!ENTITY selfck.author "Author">\r
+<!ENTITY selfck.due_date "Due Date">\r
+<!ENTITY selfck.remaining "Renewals Remaining">\r
+<!ENTITY selfck.cotype "Type">\r
+<!ENTITY selfck.cotype_co "Checkout">\r
+<!ENTITY selfck.cotype_rn "Renewal">\r
+<!ENTITY selfck.done "Done">\r
+<!ENTITY selfck.welcome "Welcome">\r
+<!ENTITY selfck.printing "Printing Receipt...">\r
+<!-- event messages -->\r
+\r
+<!ENTITY selfck.event.co_success "Check out succeeded">\r
+<!ENTITY selfck.event.co_unknown "An unknown event has occurred">\r
+<!ENTITY selfck.event.dupe_barcode "This item has already been checked out during this session">\r
+<!ENTITY selfck.event.patron_not_found "The patron barcode was not found">\r
+<!ENTITY selfck.event.item_noncat "The requested item is not in the catalogue">\r
+<!ENTITY selfck.event.item_nocirc "The requested item is not allowed to circulate">\r
+<!ENTITY selfck.event.already_out "The requested item is already checked out to another patron">\r
+<!ENTITY selfck.items_out "You checked out the following items">\r
+<!ENTITY selfck.org_hours "Hours of Operation">\r
+<!ENTITY selfck.org_phone "Library Phone Number">\r
+<!ENTITY selfck.day0 "Monday">\r
+<!ENTITY selfck.day1 "Tuesday">\r
+<!ENTITY selfck.day2 "Wednesday">\r
+<!ENTITY selfck.day3 "Thursday">\r
+<!ENTITY selfck.day4 "Friday">\r
+<!ENTITY selfck.day5 "Saturday">\r
+<!ENTITY selfck.day6 "Sunday">\r
+\r
diff --git a/web/opac/skin/uwin_old/local/locale/en-CA/opac_conifer.dtd b/web/opac/skin/uwin_old/local/locale/en-CA/opac_conifer.dtd
new file mode 100644 (file)
index 0000000..2c3a5fd
--- /dev/null
@@ -0,0 +1,40 @@
+<!-- Entities for detailed item page -->\r
+<!ENTITY common.alternate.title "Alternate title">\r
+<!ENTITY common.corporate.author "Corporate author">\r
+<!ENTITY common.meeting.name "Meeting name">\r
+<!ENTITY common.issn "ISSN">\r
+<!ENTITY common.subjects "Subjects">\r
+<!ENTITY common.general.note "General note">\r
+<!ENTITY common.contents.note "Contents note">\r
+<!ENTITY common.usage.restrictions "Usage restrictions">\r
+<!ENTITY common.performer.note "Performer note">\r
+<!ENTITY common.additional.authors "Additional authors">\r
+<!ENTITY common.preceding.entry "Preceding entry">\r
+<!ENTITY common.succeeding.entry "Succeeding entry">\r
+\r
+<!ENTITY rdetail.extras.preview "Preview">\r
+<!ENTITY rdetail.extras.performer.notes "Performer or Participant Notes">\r
+\r
+<!-- custom UWin login links -->\r
+<!ENTITY uwin.myopac.loginhelp.question "">\r
+<!ENTITY uwin.myopac.loginhelp.url "http://www.uwindsor.ca/units/leddy/leddy.nsf/LoggingIntoTheLibraryCatalogue!OpenForm">\r
+<!ENTITY uwin.myopac.loginhelp.url_text "Login help">\r
+\r
+<!-- custom UWin askON links -->\r
+<!ENTITY uwin.askON "AskON: online research help">\r
+<!ENTITY uwin.askON.title "Get live research help">\r
+<!ENTITY uwin.askON.div.id "askON_link_div">\r
+<!ENTITY uwin.askON.link.id "askON_link">\r
+<!ENTITY uwin.askON.url "http://infoservices.uwindsor.ca/askON/">\r
+\r
+<!-- custom UWin footer links -->\r
+<!ENTITY uwin.footer.databases "Find Journal Articles and Research Tools">\r
+<!ENTITY uwin.footer.databases.url "http://www.uwindsor.ca/units/leddy/leddy.nsf/JournalArticlesAndResearchToolsBySubject!OpenForm">\r
+<!ENTITY uwin.footer.help "Help">\r
+<!ENTITY uwin.footer.help.url "http://www.uwindsor.ca/units/leddy/leddy.nsf/SearchingTheCatalogue!OpenForm">\r
+<!ENTITY uwin.footer.home.leddy "Leddy Library">\r
+<!ENTITY uwin.footer.home.leddy.url "http://www.uwindsor.ca/library">\r
+<!ENTITY uwin.footer.home.law "Law Library">\r
+<!ENTITY uwin.footer.home.law.url "http://www.uwindsor.ca/units/law/PaulMartin.nsf">\r
+<!ENTITY uwin.footer.journals "Browse Journals">\r
+<!ENTITY uwin.footer.journals.url "http://sfx.scholarsportal.info/windsor/az">\r
diff --git a/web/opac/skin/uwin_old/local/xml/item_lang_options.xml b/web/opac/skin/uwin_old/local/xml/item_lang_options.xml
new file mode 100644 (file)
index 0000000..7709d06
--- /dev/null
@@ -0,0 +1,28 @@
+\r
+<!--\r
+Language otions for languages that exist in the catalog.\r
+This file should be updated on occasion.\r
+\r
+develooper=# select code,value from config.language_map m \r
+       join metabib.rec_descriptor r on (r.item_lang = m.code) group by 1,2;\r
+-->\r
+\r
+<option value='eng'>English</option>\r
+<option value='fre'>French</option>\r
+<option value='spa'>Spanish</option>\r
+<option value='ger'>German</option>\r
+<option value='ita'>Italian</option>\r
+<option value='chi'>Chinese</option>\r
+<option value='jpn'>Japanese</option>\r
+<option value='kor'>Korean</option>\r
+<option value='dut'>Dutch</option>\r
+<option value='gre'>Greek, Modern (1453- )</option>\r
+<option value='lat'>Latin</option>\r
+<option value='vie'>Vietnamese</option>\r
+<option value='rus'>Russian</option>\r
+<option value='nor'>Norwegian</option>\r
+<option value='wel'>Welsh</option>\r
+<option value='pau'>Palauan</option>\r
+<option value='swe'>Swedish</option>\r
+<option value='nav'>Navajo</option>\r
+<option value='und'>Undetermined</option>\r
diff --git a/web/opac/skin/uwin_old/xml/advanced/adv_global_row.xml b/web/opac/skin/uwin_old/xml/advanced/adv_global_row.xml
new file mode 100644 (file)
index 0000000..614c305
--- /dev/null
@@ -0,0 +1,36 @@
+<!--\r
+<tr id='adv_global_trow' type='input'>\r
+-->\r
+<tr id='<!--#echo var="adv_global_row_id"-->' type='input'>\r
+       <td align='center' width='100%' nowrap='nowrap'>\r
+\r
+               <!-- select the search class -->\r
+               <select name='type' style='margin-right: 7px;'>\r
+                       <option value='keyword' selected='selected'>&common.keyword;</option>\r
+                       <option value='title'>&common.title;</option>\r
+                       <option value='author'>&common.author;</option>\r
+                       <option value='subject'>&common.subject;</option>\r
+                       <option value='series'>&common.series;</option>\r
+               </select>\r
+       \r
+               <!-- select how to treat the text -->\r
+               <select name='contains' style='margin-right: 7px;'>\r
+                       <option value='contains'>&opac.advanced.refined.contains;</option>\r
+                       <option value='nocontains'>&opac.advanced.refined.nocontains;</option>\r
+                       <option value='exact'>&opac.advanced.refined.exact;</option>\r
+               </select>\r
+                       \r
+               <!-- search term -->\r
+               <input type='text' size='18' name='term' style='margin-right: 3px;' />\r
+       \r
+               <!-- Remove this row -->\r
+        <button \r
+                       onclick='\r
+                               var row = this.parentNode.parentNode;\r
+                               var tbody = row.parentNode;\r
+                               if( tbody.getElementsByTagName("tr").length > 2 )\r
+                                       row.parentNode.removeChild(row);'>X</button>\r
+\r
+       </td>\r
+</tr>\r
+\r
diff --git a/web/opac/skin/uwin_old/xml/advanced/advanced_global.xml b/web/opac/skin/uwin_old/xml/advanced/advanced_global.xml
new file mode 100644 (file)
index 0000000..736a20a
--- /dev/null
@@ -0,0 +1,307 @@
+<table id='adv_global_search' class='data_grid data_grid_center' width='100%'>\r
+\r
+       <style>\r
+               #adv_global_search select { width: 13em; }\r
+               #adv_global_input_table select { width: 7em; }\r
+               .adv_adv_link { font-size: 8pt; color: red; }\r
+       </style>\r
+\r
+       <script language='javascript' type='text/javascript' src='<!--#echo var="OILS_OPAC_JS_HOST"-->/skin/default/js/adv_global.js'> </script>\r
+\r
+       <tr style='border-bottom: none;'>\r
+\r
+               <!-- Contains the user-addable(?) rows to define search class, containment and text -->\r
+               <td valign='top' width='65%' style='border-bottom: none;'>\r
+                       <table width='100%' id='adv_global_input_table'>\r
+       \r
+                               <thead>\r
+                                       <tr><td colspan='2' align='center'>&advanced.search.title;</td></tr>\r
+                               </thead>\r
+                               <tbody id='adv_global_tbody'>\r
+\r
+                                       <script language='javascript' type='text/javascript'>\r
+                                               config.ids.common.now_searching = 'now_searching_location';\r
+                                       </script>\r
+\r
+                                       <!--#set var="adv_global_row_id" value="adv_global_trow"-->\r
+                                       <!--#include virtual="adv_global_row.xml"-->\r
+\r
+                                       <!--#set var="adv_global_row_id" value=""-->\r
+                                       <!--#include virtual="adv_global_row.xml"-->\r
+                                       <!--#include virtual="adv_global_row.xml"-->\r
+\r
+                                       <!-- add a new row -->\r
+                                       <tr id='adv_global_addrow'>\r
+                                               <td align='center'>\r
+                            <button onclick='clearSearchBoxes();'>&advanced.search.reset;</button>\r
+                            <span style='padding-left: 10px;'> </span>\r
+                                                       <button id='myopac_new_global_row' onclick='advAddGblRow();'>&advanced.add.row;</button>\r
+                                                       <span style='padding-left: 10px;'> </span>\r
+                            <button onclick='advSubmitGlobal();'>&advanced.search.submit;</button>\r
+                                               </td>\r
+                                       </tr>\r
+\r
+                               </tbody>\r
+                       </table>\r
+               </td>\r
+\r
+\r
+               <td rowspan='2'>\r
+\r
+                       <table width='100%'>\r
+                               <thead>\r
+                                       <tr><td colspan='2' align='center'>&advanced.search.filters;</td></tr>\r
+                               </thead>\r
+                               <tbody>\r
+\r
+                                       <tr>\r
+                                               <td align='right'>\r
+                                                       <span>&advanced.item.form;</span>\r
+                                               </td>\r
+                                               <td align='left'>\r
+                                                       <select multiple='multiple' size='3' id='adv_global_item_form'>\r
+                                                       </select>       \r
+                                               </td>\r
+                                       </tr>\r
+\r
+                                       <tr>\r
+                                               <td align='right'>\r
+                                                       <span>&advanced.item.type;</span>\r
+                                                       <a id='adv_global_item_type_link_adv' class='classic_link adv_adv_link'\r
+                                                               href='javascript:void(0);' onclick='\r
+                                                               hideMe($("adv_global_item_type_basic"));\r
+                                                               unHideMe($("adv_global_item_type"));\r
+                                                               hideMe(this);\r
+                                                               unHideMe($("adv_global_item_type_link_basic"));\r
+                                                               '>&advanced.link;</a>\r
+\r
+                                                       <a id='adv_global_item_type_link_basic' class='hide_me classic_link adv_adv_link'\r
+                                                               href='javascript:void(0);' onclick='\r
+                                                               unHideMe($("adv_global_item_type_basic"));\r
+                                                               hideMe($("adv_global_item_type"));\r
+                                                               unHideMe($("adv_global_item_type_link_adv"));\r
+                                                               hideMe(this);\r
+                                                               '>&advanced.basic.link;</a>\r
+                                               </td>\r
+\r
+                                               <td align='left'>\r
+                                                       <select multiple='multiple' size='3' id='adv_global_item_type' class='hide_me'>\r
+                                                       </select>       \r
+                                                       <select multiple='multiple' size='3' id='adv_global_item_type_basic'>\r
+                                                               <option value='at'>&opac.search.books;</option>\r
+                                                               <option value='i'>&opac.search.audioBooks;</option>\r
+                                                               <option value='g'>&opac.search.videoRecordings;</option>\r
+                                                               <option value='j'>&opac.search.music;</option>\r
+                                                               <option value='m'>&opac.search.electronic;</option>\r
+                                                       </select>       \r
+                                               </td>\r
+                                       </tr>\r
+\r
+                                       <tr>\r
+                                               <td align='right'>\r
+                                                       <span>&advanced.literary.form;</span>\r
+                                                       <a id='adv_global_lit_form_link_adv' class='classic_link adv_adv_link'\r
+                                                               href='javascript:void(0);' onclick='\r
+                                                               hideMe($("adv_global_lit_form_basic"));\r
+                                                               unHideMe($("adv_global_lit_form"));\r
+                                                               hideMe(this);\r
+                                                               unHideMe($("adv_global_lit_form_link_basic"));\r
+                                                               '>&advanced.link;</a>\r
+\r
+                                                       <a id='adv_global_lit_form_link_basic' class='hide_me classic_link adv_adv_link'\r
+                                                               href='javascript:void(0);' onclick='\r
+                                                               unHideMe($("adv_global_lit_form_basic"));\r
+                                                               hideMe($("adv_global_lit_form"));\r
+                                                               unHideMe($("adv_global_lit_form_link_adv"));\r
+                                                               hideMe(this);\r
+                                                               '>&advanced.basic.link;</a>\r
+                                               </td>\r
+                                               <td align='left'>\r
+                                                       <select multiple='multiple' size='3' id='adv_global_lit_form' class='hide_me'>\r
+                                                       </select>       \r
+                                                       <select multiple='multiple' size='3' id='adv_global_lit_form_basic'>\r
+                                                               <option value='0 '>&advanced.non.fiction;</option>\r
+                                                               <option value='1'>&advanced.fiction;</option>\r
+                                                       </select>       \r
+                                               </td>\r
+                                       </tr>\r
+\r
+\r
+                                       <!-- Language selector -->\r
+                                       <tr>\r
+                                               <td align='right'>\r
+                                                       <span>&advanced.language;</span>\r
+                                               </td>\r
+\r
+                                               <td align='left'>\r
+                                                       <select multiple='multiple' size='3' id='adv_global_lang'>\r
+                                                               <!--#include virtual="../../../../../common/xml/item_lang_options.xml"-->\r
+                                                       </select>\r
+                                               </td>\r
+                                       </tr>\r
+\r
+                                       <!-- Audience selector -->\r
+                                       <tr>\r
+                                               <td align='right'>\r
+                                                       <span>&advanced.audience;</span>\r
+\r
+                                                       <a id='adv_global_audience_link_adv' class='classic_link adv_adv_link'\r
+                                                               href='javascript:void(0);' onclick='\r
+                                                               hideMe($("adv_global_audience_basic"));\r
+                                                               unHideMe($("adv_global_audience"));\r
+                                                               hideMe(this);\r
+                                                               unHideMe($("adv_global_audience_link_basic"));\r
+                                                               '>&advanced.link;</a>\r
+\r
+                                                       <a id='adv_global_audience_link_basic' class='hide_me classic_link adv_adv_link'\r
+                                                               href='javascript:void(0);' onclick='\r
+                                                               unHideMe($("adv_global_audience_basic"));\r
+                                                               hideMe($("adv_global_audience"));\r
+                                                               unHideMe($("adv_global_audience_link_adv"));\r
+                                                               hideMe(this);'>&advanced.basic.link;</a>\r
+                                               </td>\r
+\r
+                                               <td align='left'>\r
+                                                       <select multiple='multiple' size='3' id='adv_global_audience' class='hide_me'>\r
+                                                       </select>\r
+                                                       <select multiple='multiple' size='3' id='adv_global_audience_basic'>\r
+                                                               <option value='e '>&advanced.adult;</option>\r
+                                                               <option value='abcdj'>&advanced.juvenile;</option>\r
+                                                               <option value='fg '>&advanced.general;</option>\r
+                                                       </select>\r
+                                               </td>\r
+                                       </tr>\r
+\r
+                                       <tr>\r
+                                               <td align='right'>\r
+                                                       <span>&advanced.biblevel;</span>\r
+                                               </td>\r
+                                               <td align='left'>\r
+                                                       <select multiple='multiple' size='3' id='adv_global_bib_level'>\r
+                                                       </select>       \r
+                                               </td>\r
+                                       </tr>\r
+\r
+                                       <tr>\r
+                                               <td align='right'>\r
+                                                       <span>&advanced.filter.pubyear;</span>\r
+                                               </td>\r
+                                               <td align='left'>\r
+                                                       <select id='adv_global_pub_date_type' onchange='\r
+                                if($("adv_global_pub_date_type").selectedIndex == 3)\r
+                                    unHideMe($("adv_global_pub_date_2_span"));\r
+                                else\r
+                                    hideMe($("adv_global_pub_date_2_span"));'>\r
+                                <option value='equals' selected='selected'>&advanced.filter.pubyear.equals;</option>\r
+                                <option value='before'>&advanced.filter.pubyear.before;</option>\r
+                                <option value='after'>&advanced.filter.pubyear.after;</option>\r
+                                <option value='between'>&advanced.filter.pubyear.between;</option>\r
+                                                       </select>       \r
+                            <div style='margin-top:5px;'>\r
+                                <input id='adv_global_pub_date_1' type='text' size='4' maxlength='4'/>\r
+                                <span id='adv_global_pub_date_2_span' class='hide_me'>\r
+                                   &common.and; <input id='adv_global_pub_date_2' type='text' size='4' maxlength='4'/>\r
+                                </span>\r
+                            </div>\r
+                                               </td>\r
+                                       </tr>\r
+\r
+\r
+                    <!-- copy location selector -->\r
+                    <tr id='adv_copy_location_filter_row' class='hide_me'>\r
+                        <td align='right'>&opac.advanced.copy_loc_filter;</td>\r
+                        <td align='left' id='adv_copy_location_filter_td'>\r
+                            <select size='3' id='adv_copy_location_filter_select' multiple='multiple'>\r
+                            </select>\r
+                        </td>\r
+                    </tr>\r
+                               </tbody>\r
+                       </table>\r
+               </td>\r
+       </tr>\r
+\r
+       <tr style='border-top: none;'>\r
+               <td align='center' valign='top' style='border-top: none;'>\r
+\r
+                       <table style='border: none; width: 100%;'>\r
+                               <tr>\r
+                                       <td align='center' width='100%'>\r
+                                               <table class='' width='100%'>\r
+                       \r
+                                                       <thead>\r
+                                                               <tr>\r
+                                                                       <td align='center' width='50%'>&advanced.sort.criteria;</td>\r
+                                                                       <td align='center'>&advanced.search.library;</td>\r
+                                                               </tr>\r
+                                                       </thead>\r
+                       \r
+                                                       <tbody>\r
+                                                               <tr>\r
+\r
+                           <script language='javascript' type='text/javascript'>\r
+                              function __setsortsel() {\r
+                                 var sel = $('adv_global_sort_by')\r
+                                                                                  if(sel.selectedIndex == 0) {\r
+                                                                                          $("adv_global_sort_dir").disabled = true;\r
+                                                                                          $("adv_global_sort_dir").selectedIndex = 0;\r
+                                                                                  } else $("adv_global_sort_dir").disabled = false;\r
+                              }\r
+                           </script>\r
+\r
+                                                                       <td align=''>\r
+                                                                               <select id='adv_global_sort_by' onchange='__setsortsel();'>\r
+                                                                                       <option value='rel'>&advanced.relevance;</option>\r
+                                                                                       <option value='title'>&common.title;</option>\r
+                                                                                       <option value='author'>&common.author;</option>\r
+                                                                                       <option value='pubdate'>&advanced.pubdate;</option>\r
+                                                                               </select>\r
+                                                                       </td>\r
+\r
+\r
+                                                                       <td align='center' width='100%' nowrap='nowrap'>\r
+                                                                               <b id='now_searching_location'> </b>\r
+                                                                       </td>\r
+\r
+                                                               </tr>\r
+                       \r
+                                                               <tr>\r
+\r
+                                                                       <td>\r
+                                                                               <select id='adv_global_sort_dir' disabled='disabled'>\r
+                                                                                       <option value='asc'>&advanced.sort.asc;</option>\r
+                                                                                       <option value='desc'>&advanced.sort.desc;</option>\r
+                                                                               </select>\r
+                                                                       </td>\r
+\r
+                           <!-- force the enable/disable sort dir code to run -->\r
+                           <script language='javascript' type='text/javascript'>__setsortsel();</script>\r
+\r
+                                                                       <td align='center'>\r
+                                                                               <!--#include virtual="../common/libselect.xml"-->\r
+                                                                       </td>\r
+\r
+                                                               </tr>\r
+                                                               <tr>\r
+                                                                       <td align='center'>\r
+                                                                               <span>&advanced.frbrize;</span>\r
+                                                                               <input id='adv_group_titles' type='checkbox' />\r
+                                                                       </td>\r
+                                    <td align='center'>\r
+                                        <span>&result.limit2avail;</span>\r
+                                        <input type='checkbox' id='opac.result.limit2avail'/>\r
+                                    </td>\r
+                                                               </tr>\r
+                                                       </tbody>\r
+                                               </table>\r
+                                       </td>\r
+                               </tr>\r
+                       </table>\r
+               </td>\r
+\r
+       </tr>\r
+\r
+       <tr class='border_4_2'>\r
+               <td colspan='2'><input type='submit' onclick='advSubmitGlobal();' value='&advanced.search.submit;'></input></td>\r
+       </tr>\r
+\r
+</table>\r
diff --git a/web/opac/skin/uwin_old/xml/advanced/advanced_marc.xml b/web/opac/skin/uwin_old/xml/advanced/advanced_marc.xml
new file mode 100644 (file)
index 0000000..43eaff5
--- /dev/null
@@ -0,0 +1,46 @@
+<!--\r
+XXX Deprecate me\r
+-->\r
+\r
+<table class='data_grid' width='100%'>\r
+       <thead>\r
+               <tr>\r
+                       <td colspan='6'>&opac.advanced.marc.title;</td>\r
+               </tr>\r
+       </thead>\r
+       <tbody id='advanced.marc.tbody'>\r
+               <tr id='advanced.marc.template'>\r
+                       <td>\r
+                               <span>&opac.advanced.marc.tag;: </span>\r
+                               <input name='advanced.marc.tag' maxlength='3' size='3' />\r
+                       </td>\r
+                       <td>\r
+                               <span>&opac.advanced.marc.subfield;: </span>\r
+                               <input name='advanced.marc.subfield' maxlength='1' size='1' />\r
+                       </td>\r
+                       <td>\r
+                               <span>&opac.advanced.marc.value;: </span>\r
+                               <input name='advanced.marc.value' size='36' />\r
+                       </td>\r
+\r
+                       <td>\r
+                               <input type='submit' value='X' onclick='\r
+                                       var row = this.parentNode.parentNode;\r
+                                       var tbody = row.parentNode;\r
+                                       if(tbody.getElementsByTagName("tr").length > 2)\r
+                                               tbody.removeChild(row);\r
+                                       ' />\r
+                       </td>\r
+               </tr>\r
+               <tr id='advanced.marc.submit.row'>\r
+                       <td colspan='4' align='center'>\r
+\r
+                               <input name='advanced.marc.addrow' type='submit' onclick='advAddMARC();'\r
+                                       value='&opac.advanced.marc.addrow;' />\r
+\r
+                               <input style='margin-left: 10px;' \r
+                                       onclick='advMARCRun();' type='submit' value='&common.submit;' />\r
+                       </td>\r
+               </tr>\r
+       </tbody>\r
+</table>\r
diff --git a/web/opac/skin/uwin_old/xml/advanced/advanced_quick.xml b/web/opac/skin/uwin_old/xml/advanced/advanced_quick.xml
new file mode 100644 (file)
index 0000000..ea00d04
--- /dev/null
@@ -0,0 +1,30 @@
+<!--\r
+XXX Deprecate me\r
+-->\r
+\r
+<table class='data_grid' width='95%'>\r
+       <thead>\r
+               <tr>\r
+                       <td colspan='6'>&opac.advanced.quick.title;</td>\r
+               </tr>\r
+       </thead>\r
+       <tbody>\r
+               <tr>\r
+                       <td>\r
+                               <span style='padding-right: 0px;'>&common.call.number.label;</span>\r
+                               <input id='opac.advanced.quick.cn' style='margin: 2px;' type='text' size='12' />\r
+                               <input type='submit' onclick='advCNRun();' value='&advanced.go;' />\r
+                       </td>\r
+                       <td>\r
+                               <span style='padding-right: 0px;'>&common.isbn.label;</span>\r
+                               <input id='opac.advanced.quick.isbn' style='margin: 2px;' type='text' size='13' maxlength='13' />\r
+                               <input type='submit' onclick='advISBNRun();' value='&advanced.go;' />\r
+                       </td>\r
+                       <td>\r
+                               <span style='padding-right: 0px;'>&common.issn.label;</span>\r
+                               <input id='opac.advanced.quick.issn' style='margin: 2px;' type='text' size='9' maxlength='9' />\r
+                               <input type='submit' onclick='advISSNRun();' value='&advanced.go;' />\r
+                       </td>\r
+               </tr>\r
+       </tbody>\r
+</table>\r
diff --git a/web/opac/skin/uwin_old/xml/body.xml b/web/opac/skin/uwin_old/xml/body.xml
new file mode 100644 (file)
index 0000000..b96704b
--- /dev/null
@@ -0,0 +1,30 @@
+<body class="tundra">\r
+       <table width='100%'>\r
+               <tbody>\r
+                       <tr>\r
+                               <td id='main_left_cell'>\r
+                                       <!--#include virtual="common/logo.xml"-->\r
+                                       <!--#include virtual="common/sidebar.xml"-->\r
+                               </td>\r
+                               <td id='main_right_cell'>\r
+                                       <div id='content' class=''>\r
+\r
+                                               <!--#if expr="$OILS_PAGE!='advanced.xml'"-->\r
+                                                       <!--#include virtual="common/searchbar.xml"-->\r
+                                                       <!--#include virtual="common/statusbar.xml"-->\r
+                                               <!--#endif-->\r
+\r
+                                               <!--#include virtual="common/fonts.xml"-->\r
+\r
+                                               <!--#include virtual="common/altcanvas.xml"-->\r
+                                               <!--#include virtual="common/ilsevents.xml"--> \r
+                                               <!--#include virtual="page_${OILS_PAGE}"-->\r
+                                       </div>\r
+                                       <br/>\r
+                                       <!--#include virtual="common/tips.xml"-->\r
+                               </td>\r
+                       </tr>\r
+               </tbody>\r
+       </table>\r
+               <!--#include virtual='footer.xml'-->\r
+</body>\r
diff --git a/web/opac/skin/uwin_old/xml/common/altcanvas.xml b/web/opac/skin/uwin_old/xml/common/altcanvas.xml
new file mode 100644 (file)
index 0000000..e1fa24b
--- /dev/null
@@ -0,0 +1,37 @@
+\r
+<!-- These are the UI components that may be needed on any given page.  The must be\r
+       set to class += 'hide_me' by default -->\r
+\r
+<div id='not_the_canvas' xmlns:xi="http://www.w3.org/2001/XInclude">\r
+\r
+       <!-- the login page -->\r
+       <!--#if expr="$FRONT_PAGE!='true'"-->\r
+               <!--#include virtual="login.xml"-->\r
+       <!--#endif-->\r
+\r
+       <!-- The org tree -->\r
+       <!--#include virtual="orgtree.xml"-->\r
+\r
+       <!-- ============================================================================= -->\r
+       <!-- Register the alternate canvases  -->\r
+       <script language='javascript' type='text/javascript'>\r
+               config.ids.altcanvas.org_tree           = config.ids.common.org_container;\r
+               config.ids.altcanvas.holds                      = 'holds_box';\r
+               config.ids.altcanvas.check_holds        = 'check_holds_box';\r
+               config.ids.altcanvas.xulholds           = 'xulholds_box';\r
+               config.ids.altcanvas.loading            = 'loading_alt';\r
+               //config.ids.altcanvas.cnbrowse         = 'cn_browse';\r
+       </script>\r
+\r
+       <!--#if expr="$FRONT_PAGE!='true'"-->\r
+               <!--#include virtual="holds.xml"-->\r
+               <!-- #include virtual="cn_browse.xml"-->\r
+       <!--#endif-->\r
+\r
+       <div id='loading_alt' class='hide_me canvas' style='margin-top: 6px;'>\r
+               <div style='margin-top: 30px; margin-bottom: 30px; text-align: center; font-weight: 700;' class='color_3'>\r
+                       <img src='../../../../images/progressbar_green.gif' style='margin: 5px;' />\r
+               </div>\r
+       </div>\r
+\r
+</div>\r
diff --git a/web/opac/skin/uwin_old/xml/common/cn_browse.xml b/web/opac/skin/uwin_old/xml/common/cn_browse.xml
new file mode 100644 (file)
index 0000000..8c4a668
--- /dev/null
@@ -0,0 +1,34 @@
+<div id='cn_browse' class='hide_me cn_browser' \r
+       style='width: 95%; text-align: center; padding: 15px;'>\r
+       <div id='cn_browse_loading'  class='cn_browse_loading hide_me'>&common.cn.loading;</div>\r
+       <div id='cn_browse_div'> \r
+\r
+\r
+               <div style='width: 90%; text-align: center; margin: 10px;' class='color_4'>\r
+                       <span>&common.cn.browsing;</span><b style='margin-left: 6px;' id='cn_browse_where'> </b>\r
+               </div>\r
+               <table class='data_grid bookshelf' width='100%'>\r
+                       <thead>\r
+                               <tr>\r
+                                       <td><a id='cn_browse_next' class='classic_link' \r
+                                               href='javascript:cnBrowsePrev();'><b>&common.cn.previous;</b></a></td>\r
+                                       <td colspan='1' align='center'>&common.cn.shelf;</td>\r
+                                       <td><a id='cn_browse_prev' class='classic_link' \r
+                                               href='javascript:cnBrowseNext();'><b>&common.cn.next;</b></a></td>\r
+                               </tr>\r
+                       </thead>\r
+                       <tbody id='cn_tbody'>\r
+                               <tr id='cn_browse_row'>\r
+                                       <td id='cn_browse_td' class='cn_browse_item' width='25%' valign='top'>\r
+                                               <a><img height='60' width='50' \r
+                                                       class='cn_browse_info' name='cn_browse_pic' border='0' /></a>\r
+                                               <div style='font-weight: bold;' class='cn_browse_info' name='cn_browse_cn'>  </div>\r
+                                               <div class='cn_browse_info'><a name='cn_browse_title' class='classic_link'> </a></div>\r
+                                               <div class='cn_browse_info'><a name='cn_browse_author' class='classic_link'>  </a></div>\r
+                                               <div class='cn_browse_info' name='cn_browse_lib'>  </div>\r
+                                       </td>\r
+                               </tr>\r
+                       </tbody>\r
+               </table>\r
+       </div>\r
+</div>\r
diff --git a/web/opac/skin/uwin_old/xml/common/css_common.xml b/web/opac/skin/uwin_old/xml/common/css_common.xml
new file mode 100644 (file)
index 0000000..d1838bc
--- /dev/null
@@ -0,0 +1,24 @@
+<!-- CSS shared across pages goes here --> \r
+\r
+<link type='text/css' rel='stylesheet' href="<!--#echo var='OILS_SKIN_BASE'-->/uwin/css/layout.css"/>\r
+\r
+<!-- Our font CSS's -->\r
+<link type='text/css' rel='stylesheet' href='<!--#echo var="OILS_CSS_BASE"-->/mediumfont.css' />\r
+\r
+<!-- Our colors -->\r
+<link type='text/css' rel="stylesheet" href="<!--#echo var='OILS_SKIN_BASE'-->/uwin/css/colors.css" />\r
+\r
+<!-- An alternate stylesheet -->\r
+<link type='text/css' rel="alternate stylesheet" title='&opac.style.reddish;' href="<!--#echo var='OILS_THEME_BASE'-->/reddish/css/colors.css" />\r
+\r
+<!-- OpenSearch auto discovery -->\r
+<link type="application/opensearchdescription+xml"\r
+       rel='search' title="UWindsor Library Catalogue"\r
+       href="http://<!--#echo var='SERVER_NAME'-->/opac/extras/opensearch/1.1/OWA/OWA/osd.xml" />\r
+\r
+<!-- enable Dojo date picker -->\r
+<style type="text/css">\r
+       @import '/js/dojo/dojo/resources/dojo.css';\r
+       @import '/js/dojo/dijit/themes/tundra/tundra.css';\r
+       @import '/js/dojo/dijit/themes/tundra/tundra_rtl.css';\r
+</style>\r
diff --git a/web/opac/skin/uwin_old/xml/common/fonts.xml b/web/opac/skin/uwin_old/xml/common/fonts.xml
new file mode 100644 (file)
index 0000000..a5c7f23
--- /dev/null
@@ -0,0 +1,25 @@
+<div id='fonts_div'>\r
+\r
+       <div id='text_size_div' style='position:absolute; top: 2px; right: 6px;'>\r
+               <span style='vertical-align: top;'>&common.textsize.title;</span>\r
+               <span style='vertical-align: top;'><a href="javascript:void(0);" onclick="setFontSize('regular');"> &common.textsize.regular; </a></span>\r
+               <span style='vertical-align: top;'> &common.textsize.separator; </span>\r
+               <span style='vertical-align: top;'><a href="javascript:void(0);" onclick="setFontSize('large');"> &common.textsize.large; </a></span>\r
+<!--           <span style='vertical-align: top;'>&nbsp;<span style="font-weight:bold;">|</span>&nbsp;</span>\r
+               <span style='vertical-align: top;'>&common.language;</span>\r
+               <span id='translation_switch' dojoType="dijit.form.FilteringSelect" store="openils.I18N.localeStore"\r
+            searchAttr="label" required="false" jsId='opacLocaleSelector'>\r
+            <script>\r
+                dojo.addOnLoad(function() {\r
+                    opacLocaleSelector.setValue(locale);\r
+                    dojo.connect(opacLocaleSelector, 'onChange', \r
+                        function () {\r
+                            location.href = location.href.replace(/opac\/[^\/]+\/skin/, 'opac/' + this.getValue() + '/skin');\r
+                        }\r
+                    );\r
+                });\r
+            </script>\r
+               </span>  -->\r
+       </div>\r
+       \r
+</div>\r
diff --git a/web/opac/skin/uwin_old/xml/common/format_selector.xml b/web/opac/skin/uwin_old/xml/common/format_selector.xml
new file mode 100644 (file)
index 0000000..37e29ec
--- /dev/null
@@ -0,0 +1,10 @@
+<select id='<!--#echo var="FORM_SEL_ID"-->' >\r
+       <option value=''>&opac.search.allFormats;</option>\r
+       <option value='at'>&opac.search.books;</option>\r
+       <option value='at-d'>&opac.search.largePrint;</option>\r
+       <option value='i'>&opac.search.audioBooks;</option>\r
+       <option value='g'>&opac.search.videoRecordings;</option>\r
+       <option value='j'>&opac.search.music;</option>\r
+       <option value='m'>&opac.search.electronic;</option>\r
+</select>\r
+       \r
diff --git a/web/opac/skin/uwin_old/xml/common/holds.xml b/web/opac/skin/uwin_old/xml/common/holds.xml
new file mode 100644 (file)
index 0000000..6b60d8f
--- /dev/null
@@ -0,0 +1,232 @@
+<script language='javascript' type='text/javascript' src='<!--#echo var="OILS_OPAC_JS_HOST"-->/common/js/DP_DateExtensions.js'></script>\r
+<div>\r
+       <div id='xulholds_box' class='hide_me canvas' style='margin-top: 6px;'>\r
+               <center>\r
+                       <table class='data_grid' style='margin-top: 20px;'>\r
+                               <tbody>\r
+                                       <tr>\r
+                                               <td>&opac.holds.xulRecipient;:</td>\r
+                                               <td><input type='text' id='xul_recipient_barcode' /></td>\r
+                                               <td><input type='submit' value='&common.submit;' id='xul_recipient_barcode_submit' /></td>\r
+                                               <td><input type='submit' value='&common.cancel;' onclick='showCanvas();' /></td>\r
+                                               <td><input type='submit' value='&common.hold.place;' id='xul_recipient_me' /></td>\r
+                                       </tr>\r
+                               </tbody>\r
+                       </table>\r
+               </center>\r
+       </div>\r
+\r
+       <div id='check_holds_box' class='hide_me canvas' \r
+               style='margin-top: 6px; width: 100%; text-align: center'>\r
+               <br/><br/><br/>\r
+               <b>&common.hold.check;</b>\r
+       </div>\r
+\r
+       <div id='holds_box' class='hide_me canvas' style='margin-top: 6px;'>\r
+       \r
+               <br/>\r
+               <table width='90%'>\r
+                       <tbody>\r
+                               <tr>\r
+                                       <td class='holds_cell color_1' \r
+                                               align='center' colspan='2'>&common.hold.create;</td>\r
+                               </tr>\r
+                               <tr>\r
+                                       <td class='holds_cell'>&opac.holds.recipient;:</td>\r
+                                       <td class='holds_cell' id='holds_recipient'> </td>\r
+                               </tr>\r
+                               <tr>\r
+                                       <td class='holds_cell'>&common.title.label;</td>\r
+                                       <td class='holds_cell' id='holds_title'> </td>\r
+                               </tr>\r
+                               <tr>\r
+                                       <td class='holds_cell'>&common.author;</td>\r
+                                       <td class='holds_cell' id='holds_author'> </td>\r
+                               </tr>\r
+                               <tr>\r
+                                       <td class='holds_cell'>&common.format;</td>\r
+                                       <td class='holds_cell' id='holds_format'> </td>\r
+                               </tr>\r
+                               <tr id='hold_physical_desc_row'>\r
+                                       <td class='holds_cell'>&common.physical.label;</td>\r
+                                       <td class='holds_cell' id='holds_physical_desc'> </td>\r
+                               </tr>\r
+\r
+                               <tr class='hide_me' id='holds_cn_row'>\r
+                                       <td class='holds_cell'>&common.call.number.label;</td>\r
+                                       <td class='holds_cell'><b id='holds_cn'/> </td>\r
+                               </tr>\r
+\r
+                               <tr class='hide_me' id='holds_copy_row'>\r
+                                       <td class='holds_cell'>&common.copy.barcode.label;</td>\r
+                                       <td class='holds_cell'><b id='holds_copy'/> </td>\r
+                               </tr>\r
+\r
+                               <tr class='hide_me' id='holds_type_row'>\r
+                                       <td class='holds_cell'>&common.hold.type.label;</td>\r
+                                       <td class='holds_cell hide_me' id='holds_is_cn'><b>&common.hold.volume;</b></td>\r
+                                       <td class='holds_cell hide_me' id='holds_is_copy'><b>&common.hold.copy;</b></td>\r
+                               </tr>\r
+\r
+                               <tr>\r
+                                       <td class='holds_cell'>&opac.holds.contactPhone;:</td>\r
+                                       <td class='holds_cell'>\r
+                                               <input id='holds_phone' size='13' maxlength='12'/>\r
+                                               <span style='margin-left: 4px; font-size: 7pt;'>&common.phone.format;</span>\r
+                                       </td>\r
+                               </tr>\r
+                               <tr>\r
+                                       <td class='holds_cell'>&common.phone.enable;</td>\r
+                                       <td class='holds_cell'>\r
+                                               <input type='checkbox' id='holds_enable_phone'  checked='checked'\r
+                                                       onchange='\r
+                                                               if (this.checked) $("holds_phone").disabled=false; \r
+                                                               else $("holds_phone").disabled = true;'/>\r
+                                       </td>\r
+                               </tr>\r
+\r
+                               <tr>\r
+                                       <td class='holds_cell'>&opac.holds.contactEmail;:</td>\r
+                                       <td class='holds_cell' id='holds_email'> \r
+                        <span class='hide_me' id='holds.no_email'>\r
+                           &common.email.none;<br/>\r
+                           &common.email.set;\r
+                        </span>\r
+                        <span class='hide_me' id='holds.no_email.xul'>\r
+                           &common.email.none; \r
+                        </span>\r
+\r
+                    </td>\r
+                               </tr>\r
+                               <tr>\r
+                                       <td class='holds_cell'>&common.email.enable;</td>\r
+                                       <td class='holds_cell'>\r
+                                               <input type='checkbox' id='holds_enable_email' checked='checked'/>\r
+                                       </td>\r
+                               </tr>\r
+                               <!--\r
+                               <tr id='holds_depth_selector_row' class='hide_me'>\r
+                                       <td class='holds_cell'>Hold Range</td>\r
+                                       <td class='holds_cell'>\r
+                                               <select id='holds_depth_selector'></select>\r
+                                       </td>\r
+                               </tr>\r
+                               -->\r
+                               <tr>\r
+                                       <td class='holds_cell'>&opac.holds.pickupLocation;</td>\r
+                                       <td class='holds_cell'>\r
+                                               <select id='holds_org_selector'> </select>\r
+                                       </td>\r
+                               </tr>\r
+\r
+                               <tr>\r
+                                       <td class='holds_cell'>&opac.holds.expire_time;</td>\r
+                                       <td class='holds_cell'>\r
+                        <input dojoType="dijit.form.DateTextBox" size='10' maxlength='10' id='holds_expire_time' />\r
+                                       </td>\r
+                               </tr>\r
+\r
+                <tr>\r
+                    <td class='holds_cell'>\r
+                        &opac.holds.freeze;\r
+                        <a class='classic_link' href='javascript:alert("&opac.holds.freeze.help;");'>&common.help;</a>\r
+                        </td>\r
+                    <td class='holds_cell'>\r
+                        <input type='checkbox' id='holds_frozen_chkbox' \r
+                            onchange='\r
+                                if($("holds_frozen_chkbox").checked) \r
+                                    unHideMe($("hold_frozen_thaw_row"));\r
+                                else\r
+                                    hideMe($("hold_frozen_thaw_row"));\r
+                            ' /> \r
+                    </td>\r
+                </tr>\r
+\r
+                <tr id='hold_frozen_thaw_row' class='hide_me'>\r
+                    <td class='holds_cell'>\r
+                        <script language='javascript' type='text/javascript'> if($('holds_frozen_chkbox').checked) unHideMe($("hold_frozen_thaw_row"));</script>\r
+                        &opac.holds.freeze.thaw_date;\r
+                    </td>\r
+                    <td class='holds_cell'>\r
+                        <input dojoType="dijit.form.DateTextBox" size='10' maxlength='10' id='holds_frozen_thaw_input' />\r
+                    </td>\r
+                </tr>\r
+\r
+                               <tr id='holds_alt_formats_row_extras' class='hide_me'>\r
+                                       <td colspan='2' align='center'>\r
+                                               <div style='padding: 8px;'>\r
+                                                       <a class='classic_link' href='javascript:void(0);' style='padding: 5px;'\r
+                                                               onclick='unHideMe($("holds_alt_formats_row"));'>&common.hold.advanced;</a>\r
+                                               </div>\r
+                                       </td>\r
+                               </tr>\r
+\r
+                               <tr id='holds_alt_formats_row' class='hide_me'>\r
+\r
+                                       <td class='holds_cell'>\r
+                                               <div style='margin-bottom: 5px;'>\r
+                                                       <span>&common.format.alternatives; </span>\r
+                                                       <span> <a class='classic_link' style='color:red;' href='javascript:void(0);' \r
+                                                               onclick='alert($("holds_explain_adv").innerHTML)'>&common.help;</a></span>\r
+                                               </div>\r
+                                               <div>&common.control.click;</div>\r
+                                       </td>\r
+\r
+                                       <td class='holds_cell'>\r
+                                               <select id='hold_alt_form_selector' multiple='multiple' style='width: 14em;'>\r
+                                                       <option value='at'      class='hide_me'>&opac.search.books;</option>\r
+                                                       <option value='at-d' class='hide_me'>&opac.search.largePrint;</option>\r
+                                                       <option value='i'               class='hide_me'>&opac.search.audioBooks;</option>\r
+                                                       <option value='g'               class='hide_me'>&opac.search.videoRecordings;</option>\r
+                                                       <option value='j'               class='hide_me'>&opac.search.music;</option>\r
+                                               </select>\r
+                                       </td>\r
+                               </tr>\r
+\r
+                               <tr>\r
+                                       <td class='holds_cell' align='center' colspan='2'>\r
+                                               <button id='holds_submit'>&opac.holds.placeHold;</button>\r
+                                               <button class='hide_me' id='holds_update'>&common.hold.update;</button>\r
+                                               <span style='padding: 20px;'> </span>\r
+                                               <button id='holds_cancel'>&common.cancel;</button>\r
+                                       </td>\r
+                               </tr>\r
+                       </tbody>\r
+               </table>\r
+       \r
+               <div class='hide_me' id='holds_success'>&opac.holds.success;</div>\r
+               <div class='hide_me' id='holds_failure'>&opac.holds.failure;</div>\r
+               <span class='hide_me' id='holds_bad_phone'>\r
+                       &common.phone.format.help;\r
+               </span>\r
+\r
+               <span class='hide_me' id='hold_not_allowed'>\r
+                       &common.hold.failed;\r
+               </span>\r
+\r
+       </div>\r
+\r
+       <span class='hide_me' id='format_words'>\r
+               <span name='at'>&opac.search.books;</span>\r
+               <span name='at-d'>&opac.search.largePrint;</span>\r
+               <span name='i'>&opac.search.audioBooks;</span>\r
+               <span name='g'>&opac.search.videoRecordings;</span>\r
+               <span name='j'>&opac.search.music;</span>\r
+               <span name='m'>&opac.search.electronic;</span>\r
+       </span>\r
+\r
+       <span class='hide_me' id='holds_explain_adv'>&holds.advanced_options;</span>\r
+\r
+       <span class='hide_me' id='holds_pick_good_org'>&common.hold.delivery;</span>\r
+\r
+       <span class='hide_me' id='hold_dup_exists'>&common.hold.exists;</span>\r
+\r
+       <span class='hide_me' id='hold_dup_exists_override'>&common.hold.exists.override;</span>\r
+\r
+       <span id='hold_failed_patron_barred' class='hide_me'>&common.hold.barred;</span>\r
+\r
+       <span id='invalid_hold' class='hide_me'>&common.hold.item.invalid;</span>\r
+\r
+       <span id='holds_invalid_recipient' class='hide_me'>&common.hold.patron.invalid;</span>\r
+\r
+</div>\r
diff --git a/web/opac/skin/uwin_old/xml/common/ilsevents.xml b/web/opac/skin/uwin_old/xml/common/ilsevents.xml
new file mode 100644 (file)
index 0000000..11d0bea
--- /dev/null
@@ -0,0 +1,14 @@
+<span class='hide_me'>\r
+       <span id='ilsevent.1000'>&ilsevent.1000;</span>\r
+       <span id='ilsevent.1001'>&ilsevent.1001;</span>\r
+       <span id='ilsevent.1002'>&ilsevent.1002;</span>\r
+       <span id='ilsevent.1200'>&ilsevent.1200;</span>\r
+       <span id='ilsevent.5000'>&ilsevent.5000;</span>\r
+       <span id='ilsperm.CREATE_HOLD'>&ilsperm.CREATE_HOLD;</span>\r
+\r
+       <!-- Local OPAC Specific strings/events -->\r
+       <span id='auth_session_expiring'>&opac.session_expiring;</span>\r
+       <span id='auth_session_expired'>&opac.session_expired;</span>\r
+       <span id='user_not_found'>&common.user_not_found;</span>\r
+</span>\r
+\r
diff --git a/web/opac/skin/uwin_old/xml/common/js_common.xml b/web/opac/skin/uwin_old/xml/common/js_common.xml
new file mode 100644 (file)
index 0000000..24aa1de
--- /dev/null
@@ -0,0 +1,77 @@
+       <script language='javascript' src='<!--#echo var="OILS_JS_BASE"-->/utils.js' type='text/javascript'></script>\r
+       <script language='javascript' src='<!--#echo var="OILS_JS_BASE"-->/config.js' type='text/javascript'></script>\r
+\r
+    <!-- overriding the default setting for metarecord grouping -->\r
+    <script language='javascript' type='text/javascript'>\r
+        SHOW_MR_DEFAULT = false;\r
+    </script>\r
+\r
+\r
+       <script language='javascript' src='<!--#echo var="OILS_JS_BASE"-->/CGI.js' type='text/javascript'></script>\r
+       <script language='javascript' src='<!--#echo var="OILS_JS_BASE"-->/Cookies.js' type='text/javascript'></script>\r
+       <script language='javascript' src='<!--#echo var="OILS_JS_BASE"-->/md5.js' type='text/javascript'></script>\r
+\r
+       <script language='javascript' src='<!--#echo var="OILS_JS_BASE"-->/slimtree.js' type='text/javascript'></script>\r
+\r
+       <script language='javascript' src='<!--#echo var="OILS_JS_BASE"-->/JSON_v1.js' type='text/javascript'></script>\r
+       <script language='javascript' src='<!--#echo var="OILS_JS_BASE"-->/fmcore.js' type='text/javascript'></script>\r
+       <script language='javascript' src='<!--#echo var="OILS_JS_BASE"-->/fmgen.js' type='text/javascript'></script>\r
+       <script language='javascript' src='<!--#echo var="OILS_JS_BASE"-->/opac_utils.js' type='text/javascript'></script>\r
+       <script language='javascript' src='<!--#echo var="OILS_JS_BASE"-->/<!--#echo var="locale"-->/OrgTree.js' type='text/javascript'></script>\r
+       <script language='javascript' src='<!--#echo var="OILS_JS_BASE"-->/OrgLasso.js' type='text/javascript'></script>\r
+       <script language='javascript' src='<!--#echo var="OILS_JS_BASE"-->/org_utils.js' type='text/javascript'></script>\r
+       <script language='javascript' src='<!--#echo var="OILS_JS_BASE"-->/RemoteRequest.js' type='text/javascript'></script>\r
+       <script language='javascript' src='<!--#echo var="OILS_JS_BASE"-->/init.js' type='text/javascript'></script>\r
+       <script language='javascript' src='<!--#echo var="OILS_JS_BASE"-->/added_content.js' type='text/javascript'></script>\r
+\r
+       <!-- Some global js -->\r
+       <script language='javascript' type='text/javascript'>\r
+\r
+               config.css.color_1 = "color_1";\r
+               config.css.color_2 = "color_2";\r
+               config.css.color_3 = "color_3";\r
+\r
+\r
+               <!-- set up some global JS config variables, read from the Apache config -->\r
+               var OILS_OPAC_IMAGES_HOST = null;\r
+               <!--#if expr="$OILS_OPAC_IMAGES_HOST"-->\r
+                       OILS_OPAC_IMAGES_HOST = '<!--#echo var="OILS_OPAC_IMAGES_HOST"-->extras/ac/jacket/';\r
+               <!--#endif -->\r
+               var OILS_OPAC_STATIC_PROTOCOL = null;\r
+               <!--#if expr="$OILS_OPAC_STATIC_PROTOCOL"-->\r
+                       OILS_OPAC_STATIC_PROTOCOL = '<!--#echo var="OILS_OPAC_STATIC_PROTOCOL"-->';\r
+               <!--#endif -->\r
+\r
+               <!-- builds the "Now searching: <org_unit>" text on the home page -->\r
+               function home_init() {\r
+                       getId("home_adv_search_link").setAttribute("href", buildOPACLink({page:ADVANCED})); \r
+                       getId("home_myopac_link").setAttribute("href", buildOPACLink({page:MYOPAC}, false, true));\r
+               }\r
+       </script>\r
+\r
+       <!-- enable Dojo date picker -->\r
+       <script language='javascript' type="text/javascript">\r
+\r
+               var djConfig = {parseOnLoad: true, isDebug: false}, lang, bidi;\r
+\r
+               var locale = location.href.replace( /.+opac\/([^\/]+)\/skin.+/, '$1' );\r
+               if (!locale) locale = '<!--#echo var="locale"-->';\r
+\r
+               djConfig.locale = locale.toLowerCase();\r
+\r
+       </script>\r
+\r
+       <script type="text/javascript" src='/js/dojo/dojo/dojo.js'></script>\r
+       <script type="text/javascript" src='/js/dojo/dojo/openils_dojo.js'></script>\r
+    <script type="text/javascript" src='/js/dojo/opensrf/opensrf.js'></script>\r
+\r
+       <script language="javascript" type="text/javascript">\r
+               dojo.addOnLoad(init);\r
+               dojo.require("dijit._Calendar");\r
+               dojo.require("dijit.form.DateTextBox");\r
+               dojo.require("dijit.form.FilteringSelect");\r
+               dojo.require("dojo.date.locale");\r
+               dojo.require("dojo.date.stamp");\r
+               dojo.require("dojo.parser");\r
+               dojo.require("openils.I18N");\r
+       </script>\r
diff --git a/web/opac/skin/uwin_old/xml/common/libselect.xml b/web/opac/skin/uwin_old/xml/common/libselect.xml
new file mode 100644 (file)
index 0000000..acb73e9
--- /dev/null
@@ -0,0 +1,15 @@
+<span>\r
+       <script language='javascript' type='text/javascript' src='<!--#echo var="OILS_OPAC_JS_HOST"-->/skin/default/js/depth_selector.js'></script>\r
+       <span class='hide_me' id='depth_selector_span'>\r
+               <!--#if expr="$SHOW_DEPTHSEL_TEXT='true'"-->\r
+               <span>&library.select; </span>\r
+               <!--#endif-->\r
+               <select id='depth_selector' >\r
+                       <option value='new'>&library.select.label;</option>\r
+               </select>\r
+       </span>\r
+       <span class='hide_me' id='lib_selector_span'>\r
+               <a id='lib_selector_link' class='classic_link' href='javascript:void(0)'>&library.select.help;</a>\r
+       </span>\r
+</span>\r
+\r
diff --git a/web/opac/skin/uwin_old/xml/common/login.xml b/web/opac/skin/uwin_old/xml/common/login.xml
new file mode 100644 (file)
index 0000000..465e0d1
--- /dev/null
@@ -0,0 +1,110 @@
+\r
+<div id='login_box' class='hide_me canvas' style='margin-top: 6px;'>\r
+\r
+       <script language='javascript' type='text/javascript'>\r
+               config.ids.login = {};\r
+               config.css.login = {};\r
+               config.ids.login.box                    = "login_box";\r
+               config.ids.login.username       = "login_username";\r
+               config.ids.login.password       = "login_password";\r
+               config.ids.login.button         = "login_button";\r
+               config.ids.login.cancel         = "login_cancel_button";\r
+               config.ids.altcanvas.login                      = config.ids.login.box;\r
+       </script>\r
+\r
+       <br/>\r
+\r
+       <div class='login_text color_1' style='padding: 4px; text-align: center;'>\r
+               <span>&uwin.myopac.loginhelp.question; <a class="classic_link" target="_blank" href="&uwin.myopac.loginhelp.url;">&uwin.myopac.loginhelp.url_text;</a></span>\r
+       </div>\r
+\r
+       <br/>\r
+\r
+       <table id='login_table' class='data_grid' style='margin-left: 20px;' width='95%'>\r
+               <tbody>\r
+                       <tr>\r
+                               <td><span class='login_text'>&login.username;</span></td>\r
+                               <td>\r
+                                       <span class='login_text'>\r
+                                               <input id='login_username' type='text' size='32' />\r
+                                       </span>\r
+                               </td>\r
+                       </tr>\r
+                       <tr>\r
+                               <td>\r
+                                       <span class='login_text'>&common.password;</span>\r
+                               </td>\r
+                               <td>\r
+                                       <span class='login_text'>\r
+                                               <input id='login_password' type='password' size='32' />\r
+                                       </span>\r
+                               </td>\r
+                       </tr>\r
+                       <tr><td colspan="2" style="text-align: center;"></td></tr>\r
+                       <tr class='color_1'>\r
+                               <td colspan='2' align='center'>\r
+                                       <span class='login_text' style='margin-right: 20px;'>\r
+                                       <input type='submit' value='&common.login;'  id='login_button'/>\r
+                                       </span>\r
+                                       <span class='login_text' style='margin-left: 20px;'>\r
+                                               <input type='submit' id='login_cancel_button' value='&common.cancel;'/>\r
+                                       </span>\r
+                               </td>\r
+                       </tr>\r
+               </tbody>\r
+       </table>\r
+\r
+       <table id='change_pw_table' class='data_grid hide_me' style='margin-left: 20px;' width='95%'>\r
+               <thead>\r
+                       <tr><td colspan='2' align='center'><b>&login.password;</b></td></tr>\r
+               </thead>\r
+               <tbody>\r
+\r
+                       <tr>\r
+                               <td colspan='2' style='padding:10px;'>\r
+                                       &login.first.time;\r
+                                       &common.password_criteria;\r
+                               </td>\r
+                       </tr>\r
+\r
+                       <tr>\r
+                               <td>&login.password.current.enter;</td>\r
+                               <td><input type='password' id='change_pw_current'/></td>\r
+                       </tr>\r
+\r
+                       <tr>\r
+                               <td>&login.password.new.enter;</td>\r
+                               <td><input type='password' id='change_pw_1'/></td>\r
+                       </tr>\r
+                       <tr>\r
+                               <td>&login.password.new.reenter;</td>\r
+                               <td><input type='password' id='change_pw_2'/></td>\r
+                       </tr>\r
+                       <tr><td><br/></td><td/></tr>\r
+                       <tr class='color_1'>\r
+                               <td colspan='2' align='center'>\r
+                                       <span class='login_text' style='margin-right: 20px;'>\r
+                                               <input type='submit' value='&login.password.update;'  id='change_pw_button'/>\r
+                                       </span>\r
+                               </td>\r
+                       </tr>\r
+               </tbody>\r
+       </table>\r
+\r
+       <span id='pw_no_match' class='hide_me'>&login.password.nomatch;</span>\r
+       <span id='pw_update_successful' class='hide_me'>&login.password.success;</span>\r
+\r
+       <span id='pw_not_strong' class='hide_me'>\r
+               &login.password.strength;\r
+               &common.password_criteria;\r
+       </span>\r
+\r
+       <span id='patron_card_inactive_alert' class='hide_me'>&login.barcode.inactive;</span>\r
+\r
+       <span id='patron_inactive_alert' class='hide_me'>&login.account.inactive;</span>\r
+\r
+       <span id='patron_login_failed' class='hide_me'>&login.failed;</span>\r
+\r
+</div>\r
+\r
+\r
diff --git a/web/opac/skin/uwin_old/xml/common/logo.xml b/web/opac/skin/uwin_old/xml/common/logo.xml
new file mode 100644 (file)
index 0000000..ec40e64
--- /dev/null
@@ -0,0 +1,4 @@
+<div id='logo_div'>\r
+       <script language='javascript' type='text/javascript'>config.ids.common.top_logo = "top_left_logo";</script>\r
+       <img style='margin-right: 4px;' src='<!--#echo var="OILS_BASE"-->/skin/uwin/local/images/uwin_small.png' id='top_left_logo' border='0' class='logo' />\r
+</div>\r
diff --git a/web/opac/skin/uwin_old/xml/common/orgtree.xml b/web/opac/skin/uwin_old/xml/common/orgtree.xml
new file mode 100644 (file)
index 0000000..66e6324
--- /dev/null
@@ -0,0 +1,27 @@
+\r
+<!-- the org tree -->\r
+<div id='org_container' class='hide_me canvas'>\r
+\r
+       <div id='org_link_container' class='color_1'>\r
+               <span class='org_link'>\r
+                       <a onclick='orgTreeSelector.expandAll();' \r
+                               href='javascript:void(0);'>&common.org.openAll;</a>\r
+               </span>\r
+               <span class='org_link'>\r
+                       <a onclick='orgTreeSelector.closeAll();' \r
+                               href='javascript:void(0);'>&common.org.closeAll;</a>\r
+               </span>\r
+               <span class='org_link'>\r
+                       <a onclick='showCanvas();' href='javascript:void(0);'>&common.org.cancel;</a>\r
+               </span>\r
+       </div>\r
+\r
+       <div id='org_loading_div'><br/><span>&common.org.loading;</span></div>\r
+       <br/>\r
+       <div id='org_selector_tip' class='tips hide_me'><b>&common.org.note;</b>\r
+               <span>&common.org.notetext;</span>\r
+       </div>\r
+       <br/>\r
+       <div id='org_tree' class='org_tree'> </div>\r
+       <br/>\r
+</div>\r
diff --git a/web/opac/skin/uwin_old/xml/common/searchbar.xml b/web/opac/skin/uwin_old/xml/common/searchbar.xml
new file mode 100644 (file)
index 0000000..b5f0085
--- /dev/null
@@ -0,0 +1,64 @@
+\r
+<!-- Searchbar for doing metarecord searches -->\r
+\r
+<div id='searchbar'>\r
+\r
+       <!-- load my js -->\r
+       <script language='javascript' type='text/javascript'>\r
+               config.ids.searchbar = {};\r
+               config.css.searchbar = {};\r
+               config.ids.searchbar.text                               = 'search_box'; \r
+               config.ids.searchbar.submit                     = 'search_submit';      \r
+               config.ids.searchbar.type_selector      = 'search_type_selector';\r
+               config.ids.searchbar.depth_selector     = 'depth_selector';\r
+               config.ids.searchbar.form_selector      = 'form_selector';\r
+               config.ids.searchbar.extra_row          = 'searchbar_extra';\r
+               config.ids.searchbar.main_row                   = 'searchbar_main_row';\r
+               config.ids.searchbar.table                              = 'searchbar_table';\r
+               config.ids.searchbar.location_tag       = 'search_location_tag_link';\r
+               config.ids.searchbar.lib_sel_span       = 'lib_selector_span';\r
+               config.ids.searchbar.lib_sel_link       = 'lib_selector_link';\r
+               config.ids.searchbar.depth_sel_span     = 'depth_selector_span';\r
+       </script>\r
+\r
+\r
+       <table class='color_1 color_border1' width='100%' style='border-collapse: collapse;'>\r
+               <tbody>\r
+                       <tr>\r
+\r
+                               <td nowrap='nowrap' align='center'  class='search_box_container color_2'>\r
+\r
+                                       <input id='search_box' type='text' />\r
+                                       <span style='padding-left: 6px;'>\r
+                                               <input type='button' style='width: 40px;' id='search_submit' value='&button.go;' />\r
+                                       </span>\r
+                               </td>\r
+\r
+                               <td nowrap='nowrap' style='padding: 3px;' align='right' >\r
+\r
+                                       <span style='padding-right:9px;'>\r
+                                               <!--\r
+                                               <span>&common.type;: </span>\r
+                                               -->\r
+                                               <!--#include virtual="stypes_selector.xml"-->\r
+                                       </span>\r
+\r
+                                       <span style='padding-right:9px;'>\r
+                                               <!--#set var='FORM_SEL_ID' value='form_selector'-->\r
+                                               <!--#include virtual="format_selector.xml"-->\r
+                                       </span>\r
+\r
+                                       <!--#include virtual="libselect.xml"-->\r
+\r
+                               </td>\r
+                       </tr>\r
+               </tbody>\r
+       </table>\r
+       <script language='javascript' type='text/javascript' src='<!--#echo var="OILS_OPAC_JS_HOST"-->/skin/default/js/search_bar.js'></script>\r
+</div>\r
+\r
+\r
+\r
+\r
+\r
+\r
diff --git a/web/opac/skin/uwin_old/xml/common/sidebar.xml b/web/opac/skin/uwin_old/xml/common/sidebar.xml
new file mode 100644 (file)
index 0000000..8241b0d
--- /dev/null
@@ -0,0 +1,217 @@
+\r
+<!-- Navigation bar -->\r
+\r
+<div id="sidebar_div" class="sidebar_div" xmlns:xi="http://www.w3.org/2001/XInclude">\r
+\r
+       <div class='sidebar_chunk'>\r
+\r
+               <div title="&navigate.home.title;" \r
+                       id='home_link_div' class="side_bar_item ">\r
+                       <a id='home_link' href='index.xml'>&navigate.home;</a>\r
+               </div>\r
+       \r
+               <div title="&uwin.askON.title;" \r
+                       id="&uwin.askON.div.id;" class="side_bar_item ">\r
+                       <a id="&uwin.askON.link.id;" href="&uwin.askON.url;" target="_blank">&uwin.askON;</a>\r
+               </div>\r
+       \r
+               <div title="&opac.navigate.advanced.title;"\r
+                       id='advanced_link_div' class="side_bar_item ">\r
+                       <a id='advanced_link' href='advanced.xml'>&opac.navigate.advanced;</a>\r
+               </div>\r
+\r
+               <div title="&navigate.myopac.title;"\r
+                       id='myopac_link_div' class="side_bar_item ">\r
+                       <a  id='myopac_link' href='myopac/myopac.xml'>&navigate.myopac;</a>\r
+               </div>\r
+\r
+               <div title="&navigate.login.title;"\r
+                       id='login_link_div' class="side_bar_item ">\r
+                       <a id='login_link' href='javascript:void(0);'>&navigate.login;</a>\r
+               </div>\r
+\r
+               <div title="&navigate.logout.title;"\r
+                       id='logout_link_div' class="side_bar_item hide_me ">\r
+                       <a id='logout_link' href='javascript:void(0);'>&navigate.logout;</a>\r
+               </div>\r
+\r
+\r
+               <!-- Informational sidebar components -->\r
+\r
+               <div id='logged_in_as_div' title="&navigate.loggedinas.title;" class="side_bar_item hide_me">\r
+                       <span>&navigate.loggedinas;<b id='username_dest'> </b></span>\r
+               </div>\r
+\r
+               <div id='sidebar_results_wrapper' class='hide_me border_1'>\r
+                       <div title="&navigate.titleGroupResults;" \r
+                               id='mresult_link_div' class="side_bar_item hide_me">\r
+                               <a id='sidebar_title_group_results'>&navigate.titleGroupResults;</a>\r
+                       </div>\r
+               \r
+                       <div title="&navigate.titleResults;"\r
+                               id='result_link_div' class="side_bar_item hide_me">\r
+                               <a id='sidebar_title_results'>&navigate.titleResults;</a>\r
+                       </div>\r
+       \r
+                       <div title="&navigate.record.details;"\r
+                               id='rdetail_link_div' class="side_bar_item hide_me">\r
+                               <span>&navigate.title.details;</span>\r
+                       </div>\r
+               </div>\r
+       </div>\r
+\r
+<!-- relevant subjects/authors/series commented out, cause they just don't work\r
+\r
+       <div id='subject_tree_sidebar' class='sidebar_chunk hide_me' style='margin-top: 12px;'> \r
+               <div id='subject_sidebar_tree_div'> </div>\r
+               <script language='javascript' type='text/javascript'>\r
+                       removeChildren($('subject_sidebar_tree_div'));\r
+                       var subjectSidebarTree = new SlimTree(\r
+                               document.getElementById('subject_sidebar_tree_div'),\r
+                               'subjectSidebarTree', '../../../../images/slimtree/related.jpg');\r
+                       subjectSidebarTree.addNode( 'subjectSidebarTreeRoot', -1, \r
+                               "&sidebar.relevantSubjects.headerLabel;", \r
+                               'javascript:subjectSidebarTree.toggle(' +\r
+                                       '"subjectSidebarTreeRoot");');\r
+               </script>\r
+       </div>\r
+\r
+       <div id='author_tree_sidebar' class='sidebar_chunk hide_me'> \r
+               <hr/>\r
+               <div id='author_sidebar_tree_div'> </div>\r
+               <script language='javascript' type='text/javascript'>\r
+                       removeChildren($('author_sidebar_tree_div'));\r
+                       var authorSidebarTree = new SlimTree(\r
+                               document.getElementById('author_sidebar_tree_div'),\r
+                               'authorSidebarTree','../../../../images/slimtree/people.jpg');\r
+                       authorSidebarTree.addNode( 'authorSidebarTreeRoot', -1, \r
+                               "&sidebar.relevantAuthors.headerLabel;", \r
+                               'javascript:authorSidebarTree.toggle(' +\r
+                                       '"authorSidebarTreeRoot");');\r
+               </script>\r
+       </div>\r
+\r
+       <div id='series_tree_sidebar' class='sidebar_chunk hide_me'> \r
+               <hr/>\r
+               <div id='series_sidebar_tree_div'> </div>\r
+               <script language='javascript' type='text/javascript'>\r
+                       removeChildren($('series_sidebar_tree_div'));\r
+                       var seriesSidebarTree = new SlimTree(\r
+                               document.getElementById('series_sidebar_tree_div'),\r
+                               'seriesSidebarTree',\r
+                               '../../../../images/slimtree/houses.jpg');\r
+                       seriesSidebarTree.addNode( 'seriesSidebarTreeRoot', -1, \r
+                               "&sidebar.relevantSeries.headerLabel;", \r
+                               'javascript:seriesSidebarTree.toggle(' +\r
+                                       '"seriesSidebarTreeRoot");');\r
+               </script>\r
+       </div>\r
+ -->\r
+       <div id='adv_quick_search_sidebar' class='sidebar_chunk hide_me' \r
+               style='text-align:center; margin-top: 20px;'> \r
+               <hr/>\r
+               <div id='adv_quick_search'>\r
+                       <div class='adv_quick_search color_4'><b>&sidebar.quick.search;</b></div>\r
+                       <div style='margin-top: 8px;'>\r
+                               <table><tbody><tr>\r
+                                       <td>\r
+                                               <select id='adv_quick_type' style='width: 6em;'>\r
+                                                       <option value='isbn'>&opac.advanced.quick.isbn;</option>\r
+                                                       <option value='issn'>&opac.advanced.quick.issn;</option>\r
+                                                       <option value='cn'>&opac.advanced.quick.cn;</option>\r
+                                                       <option value='lccn'>&opac.advanced.quick.lccn;</option>\r
+                                                       <option value='tcn'>&opac.advanced.quick.tcn;</option>\r
+                                                       <option value='barcode'>&opac.advanced.quick.barcode;</option>\r
+                                               </select>\r
+                                       </td><td>\r
+                                               <input type='text' id='adv_quick_text' size='16' />\r
+                                       </td>\r
+                               </tr></tbody></table>\r
+                       </div>\r
+\r
+            <span class='hide_me' id='myopac.copy.not.found'>&sidebar.copy.not.found;</span>\r
+                       <div style='margin-top: 8px;' class='adv_quick_search_submit'>\r
+                               <a id='adv_quick_submit' href='javascript:advGenericSearch();' class='classic_link'>&common.submit;</a>\r
+                       </div>\r
+               </div>\r
+       </div>\r
+\r
+       <div id='adv_marc_search_sidebar' class='sidebar_chunk hide_me' \r
+               style='text-align:center; margin-top: 20px;'> \r
+               <hr/>\r
+               <div class='adv_quick_search color_4'><b>&search.marc;</b></div>\r
+               <table style='margin: 3px; width: 100%;' id='adv_sdbar_table' class='border_4_3'>\r
+                       <tbody>\r
+                               <tr>\r
+                                       <td>&search.marc.tag;</td>\r
+                                       <td><input name='advanced.marc.tag' maxlength='3' size='3' /></td>\r
+                                       <td>&search.marc.subfield;</td>\r
+                                       <td><input name='advanced.marc.subfield' maxlength='1' size='1' /></td>\r
+                               </tr>\r
+                               <tr>\r
+                                       <td>&search.marc.value;</td>\r
+                                       <td colspan='3'><input name='advanced.marc.value' size='18' /></td>\r
+                               </tr>\r
+                               <tr name='crow' class='hide_me'>\r
+                                       <td colspan='4' align='center'>\r
+                                       <a href='javascript:void(0);' class='classic_link'\r
+                                               onclick='\r
+                                                       var div = $("adv_marc_search_sidebar");\r
+                                                       if( div.getElementsByTagName("table").length > 1 )\r
+                                                               div.removeChild(this.parentNode.parentNode.parentNode.parentNode);'>&common.close;</a>\r
+                                       </td>\r
+                               </tr>\r
+                                                               \r
+                       </tbody>\r
+               </table>\r
+               <div id='adv_marc_submit' class='adv_quick_search_submit'>\r
+                       <a style='margin-right: 4px;' class='classic_link' href='javascript:advAddMARC();'>&search.marc.add.row;</a>\r
+                       <a style='margin-left: 4px;' class='classic_link' href='javascript:advMARCRun();'>&common.submit;</a>\r
+               </div>\r
+       </div>\r
+\r
+\r
+\r
+\r
+       <!-- ============================================================================= -->\r
+       <!-- Our javascript -->\r
+       <script language='javascript' type='text/javascript' src='<!--#echo var="OILS_OPAC_JS_HOST"-->/skin/default/js/sidebar.js'></script>\r
+\r
+       <script language='javascript' type='text/javascript'>\r
+               config.ids.sidebar = {};\r
+               config.css.sidebar = {};\r
+               config.names.sidebar = {};\r
+               config.css.sidebar.item = {};\r
+               config.ids.sidebar.home                         = 'home_link_div';\r
+               config.ids.sidebar.advanced             = 'advanced_link_div';\r
+               config.ids.sidebar.myopac                       = 'myopac_link_div';\r
+               config.ids.sidebar.prefs                        = 'prefs_link_div';\r
+               config.ids.sidebar.mresult                      = 'mresult_link_div';\r
+               config.ids.sidebar.rresult                      = 'result_link_div';\r
+               config.ids.sidebar.rdetail                      = "rdetail_link_div"; \r
+               config.ids.sidebar.login                        = 'login_link';\r
+               config.ids.sidebar.logout                       = 'logout_link';\r
+               config.ids.sidebar.logoutbox            = 'logout_link_div';\r
+               config.ids.sidebar.loginbox             = 'login_link_div';\r
+               config.ids.sidebar.logged_in_as = 'logged_in_as_div';\r
+               config.ids.sidebar.username_dest        = 'username_dest';\r
+               config.ids.sidebar.subject                      = 'subject_sidebar';\r
+               config.ids.sidebar.subject_item = 'subject_item';\r
+               config.ids.sidebar.author                       = 'author_sidebar';\r
+               config.ids.sidebar.author_item  = 'author_item';\r
+               config.ids.sidebar.series                       = 'series_sidebar';\r
+               config.ids.sidebar.series_item  = 'series_item';\r
+               \r
+               config.ids.sidebar.home_link            = 'home_link'\r
+               config.ids.sidebar.advanced_link        = 'advanced_link'\r
+               config.ids.sidebar.myopac_link  = 'myopac_link'\r
+               \r
+               config.names.sidebar.subject_item       = 'subject_item';\r
+               config.names.sidebar.author_item                = 'author_item';\r
+               config.names.sidebar.series_item                = 'series_item';\r
+\r
+               config.css.encircled                            = 'encircled';\r
+       </script>\r
+\r
+</div>\r
+\r
diff --git a/web/opac/skin/uwin_old/xml/common/statusbar.xml b/web/opac/skin/uwin_old/xml/common/statusbar.xml
new file mode 100644 (file)
index 0000000..3c7097a
--- /dev/null
@@ -0,0 +1,28 @@
+\r
+<div id='statusbar' style='margin-bottom: 6px; margin-top: 6px;'>\r
+\r
+       <table width='100%'>\r
+               <tbody>\r
+                       <tr>\r
+                               <td align='left'>\r
+                                       <b>\r
+                                       <span style='padding: 1px; ' id='now_searching_location'>  </span>\r
+                                       </b>\r
+                                       <i id='including_results_for' class='hide_me'>\r
+                                               <span>&status.results;</span> <b id='including_results_location'> </b>\r
+                                       </i>\r
+                               </td>\r
+                <td align='right'>\r
+                    <!--#if expr="$OILS_PAGE='rresult.xml' || $OILS_PAGE='mresult.xml'"-->\r
+                    <!--#include virtual="../result/filtersort.xml" -->\r
+                    <!--#endif -->\r
+                </td>\r
+                       </tr>\r
+               </tbody>\r
+       </table>\r
+\r
+       <script language='javascript' type='text/javascript'>\r
+               config.ids.common.now_searching = 'now_searching_location';\r
+       </script>\r
+\r
+</div>\r
diff --git a/web/opac/skin/uwin_old/xml/common/stypes_selector.xml b/web/opac/skin/uwin_old/xml/common/stypes_selector.xml
new file mode 100644 (file)
index 0000000..5e272cf
--- /dev/null
@@ -0,0 +1,8 @@
+<select id='search_type_selector'>\r
+       <option value='keyword' selected='selected'>&common.keyword;</option>\r
+       <option value='title'>&common.title;</option>\r
+       <option value='author'>&common.author;</option>\r
+       <option value='subject'>&common.subject;</option>\r
+       <option value='series'>&common.series;</option>\r
+</select>\r
+\r
diff --git a/web/opac/skin/uwin_old/xml/common/tips.xml b/web/opac/skin/uwin_old/xml/common/tips.xml
new file mode 100644 (file)
index 0000000..4012bd2
--- /dev/null
@@ -0,0 +1,8 @@
+\r
+<div id='tips' class='tips hide_me'>\r
+       <div class='hide_me'>\r
+               <span>&common.tips.tip1;</span>\r
+               <span>&common.tips.tip2;</span>\r
+       </div>\r
+       <span style="font-weight: bold;">&tips.label;  </span>\r
+</div>\r
diff --git a/web/opac/skin/uwin_old/xml/footer.xml b/web/opac/skin/uwin_old/xml/footer.xml
new file mode 100644 (file)
index 0000000..68f19bf
--- /dev/null
@@ -0,0 +1,34 @@
+<div id='copyright_block'>\r
+               <div id='footer_links'>\r
+                               <span class='footer_link'>\r
+                                       <a target='_blank' class='classic_link'\r
+                                               href='&uwin.footer.home.leddy.url;'>&uwin.footer.home.leddy;</a>\r
+                               </span>\r
+                               <span> | </span>\r
+                               <span class='footer_link'>\r
+                                       <a target='_blank' class='classic_link'\r
+                                               href='&uwin.footer.home.law.url;'>&uwin.footer.home.law;</a>\r
+                               </span>\r
+                               <span> | </span>\r
+                               <span class='footer_link'>\r
+                                       <a target='_blank' class='classic_link'\r
+                                               href='&uwin.footer.help.url;'>&uwin.footer.help;</a>\r
+                               </span>\r
+                               <span> | </span>\r
+                               <span class='footer_link'>\r
+                                       <a target='_blank' class='classic_link'\r
+                                               href='&uwin.footer.journals.url;'>&uwin.footer.journals;</a>\r
+                               </span> \r
+                               <span> | </span>\r
+                               <span class='footer_link'>\r
+                                       <a target='_blank' class='classic_link'\r
+                                               href='&uwin.footer.databases.url;'>&uwin.footer.databases;</a>\r
+                               </span> \r
+               </div>\r
+        <div id='copyright_text'>\r
+            <span>&footer.copyright;</span>\r
+        </div>\r
+        <div id='footer_logo'>&footer.logo;\r
+            <a href='http://open-ils.org'><img style='border:none;' src='../../../../images/eg_tiny_logo.jpg'/></a>\r
+        </div>\r
+</div>\r
diff --git a/web/opac/skin/uwin_old/xml/header.xml b/web/opac/skin/uwin_old/xml/header.xml
new file mode 100644 (file)
index 0000000..0aab923
--- /dev/null
@@ -0,0 +1,13 @@
+<head>\r
+       <!-- Set the page title -->\r
+\r
+       <!--#include virtual="common/css_common.xml"-->\r
+\r
+       <title>&<!--#echo var="OILS_TITLE"-->;</title>\r
+       <link rel="unapi-server" type="application/xml" title="unAPI" href="http://<!--#echo var='HTTP_HOST'-->/opac/extras/unapi"/>\r
+\r
+       <!--#if expr="$slimpac!='true'"-->\r
+               <!--#include virtual="common/js_common.xml"-->\r
+       <!--#endif-->\r
+\r
+</head>\r
diff --git a/web/opac/skin/uwin_old/xml/home/homesearch.xml b/web/opac/skin/uwin_old/xml/home/homesearch.xml
new file mode 100644 (file)
index 0000000..3a54467
--- /dev/null
@@ -0,0 +1,135 @@
+\r
+<div id='canvas_main' class='home_search canvas'\r
+       style='-moz-border-radius: 6px; padding: 6px; margin-top: 65px;' \r
+       xmlns="http://www.w3.org/1999/xhtml" xmlns:xi="http://www.w3.org/2001/XInclude">\r
+\r
+       <!-- load my js -->\r
+       <script language='javascript' type='text/javascript'\r
+               src="<!--#echo var="OILS_OPAC_JS_HOST"-->/skin/default/js/depth_selector.js"> </script>\r
+       <script language='javascript' type='text/javascript'\r
+               src="<!--#echo var="OILS_OPAC_JS_HOST"-->/skin/default/js/search_bar.js"> </script>\r
+\r
+       <script language='javascript' type='text/javascript'>\r
+               config.ids.searchbar = {};\r
+               config.css.searchbar = {};\r
+               config.ids.searchbar.text                               = 'search_box'; \r
+               config.ids.searchbar.submit                     = 'search_submit';      \r
+               config.ids.searchbar.type_selector      = 'search_type_selector';\r
+               config.ids.searchbar.depth_selector     = 'depth_selector';\r
+               config.ids.searchbar.form_selector      = 'form_selector';\r
+               config.ids.searchbar.extra_row          = 'searchbar_extra';\r
+               config.ids.searchbar.main_row                   = 'searchbar_main_row';\r
+               config.ids.searchbar.table                              = 'searchbar_table';\r
+               config.ids.searchbar.location_tag       = 'search_location_tag_link';\r
+               config.ids.searchbar.lib_sel_span       = 'lib_selector_span';\r
+               config.ids.searchbar.lib_sel_link       = 'lib_selector_link';\r
+               config.ids.searchbar.depth_sel_span     = 'depth_selector_span';\r
+       </script>\r
+\r
+\r
+       <div style='width: 100%; text-align: center'>\r
+               <img src='<!--#echo var="OILS_BASE"-->/skin/uwin/local/images/uwin_main.png' />\r
+       </div>\r
+\r
+       <style>.rowpad { height: 20px; }</style>\r
+\r
+       <table id='frontsearch_table' height='100%' width='100%' \r
+               style='margin-top: 10px; border-collapse: collapse;'>\r
+\r
+               <tbody>\r
+\r
+                       <tr class='color_3'>\r
+\r
+                               <script language='javascript' type='text/javascript'>\r
+                                       config.ids.common.now_searching = 'now_searching_location';\r
+                               </script>\r
+\r
+                               <td style='padding: 6px;' class='border_5' align='center'>\r
+                                       <span>&opac.search.nowSearching;</span>\r
+                                       <span style='padding: 1px;' id='now_searching_location'>  </span>\r
+                               </td>\r
+                       </tr>\r
+\r
+\r
+                       <tr class='rowpad'><td></td></tr>\r
+\r
+                       <tr>\r
+                               <td nowrap='nowrap' align='center' class='color_1 border_5'>\r
+                                       <input id='search_box' style='width: 300px;' type='text' />\r
+                                       <span style='padding-left: 6px;'>\r
+                                               <input type='button' style='width: 40px;' id='search_submit' value='Go!' />\r
+                                       </span>\r
+                               </td>\r
+                       </tr>\r
+\r
+                       <tr class='rowpad'><td></td></tr>\r
+\r
+                       <tr class='color_3 border_5'>\r
+\r
+                               <td nowrap='nowrap' align='center' style='padding: 4px;'>\r
+\r
+                                       <span style='padding-right:40px;'>\r
+                                               <!--#include virtual="../common/stypes_selector.xml"-->\r
+                                       </span>\r
+\r
+                                       <span>\r
+                                               <!--\r
+                                               <span>&common.format;: </span>\r
+                                               -->\r
+                                               <!--#set var='FORM_SEL_ID' value='form_selector'-->\r
+                                               <!--#include virtual="../common/format_selector.xml"-->\r
+                                       </span>\r
+\r
+                               </td>\r
+                       </tr>\r
+\r
+                       <tr class='rowpad'><td></td></tr>\r
+\r
+                       <tr class='color_1 border_5'>\r
+                               <td align='center' style='padding: 4px; padding-bottom: 6px;'>\r
+                                       <span style='padding-right: 15px;'>\r
+                                               <a id='home_adv_search_link' href='javascript:void(0);'>&opac.navigate.advanced;</a></span>\r
+                                       <span>\r
+                                               <span class='hide_me' id='depth_selector_span'>\r
+                                                       <select id='depth_selector' >\r
+                                                               <option value='new'>&opac.navigate.selectNewOrg;...</option>\r
+                                                       </select>\r
+                                               </span>\r
+                                               <span class='hide_me' id='lib_selector_span'>\r
+                                                       <a id='lib_selector_link' href='javascript:void(0)'>&opac.navigate.selectOrg;</a>\r
+                                               </span>\r
+                                       </span>\r
+                                       <span style='padding-left: 15px;'>\r
+                                               <a id='home_myopac_link' href='javascript:void(0);'>&opac.navigate.myopac;</a>\r
+                                       </span>\r
+                               </td>\r
+                       </tr>\r
+\r
+            <!-- locale picker -->\r
+            <tr><td align='center' valign='bottom' style='padding-top:10px;'>\r
+<!--                   <span style='vertical-align: top;'>&common.language;</span>\r
+                       <span dojoType="dijit.form.FilteringSelect" store="openils.I18N.localeStore" \r
+                    searchAttr="label" required="false" jsId='opacLocaleSelector'>\r
+                    <script>\r
+                        dojo.addOnLoad(function() {\r
+                            opacLocaleSelector.setValue(locale);\r
+                            dojo.connect(opacLocaleSelector, 'onChange', \r
+                                function () {\r
+                                                       location.href = location.href.replace(/opac\/[^\/]+\/skin/, 'opac/' + this.getValue() + '/skin');\r
+                                }\r
+                            );\r
+                        });\r
+                    </script>\r
+                       </span> -->\r
+            </td></tr>\r
+\r
+               </tbody>\r
+       </table>\r
+\r
+</div>\r
+\r
+\r
+\r
+\r
+\r
+\r
diff --git a/web/opac/skin/uwin_old/xml/home/index_body.xml b/web/opac/skin/uwin_old/xml/home/index_body.xml
new file mode 100644 (file)
index 0000000..e7e53da
--- /dev/null
@@ -0,0 +1,38 @@
+<body class="tundra">\r
+\r
+       <noscript>\r
+               <style type="text/css">#toptable { display: none; }</style>\r
+               <p style="font-size: 1.3em; padding: 3em; text-align: center;">\r
+               &home.js.disabled;\r
+               </p>\r
+       </noscript>\r
+\r
+       <table id='toptable' width='100%' style='border-collapse: collapse;'>\r
+               <tbody>\r
+                       <tr>\r
+                               <td width='10%'> </td>\r
+                               <td width='80%'>\r
+                                       <div id='canvas'>\r
+                                               <!--#include virtual="../common/altcanvas.xml"-->\r
+                                               <!--#include virtual="homesearch.xml"-->\r
+                                       </div>\r
+                               </td>\r
+                               <td width='10%'> </td>\r
+                       </tr>\r
+               </tbody>\r
+       </table>\r
+       <script language='javascript' type='text/javascript'>isFrontPage = true;</script>\r
+       <script language="javascript" type='text/javascript'>\r
+               dojo.addOnLoad(home_init);\r
+               try { \r
+                       document.getElementById('toptable').style.display = 'table'; \r
+               } catch(e) {\r
+                       try {\r
+                               document.getElementById('toptable').style.display = ''; \r
+                       } catch(ee) {}\r
+               }\r
+       </script>\r
+       <!--#include virtual='../footer.xml'-->\r
+</body>\r
+\r
+\r
diff --git a/web/opac/skin/uwin_old/xml/html_xsl.xml b/web/opac/skin/uwin_old/xml/html_xsl.xml
new file mode 100644 (file)
index 0000000..5b35015
--- /dev/null
@@ -0,0 +1,10 @@
+\r
+<xsl:stylesheet version="1.0"\r
+       xmlns:xlink="http://www.w3.org/1999/xlink" \r
+       xmlns:xsl="http://www.w3.org/1999/XSL/Transform">\r
+\r
+       <xsl:output method="html" indent="yes" encoding="utf-8"/>\r
+       <xsl:template match="/">\r
+               <xsl:copy-of select='/*[local-name()="html"]'/>\r
+       </xsl:template>\r
+</xsl:stylesheet>   \r
diff --git a/web/opac/skin/uwin_old/xml/index.xml b/web/opac/skin/uwin_old/xml/index.xml
new file mode 100644 (file)
index 0000000..4fc663b
--- /dev/null
@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="UTF-8"?>\r
+\r
+<!-- Loads the environment -->\r
+<!--#include virtual="setenv.xml"-->\r
+\r
+<!DOCTYPE html PUBLIC \r
+       "-//W3C//DTD XHTML 1.0 Transitional//EN" \r
+       "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd" [\r
+       <!--#include virtual="${OILS_SKIN_BASE}/uwin/local/locale/en-CA/opac.dtd"-->\r
+       <!--#include virtual="${OILS_SKIN_BASE}/uwin/local/locale/en-CA/opac_conifer.dtd"-->\r
+]>\r
+\r
+\r
+<html xmlns='http://www.w3.org/1999/xhtml'>\r
+       <!--#include virtual="header.xml"-->\r
+       <!--#if expr="$OILS_PAGE='index.xml'"-->\r
+               <!--#include virtual="home/index_body.xml"-->\r
+       <!--#else-->\r
+               <!--#include virtual="body.xml"-->\r
+       <!--#endif-->\r
+</html>\r
+\r
diff --git a/web/opac/skin/uwin_old/xml/myopac/myopac_bookbags.xml b/web/opac/skin/uwin_old/xml/myopac/myopac_bookbags.xml
new file mode 100644 (file)
index 0000000..b4319fb
--- /dev/null
@@ -0,0 +1,135 @@
+\r
+<div id='myopac_bookbag_div' class='hide_me' xmlns:xi="http://www.w3.org/2001/XInclude" >\r
+\r
+       <script language='javascript' type='text/javascript' src='<!--#echo var="OILS_OPAC_JS_HOST"-->/skin/default/js/container.js'> </script>\r
+\r
+       <div id='myopac_delete_bookbag_warn' class='hide_me'>\r
+               &myopac.delete.bookbag;\r
+       </div>\r
+\r
+       <div style='text-align: center; font-weight: bold;' \r
+               class='hide_me' id='myopac_bookbags_none'>&myopac.no.bookbags;</div>\r
+\r
+       <div style='width: 99%; text-align: center; margin-bottom: 10px;'> \r
+               <b>&myopac.bookbags.title;</b>\r
+               <!--\r
+               <a class='classic_link' style='margin-left: 5px; font-size: 8pt;'\r
+                       href='javascript:alert($("myopac_bb_what_are").innerHTML);'>(What are Bookbags?)</a>\r
+                       -->\r
+       </div>\r
+\r
+       <table width='100%' class='data_grid data_grid_center hide_me' id='myopac_bookbag_table'>\r
+               <thead>\r
+                       <tr><td>&common.name;</td><td>&myopac.bookbag.items;</td><td>&myopac.bookbag.shared;</td><td>&myopac.bookbag.toggle;</td><td>&myopac.bookbag.delete;</td></tr>\r
+               </thead>\r
+               <tbody id='myopac_bookbag_tbody'>\r
+                       <tr id='myopac_bookbag_tr'>\r
+                               <td>\r
+                                       <a href='javascript:void(0);' class='classic_link' name='myopac_expand_bookbag'> </a>\r
+                               </td>\r
+                               <td><span name='myopac_bookbag_item_count'> </span> <span> &myopac.items;</span></td>\r
+                               <td>\r
+                                       <span name='myopac_bb_published_no' class='hide_me'>&common.no;</span>\r
+                                       <span name='myopac_bb_published_yes' class='hide_me'>&common.yes;</span>\r
+                                       <a name='myopac_bb_published_view' class='classic_link hide_me'>&myopac.view;</a>\r
+                                       <a name='myopac_bb_published_atom' class='unadorned_link hide_me'>\r
+                                               <img border="0" src="/opac/images/small-rss.png" title="&myopac.atom.feed;" alt="&myopac.atom.feed;"/>\r
+                                       </a>\r
+                               </td>\r
+\r
+                               <td>\r
+                                       <a name='myopac_bb_make_unpublished' class='classic_link hide_me'>&myopac.bookbag.hide;</a>\r
+                                       <a name='myopac_bb_make_published' class='classic_link hide_me'>&myopac.bookbag.share;</a>\r
+                               </td>\r
+\r
+                               <td>\r
+                                       <a class='classic_link' href='javascript:void(0);' name='myopac_container_delete'>&myopac.delete;</a>\r
+                               </td>\r
+                       </tr>\r
+               </tbody>\r
+       </table>\r
+\r
+       <table width='100%' class='data_grid data_grid_center' style='margin-top: 10px;'>\r
+               <thead>\r
+                       <tr><td>&myopac.bookbag.create;</td></tr>\r
+               </thead>\r
+               <tbody>\r
+                       <tr>\r
+                               <td> \r
+                                       <span style='padding-right: 5px;'>&myopac.bookbag.naming;</span>\r
+                                       <input id='myopac_bookbag_new_name' type='text' /> \r
+                               </td>\r
+                       </tr>\r
+                       <tr>\r
+                               <td>\r
+                                       <span style='padding: 5px;'>&myopac.bookbag.share;</span>\r
+                                       <a class='classic_link' href='javascript:alert($("bb_publish_text").innerHTML);'><b>&common.help;</b></a>\r
+                                       <span>&common.yes;</span> <input type='radio' name='bb_public' id='bb_public_yes'/>\r
+                                       <span>&common.no;</span> <input type='radio' name='bb_public' id='bb_public_no' checked='checked'/>\r
+                                       <input style='padding-left: 10px;' onclick='myOPACCreateBookbag();' \r
+                                               type='submit' value='&common.submit;' />\r
+                               </td>\r
+                       </tr>\r
+               </tbody>\r
+       </table>\r
+\r
+       <!--\r
+       <div style='overflow: auto; max-height: 200px;' class='hide_me'>\r
+       -->\r
+       <div style='width: 99%; text-align: center'> <b id='myopac_bookbag_items_name'> </b></div>\r
+\r
+       <div class='hide_me' style='width: 100%; text-align: center; font-weight: 700; margin-top: 10px;'\r
+               id='myopac_bookbag_no_items'>&myopac.bookbag.no.items;</div>\r
+\r
+       <table width='100%' class='hide_me data_grid data_grid_center' id='myopac_bookbag_items_table'>\r
+               <thead> \r
+                       <tr> <td>&common.title;</td> <td>&common.authors;</td> <td>&myopac.bookbag.remove;</td> </tr> \r
+               </thead>\r
+               <tbody id='myopac_bookbag_items_tbody'>\r
+                       <tr id='myopac_bookbag_items_row'>\r
+                               <td> <a name='myopac_bookbag_items_title' class='classic_link'> </a> </td>\r
+                               <!--\r
+                               <td> <a name='myopac_bookbag_items_author' class='classic_link'> </a> </td>\r
+                               -->\r
+                               <td name='myopac_bookbag_items_author'> </td>\r
+                               <td><a name='myopac_bookbag_items_remove' class='classic_link'>&myopac.remove.link;</a></td>    \r
+                       </tr>\r
+               </tbody>\r
+       </table>\r
+       <!--</div>-->\r
+\r
+       <span id='bb_publish_text' class='hide_me'>\r
+               &myopac.publish.text;\r
+       </span>\r
+\r
+       <span id='myopac_remove_bb_item_confirm' class='hide_me'>\r
+               &myopac.item.confirm;\r
+       </span>\r
+\r
+       <span id='myopac_make_published_confirm' class='hide_me'>\r
+               &myopac.publish.confirm;\r
+       </span>\r
+\r
+       <span id='myopac_make_unpublished_confirm' class='hide_me'>\r
+               &myopac.unpublish.confirm;\r
+       </span>\r
+\r
+       <span id='myopac_bb_update_success' class='hide_me'>\r
+               &myopac.update.success;\r
+       </span>\r
+\r
+       <span id='bb_create_warning' class='hide_me'>\r
+               &myopac.create.warning;\r
+       </span>\r
+\r
+       <span id='myopac_bb_what_are' class='hide_me'>\r
+               &myopac.describe.bookbags;\r
+       </span>\r
+\r
+       <span class='hide_me' id='bb_update_success'>\r
+               &myopac.updated.success;\r
+       </span>\r
+\r
+</div>\r
+\r
+\r
diff --git a/web/opac/skin/uwin_old/xml/myopac/myopac_checked.xml b/web/opac/skin/uwin_old/xml/myopac/myopac_checked.xml
new file mode 100644 (file)
index 0000000..42e88a6
--- /dev/null
@@ -0,0 +1,107 @@
+\r
+<div id='myopac_checked_div' xmlns:xi="http://www.w3.org/2001/XInclude" >\r
+\r
+    <!--\r
+       <script language='javascript' type='text/javascript' src='<!||#echo var="OILS_JS_BASE"||>/Date.W3CDTF.js'/>\r
+    -->\r
+\r
+   <table width='100%'><tbody>\r
+      <tr>\r
+         <td aligh='left' class='data_grid'>\r
+               <!--\r
+               Total items out: <b id='mo_items_out_count' style='padding-right: 20px;'>0</b>\r
+               -->\r
+               &myopac.checked.out; <b id='mo_items_out_count' style='padding: 5px;'>0</b> / \r
+               &myopac.checked.overdue; <b id='mo_items_overdue_count' style='padding: 5px;'>0</b>\r
+         </td>\r
+         <td align='right'>\r
+            <button onclick='myOPACRenewSelected();' id='mo_renew_button' disabled='disabled'>&myopac.checked.renew;</button>\r
+         </td>\r
+      </tr>\r
+       <tr id='my_renewing' class='hide_me'><td align='center'><b>&myopac.checked.renewing;</b></td></tr>\r
+   </tbody></table>\r
+\r
+       <table width='100%' class='light_border data_grid'>\r
+\r
+               <thead class='color_3'>\r
+                       <tr>\r
+                               <td width='45%'>&common.title;</td>\r
+                               <td width='20%'>&common.author;</td>\r
+                               <td width='10%' nowrap='nowrap' align='center'>&myopac.fines.due;</td>\r
+                               <td width='10%' nowrap='nowrap' align='center'>&myopac.checked.renew.remaining;</td>\r
+            <td width='15%'>&common.select;\r
+               (<a id='myopac_select_all_checked' onclick='myopacSelectAllChecked();' \r
+                  class='classic_link' href='javascript:void(0);'>&common.all;</a>/<a id='myopac_select_none_checked' \r
+                  onclick='myopacSelectNoneChecked();' class='classic_link'   href='javascript:void(0);'>&common.none;</a>)\r
+            </td>\r
+                       </tr>\r
+               </thead>\r
+\r
+\r
+               <tbody id='myopac_checked_tbody'>\r
+\r
+                       <tr id='myopac_checked_none' class='hide_me'>\r
+                               <td colspan='10' align='center'><b>&myopac.checked.noitems;</b></td>\r
+                       </tr>\r
+\r
+\r
+                       <tr id='myopac_checked_loading'><td>&common.loading;</td></tr>\r
+\r
+                       <tr id='myopac_checked_row' class='light_border hide_me'>\r
+\r
+                               <td name='myopac_checked_title' class='light_border'>\r
+                                       <a href='javascript:void(0);' name='myopac_checked_title_link'> </a>\r
+                               </td>\r
+\r
+                               <td name='myopac_checked_author' class='light_border'>\r
+                                       <a href='javascript:void(0);' name='myopac_checked_author_link'> </a>\r
+                               </td>\r
+\r
+                               <td align='center' name='myopac_checked_due' class='light_border'> </td>\r
+                               <td align='center' name='myopac_checked_renewals' class='light_border'> </td>\r
+\r
+            <!--\r
+                               <td align='center' name='myopac_checked_renew' class='light_border'>\r
+                                       <a style='text-decoration:underline;' href='javascript:void(0);' \r
+                                               name='myopac_checked_renew_link' class='class_link'>Renew</a>\r
+                               </td>\r
+            -->\r
+\r
+            <td align='center'><input type='checkbox' name='selectme'/></td>\r
+\r
+                       </tr>\r
+               </tbody>\r
+       </table>\r
+\r
+       <div id='non_cat_circs_div' class='hide_me'>\r
+               <br/>\r
+               <div style='text-align: center'><b>&myopac.common.other.circ;</b></div>\r
+               <table class='data_grid' width='100%'>\r
+                       <thead>\r
+                               <tr>    \r
+                                       <td>&myopac.checked.circ.lib;</td>\r
+                                       <td>&myopac.checked.item.type;</td>\r
+                                       <td>&myopac.checked.circ.time;</td>\r
+                               </tr>\r
+                       </thead>\r
+                       <tbody id='non_cat_circs_tbody'>\r
+                               <tr id='non_cat_circs_row'>\r
+                                       <td name='circ_lib'/>\r
+                                       <td name='item_type'/>\r
+                                       <td name='circ_time'/>\r
+                               </tr>\r
+                       </tbody>\r
+               </table>\r
+       </div>\r
+\r
+       <div id='myopac_renew_success' class='hide_me'>&myopac.checked.renew.success;</div>\r
+\r
+       <span class='hide_me' id='myopac_renew_confirm'>&myopac.checked.renew.confirm;</span>\r
+\r
+       <span class='hide_me' id='myopac_renew_fail'>&myopac.checked.renew.fail;</span>\r
+\r
+   <span class='hide_me' id='myopac_renew_fail2'>&myopac.checked.renew.fail2;</span>\r
+\r
+</div>\r
+\r
+\r
diff --git a/web/opac/skin/uwin_old/xml/myopac/myopac_fines.xml b/web/opac/skin/uwin_old/xml/myopac/myopac_fines.xml
new file mode 100644 (file)
index 0000000..a91f353
--- /dev/null
@@ -0,0 +1,101 @@
+\r
+<div id='myopac_fines_div' xmlns:xi="http://www.w3.org/2001/XInclude" >\r
+\r
+       <table width='100%' class='data_grid data_grid_center'>\r
+\r
+               <thead class='color_3'>\r
+                       <tr><td colspan='3' style='padding: 6px'><b>&myopac.fines.title;</b></td></tr>\r
+                       <tr>\r
+                               <td width='33%'>&myopac.fines.owed;</td>\r
+                               <td width='33%'>&myopac.fines.paid;</td>\r
+                               <td width='33%'>&myopac.fines.balance;</td>\r
+                       </tr>\r
+               </thead>\r
+\r
+               <tbody id='myopac_fines_summary_tbody'>\r
+                       <tr id='myopac_fines_summary_loading'><td>&myopac.fines.status;</td></tr>\r
+                       <tr id='myopac_fines_summary_row' class='hide_me'>\r
+                               <td id='myopac_fines_summary_total' >&common.currency;</td>\r
+                               <td id='myopac_fines_summary_paid' >&common.currency;</td>\r
+                               <td id='myopac_fines_summary_balance' style='color:red;font-weight: bold;'>&common.currency;</td>\r
+                       </tr>\r
+               </tbody>\r
+       </table>\r
+\r
+       <!--\r
+       <div id='accrue_explanation' class='hide_me'>\r
+               <span>Transactions whose balances are marked with a</span>\r
+               <span style='color:red; font-weight: bold'>*</span>\r
+               <span>will continue to accrue fines until the checked out item is returned.</span>\r
+       </div>\r
+       -->\r
+\r
+\r
+       <!-- Table for circulation transactions only -->\r
+       <div id='myopac_circ_trans_div' class='hide_me'>\r
+               <br/><hr/><br/>\r
+               <table width='100%' class='data_grid data_grid_center' id='myopac_circ_trans_table'>\r
+                       <thead>\r
+                               <tr><td colspan='10' style='padding: 6px'><b>&myopac.fines.overdue;</b></td></tr>\r
+                               <tr>\r
+                                       <td>&common.title;</td>\r
+                                       <td>&common.author;</td>\r
+                                       <td>&myopac.fines.checkout;</td>\r
+                                       <td>&myopac.fines.due;</td>\r
+                                       <td>&myopac.fines.returned;</td>\r
+                                       <td>&myopac.fines.balance;</td>\r
+                               </tr>\r
+                       </thead>\r
+                       <tbody id='myopac_circ_trans_tbody'>\r
+                               <tr id='myopac_circ_trans_row'>\r
+                                       <td><a class='classic_link' name='myopac_circ_trans_title'> </a></td>\r
+                                       <td name='myopac_circ_trans_author'> </td>\r
+                                       <td name='myopac_circ_trans_start'> </td>\r
+                                       <td name='myopac_circ_trans_due'> </td>\r
+                                       <td name='myopac_circ_trans_finished'><span style='color:red;'>&myopac.fines.accruing;</span></td>\r
+                                       <td>\r
+                                               <span style='color: red; font-weight: bold;' \r
+                                                       name='myopac_circ_trans_balance'>&common.currency;</span>\r
+                                       </td>\r
+                               </tr>\r
+                       </tbody>\r
+               </table>\r
+       </div>\r
+\r
+       <!-- Table for all non-circulation transactions -->\r
+       <div id='myopac_trans_div' class='hide_me'>\r
+               <br/><hr/><br/>\r
+               <table width='100%' class='data_grid data_grid_center' id='myopac_trans_table'>\r
+                       <thead>\r
+                               <tr><td colspan='8' style='padding: 6px'><b>&myopac.fines.other;</b></td></tr>\r
+                               <tr>\r
+                                       <td width='12%'>&myopac.fines.time.start;</td>\r
+                                       <td width='12%'>&myopac.fines.time.paid;</td>\r
+                                       <td width='12%'>&myopac.fines.owed.initial;</td>\r
+                                       <td width='12%'>&myopac.fines.paid.amount;</td>\r
+                                       <td width='12%'>&myopac.fines.balance;</td>\r
+                                       <td width='12%'>&myopac.fines.type;</td>\r
+                               </tr>\r
+                       </thead>\r
+       \r
+                       <tbody id='myopac_trans_tbody'>\r
+                               <tr id='myopac_trans_row'>\r
+                                       <td name='myopac_trans_start'> </td>\r
+                                       <td name='myopac_trans_last_payment'> </td>\r
+                                       <td name='myopac_trans_init_amount'>&common.currency;</td>\r
+                                       <td name='myopac_trans_total_paid'>&common.currency;</td>\r
+                                       <td style='color:red; font-weight: bold;'>\r
+                                               <span name='myopac_trans_balance_recur' class='hide_me'> * </span>\r
+                                               <span name='myopac_trans_balance'>&common.currency;</span>\r
+                                       </td>\r
+                                       <td name='myopac_trans_bill_type'> </td>\r
+                               </tr>\r
+                       </tbody>\r
+               </table>\r
+       </div>\r
+       \r
+       <br/>\r
+       \r
+</div>\r
+\r
+\r
diff --git a/web/opac/skin/uwin_old/xml/myopac/myopac_holds.xml b/web/opac/skin/uwin_old/xml/myopac/myopac_holds.xml
new file mode 100644 (file)
index 0000000..dc6cf8e
--- /dev/null
@@ -0,0 +1,122 @@
+\r
+<div id='myopac_holds_div' xmlns:xi="http://www.w3.org/2001/XInclude" >\r
+\r
+       <script language='javascript' type='text/javascript' src='<!--#echo var="OILS_OPAC_JS_HOST"-->/skin/default/js/holds.js'> </script>\r
+\r
+       <table width='100%'>\r
+        <tbody><tr><td width='100%' align='right'>\r
+            <select id='myopac_holds_actions' onchange='myopacDoHoldAction();'>\r
+                <option id='myopac_holds_actions_none' value=''>-- &myopac.holds.actions; --</option>\r
+                <option value='freeze'>&myopac.holds.freeze_selected;</option>\r
+                <option value='thaw'>&myopac.holds.thaw_selected;</option>\r
+                <option value='thaw_date'>&myopac.holds.thaw_date_selected;</option>\r
+                <option value='cancel'>&myopac.holds.cancel_selected;</option>\r
+            </select>\r
+        </td></tr></tbody>\r
+        <script language='javascript' type='text/javascript'>$('myopac_holds_actions_none').selected = true;</script>\r
+    </table>\r
+\r
+    <span id='myopac.holds.cancel.confirm' class='hide_me'>&myopac.holds.cancel.confirm;</span>\r
+    <span id='myopac.holds.freeze.confirm' class='hide_me'>&myopac.holds.freeze.confirm;</span>\r
+    <span id='myopac.holds.thaw.confirm' class='hide_me'>&myopac.holds.thaw.confirm;</span>\r
+    <span id='myopac.holds.thaw_date.confirm' class='hide_me'>&myopac.holds.thaw_date.confirm;</span>\r
+    <span id='myopac.holds.freeze.select_thaw' class='hide_me'>&myopac.holds.freeze.select_thaw;</span>\r
+\r
+    <table width='100%' id='myopac_holds_processing' class='hide_me'>\r
+        <tr><td>&myopac.holds.processing;</td></tr>\r
+    </table>\r
+\r
+    <div id='myopac_holds_thaw_date_form' class='hide_me'>\r
+        <div id='myopac_holds_freeze_select_thaw'>&myopac.holds.freeze.select_thaw;</div>\r
+        <p>\r
+            <input dojoType="dijit.form.DateTextBox" size='10' maxlength='10' type='text' id='myopac_holds_thaw_date_input' /> \r
+        </p>\r
+        <p>\r
+            <button onclick='myopacApplyThawDate();'>&common.submit;</button>\r
+        </p>\r
+    </div>\r
+\r
+       <table width='100%' class='light_border data_grid data_grid_center' id='myopac_holds_main_table'>\r
+\r
+               <thead class='color_3'>\r
+                       <tr>\r
+                               <td width=''>&common.title;</td>\r
+                               <td width=''>&common.author;</td>\r
+                               <td>&myopac.holds.formats;</td>\r
+                               <td>&myopac.holds.location;</td>\r
+                               <td>&common.status;</td>\r
+                               <td class='hide_me' id='myopac_holds_estimated_wait_column'>&myopac.holds.estimated_wait;</td>\r
+                               <td>&myopac.holds.unfrozen;</td>\r
+                               <td>&myopac.holds.frozen.until;</td>\r
+                               <td>&opac.holds.expire_time;</td>\r
+                <td width=''>&common.select;\r
+                    (<a id='myopac_select_all_holds' onclick='myopacSelectAllHolds();' \r
+                        class='classic_link' href='javascript:void(0);'>&common.all;</a>/<a id='myopac_select_none_holds' \r
+                        onclick='myopacSelectNoneHolds();' class='classic_link'  href='javascript:void(0);'>&common.none;</a>)\r
+                </td>\r
+\r
+                               <td>&myopac.holds.edit;</td>\r
+                       </tr>\r
+               </thead>\r
+\r
+               <tbody id='myopac_holds_tbody'>\r
+\r
+                       <tr id='myopac_holds_none' class='hide_me'>\r
+                               <td colspan='10'><b>&myopac.holds.status.none;</b></td>\r
+                       </tr>\r
+                       <tr id='myopac_holds_loading'><td>&myopac.loading;</td></tr>\r
+\r
+                       <tr id='myopac_holds_row' class='hide_me'>\r
+\r
+                               <td name='myopac_holds_title'>\r
+                                       <a href='javascript:void(0);' name='myopac_holds_title_link'> </a>\r
+                                       <div name='vol_copy' style='border: 1px solid #808080; width:98%; margin-top: 2px;' class='hide_me'>\r
+                                               <div style='font-size: 90%' name='volume'/>\r
+                                               <div style='font-size: 90%' name='copy'/>\r
+                                       </div>\r
+                               </td>\r
+\r
+                               <td name='myopac_holds_author'>\r
+                                       <a href='javascript:void(0);' name='myopac_holds_author_link'> </a>\r
+                               </td>\r
+\r
+                               <td name='myopac_holds_formats'> </td>\r
+\r
+                               <td name='myopac_holds_location'></td>\r
+                               <td>\r
+                                       <span class='hide_me' name='hold_status_waiting'>&myopac.holds.status.waiting;</span>\r
+                                       <span class='hide_me' name='hold_status_transit'>&myopac.holds.status.intransit;</span>\r
+                                       <span class='hide_me' name='hold_status_available'><b style='color:red'>&myopac.holds.status.available;</b></span>\r
+                                       <span class='hide_me' name='hold_qstats'></span>\r
+                               </td>\r
+                <td class='hide_me' name='myopac_holds_estimated_wait'/>\r
+\r
+                <td>\r
+                    <!-- These characaters do not display in Internet Exploror, *sigh*\r
+                    <span name='myopac_hold_unfrozen_false' class='x_mark'>&#x2717;</span>\r
+                    <span name='myopac_hold_unfrozen_true' class='hide_me check_mark'>&#x2713;</span>\r
+                    -->\r
+                    <span name='myopac_hold_unfrozen_false' class='x_mark'>&common.no;</span>\r
+                    <span name='myopac_hold_unfrozen_true' class='hide_me check_mark'>&common.yes;</span>\r
+                </td>\r
+\r
+\r
+                <td name='myopac_holds_frozen_until'></td>\r
+                <td name='myopac_hold_expire_time'></td>\r
+                <td><input type='checkbox' name='myopac_holds_selected_chkbx'/></td>\r
+\r
+                               <td name='myopac_holds_cancel' style='border-left: 3px solid #E0E0E0; border-right: 3px solid #E0E0E0;'>\r
+                                       <a href='javascript:void(0);' \r
+                                               name='myopac_holds_edit_link' class='classic_link'>&myopac.holds.edit;</a>\r
+                               </td>\r
+                       </tr>\r
+               </tbody>\r
+       </table>\r
+\r
+       <span class='hide_me' id='myopac_holds_cancel_verify'>\r
+               &myopac.holds.verify;\r
+       </span>\r
+\r
+</div>\r
+\r
+\r
diff --git a/web/opac/skin/uwin_old/xml/myopac/myopac_prefs.xml b/web/opac/skin/uwin_old/xml/myopac/myopac_prefs.xml
new file mode 100644 (file)
index 0000000..5da0a6f
--- /dev/null
@@ -0,0 +1,105 @@
+\r
+<div id='myopac_prefs_div' xmlns:xi="http://www.w3.org/2001/XInclude" >\r
+\r
+       <table width='100%' class='data_grid'>\r
+\r
+               <thead>\r
+                       <tr>\r
+                               <td colspan='2' align='center'>\r
+                                       <b>&myopac.prefs.title;</b>\r
+                               </td>\r
+                       </tr>\r
+               </thead>\r
+\r
+               <tbody id='myopac_prefs_tbody'>\r
+                       <tr id='myopac_prefs_loading'><td colspan='3'><b>&myopac.loading;</b></td></tr>\r
+                       <tr id='myopac_prefs_row'>\r
+                               <td width='50%'>&myopac.prefs.hits;</td>\r
+                               <td>\r
+                                       <select id='prefs_hits_per'>\r
+                                               <option value='5'>5</option>\r
+                                               <option value='8'>8</option>\r
+                                               <option value='10'>10</option>\r
+                                               <option value='15'>15</option>\r
+                                               <option value='20'>20</option>\r
+                                               <option value='25'>25</option>\r
+                                               <option value='50'>50</option>\r
+                                       </select>\r
+                               </td>\r
+                       </tr>\r
+\r
+                       <!-- FONT size preference -->\r
+                       <tr>\r
+                               <td>&myopac.prefs.font;</td>\r
+                               <td>\r
+                                       <select id='prefs_def_font'>\r
+                                               <option value='regular'>&myopac.prefs.font.regular;</option>\r
+                                               <option value='large'>&myopac.prefs.font.large;</option>\r
+                                       </select>\r
+                               </td>\r
+                       </tr>\r
+\r
+                       <!-- default hold notification type -->\r
+                       <tr>\r
+                               <td>\r
+                                       <span>&myopac.prefs.holds.notify;</span>\r
+                                       <a class='classic_link' href='javascript:void(0);' \r
+                                               onclick='alert($("myopac_pref_hold_notify_alert").textContent);' >&common.help;</a>\r
+                               </td>\r
+                               <td>\r
+                                       <select id='prefs_hold_notify'>\r
+                                               <option value='phone:email' selected='selected'>&myopac.prefs.holds.both;</option>\r
+                                               <option value='phone'>&myopac.prefs.holds.phone;</option>\r
+                                               <option value='email'>&myopac.prefs.holds.email;</option>\r
+                                       </select>\r
+                               </td>\r
+                       </tr>\r
+\r
+\r
+                       <tr>\r
+                               <td>&myopac.prefs.search.location;</td>\r
+                               <td>\r
+                                       <div style='margin-bottom: 5px;'>\r
+                                               <input type='checkbox' id='myopac_pref_home_lib' \r
+                                                       onclick='\r
+                                                               if( this.checked ) $("prefs_def_location").disabled = true;\r
+                                                               else $("prefs_def_location").disabled = false;\r
+                                                       ' /> &myopac.prefs.search.home; \r
+                                       </div>\r
+                                       <select id='prefs_def_location'>\r
+                                       </select>\r
+                               </td>\r
+                       </tr>\r
+\r
+                       <tr>\r
+                               <td>&myopac.prefs.search.range;</td>\r
+                               <td>\r
+                                       <select id='prefs_def_range'>\r
+                                       </select>\r
+                               </td>\r
+                       </tr>\r
+\r
+\r
+\r
+                       <!-- Save the preferences -->\r
+                       <tr><td colspan='2'><br/></td></tr>\r
+\r
+                       <tr>\r
+                               <td align='center' class='color_3' colspan='2'>\r
+                                       <button onclick='myOPACSavePrefs();' \r
+                                               id='myopac_prefs_submit'>&myopac.prefs.save;</button>\r
+                               </td>\r
+                       </tr>\r
+\r
+               </tbody>\r
+       </table>\r
+\r
+       <div class='hide_me' id='prefs_update_success'>&myopac.prefs.save.success;</div>\r
+       <div class='hide_me' id='prefs_update_failure'>&myopac.prefs.save.failed;</div>\r
+       <span class='hide_me' id='myopac_pref_hold_notify_alert'>\r
+               &myopac.prefs.help;\r
+       </span>\r
+\r
+</div>\r
+\r
+\r
diff --git a/web/opac/skin/uwin_old/xml/myopac/myopac_summary.xml b/web/opac/skin/uwin_old/xml/myopac/myopac_summary.xml
new file mode 100644 (file)
index 0000000..7205f24
--- /dev/null
@@ -0,0 +1,286 @@
+\r
+<div id='myopac_summary_div' xmlns:xi="http://www.w3.org/2001/XInclude" >\r
+\r
+\r
+    <div id='myopac.expired.alert' class='hide_me' style='margin-bottom: 20px;'>\r
+               <table class='data_grid' width='100%'>\r
+            <tbody>\r
+                <tr>\r
+                    <td width='100%' style='color:red;'>\r
+                       &myopac.summary.expired;\r
+                    </td>\r
+                </tr>\r
+            </tbody>\r
+        </table>\r
+    </div>\r
+\r
+       <div id='myopac.notes.div' class='hide_me'>\r
+               <table class='data_grid' width='100%'>\r
+                       <thead>\r
+                               <tr>\r
+                                       <td colspan='2'><b> &myopac.summary.notes;</b></td>\r
+                               </tr>\r
+                       </thead>\r
+                       <tbody id='myopac.notes.tbody'>\r
+                               <tr id='myopac.notes.tr'>\r
+                                       <td>\r
+                                               <b name='title'/> : <span name='value'/>\r
+                                       </td>\r
+                               </tr>\r
+                       </tbody>\r
+               </table>\r
+               <br/>\r
+       </div>\r
+\r
+       <table width='70%' class='light_border myopac_summary_table'>\r
+               <tbody id='myopac_summary_tbody'>\r
+                       <tr>\r
+                               <td width='30%' class='color_4 light_border'>&common.name;</td>\r
+                               <td class='light_border'>\r
+                                       <span id='myopac_summary_prefix' style='padding-right: 5px;'> </span> \r
+                                       <span id='myopac_summary_first' style='padding-right: 5px;'> </span> \r
+                                       <span id='myopac_summary_middle' style='padding-right: 5px;'> </span> \r
+                                       <span id='myopac_summary_last' style='padding-right: 5px;'> </span> \r
+                                       <span id='myopac_summary_suffix'> </span> \r
+                               </td>\r
+                       </tr>\r
+\r
+                       <tr>\r
+                               <td class='color_4 light_border'>&myopac.summary.phone.day;</td>\r
+                               <td class='light_border' id='myopac_summary_dayphone'> </td>\r
+                       </tr>\r
+                       <tr>\r
+                               <td class='color_4 light_border'>&myopac.summary.phone.evening;</td>\r
+                               <td class='light_border' id='myopac_summary_eveningphone'> </td>\r
+                       </tr>\r
+                       <tr>\r
+                               <td class='color_4 light_border'>&myopac.summary.phone.other;</td>\r
+                               <td class='light_border' id='myopac_summary_otherphone'> </td>\r
+                       </tr>\r
+                       <tr>\r
+                               <td class='color_4 light_border'>&common.username;</td>\r
+                               <td class='light_border' id='myopac_summary_username'> </td>\r
+                               <td class='light_border'><a href='javascript:void(0);' \r
+                                       onclick='unHideMe($("myopac_update_username_row"));$("myopac_new_username").focus();'\r
+                                       id='myopac_summary_username_change' style='text-decoration: underline;'>&myopac.summary.change;</a></td>\r
+                       </tr>\r
+\r
+                       <tr id='myopac_update_username_row' class='hide_me'>\r
+                               <td class='myopac_update_cell' colspan='3'>\r
+                                       <span class='myopac_update_span'>&myopac.summary.username.enter; </span>\r
+                                       <input type='text' size='24' id='myopac_new_username'\r
+                                               onkeydown='if(userPressedEnter(event)) myOPACUpdateUsername();' />\r
+                                       <span class='myopac_update_span'>\r
+                                               <button onclick='myOPACUpdateUsername();'>&common.submit;</button>\r
+                                       </span>\r
+                                       <span class='myopac_update_span'>\r
+                                               <button onclick='hideMe($("myopac_update_username_row"));'>&common.cancel;</button>\r
+                                       </span>\r
+                               </td>\r
+                       </tr>\r
+\r
+\r
+                       <tr>\r
+                               <td class='color_4 light_border'>&common.password;</td>\r
+                               <td class='light_border' id='myopac_summary_password'>&myopac.summary.password.text;</td>\r
+                               <td class='light_border'><a href='javascript:void(0);' \r
+                                       onclick='unHideMe($("myopac_update_password_row"));$("myopac_current_password").focus();'\r
+                                       id='myopac_summary_password_change' style='text-decoration: underline;'>&myopac.summary.change;</a></td>\r
+                       </tr>\r
+\r
+                       <tr id='myopac_update_password_row' class='hide_me'>\r
+                               <td class='myopac_update_cell' colspan='3'>\r
+\r
+                                       <table><tbody>\r
+                                               <tr>\r
+                                                       <td><span class='myopac_update_span'>&myopac.summary.password.current; </span></td>\r
+                                                       <td><input type='password' size='24' id='myopac_current_password'\r
+                                                               onkeydown='if(userPressedEnter(event)) myOPACUpdatePassword();' /></td>\r
+                                               </tr>\r
+                                               <tr>\r
+                                                       <td><span class='myopac_update_span'>&myopac.summary.password.new; </span></td>\r
+                                                       <td><input type='password' size='24' id='myopac_new_password'\r
+                                                               onkeydown='if(userPressedEnter(event)) myOPACUpdatePassword();' /></td>\r
+                                               </tr>\r
+                                               <tr>\r
+                                                       <td><span class='myopac_update_span'>&myopac.summary.password.reenter; </span></td>\r
+                                                       <td><input type='password' size='24' id='myopac_new_password2'\r
+                                                               onkeydown='if(userPressedEnter(event)) myOPACUpdatePassword();' /></td>\r
+                                               </tr>\r
+                                       </tbody></table>\r
+\r
+                                       <span class='myopac_update_span'>\r
+                                               <button onclick='myOPACUpdatePassword();'>&common.submit;</button>\r
+                                       </span>\r
+                                       <span class='myopac_update_span'>\r
+                                               <button onclick='hideMe($("myopac_update_password_row"));'>&common.cancel;</button>\r
+                                       </span>\r
+                               </td>\r
+                       </tr>\r
+\r
+                       <tr>\r
+                               <td class='color_4 light_border'>&myopac.summary.email;</td>\r
+                               <td class='light_border' id='myopac_summary_email'> </td>\r
+                               <td class='light_border'><a href='javascript:void(0);' \r
+                                       onclick='unHideMe($("myopac_update_email_row"));$("myopac_new_email").focus();'\r
+                                       id='myopac_summary_email_change' style='text-decoration: underline;'>&myopac.summary.change;</a></td>\r
+                       </tr>\r
+\r
+                       <tr id='myopac_update_email_row' class='hide_me'>\r
+                               <td class='myopac_update_cell' colspan='3'>\r
+                                       <span class='myopac_update_span'>&myopac.summary.email.new; </span>\r
+                                       <input type='text' size='24' id='myopac_new_email'\r
+                                               onkeydown='if(userPressedEnter(event)) myOPACUpdateEmail();' />\r
+                                       <span class='myopac_update_span'>\r
+                                               <button onclick='myOPACUpdateEmail();'>&common.submit;</button>\r
+                                       </span>\r
+                                       <span class='myopac_update_span'>\r
+                                               <button onclick='hideMe($("myopac_update_email_row"));'>&common.cancel;</button>\r
+                                       </span>\r
+                               </td>\r
+                       </tr>\r
+\r
+                       <tr>\r
+                               <td class='color_4 light_border'>&myopac.summary.id.primary;</td>\r
+                               <td class='light_border' id='myopac_summary_ident1'> </td>\r
+                       </tr>\r
+                       <!--\r
+                       <tr>\r
+                               <td class='color_4 light_border'>Secondary Identification</td>\r
+                               <td class='light_border' id='myopac_summary_ident2'> </td>\r
+                       </tr>\r
+                       -->\r
+                       <tr>\r
+                               <td class='color_4 light_border'>&myopac.summary.barcode;</td>\r
+                               <td class='light_border' id='myopac_summary_barcode'> </td>\r
+                       </tr>\r
+                       <tr>\r
+                               <td class='color_4 light_border'>&myopac.summary.home;</td>\r
+                               <td class='light_border' id='myopac_summary_homelib'> </td>\r
+                       </tr>\r
+                       <tr>\r
+                               <td class='color_4 light_border'>&myopac.summary.genesis;</td>\r
+                               <td class='light_border' id='myopac_summary_create_date'> </td>\r
+                       </tr>\r
+\r
+               </tbody>\r
+       </table>\r
+\r
+\r
+       <br/><hr/><br/>\r
+\r
+       <table width='100%' class='light_border data_grid'>\r
+        <thead>\r
+            <tr>\r
+                <td>&myopac.summary.addresses;</td>\r
+                <td id='myopac_pending_addr_td' class='hide_me'>&myopac.summary.addresses.pending;</td>\r
+            </tr>\r
+        </thead>\r
+               <tbody id='myopac_addr_tbody'>\r
+                       <tr id='myopac_addr_row' class='light_border'>\r
+                <td>\r
+                    <table>\r
+                        <tr>\r
+                            <td>&myopac.summary.address.type;</td>\r
+                            <td name='myopac_addr_type'> </td>\r
+                        </tr>\r
+                        <tr>\r
+                            <td>&myopac.summary.address.street;</td>\r
+                            <td name='myopac_addr_street'> </td>\r
+                        </tr>\r
+                        <tr>\r
+                            <td>&myopac.summary.address.street;</td>\r
+                            <td name='myopac_addr_street2'> </td>\r
+                        </tr>\r
+                        <tr>\r
+                            <td>&myopac.summary.address.city;</td>\r
+                            <td name='myopac_addr_city'> </td>\r
+                        </tr>\r
+                        <tr>\r
+                            <td>&myopac.summary.address.county;</td>\r
+                            <td name='myopac_addr_county'> </td>\r
+                        </tr>\r
+                        <tr>\r
+                            <td>&myopac.summary.address.state;</td>\r
+                            <td name='myopac_addr_state'> </td>\r
+                        </tr>\r
+                        <tr>\r
+                            <td>&myopac.summary.address.country;</td>\r
+                            <td name='myopac_addr_country'> </td>\r
+                        </tr>\r
+                        <tr>\r
+                            <td>&myopac.summary.address.zip;</td>\r
+                            <td name='myopac_addr_zip'> </td>\r
+                        </tr>\r
+                        <tr>\r
+                            <td name='myopac_addr_edit_td' colspan='2' class='hide_me'>\r
+                                <a class='classic_link' name='myopac_addr_edit_link' href='javascript:void(0);'>Edit Address</a>\r
+                            </td>\r
+                        </tr>\r
+                    </table>\r
+                </td>\r
+                <td class='hide_me' name='myopac_pending_addr_td'>\r
+                    <table>\r
+                        <tr>\r
+                            <td>&myopac.summary.address.type;</td>\r
+                            <td><input name='myopac_pending_addr_type'/> </td>\r
+                        </tr>\r
+                        <tr>\r
+                            <td>&myopac.summary.address.street;</td>\r
+                            <td><input name='myopac_pending_addr_street'/> </td>\r
+                        </tr>\r
+                        <tr>\r
+                            <td>&myopac.summary.address.street;</td>\r
+                            <td><input name='myopac_pending_addr_street2'/> </td>\r
+                        </tr>\r
+                        <tr>\r
+                            <td>&myopac.summary.address.city;</td>\r
+                            <td><input name='myopac_pending_addr_city'/> </td>\r
+                        </tr>\r
+                        <tr>\r
+                            <td>&myopac.summary.address.county;</td>\r
+                            <td><input name='myopac_pending_addr_county'/> </td>\r
+                        </tr>\r
+                        <tr>\r
+                            <td>&myopac.summary.address.state;</td>\r
+                            <td><input name='myopac_pending_addr_state'/> </td>\r
+                        </tr>\r
+                        <tr>\r
+                            <td>&myopac.summary.address.country;</td>\r
+                            <td><input name='myopac_pending_addr_country'/> </td>\r
+                        </tr>\r
+                        <tr>\r
+                            <td>&myopac.summary.address.zip;</td>\r
+                            <td><input name='myopac_pending_addr_zip'/> </td>\r
+                        </tr>\r
+                        <tr>\r
+                            <td name='myopac_addr_edit_td' colspan='2'>\r
+                                <a class='classic_link' name='myopac_pending_addr_edit_link' href='javascript:void(0);'>Save Changes</a>\r
+                                <a style='padding-left:10px;' class='classic_link' name='myopac_pending_addr_del_link' href='javascript:void(0);'>Discard Pending Address</a>\r
+                            </td>\r
+                        </tr>\r
+                    </table>\r
+                </td>\r
+            </tr>\r
+               </tbody>\r
+       </table>\r
+\r
+       <div class='hide_me' id='myopac_username_error'>&myopac.summary.username.error;</div>\r
+       <div class='hide_me' id='myopac_username_dup'>\r
+               &myopac.summary.username.dup;\r
+       </div>\r
+       <div class='hide_me' id='myopac_username_success'>&myopac.summary.username.success;</div>\r
+       <div class='hide_me' id='myopac_username_failure'>&myopac.summary.username.failure;</div>\r
+\r
+       <div class='hide_me' id='myopac_email_error'>&myopac.summary.email.error;</div>\r
+       <div class='hide_me' id='myopac_email_success'>&myopac.summary.email.success;</div>\r
+       <div class='hide_me' id='myopac_email_failure'>&myopac.summary.email.failed;</div>\r
+\r
+       <div class='hide_me' id='myopac_password_error'>&myopac.summary.password.error;</div>\r
+       <div class='hide_me' id='myopac_password_success'>&myopac.summary.password.success;</div>\r
+       <div class='hide_me' id='myopac_password_failure'>&myopac.summary.password.failure;</div>\r
+       <span class='hide_me' id='myopac_invalid_username'>&myopac.summary.username.invalid;</span>\r
+       <span class='hide_me' id='myopac_addr_changes_saved'>Address Saved</span>\r
+</div>\r
+\r
+\r
diff --git a/web/opac/skin/uwin_old/xml/page_advanced.xml b/web/opac/skin/uwin_old/xml/page_advanced.xml
new file mode 100644 (file)
index 0000000..afce599
--- /dev/null
@@ -0,0 +1,14 @@
+<div id='canvas_main' class='canvas' style='margin-top: 20px;'>\r
+\r
+       <script language='javascript' type='text/javascript' src='<!--#echo var="OILS_OPAC_JS_HOST"-->/skin/default/js/advanced.js'></script>\r
+\r
+       <style type='text/css'>\r
+               .advanced_div { text-align: center; margin: 8px; margin-left: 2px; width: 95%; padding: 5px; }\r
+       </style>\r
+\r
+       <div class='advanced_div'>\r
+               <!--#include virtual="advanced/advanced_global.xml"-->\r
+       </div>\r
+</div>\r
+\r
+\r
diff --git a/web/opac/skin/uwin_old/xml/page_cnbrowse.xml b/web/opac/skin/uwin_old/xml/page_cnbrowse.xml
new file mode 100644 (file)
index 0000000..de78c50
--- /dev/null
@@ -0,0 +1,6 @@
+<div id='canvas_main' class='canvas' style='margin-top: 20px;'>\r
+       <script language='javascript' type='text/javascript' src='<!--#echo var="OILS_OPAC_JS_HOST"-->/skin/default/js/cn_browse.js'></script>\r
+       <!--#include virtual="common/cn_browse.xml"-->\r
+</div>\r
+\r
+\r
diff --git a/web/opac/skin/uwin_old/xml/page_mresult.xml b/web/opac/skin/uwin_old/xml/page_mresult.xml
new file mode 100644 (file)
index 0000000..73c5cc3
--- /dev/null
@@ -0,0 +1,9 @@
+<div>\r
+       <script language='javascript' type='text/javascript' src='<!--#echo var="OILS_OPAC_JS_HOST"-->/skin/uwin/js/sidebar_extras.js'></script>\r
+       <script language='javascript' type='text/javascript' src='<!--#echo var="OILS_OPAC_JS_HOST"-->/skin/uwin/js/mresult.js'></script>\r
+       <script language='javascript' type='text/javascript' src='<!--#echo var="OILS_OPAC_JS_HOST"-->/skin/uwin/js/result_common.js'></script>\r
+       <script language='javascript' type='text/javascript' src='<!--#echo var="OILS_OPAC_JS_HOST"-->/skin/uwin/js/tips.js'></script>\r
+       <script language='javascript' type='text/javascript' src='<!--#echo var="OILS_OPAC_JS_HOST"-->/skin/uwin/js/holds.js'></script>   \r
+       <!--#include virtual="result/result_common.xml"-->\r
+</div>\r
+\r
diff --git a/web/opac/skin/uwin_old/xml/page_myopac.xml b/web/opac/skin/uwin_old/xml/page_myopac.xml
new file mode 100644 (file)
index 0000000..a749baa
--- /dev/null
@@ -0,0 +1,68 @@
+<div id='canvas_main' class='canvas hide_me'>\r
+\r
+       <script language='javascript' type='text/javascript' src='<!--#echo var="OILS_OPAC_JS_HOST"-->/skin/default/js/myopac.js'></script>\r
+    <script language='javascript' type='text/javascript' src='<!--#echo var="OILS_OPAC_JS_HOST"-->/common/js/DP_DateExtensions.js'></script>\r
+\r
+       <script language='javascript' type='text/javascript'> config.ids.altcanvas.myopac_reload = 'myopac_reloading'; </script>\r
+       <div id='myopac_reloading' class='hide_me canvas'> &common.loading; </div>\r
+\r
+       <script language='javascript' type='text/javascript'>\r
+               config.ids.myopac = {};\r
+               config.css.myopac = {};\r
+               config.names.myopac = {};\r
+       </script>\r
+\r
+       <br/>\r
+       <table style='width: 98%; text-align: center;'>\r
+               <tbody>\r
+                       <tr id='myopac_nav_row'>\r
+\r
+                               <td class='myopac_link border_6' id='myopac_summary_td' >\r
+                                       <a href='javascript:void(0);' \r
+                                               onclick='myOPACChangePage("summary");'>&myopac.account;</a>\r
+                               </td>\r
+\r
+                               <td class='myopac_link border_6' id='myopac_checked_td' >\r
+                                       <a href='javascript:void(0);' \r
+                                               onclick='myOPACChangePage("checked");'>&myopac.checkouts;</a>\r
+                               </td>\r
+\r
+                               <td class='myopac_link border_6' id='myopac_holds_td' >\r
+                                       <a href='javascript:void(0);' \r
+                                               onclick='myOPACChangePage("holds");'>&myopac.holds;</a>\r
+                               </td>\r
+\r
+                               <td class='myopac_link border_6' id='myopac_fines_td' >\r
+                                       <a href='javascript:void(0);' \r
+                                               onclick='myOPACChangePage("fines");'>&myopac.fines;</a>\r
+                               </td>\r
+\r
+                               <td class='myopac_link border_6' id='myopac_prefs_td' >\r
+                                       <a href='javascript:void(0);' \r
+                                               onclick='myOPACChangePage("prefs");'>&myopac.preferences;</a>\r
+                               </td>\r
+\r
+                               <td class='myopac_link border_6' id='myopac_bookbag_td' nowrap='nowrap'>\r
+                                       <a href='javascript:void(0);' \r
+                                               onclick='myOPACChangePage("bookbag");'>&myopac.bookbags;</a>\r
+\r
+                               </td>\r
+\r
+                       </tr>\r
+               </tbody>\r
+       </table>\r
+\r
+       <br/>\r
+\r
+       <div id='myopac_main_div'>\r
+               <!--#include virtual="myopac/myopac_summary.xml"-->\r
+               <!--#include virtual="myopac/myopac_checked.xml"-->\r
+               <!--#include virtual="myopac/myopac_holds.xml"-->\r
+               <!--#include virtual="myopac/myopac_fines.xml"-->\r
+               <!--#include virtual="myopac/myopac_prefs.xml"-->\r
+               <!--#include virtual="myopac/myopac_bookbags.xml"-->\r
+       </div>\r
+\r
+</div>\r
+\r
+\r
diff --git a/web/opac/skin/uwin_old/xml/page_rdetail.xml b/web/opac/skin/uwin_old/xml/page_rdetail.xml
new file mode 100644 (file)
index 0000000..5ec7f82
--- /dev/null
@@ -0,0 +1,90 @@
+<div id='canvas_main' class='canvas'>\r
+\r
+       <script language='javascript' type='text/javascript' src='<!--#echo var="OILS_OPAC_JS_HOST"-->/skin/uwin/js/sidebar_extras.js'></script>\r
+       <script language='javascript' type='text/javascript' src='<!--#echo var="OILS_OPAC_JS_HOST"-->/skin/uwin/js/result_common.js'></script>\r
+       <script language='javascript' type='text/javascript' src='<!--#echo var="OILS_OPAC_JS_HOST"-->/skin/uwin/js/rresult.js'></script>\r
+       <script language='javascript' type='text/javascript' src='<!--#echo var="OILS_OPAC_JS_HOST"-->/skin/uwin/js/rdetail.js'></script>\r
+       <script language='javascript' type='text/javascript' src='<!--#echo var="OILS_OPAC_JS_HOST"-->/skin/uwin/js/holds.js'></script>\r
+       <script language='javascript' type='text/javascript' src='<!--#echo var="OILS_OPAC_JS_HOST"-->/skin/uwin/js/cn_browse.js'></script>\r
+       <script language='javascript' type='text/javascript' src='<!--#echo var="OILS_OPAC_JS_HOST"-->/skin/uwin/js/container.js'></script>\r
+       <script src='http://www.google.com/jsapi' type='text/javascript' language='javascript'></script>\r
+       <script type='text/javascript' src='http://books.google.com/books/api.js?key=notsupplied&amp;v=0&amp;callback=google.loader.callbacks.books'></script>\r
+\r
+       <script language='javascript' type='text/javascript'>\r
+               config.ids.rdetail = {};\r
+               config.ids.rdetail.view_marc = "rdetail_view_marc";\r
+       </script>\r
+\r
+       <table width='100%' id='np_table' class='hide_me' style='margin-top: 3px;'>\r
+               <tbody>\r
+                       <tr class='color_4' style='height: 1em;'>\r
+                               <td style='vertical-align: top;'>\r
+\r
+                                       <span>\r
+                                               &rdetail.result; <span id='np_offset'> </span>\r
+                                               <span> &common.of; </span>\r
+                                               <span id='np_count'> </span>\r
+                                       </span>\r
+       \r
+                                       <span style='padding-left: 40px;' >\r
+                                               <a class='np_nav_link classic_link hide_me' id='np_start'\r
+                                                       href='javascript:rdetailStart();' title="&rdetail.page.results;">&rdetail.start;</a>\r
+                                               <a class='np_nav_link classic_link hide_me' id='np_prev'\r
+                                                       href='javascript:rdetailPrev();' title='&rdetail.page.previous;'>&lt;&lt;</a>\r
+                                               <span> </span>\r
+                                               <a  class='np_nav_link classic_link hide_me' id='np_next'\r
+                                                       href='javascript:rdetailNext();' title='&rdetail.page.next;'>&gt;&gt;</a>\r
+                                               <a class='np_nav_link classic_link hide_me' id='np_end'\r
+                                                       href='javascript:rdetailEnd();' title="&rdetail.page.last;">&rdetail.end;</a>\r
+                                       </span>\r
+       \r
+                               </td>\r
+                       </tr>\r
+               </tbody>\r
+       </table>\r
+\r
+       <table style='' class='rdetail_header color_1' width='100%'>\r
+               <tbody>\r
+\r
+                       <tr>\r
+                               <td width='33%' align='left'>\r
+                                       <span>&rdetail.detailMain.headerLabel;</span>\r
+                               </td>\r
+\r
+                               <td align='right' style='padding-right: 7px;' width='33%'>\r
+                                       <span style='padding-right: 7px;' class='hide_me' id='rdetail_exp_refworks_span'>\r
+                                               <a id='rdetail_exp_refworks' class='classic_link'>Export to RefWorks</a>\r
+                                       </span>\r
+                                       <span style='padding-right: 7px;'>\r
+                                               <a id='rdetail_place_hold' class='classic_link'></a>\r
+                                       </span>\r
+                                       <span style='padding-right: 7px;' class='hide_me' id='rdetail_more_actions'>\r
+                                               <select id='rdetail_more_actions_selector' style='max-width: 11em;'>\r
+                                                       <option value='start'>&rdetail.more;</option>\r
+                                                       <option disabled='disabled'>--------------</option>\r
+                                                       <option disabled='disabled'>&rdetail.bookbag.add;</option>\r
+                                                       <option disabled='disabled'>--------------</option>\r
+                                                       <option value='new_bookbag' onclick='rdetailNewBookbag();'>&rdetail.bookbag.create;</option>\r
+                                               </select>\r
+                                       </span>\r
+\r
+                               </td>\r
+                       </tr>\r
+               </tbody>\r
+       </table>\r
+\r
+       <div style='font-weight: bold; padding: 5px; margin: 5px; width: 100%;' \r
+               class='hide_me color_4' id='rdetail_deleted_exp'>\r
+               &rdetail.record.deleted;\r
+       </div>\r
+\r
+       <!--#include virtual="rdetail/rdetail_summary.xml"-->\r
+       <br/><br/>\r
+       <!--#include virtual="rdetail/rdetail_extras.xml"-->\r
+\r
+       <div class='hide_me' id='rdetail_bb_none'>&rdetail.none;</div>\r
+       <div class='hide_me' id='rdetail_bb_item_success'>&rdetail.bookbag.add.success;</div>\r
+       <div class='hide_me' id='rdetail_bb_new'>&rdetail.bookbag.name;</div>\r
+       <div class='hide_me' id='rdetail_bb_success'>&rdetail.bookbag.create.success;</div>\r
+\r
+</div>\r
diff --git a/web/opac/skin/uwin_old/xml/page_rresult.xml b/web/opac/skin/uwin_old/xml/page_rresult.xml
new file mode 100644 (file)
index 0000000..52023ca
--- /dev/null
@@ -0,0 +1,9 @@
+<div>\r
+       <script language='javascript' type='text/javascript' src='<!--#echo var="OILS_OPAC_JS_HOST"-->/skin/uwin/js/sidebar_extras.js'></script>\r
+       <script language='javascript' type='text/javascript' src='<!--#echo var="OILS_OPAC_JS_HOST"-->/skin/uwin/js/rresult.js'></script>\r
+       <script language='javascript' type='text/javascript' src='<!--#echo var="OILS_OPAC_JS_HOST"-->/skin/uwin/js/result_common.js'></script>\r
+       <script language='javascript' type='text/javascript' src='<!--#echo var="OILS_OPAC_JS_HOST"-->/skin/uwin/js/tips.js'></script>\r
+       <script language='javascript' type='text/javascript' src='<!--#echo var="OILS_OPAC_JS_HOST"-->/skin/uwin/js/holds.js'></script>   \r
+       <!--#include virtual="result/result_common.xml"-->\r
+</div>\r
+\r
diff --git a/web/opac/skin/uwin_old/xml/rdetail/rdetail_altcanvas.xml b/web/opac/skin/uwin_old/xml/rdetail/rdetail_altcanvas.xml
new file mode 100644 (file)
index 0000000..e7abdb2
--- /dev/null
@@ -0,0 +1,28 @@
+\r
+<!-- record details alternate canvases -->\r
+<div class=''>\r
+\r
+       <!--\r
+       <script language='javascript' type='text/javascript'>\r
+               config.ids.rdetail.view_marc_div = 'view_marc_div';\r
+               config.ids.altcanvas.view_marc_div = config.ids.rdetail.view_marc_div; \r
+               config.ids.rdetail.hide_marc = "rdetail_hide_marc";\r
+               config.ids.rdetail.view_marc_box = "rdetail_view_marc_box";\r
+       </script>\r
+\r
+       <div class='hide_me canvas' id='view_marc_div'> \r
+               <div>\r
+                       <table width='100%'><tbody><tr>\r
+                               <td class='color_1' align='left' style='padding-left: 7px;text-decoration: underline;'>\r
+                                       <a href="javascript:void(0);" id='rdetail_hide_marc'>&rdetail.detailMain.hideMarc;</a>\r
+                               </td>\r
+                       </tr></tbody></table>\r
+               </div>\r
+               <br/>\r
+               <div id='rdetail_view_marc_box'> </div>\r
+               <br/><br/>\r
+       </div>\r
+       -->\r
+       \r
+</div>\r
+\r
diff --git a/web/opac/skin/uwin_old/xml/rdetail/rdetail_cn_details.xml b/web/opac/skin/uwin_old/xml/rdetail/rdetail_cn_details.xml
new file mode 100644 (file)
index 0000000..c2a1756
--- /dev/null
@@ -0,0 +1,103 @@
+<table class='hide_me'>\r
+       <script language='javascript' type='text/javascript' src='<!--#echo var="OILS_OPAC_JS_HOST"-->/skin/default/js/copy_details.js'></script>\r
+       <script language='javascript' type='text/javascript' src='<!--#echo var="OILS_OPAC_JS_HOST"-->/common/js/Date.W3CDTF.js'></script>\r
+       <tbody>\r
+               <tr style='border: 3px solid #E0E0E0;' id='rdetail_volume_details_row' templateRow='1'>\r
+                       <td colspan='10'>\r
+                               <div style='text-align: center; margin-top: 6px; margin-bottom: 6px'>\r
+                               \r
+                                       <a name='print' href='javascript:void(0);' class='classic_link'>&rdetail.print;</a>\r
+                                       <table class='data_grid data_grid_center' style='width: 100%'>\r
+                                               <thead>\r
+                                                       <tr>\r
+                                                               <td width='33%'>&rdetail.cn.barcode;</td>\r
+                                                               <td>&common.status;</td>\r
+                                                               <td>&rdetail.cn.location;</td>\r
+                                                               <td name='age_protect_label' class='hide_me'>&rdetail.cn.hold.age;</td>\r
+                                                               <td name='create_date_label' class='hide_me'>&rdetail.cn.genesis;</td>\r
+                                                               <td name='holdable_label' class='hide_me'>&rdetail.cn.holdable;</td>\r
+                                                               <td name='due_date_label' class='hide_me'>&rdetail.cn.due;</td>\r
+                                                       </tr>\r
+                                               </thead>\r
+                                               <tbody name='copies_tbody' class='copy_details_table' width='100%'>\r
+\r
+                                                       <tr name='copies_row'>\r
+\r
+                                                               <td>\r
+                                                                       <span name='barcode'> </span>\r
+                                                                       <a class='hide_me classic_link copy_more_info' name='details_link'>&rdetail.cn.more;</a>\r
+                                                                       <a class='hide_me classic_link copy_more_info' name='less_details_link'>&rdetail.cn.less;</a>\r
+                                                                       <a class='hide_me classic_link copy_more_info' name='copy_hold_link' \r
+                                                                               href='javascript:void(0);'>&rdetail.cn.hold;</a>\r
+                                                               </td>\r
+\r
+                                                               <td name='status'> </td>\r
+                                                               <td name='location'> </td>\r
+                                                               <td name='age_protect_value' class='hide_me'>&rdetail.cn.disabled;</td>\r
+                                                               <td name='create_date_value' class='hide_me'> </td>\r
+\r
+                                                               <td name='copy_holdable_td' class='hide_me'>\r
+                                                                       <span name='copy_is_holdable'> </span>\r
+                                                               </td>\r
+\r
+                                                               <td name='copy_due_date_td' class='hide_me'>\r
+                                                                       <span name='copy_due_date'> </span>\r
+                                                               </td>\r
+\r
+                                                       </tr>\r
+\r
+                                                       <tr name='copy_extras_row' class='hide_me'>\r
+                                                               <td colspan='10'>\r
+                                                                       <table width='100%' class='data_grid'>\r
+                                                                               <tbody name='extras_tbody'>\r
+                                                                                       <tr name='extras_row' class='hide_me'>\r
+                                                                                               <td name='type' width='20%'> \r
+                                                                                                       <span name='note' class='hide_me'><b>&rdetail.cn.note;</b></span>\r
+                                                                                                       <span name='cat' class='hide_me'><b>&rdetail.cn.category;</b></span>\r
+                                                                                               </td>\r
+                                                                                               <td>\r
+                                                                                                       <span name='key'> </span> : <span name='value'> </span>\r
+                                                                                               </td>\r
+                                                                                       </tr>\r
+                                                                               </tbody>\r
+                                                                       </table>\r
+                                                               </td>\r
+                                                       </tr>\r
+\r
+                                               </tbody>\r
+                                       </table>\r
+                               </div>\r
+                       </td>\r
+               </tr>\r
+       </tbody>\r
+</table>\r
+\r
+<span class='hide_me' id='rdetail.yes'>&common.yes;</span>\r
+<span class='hide_me' id='rdetail.no'>&common.no;</span>\r
+\r
+\r
+<div id='rdetail_print_details' class='hide_me'>\r
+       <div style='text-align: center; padding: 20px; width: 100%'>\r
+               <div style='width:100%; border: 2px solid #E0F0E0; margin-bottom: 20px;'>\r
+                       <input type='submit' value='&rdetail.cn.print;' onclick='window.print();'> </input>\r
+               </div>\r
+               <div name='body'> \r
+                       <table>\r
+                               <tbody name='tbody'>\r
+                                       <tr><td>&common.library;</td><td colspan='2' name='lib'></td></tr>\r
+                                       <tr><td>&common.title;</td><td colspan='2' name='title'></td></tr>\r
+                                       <tr><td>&common.author;</td><td colspan='2' name='author'></td></tr>\r
+                                       <tr><td>&common.edition;</td><td colspan='2' name='edition'></td></tr>\r
+                                       <tr><td>&common.pubdate;</td><td colspan='2' name='pubdate'></td></tr>\r
+                                       <tr><td>&common.publisher;</td><td colspan='2' name='publisher'></td></tr>\r
+                                       <tr><td>&common.physical;</td><td colspan='2' name='phys'></td></tr>\r
+                                       <tr>\r
+                                               <td colspan='3' style='background: #E0F0E0;'> </td>\r
+                                       </tr>\r
+                                       <tr name='cnrow'><td><b>&common.callnumber;</b></td><td><b colspan='2' name='cn'></b></td></tr>\r
+                               </tbody>\r
+                       </table>\r
+               </div>\r
+       </div>\r
+</div>\r
+\r
diff --git a/web/opac/skin/uwin_old/xml/rdetail/rdetail_copyinfo.xml b/web/opac/skin/uwin_old/xml/rdetail/rdetail_copyinfo.xml
new file mode 100644 (file)
index 0000000..a25c8f3
--- /dev/null
@@ -0,0 +1,93 @@
+\r
+<!-- This holds information for copies attached to this record -->\r
+<div id='rdetail_copy_info_div' class='rdetail_extras_div'>\r
+\r
+       <div style='width: 100%; text-align: center; padding-bottom: 5px;'>\r
+               <span>\r
+                       <a href='javascript:void(0);' id='copy_info_local_link' \r
+                               class='rdetail_copy_nav_link hide_me classic_link'><b>&rdetail.copyInfo.local;</b></a>\r
+               </span>\r
+               <span width=''>\r
+                       <a href='javascript:void(0);' id='copy_info_all_link' \r
+                               class='rdetail_copy_nav_link classic_link'><b>&rdetail.copyInfo.all;</b></a>\r
+               </span>\r
+       </div>\r
+\r
+       <style>\r
+               #rdetail_copy_info_table { font-size: 8pt; }\r
+               #rdetail_copy_info_table td { padding: 3px; }\r
+       </style>\r
+       <table id='rdetail_copy_info_table' class='data_grid'>\r
+               <thead>\r
+\r
+                       <tr>\r
+                               <td  class='rdetail_copy_info_header_cell'>&rdetail.copyInfo.library;</td>\r
+                               <td  class='rdetail_copy_info_header_cell'>&rdetail.copyInfo.callnumber;</td>\r
+                               <td  name='rdetail_copylocation_header' class='rdetail_copy_info_header_cell hide_me'>&rdetail.copyInfo.copylocation;</td>\r
+                               <td  class='rdetail_copy_info_header_cell'>&rdetail.copyInfo.actions;</td>\r
+                               <td  nowrap='nowrap' class='rdetail_copy_info_header_cell' id='rdetail_copy_info_status'> \r
+                                       <div name='rdetail_status_cell'> </div>\r
+                               </td>\r
+                       </tr>\r
+\r
+               </thead>\r
+               <tbody id='rdetail_copy_info_tbody'>\r
+                       <tr id='rdetail_copy_info_row' class='hide_me'>\r
+                               <td name='rdetail_library_cell'>\r
+                                       <a name='lib_print_link' class='hide_me classic_link' style='font-size: 8pt; padding-left: 20px;'>\r
+                                               &rdetail.copyInfo.print;\r
+                                       </a>\r
+                               </td>\r
+                               <td name='rdetail_callnumber_cell'> </td>\r
+                               <td class="hide_me" name='rdetail_copylocation_cell'> </td>\r
+                               <td name='rdetail_actions_cell'> \r
+                                       <div style='padding-bottom: 1px;'>\r
+                                               <a style='font-size: 8pt;'\r
+                                                       name='details' class='hide_me classic_link'>&rdetail.copyInfo.details;</a>\r
+                                       </div>\r
+                                       <div style='margin-top: 2px;'>\r
+                                               <a name='browse' style='font-size: 8pt;'\r
+                                                       class='hide_me classic_link'><!-- &rdetail.copyInfo.browse; --></a>\r
+                                       </div>\r
+<!--                                   <div style='margin-top: 2px;' name='hold_div' class='hide_me'>\r
+                                               <a name='hold' style='font-size: 8pt;' href='javascript:void(0);'\r
+                                                       class='classic_link'>&rdetail.copyInfo.hold;</a>\r
+                                       </div> -->\r
+                               </td>\r
+                               <td nowrap='nowrap' class='rdetail_copy_count_cell vertical' \r
+                                       name='rdetail_copy_count_cell'> </td>\r
+                       </tr>\r
+\r
+                       <tr id='rdetail_copy_info_loading'><td>&rdetail.loading;</td></tr>\r
+\r
+               </tbody>\r
+       </table>\r
+\r
+       <!--\r
+       <table class='hide_me'>\r
+               <tbody>\r
+               <tr style='border: 3px solid #E0E0E0;' id='rdetail_volume_details_row'><td colspan='10'></td></tr>\r
+               </tbody>\r
+       </table>\r
+       -->\r
+\r
+       <br/><br/>\r
+\r
+       <div id='rdetail_copy_info_none' class='hide_me'>&rdetail.noneAvailable;</div>\r
+\r
+       <script language='javascript' type='text/javascript'>\r
+               config.ids.rdetail.cp_status                    = "rdetail_copy_info_status";\r
+               config.ids.rdetail.cp_info_row          = "rdetail_copy_info_row";\r
+               config.ids.rdetail.cp_info_loading      = "rdetail_copy_info_loading";\r
+               config.ids.rdetail.cp_info_local                = "copy_info_local_link";\r
+               config.ids.rdetail.cp_info_all          = "copy_info_all_link";\r
+               config.ids.rdetail.cp_info_none         = "rdetail_copy_info_none";\r
+               config.names.rdetail.lib_cell                   = "rdetail_library_cell";\r
+               config.names.rdetail.cn_cell                    = "rdetail_callnumber_cell";\r
+               config.names.rdetail.cp_count_cell      = "rdetail_copy_count_cell";\r
+               config.names.rdetail.cp_status          = 'rdetail_status_cell';\r
+       </script>\r
+\r
+</div> <!-- copy info -->\r
+\r
+\r
diff --git a/web/opac/skin/uwin_old/xml/rdetail/rdetail_extras.xml b/web/opac/skin/uwin_old/xml/rdetail/rdetail_extras.xml
new file mode 100644 (file)
index 0000000..256e2d3
--- /dev/null
@@ -0,0 +1,125 @@
+\r
+<div xmlns:xi="http://www.w3.org/2001/XInclude">\r
+\r
+       <table class='rdetails_extra_links'>\r
+               <thead>\r
+                       <tr>\r
+                               <td id='rdetail_copy_info_link' class='rdetail_extras_td rdetail_extras_selected' \r
+                                       style='padding-right: 15px; padding-left: 15px;' >\r
+                                       <a href='javascript:rdetailShowExtra("copyinfo");' \r
+                                               class='classic_link'>&rdetail.extras.summary;</a>\r
+                               </td>\r
+\r
+                               <td id='rdetail_viewcn_link' class='rdetail_extras_td'\r
+                                       style='padding-right: 15px; padding-left: 15px;' >\r
+                                       <a href='javascript:rdetailShowExtra("cn");' \r
+                                               class='classic_link'>&rdetail.extras.browser;</a>\r
+                               </td>\r
+\r
+                               <td id='rdetail_reviews_link' class='hide_me rdetail_extras_td'\r
+                                       style='padding-right: 15px; padding-left: 15px;' >\r
+                                       <a href='javascript:rdetailShowExtra("reviews");' \r
+                                               class='classic_link'>&rdetail.extras.reviews;</a>\r
+                               </td>\r
+\r
+                               <td id='rdetail_toc_link' class='hide_me rdetail_extras_td'\r
+                                       style='padding-right: 15px; padding-left: 15px;' >\r
+                                       <a href='javascript:rdetailShowExtra("toc");' \r
+                                               class='classic_link'>&rdetail.extras.toc;</a>\r
+                               </td>\r
+\r
+                               <td id='rdetail_excerpt_link' class='hide_me rdetail_extras_td'\r
+                                       style='padding-right: 15px; padding-left: 15px;' >\r
+                                       <a href='javascript:rdetailShowExtra("excerpt");' \r
+                                               class='classic_link'>&rdetail.extras.excerpt;</a>\r
+                               </td>\r
+\r
+                               <td id='rdetail_preview_link' class='hide_me rdetail_extras_td'\r
+                                       style='padding-right: 15px; padding-left: 15px;' >\r
+                                       <a href='javascript:rdetailShowExtra("preview");' \r
+                                               class='classic_link'>&rdetail.extras.preview;</a>\r
+                               </td>\r
+\r
+                               <td id='rdetail_anotes_link' class='hide_me rdetail_extras_td'\r
+                                       style='padding-right: 15px; padding-left: 15px;' >\r
+                                       <a href='javascript:rdetailShowExtra("anotes");' \r
+                                               class='classic_link'>&rdetail.extras.author.notes;</a>\r
+                               </td>\r
+\r
+                               <td id='rdetail_performer_notes_link' class='hide_me rdetail_extras_td'\r
+                                       style='padding-right: 15px; padding-left: 15px;' >\r
+                                       <a href='javascript:rdetailShowExtra("performer_notes");' \r
+                                               class='classic_link'>&rdetail.extras.performer.notes;</a>\r
+                               </td>\r
+\r
+\r
+                               <td id='rdetail_annotation_link' class='hide_me rdetail_extras_td'\r
+                                       style='padding-right: 15px; padding-left: 15px;' >\r
+                                       <a href='javascript:rdetailShowExtra("annotation");' \r
+                                               class='classic_link'>&rdetail.extras.annotation;</a>\r
+                               </td>\r
+\r
+                               <td id='rdetail_viewmarc_link' class='rdetail_extras_td'\r
+                                       style='padding-right: 15px; padding-left: 15px;' >\r
+                                       <a href='javascript:rdetailShowExtra("marc");' \r
+                                               class='classic_link'>&rdetail.extras.marc;</a>\r
+                               </td>\r
+\r
+\r
+                       </tr>\r
+               </thead>\r
+       </table>\r
+\r
+       <div id='rdetail_extras_div' style='width: 95%;'> \r
+               <div id='rdetail_extras_loading' class='hide_me' \r
+                       style='padding: 10px;'>&common.loading;</div>\r
+               <!--#include virtual="rdetail_copyinfo.xml"-->\r
+\r
+               <div id='rdetail_reviews_div' class='rdetail_extras_div hide_me'> \r
+                       <div id='rdetail_review_container'/>\r
+                       <!--\r
+                       <div id='rdetail_review_template' style='width: 100%;'>\r
+                               <div name='review_header' style='width: 100%; padding: 15px; border: 1px solid #E0E0E0;'> </div>\r
+                               <div name='review_text' style='width: 100%; padding: 15px; border: 1px solid #E0E0E0;'> </div>\r
+                       </div>\r
+                       -->\r
+               </div>\r
+               \r
+               <div id='rdetail_toc_div' class='rdetail_extras_div hide_me'> </div>\r
+\r
+               <div id='rdetail_excerpt_div' class='rdetail_extras_div hide_me'> </div>\r
+\r
+               <div id='rdetail_preview_div' class='rdetail_extras_div hide_me'> </div>\r
+\r
+               <div id='rdetail_anotes_div' class='rdetail_extras_div hide_me'> </div>\r
+\r
+               <div id='rdetail_performer_notes_div' class='rdetail_extras_div hide_me'> </div>\r
+\r
+               <div id='rdetail_marc_div' class='rdetail_extras_div hide_me'> \r
+                       <div id='rdetail_view_marc_box'> </div>\r
+               </div>\r
+\r
+               <div id='rdetail_cn_browse_div' style='text-align: center;' class='hide_me'>\r
+\r
+                       <div id='cn_browse_none' class='hide_me color_4' style='width: 90%; text-align: center; margin: 10px;'>\r
+                               &rdetail.extras.call.null;\r
+                       </div>\r
+\r
+                       <div id='rdetail_cn_browse_select_div' \r
+                               style='width: 100%; border: 1px solid black; padding: 6px; margin-top: 5px;'>\r
+                               <span>&rdetail.extras.call.local; </span>\r
+                               <select id='cn_browse_selector'>\r
+                               </select>\r
+                       </div>\r
+                       \r
+                       <!--#include virtual="../common/cn_browse.xml"-->\r
+               </div>\r
+\r
+               <!--#include virtual="rdetail_cn_details.xml"-->\r
+\r
+       </div>\r
+       <!-- Text for dynamic JavaScript -->\r
+       <div id='rdetail_preview_full_text' class='hide_me'>&rdetail.extras.preview.fulltext;</div>\r
+       <div id='rdetail_preview_title' class='hide_me'>&rdetail.extras.preview.title;</div>\r
+       <div id='rdetail_preview_badge' class='hide_me'>&rdetail.extras.preview.badge;</div>\r
+</div>\r
diff --git a/web/opac/skin/uwin_old/xml/rdetail/rdetail_summary.xml b/web/opac/skin/uwin_old/xml/rdetail/rdetail_summary.xml
new file mode 100644 (file)
index 0000000..400b31f
--- /dev/null
@@ -0,0 +1,158 @@
+\r
+<abbr class="unapi-id" title='tag:<!--#echo var="HTTP_HOST"-->,<!--#echo var="OILS_TIME_YEAR"-->:biblio-record_entry/<!--#echo var="OILS_OPAC_RID"-->'></abbr>\r
+<!-- This holds the record summary information -->\r
+<div>\r
+       <table id='rdetail_details_table'>\r
+               <tbody id='rdetail_details_tbody'>\r
+\r
+                       <tr>\r
+                               <td id='rdetail_image_cell' rowspan='20'>\r
+                                       <a id='rdetail_img_link'>\r
+                                               <img style='border: none;' id='rdetail_image' \r
+                            onerror='\r
+                                hideMe($("rdetail.jacket_attrib_div"));\r
+                                hideMe($("rdetail_img_link"));'/>\r
+                                       </a>\r
+                    <!-- vendor attribution link -->\r
+                    <div class='jacket_attrib hide_me' id='rdetail.jacket_attrib_div'>\r
+                        <div>&opac.image_provided;</div>\r
+                        <div><a target='_blank' href='&vendor.base_link;' \r
+                            class='classic_link' id='rdetail.jacket_attrib_link'>&vendor.name;</a></div>\r
+                    </div>\r
+                               </td>\r
+                               <td nowrap='nowrap' class='rdetail_desc'>&common.title;</td>            \r
+                <!-- *** Example of how to use the openils.BibTemplate infrastructure to augment the stock\r
+                     *** summary screen with more and/or different information.  In this case, the raw MARC 245. -->\r
+                <td type='opac/slot-data' query='datafield[tag=245]' class='rdetail_item' id='rdetail_title'> </td>\r
+                       </tr>\r
+\r
+                       <tr>\r
+                               <td nowrap='nowrap' class='rdetail_desc'>&common.author;</td>           \r
+                               <td class='rdetail_item'>\r
+                                       <a title='&rdetail.author.search;' id='rdetail_author'> </a>\r
+                               </td>\r
+                       </tr>\r
+\r
+                       <tr>\r
+                               <td nowrap='nowrap' class='rdetail_desc'>&common.isbn;</td>                     \r
+                               <td class='rdetail_item' id='rdetail_isbn'> </td>\r
+                       </tr>\r
+\r
+                       <tr>\r
+                               <td nowrap='nowrap' class='rdetail_desc'>&common.edition;</td>          \r
+                               <td class='rdetail_item' id='rdetail_edition'> </td>\r
+                       </tr>\r
+\r
+                       <tr>\r
+                               <td nowrap='nowrap' class='rdetail_desc'>&common.pubdate;</td>          \r
+                               <td class='rdetail_item' id='rdetail_pubdate'> </td>\r
+                       </tr>\r
+\r
+                       <tr>\r
+                               <td nowrap='nowrap' class='rdetail_desc'>&common.publisher;</td>                \r
+                               <td type='opac/slot-data' query='datafield[tag=260]' class='rdetail_item' id='rdetail_publisher'> </td>\r
+                       </tr>\r
+\r
+\r
+                       <tr>\r
+                               <td nowrap='nowrap' class='rdetail_desc'>&common.physical;</td>         \r
+                               <td class='rdetail_item' id='rdetail_physical_desc'> </td>\r
+                       </tr>\r
+\r
+                       <tr>\r
+                               <td nowrap='nowrap' class='rdetail_desc'>&common.format;</td>                   \r
+                               <td class='rdetail_item'>\r
+                                       <img id='rdetail_tor_pic' class='tor_pic' />\r
+                                       <span id='rdetail_tor' style='padding-left: 5px;'> </span>\r
+                               </td>\r
+                       </tr>\r
+\r
+                       <tr>\r
+                               <td nowrap='nowrap' class='rdetail_desc'>&rdetail.detailMain.abstract;</td>     \r
+                               <td class='rdetail_item' id='rdetail_abstract'> </td>\r
+                       </tr>\r
+\r
+            <!-- *** Example of how to use the openils.BibTemplate infrastructure to augment the stock\r
+                 *** summary screen with complex information, such as new search links on subjects. -->\r
+            <tr>\r
+                <td nowrap='nowrap' class='rdetail_desc'>Subjects</td>\r
+                <td type='opac/slot-data' query='datafield[tag=650]' class='rdetail_item'>\r
+                    <script type='opac/slot-format'><![CDATA[\r
+                        var cgi = new CGI();\r
+                        var other_params = [ 'd', 'l', 'r', 'av', 's', 'sd' ];\r
+                        var total = '';\r
+                        var output = [];\r
+                        var list = dojo.query( 'subfield', item );\r
+                        for (var i =0; i < list.length; i++) {\r
+                            total += dojox.data.dom.textContent(list[i]) + ' ';\r
+                            var current = '<a href="rresult.xml?rt=subject&t=' + total;\r
+                            for (var p in other_params) {\r
+                                if (cgi.param(other_params[p]))\r
+                                    current += '&' + other_params[p] + '=' + cgi.param(other_params[p]);\r
+                            }\r
+                            current += '">' + dojox.data.dom.textContent(list[i]) + '</a>'\r
+                            output.push(current);\r
+                        }\r
+                        return '<span>' + output.join(' &#x2d;&#x2d; ') + '</span><br/>';\r
+                    ]]></script>\r
+                </td>\r
+            </tr>\r
+\r
+                       <tr class='hide_me' id='rdetail_online_row'>\r
+                               <!-- *** Example of how to use the openils.BibTemplate infrastructure to augment the stock\r
+                                    *** summary screen with complex information, such as location-specific URIs (856$9). -->\r
+                               <td nowrap='nowrap' class='rdetail_desc'>&rdetail.summary.online;\r
+                                       <span class='hide_me' type='opac/slot-data' query='datafield[tag=856] subfield[code=9]'>\r
+                                               <script type='opac/slot-format'><![CDATA[\r
+                                                       // There exists at least one localized URI. Clear all links.\r
+                                                       dojo.query('*:not([type^=opac])', 'rdetail_online').orphan();\r
+                                                       return '';\r
+                                               ]]></script>\r
+                                       </span>\r
+                               </td>\r
+                               <td class='rdetail_item' id='rdetail_online' type='opac/slot-data' query='volumes > volume > uris > uri' join=", ">\r
+                                       <script type='opac/slot-format'><![CDATA[\r
+                                               var link = '<a href="' + item.getAttribute('href') + '" class="classic_link">' + item.getAttribute('label') + '</a>';\r
+                                               if (item.getAttribute('use_restriction'))\r
+                                                       link += ' (' + item.getAttribute('use_restriction') + ') <br />';\r
+                                               return link;\r
+                                       ]]></script>\r
+                               </td>\r
+                       </tr>\r
+\r
+               </tbody>\r
+       </table>\r
+\r
+       <!-- Empty span used for creating unAPI links -->\r
+       <abbr name="unapi" class="unapi-id">\r
+               <!-- unAPI URI goes here -->\r
+       </abbr>\r
+\r
+       <script language='javascript' type='text/javascript'><![CDATA[\r
+\r
+               config.ids.rdetail.details_body         = 'rdetail_details_body'; \r
+               config.ids.rdetail.title                                = 'rdetail_title';\r
+               config.ids.rdetail.author                               = 'rdetail_author';\r
+               config.ids.rdetail.isbn                                 = 'rdetail_isbn';\r
+               config.ids.rdetail.edition                              = 'rdetail_edition';\r
+               config.ids.rdetail.pubdate                              = 'rdetail_pubdate';\r
+               config.ids.rdetail.publisher                    = 'rdetail_publisher';\r
+               config.ids.rdetail.tor                                  = 'rdetail_tor';\r
+               config.ids.rdetail.abstr                                = 'rdetail_abstract';\r
+               config.ids.rdetail.image                                = 'rdetail_image';\r
+               config.ids.rdetail.tor_pic                              = 'rdetail_tor_pic';\r
+\r
+        dojo.addOnLoad( function () {\r
+            var here = findOrgUnit(getLocation());\r
+            if (getDepth() > 0 || getDepth === 0 ) {\r
+                while (getDepth() < findOrgDepth(here))\r
+                    here = findOrgUnit( here.parent_ou() );\r
+            }\r
+\r
+            dojo.require('openils.BibTemplate');\r
+            new openils.BibTemplate({ record : new CGI().param('r'), org_unit : here.shortname() }).render();\r
+        });\r
+       ]]></script>\r
+\r
+</div> <!-- details_body -->\r
+\r
diff --git a/web/opac/skin/uwin_old/xml/result/filtersort.xml b/web/opac/skin/uwin_old/xml/result/filtersort.xml
new file mode 100644 (file)
index 0000000..16f4cfe
--- /dev/null
@@ -0,0 +1,20 @@
+<span>\r
+    &result.limit2avail;<input type='checkbox' id='opac.result.limit2avail' onclick='searchBarSubmit(true);'/>\r
+    <select id='opac.result.sort' onchange='searchBarSubmit(true);'>\r
+        <option selected='selected' value=''>&result.sort_by;</option>\r
+        <optgroup label='&result.sort_by.title;'>\r
+            <option id='opac.result.title.a2z' label='&common.a2z.titla;' value='title.asc'>&common.a2z.title;</option>\r
+            <option id='opac.result.title.z2a' label='&common.z2a.titla;' value='title.desc'>&common.z2a.title;</option>\r
+        </optgroup>\r
+        <optgroup label='&result.sort_by.author;'>\r
+            <option id='opac.result.author.a2z' label='&common.a2z.author;' value='author.asc'>&common.a2z.author;</option>\r
+            <option id='opac.result.author.z2a' label='&common.z2a.author;' value='author.desc'>&common.z2a.author;</option>\r
+        </optgroup>\r
+        <optgroup label='&result.sort_by.pubdate;'>\r
+            <option id='opac.result.pubdate.new2old' label='&common.new2old.pubdate;' \r
+                value='pubdate.desc'>&common.new2old.pubdate;</option>\r
+            <option id='opac.result.pubdate.old2new' label='&common.old2new.pubdate;' \r
+                value='pubdate.asc'>&common.old2new.pubdate;</option>\r
+        </optgroup>\r
+    </select>\r
+</span>\r
diff --git a/web/opac/skin/uwin_old/xml/result/result_common.xml b/web/opac/skin/uwin_old/xml/result/result_common.xml
new file mode 100644 (file)
index 0000000..15dad4c
--- /dev/null
@@ -0,0 +1,36 @@
+\r
+<div id='canvas_main' class='canvas' xmlns:xi="http://www.w3.org/2001/XInclude" >\r
+\r
+       <script language='javascript' type='text/javascript'>\r
+               config.ids.result = {};\r
+               config.css.result = {};\r
+               config.names.result = {};\r
+               config.ids.result.offset_start  = "offset_start";\r
+               config.ids.result.offset_end            = "offset_end";\r
+               config.ids.result.result_count  = "result_count";\r
+               config.ids.result.next_link             = 'next_link';\r
+               config.ids.result.prev_link             = 'prev_link';\r
+               config.ids.result.home_link             = 'search_home_link';\r
+               config.ids.result.end_link                      = 'end_link';\r
+               config.ids.result.main_table            = 'result_table';\r
+               config.ids.result.row_template  = 'result_table_template';\r
+               config.ids.result.num_pages             = 'num_pages';\r
+               config.ids.result.current_page  = 'current_page';\r
+               config.css.result.nav_active            = "nav_link_active";\r
+               config.ids.result.top_div                       = "result_table_div";\r
+               config.ids.result.nav_links             = "search_nav_links";\r
+               config.ids.result.info                          = "result_info_div";\r
+               config.css.result.cc_cell_even  = "copy_count_cell_even";\r
+               config.names.result.item_jacket = "item_jacket";\r
+               config.names.result.item_title  = "item_title";\r
+               config.names.result.item_author = "item_author";\r
+               config.names.result.counts_row  = "counts_row";\r
+               config.names.result.count_cell  = "copy_count_cell";\r
+       </script>\r
+\r
+       <!--#include virtual="result_table.xml"-->\r
+       <!--#include virtual="result_lowhits.xml"-->\r
+\r
+</div>\r
+\r
+\r
diff --git a/web/opac/skin/uwin_old/xml/result/result_info.xml b/web/opac/skin/uwin_old/xml/result/result_info.xml
new file mode 100644 (file)
index 0000000..5b9ddb5
--- /dev/null
@@ -0,0 +1,74 @@
+<table style='width: 100%;'>\r
+       <tbody>\r
+\r
+               <tr class='color_4' style='height: 1em;'>\r
+\r
+                       <td style='vertical-align: top;'  id='next_prev_links'>\r
+\r
+                               <span class='hide_me' id='result_info_div' style='font-size: 9pt;'>\r
+                                       <span> &common.results; </span> \r
+                                       <span id='offset_start'> </span>\r
+                                       <span> - </span>\r
+                                       <span id='offset_end'> </span>\r
+                                       <span> &common.ofAtLeast; </span>\r
+                                       <span id='result_count'> </span>\r
+                                       <span style='padding-left: 6px;'> (page </span>\r
+                                       <span id='current_page'> </span>\r
+                                       <span> &common.of; </span>\r
+                                       <span id='num_pages'> </span>\r
+                               </span>\r
+\r
+                               <span id='start_end_links_span' class='hide_me' \r
+                                               style='padding-left: 40px;' >\r
+                                       <a class='search_page_nav_link' id='search_home_link' \r
+                                               title="&rdetail.page.results;">&rdetail.start;</a><a class='search_page_nav_link' \r
+                                                       id='prev_link' title='&rdetail.page.previous;'>&#171;</a>\r
+\r
+                                       <span class='search_page_nav_link' id='page_numbers'> </span>\r
+\r
+                                       <a  class='search_page_nav_link' id='next_link' \r
+                                               title='&rdetail.page.next;'>&#187;</a>\r
+                        <!--\r
+                        <a class='search_page_nav_link' \r
+                                                       id='end_link' title="&rdetail.page.last;">&rdetail.end;</a>\r
+                            -->\r
+                               </span>\r
+\r
+                       </td>\r
+\r
+                       <td  colspan='5' \r
+                               style='padding-bottom: 4px; text-align:center; vertical-align: top; border-bottom: 1px solid #E0E0E0;'>\r
+                                       <span id='search_info_table' class='hide_me' style='font-size: 8pt;'>\r
+                                               <b>&result.info.copies; </b>\r
+                                       </span>\r
+                       </td>\r
+               </tr>\r
+\r
+               <tr style='height: 2em;' id='result_thead_row'>\r
+                       <td> \r
+                               <div class='hide_me' id='no_formats' style='padding: 4px;'>\r
+                                       <b>\r
+                                               <span style='color:red;'>*</span>\r
+                                               &result.info.no.items;\r
+                                               <div>&result.info.format.items;</div>\r
+                                       </b>\r
+                               </div>\r
+\r
+                               <div class='hide_me' id='rresult_show_all' style='padding: 4px;'>\r
+                                       <a href='javascript:rresultExpandSearch();' id='rresult_show_all_link' \r
+                                               class='classic_link'>&result.info.show; </a>\r
+                               </div>\r
+\r
+                               <div class='hide_me' id='rresult_show_here' style='padding: 4px;'>\r
+                                       <a href='javascript:rresultContractSearch();' id='rresult_show_here_link' \r
+                                               class='classic_link'>&result.info.show; </a>\r
+                               </div>\r
+\r
+                       </td>\r
+                       <td rowspan='2' style='font-size: 8pt; padding-top: 4px;' class='copy_count_cell' \r
+                               width='12%' align='center' name='result_thead_ccell'> </td>\r
+               </tr>\r
+\r
+       </tbody>\r
+</table>\r
+\r
diff --git a/web/opac/skin/uwin_old/xml/result/result_lowhits.xml b/web/opac/skin/uwin_old/xml/result/result_lowhits.xml
new file mode 100644 (file)
index 0000000..98fd9c9
--- /dev/null
@@ -0,0 +1,49 @@
+\r
+<div id='result_low_hits' class='hide_me'>\r
+\r
+       <br/><br/><br/>\r
+\r
+       <div style='text-align: center; padding-bottom: 8px;'>\r
+               <div id='result_low_hits_msg' class='hide_me'>&result.lowhits.few;</div>\r
+               <div id='result_zero_hits_msg' class='hide_me'>&result.lowhits.zero;</div>\r
+       </div>\r
+\r
+       <!-- spell checker -->\r
+       <div id='did_you_mean' class='lowhits_div hide_me'>\r
+               <span>&result.lowhits.did.you.mean; </span>\r
+               <a class='classic_link' id='spell_check_link'> </a>\r
+       </div>\r
+\r
+       <div id='low_hits_remove_format' class='lowhits_div hide_me'>\r
+               <span>&result.lowhits.formats; </span>\r
+               <a id='low_hits_remove_format_link' class='classic_link'>&result.lowhits.formats.search;</a>\r
+       </div>\r
+\r
+       <div id='low_hits_cross_ref' class='lowhits_div hide_me'>\r
+               <span>&result.lowhits.related;</span>\r
+               <div style='padding: 5px;'>\r
+                       <a id='low_hits_xref_link' class='classic_link' style='padding-right: 5px;'> </a>\r
+               </div>\r
+       </div>\r
+\r
+       <div id='low_hits_expand_range' class='lowhits_div hide_me'>\r
+               <span>&result.lowhits.expand; </span>\r
+               <a id='low_hits_expand_link' class='classic_link' style='padding-right: 5px;'> </a>\r
+       </div>\r
+\r
+       <div id='low_hits_search_type' class='lowhits_div hide_me'>\r
+               <span>&result.lowhits.class;</span>\r
+               <a id='low_hits_title_search' class='hide_me classic_link' \r
+                       style='padding-right: 5px;'>&result.lowhits.title;</a>\r
+               <a id='low_hits_author_search' class='hide_me classic_link' \r
+                       style='padding-right: 5px;'>&result.lowhits.author;</a>\r
+               <a id='low_hits_subject_search' class='hide_me classic_link' \r
+                       style='padding-right: 5px;'>&result.lowhits.subject;</a>\r
+               <a id='low_hits_series_search' class='hide_me classic_link' \r
+                               style='padding-right: 5px;'>&result.lowhits.series;</a>\r
+               <a id='low_hits_keyword_search' class='hide_me classic_link' \r
+                       style='padding-right: 5px;'>&result.lowhits.keyword;</a>\r
+       </div>\r
+\r
+</div>\r
+\r
diff --git a/web/opac/skin/uwin_old/xml/result/result_table.xml b/web/opac/skin/uwin_old/xml/result/result_table.xml
new file mode 100644 (file)
index 0000000..10fcbe1
--- /dev/null
@@ -0,0 +1,209 @@
+<!-- Search results are spit into this table -->\r
+\r
+<div id='result_table_div' xmlns:xi="http://www.w3.org/2001/XInclude">\r
+\r
+       <table id='res_table'> \r
+\r
+               <!-- for some reason, this is the only way i can force the cell widths -->\r
+               <thead id='result_thead'>\r
+                       <tr>\r
+                               <td class='result_table_pic_header'></td>\r
+                               <td> </td>\r
+                       </tr>\r
+               </thead>\r
+\r
+               <tbody id='result_table'>\r
+                       <tr>\r
+\r
+                               <td class='result_table_row'>\r
+                                       <!--#include virtual="result_info.xml"-->\r
+                               </td>\r
+                       </tr>\r
+\r
+                       <!-- Template for displaying a search result.  This row template is cloned and inserted\r
+                                       for each result returned -->\r
+\r
+                       <tr id='result_table_template' class='hide_me'>\r
+\r
+                               <!-- Jacket image goes here -->\r
+\r
+                               <td class='result_table_row' align='left'>\r
+                                       <table class='result_table_subtable'>\r
+                                               <tbody class='result_table_subtbody'>\r
+\r
+                                                       <tr style='height: 1em' name='counts_row'>\r
+\r
+                                                               <td  rowspan='3' class='result_table_pic_header'>\r
+                                                                       <a><img name='item_jacket' class='result_table_pic'/></a>\r
+                                                               </td>\r
+\r
+                                                               <td class='result_table_title_cell' name='result_table_title_cell'>\r
+                                                                       <!-- Title goes here -->\r
+                                                                       <a title="&result.table.keyword;" name='item_title' class='search_link'> \r
+                                                                               <!-- Title goes here -->\r
+                                                                       </a>\r
+                                                               </td>\r
+\r
+                                                               <!-- Copy this td for each copy count appended -->\r
+                                                               <td  rowspan='3' nowrap='nowrap' name="copy_count_cell" class='copy_count_cell'> \r
+                                                               </td>\r
+\r
+                                                       </tr>\r
+               \r
+                                                       <tr style='height: 1em' >\r
+                                                               <td class='result_table_author_cell'>\r
+                                                                       <a title="&result.table.author;" name='item_author' class='search_link'> \r
+                                                                               <!-- Author goes here -->\r
+                                                                       </a>\r
+                                                                       <div>\r
+                                                                       <span name='result_table_extra_span' class='hide_me'>\r
+                                                                               <span name='result_table_pub_box' style='padding-left: 10px;'> \r
+                                                                                       <span name='result_table_edition_span' style='padding-left: 10px;'></span> |\r
+                                                                                       <span name='result_table_pub_span'> </span> |\r
+                                                                                       <span name='result_table_phys_span'> </span>\r
+                                                                               </span>\r
+                                                                       </span>\r
+                                                                       </div>\r
+                                                               </td>\r
+                                                       </tr>\r
+\r
+                                                       <tr style='height:1em;' >\r
+                                                               <td name='result_table_format_cell' class='result_table_format_cell'>\r
+\r
+                                                                       <a name='text_link' class='search_link'> \r
+                                                                               <img src='../../../../images/tor/text.jpg' class='dim tor_pic' />\r
+                                                                       </a>\r
+\r
+                                                                       <a name='sound recording-nonmusical_link' class='search_link'> \r
+                                                                               <img src='../../../../images/tor/sound recording-nonmusical.jpg' class='dim tor_pic' />\r
+                                                                       </a>\r
+\r
+                                                                       <a name='moving image_link' class='search_link'> \r
+                                                                               <img src='../../../../images/tor/moving image.jpg' class='dim tor_pic' />\r
+                                                                       </a>\r
+\r
+                                                                       <a name='software, multimedia_link' class='search_link'> \r
+                                                                               <img src='../../../../images/tor/software, multimedia.jpg' class='dim tor_pic' />\r
+                                                                       </a>\r
+\r
+                                                                       <a name='sound recording-musical_link' class='search_link'> \r
+                                                                               <img src='../../../../images/tor/sound recording-musical.jpg' class='dim tor_pic' />\r
+                                                                       </a>\r
+\r
+                                                                       <a name='cartographic_link' class='search_link'> \r
+                                                                               <img src='../../../../images/tor/cartographic.jpg' class='dim tor_pic' />\r
+                                                                       </a>\r
+\r
+                                                                       <a name='mixed material_link' class='search_link'> \r
+                                                                               <img src='../../../../images/tor/mixed material.jpg' class='dim tor_pic' />\r
+                                                                       </a>\r
+\r
+                                                                       <a name='notated music_link' class='search_link'> \r
+                                                                               <img src='../../../../images/tor/notated music.jpg' class='dim tor_pic' />\r
+                                                                       </a>\r
+\r
+                                                                       <a name='sound recording_link' class='search_link'> \r
+                                                                               <img src='../../../../images/tor/sound recording.jpg' class='dim tor_pic' />\r
+                                                                       </a>\r
+\r
+                                                                       <a name='still image_link' class='search_link'> \r
+                                                                               <img src='../../../../images/tor/still images.jpg' class='dim tor_pic' />\r
+                                                                       </a>\r
+\r
+                                                                       <a name='three dimensional object_link' class='search_link'> \r
+                                                                               <img src='../../../../images/tor/three dimensional object.jpg' class='dim tor_pic' />\r
+                                                                       </a>\r
+\r
+                                                                       <span class='hide_me' \r
+                                                                               style='color: #9999FF; padding-left: 10px; font-size: 7pt; font-weight: 300;'> \r
+                                                                               <span>&common.relevancy; </span><span name='relevancy_span'> </span>\r
+                                                                       </span>\r
+\r
+                                                                       <span class='hide_me' name='place_hold_span'>\r
+                                                                               <a style='padding-left: 8px;' href='javascript:void(0);' \r
+                                                                                       class='classic_link' name='place_hold_link'></a>\r
+                                                                       </span>\r
+\r
+                                                                       <!-- Empty span used for creating unAPI links -->\r
+                                                                       <abbr style='padding-left: 8px;' name="unapi" class="unapi-id">\r
+                                                                               <!-- unAPI URI goes here -->\r
+                                                                       </abbr>\r
+\r
+                                                                       <!-- Empty span used for creating Google Book Search-->\r
+                                                                       <span name="googleBooksLink" class="hide_me">\r
+                                                                               <a style='padding-left: 8px;' class='classic_link' name="googleBooks-link"></a>\r
+                                                                       </span>\r
+\r
+\r
+                                                               </td>\r
+                                                       </tr>\r
+\r
+                                               </tbody>\r
+                                       </table>\r
+                               </td>\r
+                       </tr>\r
+               </tbody>\r
+       </table>\r
+\r
+\r
+   <!-- ====================== -->\r
+   <table style='width: 100%; margin-top: 12px;' id='result_info_2' class='hide_me'>\r
+      <tbody>\r
+               \r
+             <tr class='color_4' style='height: 1em;'>\r
+                     \r
+                <td style='vertical-align: top;'  id='next_prev_links2'>\r
+                        \r
+                   <span class='hide_me' id='result_info_div2' style='font-size: 9pt;'>\r
+                      <span> &common.results; </span> \r
+                      <b id='offset_start2'> </b>\r
+                      <span> - </span>\r
+                      <b id='offset_end2'> </b>\r
+                      <span> &common.ofAtLeast; </span>\r
+                      <b id='result_count2'> </b>\r
+                      <span style='padding-left: 6px;'> (page </span>\r
+                      <span id='current_page2'> </span>\r
+                      <span> &common.of; </span>\r
+                      <span id='num_pages2'> </span>\r
+                   </span>\r
+                           \r
+                   <span id='start_end_links_span2' class='hide_me' \r
+                      style='padding-left: 40px;' >\r
+                   <a class='search_page_nav_link' id='search_home_link2' \r
+                      title="&rdetail.page.results;">&rdetail.start;</a><a class='search_page_nav_link' \r
+                      id='prev_link2' title='&rdetail.page.previous;'>&#171;</a>\r
+            \r
+                   <span class='search_page_nav_link' id='page_numbers2'> </span>\r
+                      <a  class='search_page_nav_link' id='next_link2' \r
+                         title='&rdetail.page.next;'>&#187;</a>\r
+                      <!--\r
+                      <a class='search_page_nav_link' \r
+                         id='end_link2' title="&rdetail.page.last;">&rdetail.end;</a>\r
+                      -->\r
+                   </span>\r
+                        \r
+                </td>\r
+                        \r
+                <td  colspan='5' \r
+                   style='padding-bottom: 4px; text-align:center; vertical-align: top; border-bottom: 1px solid #E0E0E0;'>\r
+               <!--\r
+                   <span id='search_info_table2' style='font-size: 8pt;'>\r
+                   <b>Available copies / Total copies </b>\r
+                   </span>\r
+               -->\r
+                </td>\r
+             </tr>\r
+      </tbody>\r
+   </table>\r
+   <!-- ====================== -->\r
+\r
+\r
+       <script language='javascript' type='text/javascript'>\r
+               config.names.result.format_cell = 'result_table_format_cell';\r
+               config.names.result.format_link = 'resource_link'\r
+               config.names.result.format_pic = 'format_pic'\r
+       </script>\r
+\r
+</div>\r
+\r
+\r
diff --git a/web/opac/skin/uwin_old/xml/setenv.xml b/web/opac/skin/uwin_old/xml/setenv.xml
new file mode 100644 (file)
index 0000000..42606ca
--- /dev/null
@@ -0,0 +1,62 @@
+<!-- Sets our environment variables for convenience and determining which page we're on -->\r
+\r
+<!--#set var='OILS_PAGE' value="$DOCUMENT_NAME"-->\r
+\r
+<!--#if expr="$DOCUMENT_NAME='index.xml'"-->\r
+       <!--#set var='OILS_TITLE' value='opac.title.home'-->\r
+       <!--#set var='FRONT_PAGE' value='true'-->\r
+\r
+<!--#elif expr="$DOCUMENT_NAME='mresult.xml'"-->\r
+       <!--#set var='OILS_TITLE' value='opac.title.mresult'-->\r
+       \r
+\r
+<!--#elif expr="$DOCUMENT_NAME='rresult.xml'"-->\r
+       <!--#set var='OILS_TITLE' value='opac.title.rresult'-->\r
+\r
+<!--#elif expr="$DOCUMENT_NAME='rdetail.xml'"-->\r
+       <!--#set var='OILS_TITLE' value='opac.title.rdetail'-->\r
+\r
+<!--#elif expr="$DOCUMENT_NAME='myopac.xml'"-->\r
+       <!--#set var='OILS_TITLE' value='opac.title.myopac'-->\r
+\r
+<!--#elif expr="$DOCUMENT_NAME='advanced.xml'"-->\r
+       <!--#set var='OILS_TITLE' value='opac.title.advanced'-->\r
+\r
+<!--#elif expr="$DOCUMENT_NAME='reqitems.xml'"-->\r
+       <!--#set var='OILS_TITLE' value='opac.title.reqitems'-->\r
+\r
+<!--#elif expr="$DOCUMENT_NAME='cnbrowse.xml'"-->\r
+       <!--#set var='OILS_TITLE' value='opac.title.cnbrowse'-->\r
+\r
+<!--#endif-->\r
+\r
+\r
+<!--#set var="OILS_BASE" value="http://${SERVER_NAME}/${OILS_OPAC_BASE}"-->\r
+<!--#set var="OILS_BASE" value="${OILS_OPAC_BASE}"-->\r
+<!--#set var="OILS_XML_BASE" value="${OILS_BASE}/common/xml"--> \r
+\r
+\r
+<!-- Javascript host -->\r
+<!--#if expr="$OILS_OPAC_JS_HOST"-->\r
+    <!--#set var="OILS_OPAC_JS_HOST" value="http://${OILS_OPAC_JS_HOST}"-->\r
+    <!--#set var="OILS_OPAC_JS_HOST" value=""-->\r
+<!--#else -->\r
+    <!--#set var="OILS_OPAC_JS_HOST" value="$OILS_BASE"-->\r
+<!--#endif -->\r
+<!--#set var="OILS_JS_BASE" value="${OILS_OPAC_JS_HOST}/common/js"-->\r
+\r
+\r
+<!--#if expr="$OILS_OPAC_CSS_HOST"-->\r
+    <!--#set var="OILS_OPAC_CSS_HOST" value="http://${OILS_OPAC_CSS_HOST}"-->\r
+    <!--#set var="OILS_OPAC_CSS_HOST" value=""-->\r
+<!--#else -->\r
+    <!--#set var="OILS_OPAC_CSS_HOST" value="$OILS_BASE"-->\r
+<!--#endif -->\r
+<!--#set var="OILS_THEME_BASE" value="${OILS_OPAC_CSS_HOST}/theme"--> \r
+<!--#set var="OILS_SKIN_BASE" value="${OILS_OPAC_CSS_HOST}/skin"--> \r
+<!--#set var="OILS_CSS_BASE" value="${OILS_OPAC_CSS_HOST}/common/css"--> \r
+\r
+\r
+<!--#if expr="!$locale || $locale=''"-->\r
+       <!--#set var="locale" value="en-US"-->\r
+<!--#endif-->\r