Backporting:
authorerickson <erickson@dcc99617-32d9-48b4-a31d-7c20da2025e4>
Wed, 21 Nov 2007 18:08:13 +0000 (18:08 +0000)
committererickson <erickson@dcc99617-32d9-48b4-a31d-7c20da2025e4>
Wed, 21 Nov 2007 18:08:13 +0000 (18:08 +0000)
    Hold freeze/thaw OPAC UI
    Batch hold management OPAC UI (batch delete, etc.)
    New limit-2-available search filter
    New sort options dropdown on title results page
    Advanced search syntax for propogating searches to and from the advanced search page
    A large set of Dan's XHTML compliance and CSS fixes

git-svn-id: svn://svn.open-ils.org/ILS/branches/rel_1_2@8110 dcc99617-32d9-48b4-a31d-7c20da2025e4

54 files changed:
Open-ILS/web/opac/common/js/config.js
Open-ILS/web/opac/common/js/opac_utils.js
Open-ILS/web/opac/common/js/utils.js
Open-ILS/web/opac/locale/en-US/lang.dtd
Open-ILS/web/opac/locale/en-US/opac.dtd
Open-ILS/web/opac/skin/default/css/layout.css
Open-ILS/web/opac/skin/default/js/adv_global.js
Open-ILS/web/opac/skin/default/js/advanced.js
Open-ILS/web/opac/skin/default/js/holds.js
Open-ILS/web/opac/skin/default/js/mresult.js
Open-ILS/web/opac/skin/default/js/myopac.js
Open-ILS/web/opac/skin/default/js/rdetail.js
Open-ILS/web/opac/skin/default/js/result_common.js
Open-ILS/web/opac/skin/default/js/rresult.js
Open-ILS/web/opac/skin/default/js/search_bar.js
Open-ILS/web/opac/skin/default/xml/advanced/adv_global_row.xml
Open-ILS/web/opac/skin/default/xml/advanced/advanced_global.xml
Open-ILS/web/opac/skin/default/xml/advanced/advanced_marc.xml
Open-ILS/web/opac/skin/default/xml/advanced/advanced_quick.xml
Open-ILS/web/opac/skin/default/xml/body.xml
Open-ILS/web/opac/skin/default/xml/common/altcanvas.xml
Open-ILS/web/opac/skin/default/xml/common/cn_browse.xml
Open-ILS/web/opac/skin/default/xml/common/css_common.xml
Open-ILS/web/opac/skin/default/xml/common/holds.xml
Open-ILS/web/opac/skin/default/xml/common/js_common.xml
Open-ILS/web/opac/skin/default/xml/common/libselect.xml
Open-ILS/web/opac/skin/default/xml/common/login.xml
Open-ILS/web/opac/skin/default/xml/common/logo.xml
Open-ILS/web/opac/skin/default/xml/common/searchbar.xml
Open-ILS/web/opac/skin/default/xml/common/sidebar.xml
Open-ILS/web/opac/skin/default/xml/common/statusbar.xml
Open-ILS/web/opac/skin/default/xml/footer.xml
Open-ILS/web/opac/skin/default/xml/home/homesearch.xml
Open-ILS/web/opac/skin/default/xml/home/index_body.xml
Open-ILS/web/opac/skin/default/xml/myopac/myopac_bookbags.xml
Open-ILS/web/opac/skin/default/xml/myopac/myopac_checked.xml
Open-ILS/web/opac/skin/default/xml/myopac/myopac_holds.xml
Open-ILS/web/opac/skin/default/xml/myopac/myopac_prefs.xml
Open-ILS/web/opac/skin/default/xml/myopac/myopac_summary.xml
Open-ILS/web/opac/skin/default/xml/page_advanced.xml
Open-ILS/web/opac/skin/default/xml/page_cnbrowse.xml
Open-ILS/web/opac/skin/default/xml/page_mresult.xml
Open-ILS/web/opac/skin/default/xml/page_myopac.xml
Open-ILS/web/opac/skin/default/xml/page_rdetail.xml
Open-ILS/web/opac/skin/default/xml/page_rresult.xml
Open-ILS/web/opac/skin/default/xml/rdetail/rdetail_altcanvas.xml
Open-ILS/web/opac/skin/default/xml/rdetail/rdetail_cn_details.xml
Open-ILS/web/opac/skin/default/xml/rdetail/rdetail_copyinfo.xml
Open-ILS/web/opac/skin/default/xml/rdetail/rdetail_summary.xml
Open-ILS/web/opac/skin/default/xml/result/filtersort.xml [new file with mode: 0644]
Open-ILS/web/opac/skin/default/xml/result/result_common.xml
Open-ILS/web/opac/skin/default/xml/result/result_info.xml
Open-ILS/web/opac/skin/default/xml/result/result_table.xml
Open-ILS/web/opac/theme/default/css/colors.css

index 87c6ab6..e77b3e9 100644 (file)
@@ -35,6 +35,7 @@ var PARAM_LANGUAGE    = 'la';
 var PARAM_TFORM                = 'tf'; /* temporary format for title result pages */
 var PARAM_RDEPTH               = 'rd';
 var PARAM_REDIR                = 're'; /* true if we have been redirected by IP (we're at a real lib) */
+var PARAM_AVAIL     = 'av'; /* limit search results to available items */
 
 /* URL param values (see comments above) */
 var TERM;  
@@ -67,6 +68,7 @@ var SEARCHES;
 var LANGUAGE;
 var TFORM;
 var RDEPTH;
+var AVAIL;
 
 /* cookie values */
 var SBEXTRAS; 
@@ -80,6 +82,7 @@ var COOKIE_SES                = "ses";
 var COOKIE_FONT        = "fnt";
 var COOKIE_SKIN        = "skin";
 var COOKIE_RIDS        = "rids"; /* list of record ids */
+var COOKIE_SEARCH = 'sr';
 
 /* pages */
 var MRESULT            = "mresult";
@@ -140,6 +143,13 @@ var PREF_DEF_LOCATION = 'opac.default_search_location';
 var PREF_DEF_DEPTH     = 'opac.default_search_depth';
 
 
+/** If enabled, added content attribution links will be 
+    made visible where appropriate.  The added content vendor name 
+    and URL are defined in the entities in opac.dtd
+    */
+var ENABLE_ADDED_CONTENT_ATTRIB_LINKS = false;
+
+
 /* container for global variables shared accross pages */
 var G          = {};
 G.user = null; /* global user object */
@@ -263,6 +273,8 @@ config.ids.altcanvas = {};
 
 var SEARCH_MRS                                         = 'open-ils.search:open-ils.search.metabib.multiclass:1';
 var SEARCH_RS                                          = 'open-ils.search:open-ils.search.biblio.multiclass:1';
+var SEARCH_MRS_QUERY                   = 'open-ils.search:open-ils.search.metabib.multiclass.query:1';
+var SEARCH_RS_QUERY             = 'open-ils.search:open-ils.search.biblio.multiclass.query:1';
 var FETCH_SEARCH_RIDS                  = "open-ils.search:open-ils.search.biblio.record.class.search:1";
 var FETCH_MRMODS                                       = "open-ils.search:open-ils.search.biblio.metarecord.mods_slim.retrieve";
 var FETCH_MODS_FROM_COPY               = "open-ils.search:open-ils.search.biblio.mods_from_copy";
index 57babc1..cd0f2a1 100644 (file)
@@ -153,42 +153,45 @@ function initParams() {
        LANGUAGE        = cgi.param(PARAM_LANGUAGE);
        TFORM           = cgi.param(PARAM_TFORM);
        RDEPTH  = cgi.param(PARAM_RDEPTH);
+    AVAIL   = cgi.param(PARAM_AVAIL);
 
        /* set up some sane defaults */
-       //if(isNaN(DEPTH))              DEPTH           = 0;
-       if(isNaN(RDEPTH))               RDEPTH  = 0;
-       if(isNaN(OFFSET))               OFFSET  = 0;
-       if(isNaN(COUNT))                COUNT           = 10;
+       //if(isNaN(DEPTH))      DEPTH           = 0;
+       if(isNaN(RDEPTH))       RDEPTH  = 0;
+       if(isNaN(OFFSET))       OFFSET  = 0;
+       if(isNaN(COUNT))        COUNT           = 10;
        if(isNaN(HITCOUNT))     HITCOUNT        = 0;
        if(isNaN(MRID))         MRID            = 0;
-       if(isNaN(RID))                  RID             = 0;
+       if(isNaN(RID))          RID             = 0;
        if(isNaN(ORIGLOC))      ORIGLOC = 0; /* so we know it hasn't been set */
        if(isNaN(AUTHTIME))     AUTHTIME        = 0;
-       if(ADVTERM==null)               ADVTERM = "";
+       if(ADVTERM==null)       ADVTERM = "";
+    if(isNaN(AVAIL))    AVAIL = 0;
 }
 
 function clearSearchParams() {
-       TERM            = null;
-       STYPE           = null;
-       FORM            = null;
-       OFFSET  = 0;
-       HITCOUNT = 0;  
-       ADVTERM  = null;
-       ADVTYPE  = null;
-       MRID            = null;
-       RID             = null;
-       RTYPE           = null;
-       SORT            = null;
-       SORT_DIR = null;
-       RLIST           = null;
-       CALLNUM = null;
-       LITFORM = null;
-       ITEMFORM = null;
-       ITEMTYPE = null;
-       AUDIENCE = null;
-       SEARCHES = null;
-       LANGUAGE = null;
-       RDEPTH  = null;
+       TERM        = null;
+       STYPE       = null;
+       FORM        = null;
+       OFFSET      = 0;
+       HITCOUNT    = 0;  
+       ADVTERM     = null;
+       ADVTYPE     = null;
+       MRID        = null;
+       RID         = null;
+       RTYPE       = null;
+       SORT        = null;
+       SORT_DIR    = null;
+       RLIST       = null;
+       CALLNUM     = null;
+       LITFORM     = null;
+       ITEMFORM    = null;
+       ITEMTYPE    = null;
+       AUDIENCE    = null;
+       SEARCHES    = null;
+       LANGUAGE    = null;
+       RDEPTH      = null;
+    AVAIL       = null;
 }
 
 
@@ -198,6 +201,10 @@ function initCookies() {
        scaleFonts(font);
        if(font) FONTSIZE = font;
        SKIN = cookieManager.read(COOKIE_SKIN);
+    if(findCurrentPage() == HOME)
+        cookieManager.remove(COOKIE_SEARCH);
+        
+
 }
 
 /* URL param accessors */
@@ -231,6 +238,7 @@ function getAudience() { return AUDIENCE; }
 function getSearches() { return SEARCHES; }
 function getLanguage() { return LANGUAGE; }
 function getRdepth() { return RDEPTH; }
+function getAvail() { return AVAIL; }
 
 
 function findBasePath() {
@@ -377,6 +385,8 @@ function  buildOPACLink(args, slim, ssl) {
                string += _appendParam(SORT,    PARAM_SORT, args, getSort, string);
        if(getSortDir() != null)
                string += _appendParam(SORT_DIR,        PARAM_SORT_DIR, args, getSortDir, string);
+       if(getAvail())
+               string += _appendParam(AVAIL, PARAM_AVAIL, args, getAvail, string);
 
        return string.replace(/\&$/,'').replace(/\?\&/,"?");    
 }
@@ -702,6 +712,7 @@ function doLogout(noredirect) {
        cookieManager.remove(COOKIE_RIDS);
        cookieManager.remove(COOKIE_SES);
        cookieManager.remove(COOKIE_SKIN);
+       cookieManager.remove(COOKIE_SEARCH);
 
        checkUserSkin("default");
        COUNT = 10;
index 079ad73..19c484c 100644 (file)
@@ -681,4 +681,24 @@ function debugFMObject(obj) {
 }
 
 
+function getTableRows(tbody) {
+    var rows = [];
+    if(!tbody) return rows;
 
+    var children = tbody.childNodes;
+    if(!children) return rows;
+
+    for(var i = 0; i < children.length; i++) {
+        var child = children[i];
+        if(child.nodeName.match(/^tr$/i)) 
+            rows.push(child);
+    }
+    return rows;
+}
+
+function getObjectKeys(obj) {
+    keys = []
+    for(var k in obj)
+        keys.push(k)
+    return keys;
+}
index 104a90b..937546e 100644 (file)
 <!ENTITY staff.cat.opac.marc_view.label "MARC View">
 <!ENTITY staff.cat.opac.mark_for_overlay.accesskey "M">
 <!ENTITY staff.cat.opac.mark_for_overlay.label "Mark for Overlay">
+<!ENTITY staff.cat.opac.delete_record.accesskey "D">
+<!ENTITY staff.cat.opac.delete_record.label "Delete Record">
 <!ENTITY staff.cat.opac.menu.accesskey "A">
 <!ENTITY staff.cat.opac.menu.label "Actions for this Record">
 <!ENTITY staff.cat.opac.opac_view.accesskey "O">
index f7276b6..653299b 100644 (file)
        "The password must be at least 7 characters in length, 
        contain at least one letter (a-z/A-Z), 
        and contain at least one number.">
+<!ENTITY common.a2z.title "Title: A to Z">
+<!ENTITY common.z2a.title "Title: Z to A">
+<!ENTITY common.a2z.author "Author: A to Z">
+<!ENTITY common.z2a.author "Author: Z to A">
+<!ENTITY common.new2old.pubdate "Date: Newest to Oldest">
+<!ENTITY common.old2new.pubdate "Date: Oldest to Newest">
 
 <!ENTITY opac.style.reddish "Reddish">
 
@@ -195,7 +201,7 @@ avoid using bookbags all together.  Thank you.">
        ================================================================= -->
 <!ENTITY myopac.holds.formats "Formats">
 <!ENTITY myopac.holds.location "Pickup Location">
-<!ENTITY myopac.holds.edit.cancel "Edit/Cancel">
+<!ENTITY myopac.holds.edit "Edit">
 <!ENTITY myopac.holds.status.none "You have no items on hold at this time">
 <!ENTITY myopac.holds.status.waiting "Waiting for copy">
 <!ENTITY myopac.holds.status.intransit "In Transit">
@@ -203,6 +209,24 @@ avoid using bookbags all together.  Thank you.">
 <!ENTITY myopac.holds.edit "Edit">
 <!ENTITY myopac.holds.cancel "Cancel">
 <!ENTITY myopac.holds.verify "If you wish to cancel the selected hold, click OK, otherwise click Cancel.">
+<!ENTITY myopac.holds.freeze_selected "Freeze">
+<!ENTITY myopac.holds.thaw_selected "Un-freeze">
+<!ENTITY myopac.holds.thaw_date_selected "Set Un-freeze date">
+<!ENTITY myopac.holds.cancel_selected "Cancel">
+<!ENTITY myopac.holds.processing "Processing holds... This may take a moment.">
+<!ENTITY myopac.holds.actions 'Actions for selected holds'>
+<!ENTITY myopac.holds.cancel.confirm 'Are you sure you wish to cancel the selected holds?'>
+<!ENTITY myopac.holds.freeze.confirm 'Are you sure you wish to freeze the selected holds?
+Note that if an item has already been selected to fulfill the hold, it will not be frozen'>
+<!ENTITY myopac.holds.thaw.confirm 'Are you sure you wish to un-freeze the selected holds?'>
+<!ENTITY myopac.holds.thaw_date.confirm 'Are you sure you wish to change the un-freeze date for the selected holds?'>
+<!ENTITY myopac.holds.freeze.select_thaw "Select an 'Un-Freeze' date.  This is the date at which the holds will become active again.
+If no date is chosen, the holds will remain frozen until they are manually un-frozen.">
+
+<!ENTITY opac.holds.freeze "Freeze this hold">
+<!ENTITY opac.holds.freeze.help "A 'frozen' will retain its place in the queue, but will not be fulfilled until it has been unfrozen.">
+<!ENTITY opac.holds.freeze.thaw_date "Automatically un-freeze hold on:">
+<!ENTITY opac.holds.freeze.thaw_date.format "YYYY-MM-DD">
 
 <!--   ================================================================= 
        MyOPAC Preferences Page 
@@ -225,6 +249,8 @@ avoid using bookbags all together.  Thank you.">
 <!ENTITY myopac.prefs.help "This setting defines how you will be notified of holds that are ready to be picked up from the library.
 By default, holds will use the notification style you choose here.  
 However, you will still have the option to change individual holds regardless of this setting.">
+<!ENTITY myopac.holds.unfrozen "Un-Frozen">
+<!ENTITY myopac.holds.frozen.until "Frozen Until">
 
 <!--   ================================================================= 
         MyOPAC Summary page
@@ -503,6 +529,12 @@ We recommend that you remove this title from any bookbags it may have been added
 <!ENTITY rdetail.noneAvailable " * There are no copies in this location">
 <!ENTITY rdetail.summary.online "Online Resources">
 
+<!ENTITY result.sort_by "Sort Results by Relevance">
+<!ENTITY result.sort_by.title "Sort Results by Title">
+<!ENTITY result.sort_by.author "Sort Results by Author">
+<!ENTITY result.sort_by.pubdate "Sort Results by Publicate Date">
+
+<!ENTITY result.limit2avail "Limit to Available">
 <!ENTITY result.info.copies "Available copies / Total copies">
 <!ENTITY result.info.no.items "No items with the selected format were found in this location.">
 <!ENTITY result.info.format.items "Listed below are all items in the catalog with the chosen format.">
@@ -560,7 +592,10 @@ For further information, please consult your local librarian.">
 <!ENTITY common.email.enable "Enable email notifications for this hold?">
 <!ENTITY common.email.none "(Patron has no configured email address)">
 <!ENTITY common.email.set "(See <a class='classic_link' id='holds.no_email.my_account'>My Account</a> for setting your email address)">
+<!ENTITY common.keywords.label "Keywords:">
 <!ENTITY common.physical.label "Physical Description:">
+<!ENTITY common.series.label "Series:">
+<!ENTITY common.subject.label "Subject:">
 <!ENTITY common.title.label "Title:">
 <!ENTITY common.author.label "Author:">
 <!ENTITY common.format.label "Format:">
@@ -583,3 +618,21 @@ You will need to change your password.">
 <!ENTITY login.failed "Login failed. The username or password provided was not valid.
 Ensure Caps-Lock is off and try again or contact your local library.">
 <!ENTITY button.go "Go!">
+
+<!--   ================================================================= 
+       Slimpac Simple Search
+       ================================================================= -->
+<!ENTITY slimpac.start.title "Simple Search">
+<!ENTITY slimpac.start.nowSearching "Now searching: ">
+<!ENTITY slimpac.start.dynamic "Dynamic Catalog">
+
+<!--   ================================================================= 
+       Slimpac Advanced Search
+       ================================================================= -->
+<!ENTITY slimpac.advanced.language "Item Language">
+<!ENTITY slimpac.advanced.create_date "Record Creation Date">
+<!ENTITY slimpac.advanced.edit_date "Record Edit Date">
+
+<!ENTITY opac.image_provided "Image provided by">
+<!ENTITY vendor.name "Amazon">
+<!ENTITY vendor.base_link "http://amazon.com/dp/">
index 33cbce6..2f170e5 100644 (file)
@@ -82,6 +82,7 @@ table { border-collapse: collapse; }
 #searchbar_table { border-collapse: collapse; }
 
 .search_box_container { width: 240px; padding: 3px; }/* border: 1px solid #A0A0A0;' class='color_2'>*/
+#search_box { width: 260px; }
 
 
 /* ---------------------------------------------------------------------- */
@@ -203,6 +204,44 @@ table { border-collapse: collapse; }
 
 .copy_more_info { padding-left: 6px; color: #804070; }
 
-
 .invalid_hold { background: #F0F0D0; }
 .myopac_summary_table td { padding : 3px; }
+
+.jacket_attrib { font-size: 7pt; }
+
+/* block that contains footer links and copyright */
+#copyright_block { 
+    width: 100%; 
+    text-align: center; 
+    vertical-align: bottom; 
+    margin-top: 10px;
+}
+
+/* block that contains the footer links */
+#footer_links {
+    width: 80%;
+    text-align: center;
+    padding: 10px;
+    margin: auto;
+}
+
+/* span for each link in the footer */
+.footer-link {
+    margin-left: 10px;
+    margin-right: 10px;
+}
+
+/* block that contains the copyright text */
+#copyright_text {
+    margin-top: 4px;
+}
+
+/* block that contains the logo */
+#footer_logo {
+    text-align: center;
+    margin: auto;
+}
+
+#opac.result.sort { margin-left: 5px; }
+
+
index f49d2e4..1dd7dd9 100644 (file)
@@ -33,6 +33,50 @@ function advgInit() {
        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;
+
+    initSearchBoxes();
+}
+
+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() {
@@ -94,6 +138,7 @@ function advSubmitGlobal() {
        var itemtypes = advGetVisSelectorVals('adv_global_item_type');
        var audiences = advGetVisSelectorVals('adv_global_audience');
        var languages = getSelectedList($('adv_global_lang')) + '';     
+    var limit2avail = $('opac.result.limit2avail').checked ? 1 : ''
 
        var searches = advBuildSearchBlob();
        if(!searches) return;
@@ -107,14 +152,15 @@ function advSubmitGlobal() {
        args[PARAM_LITFORM]     = litforms;
        args[PARAM_AUDIENCE]    = audiences;
        args[PARAM_LANGUAGE] = languages;
-       args[PARAM_SEARCHES]    = js2JSON(searches); /* break these out */
+       //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]                = "";
+       args[PARAM_TERM]                = searches;
+       args[PARAM_AVAIL]               = limit2avail;
 
        /* pubdate sorting causes a record (not metarecord) search */
        if( sortby == SORT_TYPE_PUBDATE || !$('adv_group_titles').checked ) {
@@ -134,7 +180,7 @@ function advSubmitGlobal() {
 
 function advBuildSearchBlob() {
 
-       var searches;
+       var searches = '';
        var tbody    = $('adv_global_tbody');
        var rows     = tbody.getElementsByTagName('tr');
 
@@ -150,14 +196,6 @@ function advBuildSearchBlob() {
                if(!term) continue;
 
                var string = "";
-
-               if(!searches) searches = {};
-
-               if(searches[stype]) 
-                       string = searches[stype].term;
-               else 
-                       searches[stype] = { term : "" };
-
                switch(contains) {
                        case 'contains' : 
                                string += " " + term; 
@@ -178,10 +216,15 @@ function advBuildSearchBlob() {
                if(string) {
                        string = string.replace(/'/g,' ');
                        string = string.replace(/\\/g,' ');
-                       searches[stype].term = string;
+            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;
 }
 
index 27e9994..12728c1 100644 (file)
@@ -5,7 +5,6 @@ attachEvt("common", "run", advInit);
 function advInit() { 
 
        /* propogate these? */
-       clearSearchParams();
 
        depthSelInit(); 
        setEnterFunc( $n( $('advanced.marc.tbody'), 'advanced.marc.value'), advMARCRun );
@@ -34,6 +33,8 @@ function advAddMARC() {
 
 function advMARCRun() {
 
+       clearSearchParams();
+
        var div = $('adv_marc_search_sidebar');
        var tbodies = div.getElementsByTagName('tbody');
        var searches = [];
@@ -77,6 +78,7 @@ function advExtractMARC(tbody) {
 }
 
 function advGenericSearch() {
+       clearSearchParams();
        var type = getSelectorVal($('adv_quick_type'));
        
        var term = $('adv_quick_text').value;
index b803147..e6a1bd6 100644 (file)
@@ -91,12 +91,19 @@ function _holdsUpdateEditHold() {
        var status = holdArgs.status;
 
        var orgsel = $('holds_org_selector');
+    var frozenbox = $('holds_frozen_chkbox');
+
        setSelector(orgsel, hold.pickup_lib());
 
-       if( hold.capture_time() || status > 2 )
+       if( hold.capture_time() || status > 2 ) {
                orgsel.disabled = true;
-       else    
+        frozenbox.disabled = true;
+        $('holds_frozen_thaw_input').disabled = true;
+
+    } else {
                orgsel.disabled = false;
+        frozenbox.disabled = false;
+    }
 
 
        $('holds_submit').onclick = holdsEditHold;
@@ -117,6 +124,21 @@ function _holdsUpdateEditHold() {
        } else {
                $('holds_enable_email').checked = false;
        }
+
+    /* populate the hold freezing info */
+    if(!frozenbox.disabled && isTrue(hold.frozen())) {
+        frozenbox.checked = true;
+        unHideMe($('hold_frozen_thaw_row'));
+        if(hold.thaw_date()) {
+            $('holds_frozen_thaw_input').value = hold.thaw_date();
+        } else {
+            $('holds_frozen_thaw_input').value = '';
+        }
+    } else {
+        frozenbox.checked = false;
+        $('holds_frozen_thaw_input').value = '';
+        hideMe($('hold_frozen_thaw_row'));
+    }
 }
 
 function holdsEditHold() {
@@ -673,6 +695,17 @@ function holdsBuildHoldFromWindow() {
        hold.target(target);
        hold.hold_type(holdArgs.type);
 
+    // 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 = $('holds_frozen_thaw_input').value;
+        if(thawDate) 
+            hold.thaw_date(thawDate);
+        else
+            hold.thaw_date(null);
+    }
+
        //check for alternate hold formats 
        var fstring = holdsSetSelectedFormats();
        if(fstring) { 
index ca15d60..aaad90d 100644 (file)
@@ -37,11 +37,11 @@ function mresultDoSearch() {
 }
 
 function _mresultCollectIds() { 
-       resultCollectSearchIds(true, SEARCH_MRS, mresultHandleMRIds ); 
+       resultCollectSearchIds(true, SEARCH_MRS_QUERY, mresultHandleMRIds ); 
 }
 
 function mresultCollectAdvIds() { 
-       resultCollectSearchIds(false, SEARCH_MRS, mresultHandleMRIds ); 
+       resultCollectSearchIds(false, SEARCH_MRS_QUERY, mresultHandleMRIds ); 
 }
 
 
@@ -51,6 +51,7 @@ function mresultHandleMRIds(r) {
                if( getOffset() == 0 ) HITCOUNT = res.count;
                runEvt('result', 'hitCountReceived');
        } 
+    cookieManager.write(COOKIE_SEARCH, js2JSON(res.compiled_search), -1);
        runEvt('result', 'idsReceived', res.ids);
 }
 
index bfe6a24..fc8d7cf 100644 (file)
@@ -6,6 +6,7 @@ attachEvt('common','locationUpdated', myopacReload );
 var fleshedUser = null;
 var fleshedContainers = {};
 var holdCache = {};
+var holdStatusCache = {};
 
 
 function clearNodes( node, keepArray ) {
@@ -294,14 +295,18 @@ function myOPACShowHolds() {
        var req = new Request(FETCH_HOLDS, G.user.session, G.user.id());        
        req.callback(myOPACDrawHolds);
        req.send();
+    $('myopac_holds_actions_none').selected = true;
 }
 
 var holdsTemplateRowOrig;
 var holdsTemplateRow;
+var myopacForceHoldsRedraw = false;
 function myOPACDrawHolds(r) {
 
        var tbody = $("myopac_holds_tbody");
-       if(holdsTemplateRow) return;
+       if(holdsTemplateRow && !myopacForceHoldsRedraw) return;
+    myopacForceHoldsRedraw = false;
+
        if(holdsTemplateRowOrig) {
                holdsTemplateRow = holdsTemplateRowOrig;
                removeChildren(tbody);
@@ -331,12 +336,23 @@ function myOPACDrawHolds(r) {
 
                tbody.appendChild(row);
 
-               $n(row,'myopac_holds_cancel_link').setAttribute(
-                       'href','javascript:myOPACCancelHold("'+ h.id()+'");'); 
-
                $n(row,'myopac_holds_edit_link').setAttribute(
                        'href','javascript:myOPACEditHold("'+ h.id()+'");'); 
 
+        if(isTrue(h.frozen())) {
+            hideMe($n(row, 'myopac_hold_unfrozen_true'))
+            unHideMe($n(row, 'myopac_hold_unfrozen_false'))
+            if(h.thaw_date()) {
+                var d = Date.parseIso8601(h.thaw_date());
+                $n(row, 'myopac_holds_frozen_until').appendChild(text(d.iso8601Format('YMD')));
+            }
+        } else {
+            unHideMe($n(row, 'myopac_hold_unfrozen_true'))
+            hideMe($n(row, 'myopac_hold_unfrozen_false'))
+        }
+
+        $n(row, 'myopac_holds_selected_chkbx').checked = false;
+
                unHideMe(row);
 
                myOPACDrawHoldTitle(h);
@@ -359,15 +375,6 @@ function myOPACEditHold(holdid) {
 }
 
 
-function myOPACCancelHold(holdid) {
-       if( confirm($('myopac_holds_cancel_verify').innerHTML) ) {
-               holdsCancel(holdid);
-               holdsTemplateRow = null
-               myOPACShowHolds();
-       }
-}
-
-
 function myOPACDrawHoldStatus(hold) {
        var req = new Request(FETCH_HOLD_STATUS, G.user.session, hold.id() );
        req.callback(myOShowHoldStatus);
@@ -379,6 +386,8 @@ function myOShowHoldStatus(r) {
 
        var hold = r.hold;
        var status = r.getResultObject();
+    holdStatusCache[hold.id()] = status;
+
        var row = $("myopac_holds_row_" + r.hold.id());
 
        if( status < 3 )
@@ -443,7 +452,6 @@ function _myOPACFleshHoldTitle(hold, holdObjects) {
                if(copy) $n(row, 'copy').appendChild(text(copy.barcode()));
        }
 
-       /*var form = $("myopac_holds_form_" + hold.id() + '_' + record.doc_id());*/
        var form = $("myopac_holds_form_" + hold.id());
 
        if(form) {
@@ -1285,5 +1293,148 @@ function myHandleRenewResponse(r) {
     myOPACShowChecked();
 }
 
+/** ---- batch hold processing ------------ */
+
+
+/* myopac_holds_checkbx */
+function myopacSelectAllHolds() {
+    var rows = getTableRows($("myopac_holds_tbody"));
+    for(var i = 0; i < rows.length; i++) {
+        cb = $n(rows[i], 'myopac_holds_selected_chkbx');
+        if(cb) cb.checked = true;
+    }
+}
+
+function myopacSelectNoneHolds() {
+    var rows = getTableRows($("myopac_holds_tbody"));
+    for(var i = 0; i < rows.length; i++) {
+        cb = $n(rows[i], 'myopac_holds_selected_chkbx');
+        if(cb) cb.checked = false;
+    }
+}
 
+function myopacSelectedHoldsRows() {
+    var r = [];
+    var rows = getTableRows($("myopac_holds_tbody"));
+    for(var i = 0; i < rows.length; i++) {
+        cb = $n(rows[i], 'myopac_holds_selected_chkbx');
+        if(cb && cb.checked)
+            r.push(rows[i]);
+    }
+    return r;
+}
+
+var myopacProcessedHolds = 0;
+var myopacTotalHoldsToProcess = 0;
+function myopacDoHoldAction() {
+
+    var selectedRows = myopacSelectedHoldsRows();
+    action = getSelectorVal($('myopac_holds_actions'));
+    $('myopac_holds_actions_none').selected = true;
+    if(selectedRows.length == 0) return;
+
+    myopacProcessedHolds = 0;
+
+    if(!confirmId('myopac.holds.'+action+'.confirm')) return;
+
+    myopacSelectNoneHolds(); /* clear the selection */
+
+
+    /* first, let's collect the holds that actually need processing and
+        collect the full process count while we're at it */
+    var holds = [];
+    for(var i = 0; i < selectedRows.length; i++) {
+        hold = holdCache[myopacHoldIDFromRow(selectedRows[i])];
+        var status = holdStatusCache[hold.id()];
+        switch(action) {
+            case 'cancel':
+                holds.push(hold);
+                break;
+            case 'thaw_date':
+            case 'thaw':
+                if(isTrue(hold.frozen()))
+                    holds.push(hold);
+                break;
+            case 'freeze':
+                if(!isTrue(hold.frozen()) && status < 3)
+                    holds.push(hold);
+                break;
+        }
+    }
+    myopacTotalHoldsToProcess = holds.length;
+    if(myopacTotalHoldsToProcess == 0) return;
+    myopacShowHoldProcessing();
+
+    var thawDate = null;
+    var thawDateSet = false;
+
+    /* now we process them */
+    for(var i = 0; i < holds.length; i++) {
+
+        hold = holds[i];
+        
+        var req;
+        switch(action) { 
+
+            case 'cancel':
+                req = new Request(CANCEL_HOLD, G.user.session, hold.id());
+                break;
+    
+            case 'thaw':
+                hold.frozen('f');
+                hold.thaw_date(null);
+                req = new Request(UPDATE_HOLD, G.user.session, hold);
+                break;
+
+            case 'thaw_date':
+                if(!thawDateSet)
+                    thawDate = prompt($('myopac.holds.freeze.select_thaw').innerHTML) || null;
+                thawDateSet = true;
+                hold.thaw_date(thawDate);
+                req = new Request(UPDATE_HOLD, G.user.session, hold);
+                break;
+
+
+            case 'freeze':
+                if(!thawDateSet)
+                    thawDate = prompt($('myopac.holds.freeze.select_thaw').innerHTML);
+                thawDateSet = true;
+                hold.frozen('t');
+                if(thawDate) 
+                    hold.thaw_date(thawDate); 
+                req = new Request(UPDATE_HOLD, G.user.session, hold);
+                break;
+
+        }
+
+        req.callback(myopacBatchHoldCallback);
+        req.send();
+        req = null;
+    }
+}
+
+function myopacHoldIDFromRow(row) {
+    return row.id.replace(/.*_(\d+)$/, '$1');
+}
+
+function myopacShowHoldProcessing() {
+    unHideMe($('myopac_holds_processing'));
+    hideMe($('myopac_holds_main_table'));
+}
+
+function myopacHideHoldProcessing() {
+    hideMe($('myopac_holds_processing'));
+    unHideMe($('myopac_holds_main_table'));
+}
+
+function myopacBatchHoldCallback(r) {
+    r.getResultObject();
+    if(++myopacProcessedHolds >= myopacTotalHoldsToProcess) {
+        myopacHideHoldProcessing();
+        holdCache = {};
+        holdStatusCache = {};
+        myopacForceHoldsRedraw = true;
+        myOPACShowHolds();
+    }
+}
 
index a2c2d06..76aee75 100644 (file)
@@ -184,10 +184,26 @@ function _rdetailDraw(r) {
        G.ui.rdetail.pubdate.appendChild(text(record.pubdate()));
        G.ui.rdetail.publisher.appendChild(text(record.publisher()));
        $('rdetail_physical_desc').appendChild(text(record.physical_description()));
-       G.ui.rdetail.tor.appendChild(text(record.types_of_resource()[0]));
-       setResourcePic( G.ui.rdetail.tor_pic, record.types_of_resource()[0]);
+    r = record.types_of_resource();
+    if(r) {
+        G.ui.rdetail.tor.appendChild(text(r[0]));
+           setResourcePic( G.ui.rdetail.tor_pic, r[0]);
+    }
        G.ui.rdetail.abstr.appendChild(text(record.synopsis()));
 
+    try{
+        if(record.isbn()) {
+            if(ENABLE_ADDED_CONTENT_ATTRIB_LINKS) {
+                unHideMe($('rdetail.jacket_attrib_div'));
+                var href = $('rdetail.jacket_attrib_link').getAttribute('href') +cleanISBN(record.isbn());
+                $('rdetail.jacket_attrib_link').setAttribute('href', href);
+            }
+        } else {
+            hideMe($("rdetail.jacket_attrib_div"));
+            hideMe($("rdetail_img_link"));
+        }
+    } catch(E) {}
+
 
        // see if the record has any external links 
        var links = record.online_loc();
@@ -203,7 +219,6 @@ function _rdetailDraw(r) {
        }
 
 
-
        $('rdetail_place_hold').setAttribute(
                'href','javascript:holdsDrawEditor({record:"'+record.doc_id()+'",type:"T"});');
 
index 35ba911..3df7c48 100644 (file)
@@ -42,21 +42,11 @@ function resultCollectSearchIds( type, method, handler ) {
        var args = {};
 
        if( type ) {
-               args.searches = {};
-               args.searches[getStype()] = {};
-               var term = getTerm();
-               if( term ) {
-                       term = term.replace(/'/g,' ');
-                       term = term.replace(/\\/g,' ');
-                       args.searches[getStype()].term = term;
-               }
-
                var form = parseForm(getForm());
                item_type = form.item_type;
                item_form = form.item_form;
 
        } else {
-               args.searches = JSON2js(getSearches());
                item_type = (getItemType()) ? getItemType().split(/,/) : null;
                item_form = (getItemForm()) ? getItemForm().split(/,/) : null;
        }
@@ -73,21 +63,23 @@ function resultCollectSearchIds( type, method, handler ) {
        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(/,/);
 
-       //alert(js2JSON(args));
+       _debug('Search args: ' + js2JSON(args));
+       _debug('Raw query: ' + getTerm());
 
-       _debug('SEARCH: \n' + js2JSON(args) + '\n\n');
-       var req = new Request(method, args, 1);
+       var req = new Request(method, args, getTerm(), 1);
        req.callback(handler);
        req.send();
 }
@@ -183,6 +175,8 @@ function resultLowHits() {
        sreq.callback(resultSuggestSpelling);
        sreq.send();
 
+    /* XXX patch to use the search results */
+
        var words = getTerm().split(' ');
        var word;
        while( word = words.shift() ) {
index c314dfd..0b11da9 100644 (file)
@@ -27,35 +27,9 @@ function rresultDoSearch() {
        rresultCollectIds();
 }
 
-function rresultCachedSearch() {
-
-       /* XXX */
-       return false;
-
-       /*
-       if(!getOffset()) {
-               cookieManager.remove(COOKIE_SRIDS);
-               return false;
-       }
-
-       var data = JSON2js(cookieManager.read(COOKIE_SRIDS));
-       //alert('cached count = ' + data.count);
-
-       if( data && data.ids[getOffset()] != null && 
-               data.ids[resultFinalPageIndex()] != null ) {
-               _rresultHandleIds( data.ids, data.count );
-               return true;
-       }
-
-       return false;
-       */
-}
-
 function rresultCollectIds() {
        var ids;
 
-       if(rresultCachedSearch()) return;
-
        switch(getRtype()) {
 
                case RTYPE_COOKIE:
@@ -278,7 +252,8 @@ function rresultCollectRecords(ids) {
        runEvt("result", "preCollectRecords");
        var x = 0;
 
-       var base = getOffset();
+       //var base = getOffset();
+    var base = 0;
        if( rresultIsPaged )  base = 0;
 
        for( var i = base; i!= getDisplayCount() + base; i++ ) {
@@ -308,12 +283,12 @@ function rresultLaunchDrawn(id, node) {
 
 function rresultDoRecordSearch() { 
        rresultIsPaged = true;
-       resultCollectSearchIds(true, SEARCH_RS, rresultFilterSearchResults ); 
+       resultCollectSearchIds(true, SEARCH_RS_QUERY, rresultFilterSearchResults ); 
 }
 
 function rresultDoRecordMultiSearch() { 
        rresultIsPaged = true;
-       resultCollectSearchIds(false, SEARCH_RS, rresultFilterSearchResults ); 
+       resultCollectSearchIds(false, SEARCH_RS_QUERY, rresultFilterSearchResults ); 
 }
 
 
@@ -324,6 +299,8 @@ function rresultFilterSearchResults(r) {
                for( var i = 0; i != result.ids.length; i++ ) 
                        ids.push(result.ids[i][0]);
        }
+
+    cookieManager.write(COOKIE_SEARCH, js2JSON(result.compiled_search), -1);
        _rresultHandleIds( ids, result.count );
 }
 
index 335720d..0369744 100644 (file)
@@ -41,6 +41,11 @@ function searchBarInit() {
                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() {
@@ -53,8 +58,6 @@ function searchBarSubmit() {
        var d   = (newSearchDepth != null) ?  newSearchDepth : depthSelGetDepth();
        if(isNaN(d)) d = 0;
 
-       //text = text.replace(/'/,'');
-
        var args = {};
 
        if(SHOW_MR_DEFAULT) {
@@ -70,6 +73,14 @@ function searchBarSubmit() {
        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));
 }
 
index 4a2baac..f5c5ca7 100644 (file)
@@ -21,7 +21,7 @@
                </select>
                        
                <!-- search term -->
-               <input type='text' size='18' name='term' style='margin-right: 3px;'> </input>
+               <input type='text' size='18' name='term' style='margin-right: 3px;' />
        
                <!-- Remove this row -->
         <button 
index 8566cc2..f09d760 100644 (file)
@@ -6,7 +6,7 @@
                .adv_adv_link { font-size: 8pt; color: red; }
        </style>
 
-       <script src='<!--#echo var="OILS_OPAC_JS_HOST"-->/skin/default/js/adv_global.js'> </script>
+       <script language='javascript' type='text/javascript' src='<!--#echo var="OILS_OPAC_JS_HOST"-->/skin/default/js/adv_global.js'> </script>
 
        <tr style='border-bottom: none;'>
 
@@ -19,7 +19,7 @@
                                </thead>
                                <tbody id='adv_global_tbody'>
 
-                                       <script language='javascript'>
+                                       <script language='javascript' type='text/javascript'>
                                                config.ids.common.now_searching = 'now_searching_location';
                                        </script>
 
 
                <td rowspan='2'>
 
-                       <!--
-                       <table width='100%' style='margin-bottom: 3px;'>
-                               <thead>
-                                       <tr>
-                                               <td colspan='2' align='center'>
-                                                       <span>Group Formats and Editions</span>
-                                                       <input id='adv_group_titles' type='checkbox' checked='checked'> </input>
-                                               </td>
-                                       </tr>
-                               </thead>
-                       </table>
-                       -->
-
-                       <table with='100%'>
+                       <table width='100%'>
                                <thead>
                                        <tr><td colspan='2' align='center'>&advanced.search.filters;</td></tr>
                                </thead>
                                <tbody>
 
-                                       <!--
-                                       <tr>
-                                               <td align='right'>Search Range</td>
-                                               <td aligh='left'>
-                                                       <   #include virtual="../common/libselect.xml"  >
-                                               </td>
-                                       </tr>
-                                       -->
                                        <tr>
                                                <td align='right'>
                                                        <span>&advanced.item.form;</span>
                                                </td>
-                                               <td aligh='left'>
-                                                       <select multiple='true' size='3' id='adv_global_item_form'>
+                                               <td align='left'>
+                                                       <select multiple='multiple' size='3' id='adv_global_item_form'>
                                                        </select>       
                                                </td>
                                        </tr>
                                                                '>&advanced.basic.link;</a>
                                                </td>
 
-                                               <td aligh='left'>
-                                                       <select multiple='true' size='3' id='adv_global_item_type' class='hide_me'>
+                                               <td align='left'>
+                                                       <select multiple='multiple' size='3' id='adv_global_item_type' class='hide_me'>
                                                        </select>       
-                                                       <select multiple='true' size='3' id='adv_global_item_type_basic'>
+                                                       <select multiple='multiple' size='3' id='adv_global_item_type_basic'>
                                                                <option value='at'>&opac.search.books;</option>
                                                                <option value='i'>&opac.search.audioBooks;</option>
                                                                <option value='g'>&opac.search.videoRecordings;</option>
                                                                hideMe(this);
                                                                '>&advanced.basic.link;</a>
                                                </td>
-                                               <td aligh='left'>
-                                                       <select multiple='true' size='3' id='adv_global_lit_form' class='hide_me'>
+                                               <td align='left'>
+                                                       <select multiple='multiple' size='3' id='adv_global_lit_form' class='hide_me'>
                                                        </select>       
-                                                       <select multiple='true' size='3' id='adv_global_lit_form_basic'>
+                                                       <select multiple='multiple' size='3' id='adv_global_lit_form_basic'>
                                                                <option value='0 '>&advanced.non.fiction;</option>
                                                                <option value='1'>&advanced.fiction;</option>
                                                        </select>       
                                                </td>
 
                                                <td align='left'>
-                                                       <select multiple='true' size='3' id='adv_global_lang'>
+                                                       <select multiple='multiple' size='3' id='adv_global_lang'>
                                                                <!--#include virtual="../../../../../common/xml/item_lang_options.xml"-->
                                                        </select>
                                                </td>
                                                </td>
 
                                                <td align='left'>
-                                                       <select multiple='true' size='3' id='adv_global_audience' class='hide_me'>
+                                                       <select multiple='multiple' size='3' id='adv_global_audience' class='hide_me'>
                                                        </select>
-                                                       <select multiple='true' size='3' id='adv_global_audience_basic'>
+                                                       <select multiple='multiple' size='3' id='adv_global_audience_basic'>
                                                                <option value='e '>&advanced.adult;</option>
                                                                <option value='abcdj'>&advanced.juvenile;</option>
                                                                <option value='fg '>&advanced.general;</option>
        <tr style='border-top: none;'>
                <td align='center' valign='bottom' style='border-top: none;'>
 
-                       <!--
-                       <table width='100%' style='padding: 1px;'>
-                               <thead>
-                                       <tr>
-                                               <td colspan='2' align='center'>
-                                                       <span>Group Formats and Editions</span>
-                                                       <input id='adv_group_titles' type='checkbox' checked='checked'> </input>
-                                               </td>
-                                       </tr>
-                               </thead>
-                       </table>
-                       -->
-
-
                        <table style='border: none; width: 100%;'>
                                <tr>
                                        <td align='center' width='100%'>
                                                        <tbody>
                                                                <tr>
 
-                           <script>
+                           <script language='javascript' type='text/javascript'>
                               function __setsortsel() {
                                  var sel = $('adv_global_sort_by')
                                                                                   if(sel.selectedIndex == 0) {
                                                                        </td>
 
                            <!-- force the enable/disable sort dir code to run -->
-                           <script>__setsortsel();</script>
+                           <script language='javascript' type='text/javascript'>__setsortsel();</script>
 
                                                                        <td align='center'>
                                                                                <!--#include virtual="../common/libselect.xml"-->
 
                                                                </tr>
                                                                <tr>
-                                                                       <td colspan='2' align='center'>
+                                                                       <td align='center'>
                                                                                <span>&advanced.frbrize;</span>
-                                                                               <!--
-                                                                               <input id='adv_group_titles' type='checkbox' checked='checked'> </input>
-                                                                               -->
-                                                                               <input id='adv_group_titles' type='checkbox'> </input>
+                                                                               <input id='adv_group_titles' type='checkbox' />
                                                                        </td>
+                                    <td align='center'>
+                                        <span>&result.limit2avail;</span>
+                                        <input type='checkbox' id='opac.result.limit2avail'/>
+                                    </td>
                                                                </tr>
                                                        </tbody>
                                                </table>
index 8819e6b..46fe287 100644 (file)
@@ -12,15 +12,15 @@ XXX Deprecate me
                <tr id='advanced.marc.template'>
                        <td>
                                <span>&opac.advanced.marc.tag;: </span>
-                               <input name='advanced.marc.tag' maxlength='3' size='3'> </input>
+                               <input name='advanced.marc.tag' maxlength='3' size='3' />
                        </td>
                        <td>
                                <span>&opac.advanced.marc.subfield;: </span>
-                               <input name='advanced.marc.subfield' maxlength='1' size='1'> </input>
+                               <input name='advanced.marc.subfield' maxlength='1' size='1' />
                        </td>
                        <td>
                                <span>&opac.advanced.marc.value;: </span>
-                               <input name='advanced.marc.value' size='36'> </input>
+                               <input name='advanced.marc.value' size='36' />
                        </td>
 
                        <td>
@@ -29,17 +29,17 @@ XXX Deprecate me
                                        var tbody = row.parentNode;
                                        if(tbody.getElementsByTagName("tr").length > 2)
                                                tbody.removeChild(row);
-                                       '> </input>
+                                       ' />
                        </td>
                </tr>
                <tr id='advanced.marc.submit.row'>
                        <td colspan='4' align='center'>
 
                                <input name='advanced.marc.addrow' type='submit' onclick='advAddMARC();'
-                                       value='&opac.advanced.marc.addrow;'> </input>
+                                       value='&opac.advanced.marc.addrow;' />
 
                                <input style='margin-left: 10px;' 
-                                       onclick='advMARCRun();' type='submit' value='&common.submit;'> </input>
+                                       onclick='advMARCRun();' type='submit' value='&common.submit;' />
                        </td>
                </tr>
        </tbody>
index 3746da1..3f7da6f 100644 (file)
@@ -12,18 +12,18 @@ XXX Deprecate me
                <tr>
                        <td>
                                <span style='padding-right: 0px;'>&common.call.number.label;</span>
-                               <input id='opac.advanced.quick.cn' style='margin: 2px;' type='text' size='12'> </input>
-                               <input type='submit' onclick='advCNRun();' value='&advanced.go;'> </input>
+                               <input id='opac.advanced.quick.cn' style='margin: 2px;' type='text' size='12' />
+                               <input type='submit' onclick='advCNRun();' value='&advanced.go;' />
                        </td>
                        <td>
                                <span style='padding-right: 0px;'>&common.isbn.label;</span>
-                               <input id='opac.advanced.quick.isbn' style='margin: 2px;' type='text' size='13' maxlength='13'> </input>
-                               <input type='submit' onclick='advISBNRun();' value='&advanced.go;'> </input>
+                               <input id='opac.advanced.quick.isbn' style='margin: 2px;' type='text' size='13' maxlength='13' />
+                               <input type='submit' onclick='advISBNRun();' value='&advanced.go;' />
                        </td>
                        <td>
                                <span style='padding-right: 0px;'>&common.issn.label;</span>
-                               <input id='opac.advanced.quick.issn' style='margin: 2px;' type='text' size='9' maxlength='9'> </input>
-                               <input type='submit' onclick='advISSNRun();' value='&advanced.go;'> </input>
+                               <input id='opac.advanced.quick.issn' style='margin: 2px;' type='text' size='9' maxlength='9' />
+                               <input type='submit' onclick='advISSNRun();' value='&advanced.go;' />
                        </td>
                </tr>
        </tbody>
index 98d7da7..e916df7 100644 (file)
@@ -29,7 +29,5 @@
                        </tr>
                </tbody>
        </table>
-       <center>
                <!--#include virtual='footer.xml'-->
-       </center>
 </body>
index a9bf957..d093451 100644 (file)
@@ -14,7 +14,7 @@
 
        <!-- ============================================================================= -->
        <!-- Register the alternate canvases  -->
-       <script language='javascript'>
+       <script language='javascript' type='text/javascript'>
                config.ids.altcanvas.org_tree           = config.ids.common.org_container;
                config.ids.altcanvas.holds                      = 'holds_box';
                config.ids.altcanvas.check_holds        = 'check_holds_box';
@@ -30,7 +30,7 @@
 
        <div id='loading_alt' class='hide_me canvas' style='margin-top: 6px;'>
                <div style='margin-top: 30px; margin-bottom: 30px; text-align: center; font-weight: 700;' class='color_3'>
-                       <img src='../../../../images/progressbar_green.gif' style='margin: 5px;'> </img>
+                       <img src='../../../../images/progressbar_green.gif' style='margin: 5px;' />
                </div>
        </div>
 
index 2d0692a..aea7fa1 100644 (file)
@@ -21,7 +21,7 @@
                                <tr id='cn_browse_row'>
                                        <td id='cn_browse_td' class='cn_browse_item' width='25%' valign='top'>
                                                <a><img height='60' width='50' 
-                                                       class='cn_browse_info' name='cn_browse_pic' border='0'> </img></a>
+                                                       class='cn_browse_info' name='cn_browse_pic' border='0' /></a>
                                                <div style='font-weight: bold;' class='cn_browse_info' name='cn_browse_cn'>  </div>
                                                <div class='cn_browse_info'><a name='cn_browse_title' class='classic_link'> </a></div>
                                                <div class='cn_browse_info'><a name='cn_browse_author' class='classic_link'>  </a></div>
index adee673..17bd732 100644 (file)
@@ -4,19 +4,16 @@
 <link type='text/css' rel='stylesheet' href="<!--#echo var='OILS_SKIN_BASE'-->/default/css/layout.css"/>
 
 <!-- Our font CSS's -->
-<link type='text/css' rel='stylesheet'                                 
-       href='<!--#echo var="OILS_CSS_BASE"-->/mediumfont.css' name='meduim_fonts' csstype='font'/>
+<link type='text/css' rel='stylesheet' href='<!--#echo var="OILS_CSS_BASE"-->/mediumfont.css' />
 
 <!-- Our colors -->
-<link type='text/css' rel="stylesheet" href="<!--#echo var='OILS_THEME_BASE'-->/default/css/colors.css"  
-       name='Default' csstype='color'/>
+<link type='text/css' rel="stylesheet" href="<!--#echo var='OILS_THEME_BASE'-->/default/css/colors.css" />
 
-<link type='text/css' rel="alternate stylesheet" title='&opac.style.reddish;' href="<!--#echo var='OILS_THEME_BASE'-->/reddish/css/colors.css"  
-       name='Default' csstype='color'/>
+<!-- An alternate stylesheet -->
+<link type='text/css' rel="alternate stylesheet" title='&opac.style.reddish;' href="<!--#echo var='OILS_THEME_BASE'-->/reddish/css/colors.css" />
 
 <!-- OpenSearch auto discovery -->
-<link rel='search' 
-        type="application/opensearchdescription+xml"
-    title="Evergreen"
-    href="http://<!--#echo var='SERVER_NAME'-->/opac/extras/opensearch/1.1/-/osd.xml"> </link>
+<link type="application/opensearchdescription+xml"
+       rel='search' title="Evergreen"
+       href="http://<!--#echo var='SERVER_NAME'-->/opac/extras/opensearch/1.1/-/osd.xml" />
 
index c169621..bd4e8e8 100644 (file)
@@ -1,3 +1,8 @@
+<link rel="stylesheet" type="text/css"
+    href='<!--#echo var="OILS_JS_BASE"-->/jscalendar/calendar-brown.css' title="win2k-cold-1" />
+<script language='javascript' type='text/javascript' src='<!--#echo var="OILS_JS_BASE"-->/jscalendar/calendar.js'></script>
+<script language='javascript' type='text/javascript' src='<!--#echo var="OILS_JS_BASE"-->/jscalendar/lang/calendar-en.js'></script>
+<script language='javascript' type='text/javascript' src='<!--#echo var="OILS_JS_BASE"-->/jscalendar/calendar-setup.js'></script>
 
 <div>
        <div id='xulholds_box' class='hide_me canvas' style='margin-top: 6px;'>
                                <tbody>
                                        <tr>
                                                <td>&opac.holds.xulRecipient;:</td>
-                                               <td><input type='text' id='xul_recipient_barcode'> </input></td>
+                                               <td><input type='text' id='xul_recipient_barcode' /></td>
                                                <td><input type='submit' value='&common.submit;' 
-                                                       id='xul_recipient_barcode_submit'> </input></td>
+                                                       id='xul_recipient_barcode_submit' /></td>
                                                <td><input type='submit' value='&common.hold.place;' 
-                                                       id='xul_recipient_me'> </input></td>
-                                               <td><input type='submit' value='&common.cancel;' onclick='showCanvas();'></input></td>
+                                                       id='xul_recipient_me' /></td>
+                                               <td><input type='submit' value='&common.cancel;' onclick='showCanvas();' /></td>
                                        </tr>
 
                                </tbody>
                                        </td>
                                </tr>
 
+                <tr>
+                    <td class='holds_cell'>
+                        &opac.holds.freeze;
+                        (<a class='classic_link' href='javascript:alert("&opac.holds.freeze.help;");'>&common.help;</a>)
+                        </td>
+                    <td class='holds_cell'>
+                        <input type='checkbox' id='holds_frozen_chkbox' 
+                            onchange='
+                                if($("holds_frozen_chkbox").checked) 
+                                    unHideMe($("hold_frozen_thaw_row"));
+                                else
+                                    hideMe($("hold_frozen_thaw_row"));
+                            ' /> 
+                    </td>
+                </tr>
+
+                <tr id='hold_frozen_thaw_row' class='hide_me'>
+                    <td class='holds_cell'>
+                        <script language='javascript' type='text/javascript'> if($('holds_frozen_chkbox').checked) unHideMe($("hold_frozen_thaw_row"));</script>
+                        &opac.holds.freeze.thaw_date;
+                    </td>
+                    <td class='holds_cell'>
+                        <input size='10' maxlength='10' id='holds_frozen_thaw_input' />
+                        <button style='padding: 0px;' id='holds_frozen_thaw_date_button'>
+                            <img src='<!--#echo var="OILS_JS_BASE"-->/jscalendar/img.gif'
+                                style="cursor: pointer; border: 1px solid red; padding: 0px; margin: -3px;"
+                                title="Date selector"
+                                onmouseover="this.style.background='red';"
+                                onmouseout="this.style.background=''" />
+                        </button>
+                        &nbsp;(&opac.holds.freeze.thaw_date.format;)
+
+                        <script language='javascript' type="text/javascript">
+                            Calendar.setup({
+                                inputField  : "holds_frozen_thaw_input",
+                                ifFormat    : "%Y-%m-%d",
+                                button      : "holds_frozen_thaw_date_button",
+                                align       : "Tl", 
+                                singleClick : true
+                            });
+                        </script>
+
+                    </td>
+                </tr>
+
                                <tr id='holds_alt_formats_row_extras' class='hide_me'>
                                        <td colspan='2' align='center'>
                                                <div style='padding: 8px;'>
                                        </td>
 
                                        <td class='holds_cell'>
-                                               <select id='hold_alt_form_selector' multiple='true' style='width: 14em;'>
+                                               <select id='hold_alt_form_selector' multiple='multiple' style='width: 14em;'>
                                                        <option value='at'      class='hide_me'>&opac.search.books;</option>
                                                        <option value='at-d' class='hide_me'>&opac.search.largePrint;</option>
                                                        <option value='i'               class='hide_me'>&opac.search.audioBooks;</option>
index 8385e45..3c5ed22 100644 (file)
@@ -1,26 +1,23 @@
-<div>
-       <script language='javascript' src='<!--#echo var="OILS_JS_BASE"-->/utils.js'> </script>
-
-       <script language='javascript' src='<!--#echo var="OILS_JS_BASE"-->/utils.js'> </script>
-       <script language='javascript' src='<!--#echo var="OILS_JS_BASE"-->/config.js'> </script>
-       <script language='javascript' src='<!--#echo var="OILS_JS_BASE"-->/CGI.js'> </script>
-       <script language='javascript' src='<!--#echo var="OILS_JS_BASE"-->/Cookies.js'> </script>
-       <script language='javascript' src='<!--#echo var="OILS_JS_BASE"-->/md5.js'> </script>
-
-       <script language='javascript' src='<!--#echo var="OILS_JS_BASE"-->/slimtree.js'> </script>
-
-       <script language='javascript' src='<!--#echo var="OILS_JS_BASE"-->/JSON.js'> </script>
-       <script language='javascript' src='<!--#echo var="OILS_JS_BASE"-->/fmcore.js'> </script>
-       <script language='javascript' src='<!--#echo var="OILS_JS_BASE"-->/fmgen.js'> </script>
-       <script language='javascript' src='<!--#echo var="OILS_JS_BASE"-->/opac_utils.js'> </script>
-       <script language='javascript' src='<!--#echo var="OILS_JS_BASE"-->/OrgTree.js'> </script>
-       <script language='javascript' src='<!--#echo var="OILS_JS_BASE"-->/org_utils.js'> </script>
-       <script language='javascript' src='<!--#echo var="OILS_JS_BASE"-->/RemoteRequest.js'> </script>
-       <script language='javascript' src='<!--#echo var="OILS_JS_BASE"-->/init.js'> </script>
-       <script language='javascript' src='<!--#echo var="OILS_JS_BASE"-->/added_content.js'> </script>
+       <script language='javascript' src='<!--#echo var="OILS_JS_BASE"-->/utils.js' type='text/javascript'></script>
+       <script language='javascript' src='<!--#echo var="OILS_JS_BASE"-->/config.js' type='text/javascript'></script>
+       <script language='javascript' src='<!--#echo var="OILS_JS_BASE"-->/CGI.js' type='text/javascript'></script>
+       <script language='javascript' src='<!--#echo var="OILS_JS_BASE"-->/Cookies.js' type='text/javascript'></script>
+       <script language='javascript' src='<!--#echo var="OILS_JS_BASE"-->/md5.js' type='text/javascript'></script>
+
+       <script language='javascript' src='<!--#echo var="OILS_JS_BASE"-->/slimtree.js' type='text/javascript'></script>
+
+       <script language='javascript' src='<!--#echo var="OILS_JS_BASE"-->/JSON.js' type='text/javascript'></script>
+       <script language='javascript' src='<!--#echo var="OILS_JS_BASE"-->/fmcore.js' type='text/javascript'></script>
+       <script language='javascript' src='<!--#echo var="OILS_JS_BASE"-->/fmgen.js' type='text/javascript'></script>
+       <script language='javascript' src='<!--#echo var="OILS_JS_BASE"-->/opac_utils.js' type='text/javascript'></script>
+       <script language='javascript' src='<!--#echo var="OILS_JS_BASE"-->/OrgTree.js' type='text/javascript'></script>
+       <script language='javascript' src='<!--#echo var="OILS_JS_BASE"-->/org_utils.js' type='text/javascript'></script>
+       <script language='javascript' src='<!--#echo var="OILS_JS_BASE"-->/RemoteRequest.js' type='text/javascript'></script>
+       <script language='javascript' src='<!--#echo var="OILS_JS_BASE"-->/init.js' type='text/javascript'></script>
+       <script language='javascript' src='<!--#echo var="OILS_JS_BASE"-->/added_content.js' type='text/javascript'></script>
 
        <!-- Some global js -->
-       <script language='javascript'>
+       <script language='javascript' type='text/javascript'>
 
                config.css.color_1 = "color_1";
                config.css.color_2 = "color_2";
                <!-- set up some global JS config variables, read from the Apache config -->
                var OILS_OPAC_IMAGES_HOST = null;
                <!--#if expr="$OILS_OPAC_IMAGES_HOST"-->
-                       OILS_OPAC_IMAGES_HOST = '<!--#echo var="OILS_OPAC_IMAGES_HOST"-->extras/jacket/';
+                       OILS_OPAC_IMAGES_HOST = '<!--#echo var="OILS_OPAC_IMAGES_HOST"-->extras/ac/jacket/';
                <!--#endif -->
 
        </script>
-
-</div>
-
-
index 8935d32..45a7da7 100644 (file)
@@ -1,5 +1,5 @@
 <span>
-       <script language='javascript' src='<!--#echo var="OILS_OPAC_JS_HOST"-->/skin/default/js/depth_selector.js'> </script>
+       <script language='javascript' type='text/javascript' src='<!--#echo var="OILS_OPAC_JS_HOST"-->/skin/default/js/depth_selector.js'></script>
        <span class='hide_me' id='depth_selector_span'>
                <!--#if expr="$SHOW_DEPTHSEL_TEXT='true'"-->
                <span>&library.select; </span>
index 197166f..8172089 100644 (file)
@@ -1,7 +1,7 @@
 
 <div id='login_box' class='hide_me canvas' style='margin-top: 6px;'>
 
-       <script language='javascript'>
+       <script language='javascript' type='text/javascript'>
                config.ids.login = {};
                config.css.login = {};
                config.ids.login.box                    = "login_box";
@@ -26,7 +26,7 @@
                                <td><span class='login_text'>&login.username;</span></td>
                                <td>
                                        <span class='login_text'>
-                                               <input id='login_username' type='text' size='16'> </input>
+                                               <input id='login_username' type='text' size='16' />
                                        </span>
                                </td>
                        </tr>
@@ -36,7 +36,7 @@
                                </td>
                                <td>
                                        <span class='login_text'>
-                                               <input id='login_password' type='password' size='16'> </input>
+                                               <input id='login_password' type='password' size='16' />
                                        </span>
                                </td>
                        </tr>
index 37fa538..0b40740 100644 (file)
@@ -1,4 +1,4 @@
 <div id='logo_div'>
-       <script language='javascript'>config.ids.common.top_logo = "top_left_logo";</script>
-       <img style='margin-right: 4px;' src='<!--#echo var="OILS_BASE"-->/images/small_logo.jpg' id='top_left_logo' border='0' class='logo'> </img>
+       <script language='javascript' type='text/javascript'>config.ids.common.top_logo = "top_left_logo";</script>
+       <img style='margin-right: 4px;' src='<!--#echo var="OILS_BASE"-->/images/small_logo.jpg' id='top_left_logo' border='0' class='logo' />
 </div>
index beb8321..505f6ab 100644 (file)
@@ -4,7 +4,7 @@
 <div id='searchbar'>
 
        <!-- load my js -->
-       <script language='javascript'>
+       <script language='javascript' type='text/javascript'>
                config.ids.searchbar = {};
                config.css.searchbar = {};
                config.ids.searchbar.text                               = 'search_box'; 
@@ -28,7 +28,7 @@
 
                                <td nowrap='nowrap' align='center'  class='search_box_container color_2'>
 
-                                       <input id='search_box' style='width: 190px;' type='text' />
+                                       <input id='search_box' type='text' />
                                        <span style='padding-left: 6px;'>
                                                <input type='button' style='width: 40px;' id='search_submit' value='&button.go;' />
                                        </span>
@@ -54,7 +54,7 @@
                        </tr>
                </tbody>
        </table>
-       <script language='javascript' src='<!--#echo var="OILS_OPAC_JS_HOST"-->/skin/default/js/search_bar.js'> </script>
+       <script language='javascript' type='text/javascript' src='<!--#echo var="OILS_OPAC_JS_HOST"-->/skin/default/js/search_bar.js'></script>
 </div>
 
 
index 6e39a17..cbdc677 100644 (file)
@@ -57,7 +57,7 @@
 
        <div id='subject_tree_sidebar' class='sidebar_chunk hide_me' style='margin-top: 12px;'> 
                <div id='subject_sidebar_tree_div'> </div>
-               <script language='javascript'>
+               <script language='javascript' type='text/javascript'>
                        removeChildren($('subject_sidebar_tree_div'));
                        var subjectSidebarTree = new SlimTree(
                                document.getElementById('subject_sidebar_tree_div'),
@@ -72,7 +72,7 @@
        <div id='author_tree_sidebar' class='sidebar_chunk hide_me'> 
                <hr/>
                <div id='author_sidebar_tree_div'> </div>
-               <script language='javascript'>
+               <script language='javascript' type='text/javascript'>
                        removeChildren($('author_sidebar_tree_div'));
                        var authorSidebarTree = new SlimTree(
                                document.getElementById('author_sidebar_tree_div'),
@@ -87,7 +87,7 @@
        <div id='series_tree_sidebar' class='sidebar_chunk hide_me'> 
                <hr/>
                <div id='series_sidebar_tree_div'> </div>
-               <script language='javascript'>
+               <script language='javascript' type='text/javascript'>
                        removeChildren($('series_sidebar_tree_div'));
                        var seriesSidebarTree = new SlimTree(
                                document.getElementById('series_sidebar_tree_div'),
                                                        <option value='barcode'>&opac.advanced.quick.barcode;</option>
                                                </select>
                                        </td><td>
-                                               <input type='text' id='adv_quick_text' size='16'> </input>
+                                               <input type='text' id='adv_quick_text' size='16' />
                                        </td>
                                </tr></tbody></table>
                        </div>
                        <tbody>
                                <tr>
                                        <td>&search.marc.tag;</td>
-                                       <td><input name='advanced.marc.tag' maxlength='3' size='3'> </input></td>
+                                       <td><input name='advanced.marc.tag' maxlength='3' size='3' /></td>
                                        <td>&search.marc.subfield;</td>
-                                       <td><input name='advanced.marc.subfield' maxlength='1' size='1'> </input></td>
+                                       <td><input name='advanced.marc.subfield' maxlength='1' size='1' /></td>
                                </tr>
                                <tr>
                                        <td>&search.marc.value;</td>
-                                       <td colspan='3'><input name='advanced.marc.value' size='18'> </input></td>
+                                       <td colspan='3'><input name='advanced.marc.value' size='18' /></td>
                                </tr>
                                <tr name='crow' class='hide_me'>
                                        <td colspan='4' align='center'>
 
        <!-- ============================================================================= -->
        <!-- Our javascript -->
-       <script language='javascript' src='<!--#echo var="OILS_OPAC_JS_HOST"-->/skin/default/js/sidebar.js'> </script>
+       <script language='javascript' type='text/javascript' src='<!--#echo var="OILS_OPAC_JS_HOST"-->/skin/default/js/sidebar.js'></script>
 
-       <script language='javascript'>
+       <script language='javascript' type='text/javascript'>
                config.ids.sidebar = {};
                config.css.sidebar = {};
                config.names.sidebar = {};
index a787268..a6462c0 100644 (file)
                                                <span>&status.results;</span> <b id='including_results_location'> </b>
                                        </i>
                                </td>
+                <td align='right'>
+                    <!--#if expr="$OILS_PAGE='rresult.xml'"-->
+                    <!--#include virtual="../result/filtersort.xml" -->
+                    <!--#endif -->
+                </td>
                        </tr>
                </tbody>
        </table>
 
-       <script language='javascript'>
+       <script language='javascript' type='text/javascript'>
                config.ids.common.now_searching = 'now_searching_location';
        </script>
 
index ca3a0ad..9e4cffc 100644 (file)
@@ -1,15 +1,5 @@
-<div
-       style='width: 100%; text-align:center; vertical-align: bottom; margin-top: 20px;'>
-       <center id='copyright_block'>
-               <style>
-                       .footer_link {
-                               margin-left: 10px; 
-                               margin-right: 10px;
-                       }
-               </style>
-
-               <div style='width: 60%; text-align:center; padding: 10px; font-size: 8pt;'>
-
+<div id='copyright_block'>
+               <div id='footer_links'>
                                <span class='footer_link'>
                                        <a class='classic_link'
                                                href='/opac/extras/slimpac/start.html'>&opac.basic;</a>
                                </span>
                                <span> | </span>
                                <span class='footer_link'>
-                                       <a target='' class='classic_link' id='eg_gal_link'
+                                       <a target='_blank' class='classic_link' id='eg_gal_link'
                                                href='&footer.union.url;'>&footer.union;</a>
                                </span>
-                               <br/>
-                               <div style='margin-top: 4px; font-size: 7pt;'>
-                                       <span>&footer.copyright;</span>
-                               </div>
                </div>
-        <div>&footer.logo;
+        <div id='copyright_text'>
+            <span>&footer.copyright;</span>
+        </div>
+        <div id='footer_logo'>&footer.logo;
             <a href='http://open-ils.org'><img style='border:none;' src='../../../../images/eg_tiny_logo.jpg'/></a>
         </div>
-       </center>
 </div>
index ff5cb91..95a99a2 100644 (file)
@@ -4,12 +4,12 @@
        xmlns="http://www.w3.org/1999/xhtml" xmlns:xi="http://www.w3.org/2001/XInclude">
 
        <!-- load my js -->
-       <script language='javascript' 
+       <script language='javascript' type='text/javascript'
                src="<!--#echo var="OILS_OPAC_JS_HOST"-->/skin/default/js/depth_selector.js"> </script>
-       <script language='javascript' 
+       <script language='javascript' type='text/javascript'
                src="<!--#echo var="OILS_OPAC_JS_HOST"-->/skin/default/js/search_bar.js"> </script>
 
-       <script language='javascript'>
+       <script language='javascript' type='text/javascript'>
                config.ids.searchbar = {};
                config.css.searchbar = {};
                config.ids.searchbar.text                               = 'search_box'; 
@@ -40,7 +40,7 @@
 
                        <tr class='color_3'>
 
-                               <script language='javascript'>
+                               <script language='javascript' type='text/javascript'>
                                        config.ids.common.now_searching = 'now_searching_location';
                                </script>
 
index 01037ac..ebddddf 100644 (file)
@@ -21,8 +21,8 @@
                        </tr>
                </tbody>
        </table>
-       <script language='javascript'>isFrontPage = true;</script>
-       <script language="javascript">
+       <script language='javascript' type='text/javascript'>isFrontPage = true;</script>
+       <script language="javascript" type='text/javascript'>
         try { 
             document.getElementById('toptable').style.display = 'table'; 
         } catch(e) {
@@ -31,9 +31,7 @@
             } catch(ee) {}
         }
     </script>
-       <center>
                <!--#include virtual='../footer.xml'-->
-       </center>
 </body>
 
 
index 6b1acae..e0d691c 100644 (file)
@@ -1,7 +1,7 @@
 
 <div id='myopac_bookbag_div' class='hide_me' xmlns:xi="http://www.w3.org/2001/XInclude" >
 
-       <script language='javascript' src='<!--#echo var="OILS_OPAC_JS_HOST"-->/skin/default/js/container.js'> </script>
+       <script language='javascript' type='text/javascript' src='<!--#echo var="OILS_OPAC_JS_HOST"-->/skin/default/js/container.js'> </script>
 
        <div id='myopac_delete_bookbag_warn' class='hide_me'>
                &myopac.delete.bookbag;
@@ -57,7 +57,7 @@
                        <tr>
                                <td> 
                                        <span style='padding-right: 5px;'>&myopac.bookbag.naming;</span>
-                                       <input id='myopac_bookbag_new_name' type='text'> </input
+                                       <input id='myopac_bookbag_new_name' type='text' /
                                </td>
                        </tr>
                        <tr>
@@ -67,7 +67,7 @@
                                        <span>&common.yes;</span> <input type='radio' name='bb_public' id='bb_public_yes'/>
                                        <span>&common.no;</span> <input type='radio' name='bb_public' id='bb_public_no' checked='checked'/>
                                        <input style='padding-left: 10px;' onclick='myOPACCreateBookbag();' 
-                                               type='submit' value='&common.submit;'> </input>
+                                               type='submit' value='&common.submit;' />
                                </td>
                        </tr>
                </tbody>
index 039a51f..5d00be1 100644 (file)
@@ -2,7 +2,7 @@
 <div id='myopac_checked_div' xmlns:xi="http://www.w3.org/2001/XInclude" >
 
     <!--
-       <script language='javascript' src='<!||#echo var="OILS_JS_BASE"||>/Date.W3CDTF.js'/>
+       <script language='javascript' type='text/javascript' src='<!||#echo var="OILS_JS_BASE"||>/Date.W3CDTF.js'/>
     -->
 
    <table width='100%'><tbody>
index f3e18db..678b2dc 100644 (file)
@@ -1,9 +1,32 @@
 
 <div id='myopac_holds_div' xmlns:xi="http://www.w3.org/2001/XInclude" >
 
-       <script language='javascript' src='<!--#echo var="OILS_OPAC_JS_HOST"-->/skin/default/js/holds.js'> </script>
-
-       <table width='100%' class='light_border data_grid data_grid_center'>
+       <script language='javascript' type='text/javascript' src='<!--#echo var="OILS_OPAC_JS_HOST"-->/skin/default/js/holds.js'> </script>
+
+       <table width='100%'>
+        <tbody><tr><td width='100%' align='right'>
+            <select id='myopac_holds_actions' onchange='myopacDoHoldAction();'>
+                <option id='myopac_holds_actions_none' value=''>-- &myopac.holds.actions; --</option>
+                <option value='freeze'>&myopac.holds.freeze_selected;</option>
+                <option value='thaw'>&myopac.holds.thaw_selected;</option>
+                <option value='thaw_date'>&myopac.holds.thaw_date_selected;</option>
+                <option value='cancel'>&myopac.holds.cancel_selected;</option>
+            </select>
+        </td></tr></tbody>
+        <script language='javascript' type='text/javascript'>$('myopac_holds_actions_none').selected = true;</script>
+    </table>
+
+    <span id='myopac.holds.cancel.confirm' class='hide_me'>&myopac.holds.cancel.confirm;</span>
+    <span id='myopac.holds.freeze.confirm' class='hide_me'>&myopac.holds.freeze.confirm;</span>
+    <span id='myopac.holds.thaw.confirm' class='hide_me'>&myopac.holds.thaw.confirm;</span>
+    <span id='myopac.holds.thaw_date.confirm' class='hide_me'>&myopac.holds.thaw_date.confirm;</span>
+    <span id='myopac.holds.freeze.select_thaw' class='hide_me'>&myopac.holds.freeze.select_thaw;</span>
+
+    <table width='100%' id='myopac_holds_processing' class='hide_me'>
+        <tr><td>&myopac.holds.processing;</td></tr>
+    </table>
+
+       <table width='100%' class='light_border data_grid data_grid_center' id='myopac_holds_main_table'>
 
                <thead class='color_3'>
                        <tr>
                                <td>&myopac.holds.formats;</td>
                                <td>&myopac.holds.location;</td>
                                <td>&common.status;</td>
-                               <td>&myopac.holds.edit.cancel;</td>
+                               <td>&myopac.holds.unfrozen;</td>
+                               <td>&myopac.holds.frozen.until;</td>
+                <td width='15%'>&common.select;
+                    (<a id='myopac_select_all_holds' onclick='myopacSelectAllHolds();' 
+                        class='classic_link' href='javascript:void(0);'>&common.all;</a>/<a id='myopac_select_none_holds' 
+                        onclick='myopacSelectNoneHolds();' class='classic_link'  href='javascript:void(0);'>&common.none;</a>)
+                </td>
+
+                               <td>&myopac.holds.edit;</td>
                        </tr>
                </thead>
 
                                        <span class='hide_me' name='hold_status_available'><b style='color:red'></b></span>
                                </td>
 
+                <td>
+                    <span name='myopac_hold_unfrozen_false' class='x_mark'>&#x2717;</span>
+                    <span name='myopac_hold_unfrozen_true' class='hide_me check_mark'>&#x2713;</span>
+                </td>
+
+                <td name='myopac_holds_frozen_until'></td>
+                <td><input type='checkbox' name='myopac_holds_selected_chkbx'/></td>
+
                                <td name='myopac_holds_cancel' style='border-left: 3px solid #E0E0E0; border-right: 3px solid #E0E0E0;'>
                                        <a href='javascript:void(0);' 
                                                name='myopac_holds_edit_link' class='classic_link'>&myopac.holds.edit;</a>
-                                       <a href='javascript:void(0);' 
-                                               name='myopac_holds_cancel_link' class='classic_link'>&myopac.holds.cancel;</a>
                                </td>
-
                        </tr>
                </tbody>
        </table>
index f360c8e..99ffb88 100644 (file)
@@ -64,7 +64,7 @@
                                                        onclick='
                                                                if( this.checked ) $("prefs_def_location").disabled = true;
                                                                else $("prefs_def_location").disabled = false;
-                                                       '> </input> &myopac.prefs.search.home; 
+                                                       ' /> &myopac.prefs.search.home; 
                                        </div>
                                        <select id='prefs_def_location'>
                                        </select>
index 02235a7..91d77f0 100644 (file)
@@ -67,7 +67,7 @@
                                <td class='myopac_update_cell' colspan='3'>
                                        <span class='myopac_update_span'>&myopac.summary.username.enter; </span>
                                        <input type='text' size='24' id='myopac_new_username'
-                                               onkeydown='if(userPressedEnter(event)) myOPACUpdateUsername();'> </input>
+                                               onkeydown='if(userPressedEnter(event)) myOPACUpdateUsername();' />
                                        <span class='myopac_update_span'>
                                                <button onclick='myOPACUpdateUsername();'>&common.submit;</button>
                                        </span>
                                                <tr>
                                                        <td><span class='myopac_update_span'>&myopac.summary.password.current; </span></td>
                                                        <td><input type='password' size='24' id='myopac_current_password'
-                                                               onkeydown='if(userPressedEnter(event)) myOPACUpdatePassword();'> </input></td>
+                                                               onkeydown='if(userPressedEnter(event)) myOPACUpdatePassword();' /></td>
                                                </tr>
                                                <tr>
                                                        <td><span class='myopac_update_span'>&myopac.summary.password.new; </span></td>
                                                        <td><input type='password' size='24' id='myopac_new_password'
-                                                               onkeydown='if(userPressedEnter(event)) myOPACUpdatePassword();'> </input></td>
+                                                               onkeydown='if(userPressedEnter(event)) myOPACUpdatePassword();' /></td>
                                                </tr>
                                                <tr>
                                                        <td><span class='myopac_update_span'>&myopac.summary.password.reenter; </span></td>
                                                        <td><input type='password' size='24' id='myopac_new_password2'
-                                                               onkeydown='if(userPressedEnter(event)) myOPACUpdatePassword();'> </input></td>
+                                                               onkeydown='if(userPressedEnter(event)) myOPACUpdatePassword();' /></td>
                                                </tr>
                                        </tbody></table>
 
                                <td class='myopac_update_cell' colspan='3'>
                                        <span class='myopac_update_span'>&myopac.summary.email.new; </span>
                                        <input type='text' size='24' id='myopac_new_email'
-                                               onkeydown='if(userPressedEnter(event)) myOPACUpdateEmail();'> </input>
+                                               onkeydown='if(userPressedEnter(event)) myOPACUpdateEmail();' />
                                        <span class='myopac_update_span'>
                                                <button onclick='myOPACUpdateEmail();'>&common.submit;</button>
                                        </span>
index 2bcefed..0218dfb 100644 (file)
@@ -1,6 +1,6 @@
 <div id='canvas_main' class='canvas' style='margin-top: 20px;'>
 
-       <script language='javascript' src='<!--#echo var="OILS_OPAC_JS_HOST"-->/skin/default/js/advanced.js'> </script>
+       <script language='javascript' type='text/javascript' src='<!--#echo var="OILS_OPAC_JS_HOST"-->/skin/default/js/advanced.js'></script>
 
        <style type='text/css'>
                .advanced_div { text-align: center; margin: 8px; margin-left: 2px; width: 95%; padding: 5px; }
index e046709..cc2c4a4 100644 (file)
@@ -1,5 +1,5 @@
 <div id='canvas_main' class='canvas' style='margin-top: 20px;'>
-       <script language='javascript' src='<!--#echo var="OILS_OPAC_JS_HOST"-->/skin/default/js/cn_browse.js'> </script>
+       <script language='javascript' type='text/javascript' src='<!--#echo var="OILS_OPAC_JS_HOST"-->/skin/default/js/cn_browse.js'></script>
        <!--#include virtual="common/cn_browse.xml"-->
 </div>
 
index 335c101..b507d42 100644 (file)
@@ -1,9 +1,9 @@
 <div>
-       <script language='javascript' src='<!--#echo var="OILS_OPAC_JS_HOST"-->/skin/default/js/sidebar_extras.js'> </script>
-       <script language='javascript' src='<!--#echo var="OILS_OPAC_JS_HOST"-->/skin/default/js/mresult.js'> </script>
-       <script language='javascript' src='<!--#echo var="OILS_OPAC_JS_HOST"-->/skin/default/js/result_common.js'> </script>
-       <script language='javascript' src='<!--#echo var="OILS_OPAC_JS_HOST"-->/skin/default/js/tips.js'> </script>
-       <script language='javascript' src='<!--#echo var="OILS_OPAC_JS_HOST"-->/skin/default/js/holds.js'> </script>   
+       <script language='javascript' type='text/javascript' src='<!--#echo var="OILS_OPAC_JS_HOST"-->/skin/default/js/sidebar_extras.js'></script>
+       <script language='javascript' type='text/javascript' src='<!--#echo var="OILS_OPAC_JS_HOST"-->/skin/default/js/mresult.js'></script>
+       <script language='javascript' type='text/javascript' src='<!--#echo var="OILS_OPAC_JS_HOST"-->/skin/default/js/result_common.js'></script>
+       <script language='javascript' type='text/javascript' src='<!--#echo var="OILS_OPAC_JS_HOST"-->/skin/default/js/tips.js'></script>
+       <script language='javascript' type='text/javascript' src='<!--#echo var="OILS_OPAC_JS_HOST"-->/skin/default/js/holds.js'></script>   
        <!--#include virtual="result/result_common.xml"-->
 </div>
 
index b004f32..369664c 100644 (file)
@@ -1,12 +1,12 @@
 <div id='canvas_main' class='canvas hide_me'>
 
-       <script language='javascript' src='<!--#echo var="OILS_OPAC_JS_HOST"-->/skin/default/js/myopac.js'> </script>
-    <script language='javascript' src='<!--#echo var="OILS_OPAC_JS_HOST"-->/common/js/DP_DateExtensions.js'/>
+       <script language='javascript' type='text/javascript' src='<!--#echo var="OILS_OPAC_JS_HOST"-->/skin/default/js/myopac.js'></script>
+    <script language='javascript' type='text/javascript' src='<!--#echo var="OILS_OPAC_JS_HOST"-->/common/js/DP_DateExtensions.js'></script>
 
-       <script> config.ids.altcanvas.myopac_reload = 'myopac_reloading'; </script>
+       <script language='javascript' type='text/javascript'> config.ids.altcanvas.myopac_reload = 'myopac_reloading'; </script>
        <div id='myopac_reloading' class='hide_me canvas'> &common.loading; </div>
 
-       <script language='javascript'>
+       <script language='javascript' type='text/javascript'>
                config.ids.myopac = {};
                config.css.myopac = {};
                config.names.myopac = {};
index f4dc87c..3a36274 100644 (file)
@@ -1,14 +1,14 @@
 <div id='canvas_main' class='canvas'>
 
-       <script language='javascript' src='<!--#echo var="OILS_OPAC_JS_HOST"-->/skin/default/js/sidebar_extras.js'> </script>
-       <script language='javascript' src='<!--#echo var="OILS_OPAC_JS_HOST"-->/skin/default/js/result_common.js'> </script>
-       <script language='javascript' src='<!--#echo var="OILS_OPAC_JS_HOST"-->/skin/default/js/rresult.js'> </script>
-       <script language='javascript' src='<!--#echo var="OILS_OPAC_JS_HOST"-->/skin/default/js/rdetail.js'> </script>
-       <script language='javascript' src='<!--#echo var="OILS_OPAC_JS_HOST"-->/skin/default/js/holds.js'> </script>
-       <script language='javascript' src='<!--#echo var="OILS_OPAC_JS_HOST"-->/skin/default/js/cn_browse.js'> </script>
-       <script language='javascript' src='<!--#echo var="OILS_OPAC_JS_HOST"-->/skin/default/js/container.js'> </script>
+       <script language='javascript' type='text/javascript' src='<!--#echo var="OILS_OPAC_JS_HOST"-->/skin/default/js/sidebar_extras.js'></script>
+       <script language='javascript' type='text/javascript' src='<!--#echo var="OILS_OPAC_JS_HOST"-->/skin/default/js/result_common.js'></script>
+       <script language='javascript' type='text/javascript' src='<!--#echo var="OILS_OPAC_JS_HOST"-->/skin/default/js/rresult.js'></script>
+       <script language='javascript' type='text/javascript' src='<!--#echo var="OILS_OPAC_JS_HOST"-->/skin/default/js/rdetail.js'></script>
+       <script language='javascript' type='text/javascript' src='<!--#echo var="OILS_OPAC_JS_HOST"-->/skin/default/js/holds.js'></script>
+       <script language='javascript' type='text/javascript' src='<!--#echo var="OILS_OPAC_JS_HOST"-->/skin/default/js/cn_browse.js'></script>
+       <script language='javascript' type='text/javascript' src='<!--#echo var="OILS_OPAC_JS_HOST"-->/skin/default/js/container.js'></script>
 
-       <script language='javascript'>
+       <script language='javascript' type='text/javascript'>
                config.ids.rdetail = {};
                config.ids.rdetail.view_marc = "rdetail_view_marc";
        </script>
index 85b475f..2d0f2f6 100644 (file)
@@ -1,9 +1,9 @@
 <div>
-       <script language='javascript' src='<!--#echo var="OILS_OPAC_JS_HOST"-->/skin/default/js/sidebar_extras.js'> </script>
-       <script language='javascript' src='<!--#echo var="OILS_OPAC_JS_HOST"-->/skin/default/js/rresult.js'> </script>
-       <script language='javascript' src='<!--#echo var="OILS_OPAC_JS_HOST"-->/skin/default/js/result_common.js'> </script>
-       <script language='javascript' src='<!--#echo var="OILS_OPAC_JS_HOST"-->/skin/default/js/tips.js'> </script>
-       <script language='javascript' src='<!--#echo var="OILS_OPAC_JS_HOST"-->/skin/default/js/holds.js'> </script>   
+       <script language='javascript' type='text/javascript' src='<!--#echo var="OILS_OPAC_JS_HOST"-->/skin/default/js/sidebar_extras.js'></script>
+       <script language='javascript' type='text/javascript' src='<!--#echo var="OILS_OPAC_JS_HOST"-->/skin/default/js/rresult.js'></script>
+       <script language='javascript' type='text/javascript' src='<!--#echo var="OILS_OPAC_JS_HOST"-->/skin/default/js/result_common.js'></script>
+       <script language='javascript' type='text/javascript' src='<!--#echo var="OILS_OPAC_JS_HOST"-->/skin/default/js/tips.js'></script>
+       <script language='javascript' type='text/javascript' src='<!--#echo var="OILS_OPAC_JS_HOST"-->/skin/default/js/holds.js'></script>   
        <!--#include virtual="result/result_common.xml"-->
 </div>
 
index 79babf8..ff17d17 100644 (file)
@@ -3,7 +3,7 @@
 <div class=''>
 
        <!--
-       <script language='javascript'>
+       <script language='javascript' type='text/javascript'>
                config.ids.rdetail.view_marc_div = 'view_marc_div';
                config.ids.altcanvas.view_marc_div = config.ids.rdetail.view_marc_div; 
                config.ids.rdetail.hide_marc = "rdetail_hide_marc";
index c34411d..0da7af9 100644 (file)
@@ -1,6 +1,6 @@
 <table class='hide_me'>
-       <script language='javascript' src='<!--#echo var="OILS_OPAC_JS_HOST"-->/skin/default/js/copy_details.js'> </script>
-       <script language='javascript' src='<!--#echo var="OILS_OPAC_JS_HOST"-->/common/js/Date.W3CDTF.js'>  </script>
+       <script language='javascript' type='text/javascript' src='<!--#echo var="OILS_OPAC_JS_HOST"-->/skin/default/js/copy_details.js'></script>
+       <script language='javascript' type='text/javascript' src='<!--#echo var="OILS_OPAC_JS_HOST"-->/common/js/Date.W3CDTF.js'></script>
        <tbody>
                <tr style='border: 3px solid #E0E0E0;' id='rdetail_volume_details_row' templateRow='1'>
                        <td colspan='10'>
index 6716f0e..9edc825 100644 (file)
@@ -73,7 +73,7 @@
 
        <div id='rdetail_copy_info_none' class='hide_me'>&rdetail.noneAvailable;</div>
 
-       <script language='javascript'>
+       <script language='javascript' type='text/javascript'>
                config.ids.rdetail.cp_status                    = "rdetail_copy_info_status";
                config.ids.rdetail.cp_info_row          = "rdetail_copy_info_row";
                config.ids.rdetail.cp_info_loading      = "rdetail_copy_info_loading";
index 9a41172..5b31d6e 100644 (file)
@@ -4,13 +4,20 @@
        <table id='rdetail_details_table'>
                <tbody id='rdetail_details_tbody'>
 
-
-
                        <tr>
                                <td id='rdetail_image_cell' rowspan='10'>
                                        <a id='rdetail_img_link'>
-                                               <img style='border: none;' id='rdetail_image'> </img>
+                                               <img style='border: none;' id='rdetail_image' 
+                            onerror='
+                                hideMe($("rdetail.jacket_attrib_div"));
+                                hideMe($("rdetail_img_link"));'/>
                                        </a>
+                    <!-- vendor attribution link -->
+                    <div class='jacket_attrib hide_me' id='rdetail.jacket_attrib_div'>
+                        <div>&opac.image_provided;</div>
+                        <div><a target='_blank' href='&vendor.base_link;' 
+                            class='classic_link' id='rdetail.jacket_attrib_link'>&vendor.name;</a></div>
+                    </div>
                                </td>
                                <td nowrap='nowrap' class='rdetail_desc'>&common.title;</td>            
                                <td class='rdetail_item' id='rdetail_title'> </td>
@@ -52,7 +59,7 @@
                        <tr>
                                <td nowrap='nowrap' class='rdetail_desc'>&common.format;</td>                   
                                <td class='rdetail_item'>
-                                       <img id='rdetail_tor_pic' class='tor_pic'> </img>
+                                       <img id='rdetail_tor_pic' class='tor_pic' />
                                        <span id='rdetail_tor' style='padding-left: 5px;'> </span>
                                </td>
                        </tr>
                </tbody>
        </table>
 
-       <script language='javascript'>
+       <!-- Empty span used for creating unAPI links -->
+       <abbr name="unapi" class="unapi-id">
+               <!-- unAPI URI goes here -->
+       </abbr>
+
+       <script language='javascript' type='text/javascript'>
                config.ids.rdetail.details_body         = 'rdetail_details_body'; 
                config.ids.rdetail.title                                = 'rdetail_title';
                config.ids.rdetail.author                               = 'rdetail_author';
diff --git a/Open-ILS/web/opac/skin/default/xml/result/filtersort.xml b/Open-ILS/web/opac/skin/default/xml/result/filtersort.xml
new file mode 100644 (file)
index 0000000..6177b52
--- /dev/null
@@ -0,0 +1,20 @@
+<span>
+    &result.limit2avail;<input type='checkbox' id='opac.result.limit2avail' onclick='searchBarSubmit();'/>
+    <select id='opac.result.sort' onchange='searchBarSubmit();'>
+        <option selected='selected' value=''>&result.sort_by;</option>
+        <optgroup label='&result.sort_by.title;'>
+            <option id='opac.result.title.a2z' label='&common.a2z.titla;' value='title.asc'>&common.a2z.title;</option>
+            <option id='opac.result.title.z2a' label='&common.z2a.titla;' value='title.desc'>&common.z2a.title;</option>
+        </optgroup>
+        <optgroup label='&result.sort_by.author;'>
+            <option id='opac.result.author.a2z' label='&common.a2z.author;' value='author.asc'>&common.a2z.author;</option>
+            <option id='opac.result.author.z2a' label='&common.z2a.author;' value='author.desc'>&common.z2a.author;</option>
+        </optgroup>
+        <optgroup label='&result.sort_by.pubdate;'>
+            <option id='opac.result.pubdate.new2old' label='&common.new2old.pubdate;' 
+                value='pubdate.desc'>&common.new2old.pubdate;</option>
+            <option id='opac.result.pubdate.old2new' label='&common.old2new.pubdate;' 
+                value='pubdate.asc'>&common.old2new.pubdate;</option>
+        </optgroup>
+    </select>
+</span>
index e1ac2e2..86848ab 100644 (file)
@@ -1,7 +1,7 @@
 
 <div id='canvas_main' class='canvas' xmlns:xi="http://www.w3.org/2001/XInclude" >
 
-       <script language='javascript'>
+       <script language='javascript' type='text/javascript'>
                config.ids.result = {};
                config.css.result = {};
                config.names.result = {};
index 24c5219..fd1201e 100644 (file)
                                                style='padding-left: 40px;' >
                                        <a class='search_page_nav_link' id='search_home_link' 
                                                title="&rdetail.page.results;">&rdetail.start;</a><a class='search_page_nav_link' 
-                                                       id='prev_link' title='&rdetail.page.previous;'>&lt;&lt;</a>
+                                                       id='prev_link' title='&rdetail.page.previous;'>&#171;</a>
 
                                        <span class='search_page_nav_link' id='page_numbers'> </span>
 
                                        <a  class='search_page_nav_link' id='next_link' 
-                                               title='&rdetail.page.next;'>&gt;&gt;</a><a class='search_page_nav_link' 
+                                               title='&rdetail.page.next;'>&#187;</a><a class='search_page_nav_link' 
                                                        id='end_link' title="&rdetail.page.last;">&rdetail.end;</a>
                                </span>
 
index 4e91797..cd1137b 100644 (file)
@@ -6,8 +6,10 @@
 
                <!-- for some reason, this is the only way i can force the cell widths -->
                <thead id='result_thead'>
-                       <td class='result_table_pic_header'></td>
-                       <td> </td>
+                       <tr>
+                               <td class='result_table_pic_header'></td>
+                               <td> </td>
+                       </tr>
                </thead>
 
                <tbody id='result_table'>
                                                                        <a title="&result.table.keyword;" name='item_title' class='search_link'> 
                                                                                <!-- Title goes here -->
                                                                        </a>
-                                                                       <!-- Empty span used for creating unAPI links -->
-                                                                       <abbr name="unapi" class="unapi-id">
-                                                                               <!-- unAPI URI goes here -->
-                                                                       </abbr>
                                                                </td>
 
                                                                <!-- Copy this td for each copy count appended -->
                                                                <td name='result_table_format_cell' class='result_table_format_cell'>
 
                                                                        <a name='text_link' class='search_link'> 
-                                                                               <img src='../../../../images/tor/text.jpg' class='dim tor_pic'> </img>
+                                                                               <img src='../../../../images/tor/text.jpg' class='dim tor_pic' />
                                                                        </a>
 
                                                                        <a name='sound recording-nonmusical_link' class='search_link'> 
-                                                                               <img src='../../../../images/tor/sound recording-nonmusical.jpg' class='dim tor_pic'> </img>
+                                                                               <img src='../../../../images/tor/sound recording-nonmusical.jpg' class='dim tor_pic' />
                                                                        </a>
 
                                                                        <a name='moving image_link' class='search_link'> 
-                                                                               <img src='../../../../images/tor/moving image.jpg' class='dim tor_pic'> </img>
+                                                                               <img src='../../../../images/tor/moving image.jpg' class='dim tor_pic' />
                                                                        </a>
 
                                                                        <a name='software, multimedia_link' class='search_link'> 
-                                                                               <img src='../../../../images/tor/software, multimedia.jpg' class='dim tor_pic'> </img>
+                                                                               <img src='../../../../images/tor/software, multimedia.jpg' class='dim tor_pic' />
                                                                        </a>
 
                                                                        <a name='sound recording-musical_link' class='search_link'> 
-                                                                               <img src='../../../../images/tor/sound recording-musical.jpg' class='dim tor_pic'> </img>
+                                                                               <img src='../../../../images/tor/sound recording-musical.jpg' class='dim tor_pic' />
                                                                        </a>
 
                                                                        <a name='cartographic_link' class='search_link'> 
-                                                                               <img src='../../../../images/tor/cartographic.jpg' class='dim tor_pic'> </img>
+                                                                               <img src='../../../../images/tor/cartographic.jpg' class='dim tor_pic' />
                                                                        </a>
 
                                                                        <a name='mixed material_link' class='search_link'> 
-                                                                               <img src='../../../../images/tor/mixed material.jpg' class='dim tor_pic'> </img>
+                                                                               <img src='../../../../images/tor/mixed material.jpg' class='dim tor_pic' />
                                                                        </a>
 
                                                                        <a name='notated music_link' class='search_link'> 
-                                                                               <img src='../../../../images/tor/notated music.jpg' class='dim tor_pic'> </img>
+                                                                               <img src='../../../../images/tor/notated music.jpg' class='dim tor_pic' />
                                                                        </a>
 
                                                                        <a name='sound recording_link' class='search_link'> 
-                                                                               <img src='../../../../images/tor/sound recording.jpg' class='dim tor_pic'> </img>
+                                                                               <img src='../../../../images/tor/sound recording.jpg' class='dim tor_pic' />
                                                                        </a>
 
                                                                        <a name='still image_link' class='search_link'> 
-                                                                               <img src='../../../../images/tor/still images.jpg' class='dim tor_pic'> </img>
+                                                                               <img src='../../../../images/tor/still images.jpg' class='dim tor_pic' />
                                                                        </a>
 
                                                                        <a name='three dimensional object_link' class='search_link'> 
-                                                                               <img src='../../../../images/tor/three dimensional object.jpg' class='dim tor_pic'> </img>
+                                                                               <img src='../../../../images/tor/three dimensional object.jpg' class='dim tor_pic' />
                                                                        </a>
 
                                                                        <span class='hide_me' 
                                                                        </span>
 
                                                                        <span class='hide_me' name='place_hold_span'>
-                                                                               <a style='padding-left: 8px;' href='javascript:void(0);' 
+                                                                               <a style='padding-left: 8px; padding-right: 10px;' href='javascript:void(0);' 
                                                                                        class='classic_link' name='place_hold_link'>&opac.holds.placeHold;</a>
                                                                        </span>
 
+                                                                       <!-- Empty span used for creating unAPI links -->
+                                                                       <abbr name="unapi" class="unapi-id">
+                                                                               <!-- unAPI URI goes here -->
+                                                                       </abbr>
+
                                                                </td>
                                                        </tr>
 
                       style='padding-left: 40px;' >
                    <a class='search_page_nav_link' id='search_home_link2' 
                       title="&rdetail.page.results;">&rdetail.start;</a><a class='search_page_nav_link' 
-                      id='prev_link2' title='&rdetail.page.previous;'>&lt;&lt;</a>
+                      id='prev_link2' title='&rdetail.page.previous;'>&#171;</a>
             
                    <span class='search_page_nav_link' id='page_numbers2'> </span>
                       <a  class='search_page_nav_link' id='next_link2' 
-                         title='&rdetail.page.next;'>&gt;&gt;</a><a class='search_page_nav_link' 
+                         title='&rdetail.page.next;'>&#187;</a><a class='search_page_nav_link' 
                          id='end_link2' title="&rdetail.page.last;">&rdetail.end;</a>
                    </span>
                         
    <!-- ====================== -->
 
 
-       <script language='javascript'>
+       <script language='javascript' type='text/javascript'>
                config.names.result.format_cell = 'result_table_format_cell';
                config.names.result.format_link = 'resource_link'
                config.names.result.format_pic = 'format_pic'
index 68162fc..9c62201 100644 (file)
@@ -90,5 +90,6 @@ a:focus { background: #E0F0E0; color: #000000;}
 
 
 
-
+.x_mark { color: red; }
+.check_mark { color: green; }