[open-ils-commits] SPAM: r8110 - in branches/rel_1_2/Open-ILS/web/opac: common/js locale/en-US skin/default/css skin/default/js skin/default/xml skin/default/xml/advanced skin/default/xml/common skin/default/xml/home skin/default/xml/myopac skin/default/xml/rdetail skin/default/xml/result theme/default/css

svn at svn.open-ils.org svn at svn.open-ils.org
Wed Nov 21 13:25:55 EST 2007


Author: erickson
Date: 2007-11-21 13:08:13 -0500 (Wed, 21 Nov 2007)
New Revision: 8110

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


Backporting:
    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




Modified: branches/rel_1_2/Open-ILS/web/opac/common/js/config.js
===================================================================
--- branches/rel_1_2/Open-ILS/web/opac/common/js/config.js	2007-11-21 16:41:22 UTC (rev 8109)
+++ branches/rel_1_2/Open-ILS/web/opac/common/js/config.js	2007-11-21 18:08:13 UTC (rev 8110)
@@ -35,6 +35,7 @@
 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 LANGUAGE;
 var TFORM;
 var RDEPTH;
+var AVAIL;
 
 /* cookie values */
 var SBEXTRAS; 
@@ -80,6 +82,7 @@
 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_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 @@
 
 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";

Modified: branches/rel_1_2/Open-ILS/web/opac/common/js/opac_utils.js
===================================================================
--- branches/rel_1_2/Open-ILS/web/opac/common/js/opac_utils.js	2007-11-21 16:41:22 UTC (rev 8109)
+++ branches/rel_1_2/Open-ILS/web/opac/common/js/opac_utils.js	2007-11-21 18:08:13 UTC (rev 8110)
@@ -153,42 +153,45 @@
 	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 @@
 	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 getSearches() { return SEARCHES; }
 function getLanguage() { return LANGUAGE; }
 function getRdepth() { return RDEPTH; }
+function getAvail() { return AVAIL; }
 
 
 function findBasePath() {
@@ -377,6 +385,8 @@
 		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 @@
 	cookieManager.remove(COOKIE_RIDS);
 	cookieManager.remove(COOKIE_SES);
 	cookieManager.remove(COOKIE_SKIN);
+	cookieManager.remove(COOKIE_SEARCH);
 
 	checkUserSkin("default");
 	COUNT = 10;

Modified: branches/rel_1_2/Open-ILS/web/opac/common/js/utils.js
===================================================================
--- branches/rel_1_2/Open-ILS/web/opac/common/js/utils.js	2007-11-21 16:41:22 UTC (rev 8109)
+++ branches/rel_1_2/Open-ILS/web/opac/common/js/utils.js	2007-11-21 18:08:13 UTC (rev 8110)
@@ -681,4 +681,24 @@
 }
 
 
+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;
+}

Modified: branches/rel_1_2/Open-ILS/web/opac/locale/en-US/lang.dtd
===================================================================
--- branches/rel_1_2/Open-ILS/web/opac/locale/en-US/lang.dtd	2007-11-21 16:41:22 UTC (rev 8109)
+++ branches/rel_1_2/Open-ILS/web/opac/locale/en-US/lang.dtd	2007-11-21 18:08:13 UTC (rev 8110)
@@ -232,6 +232,8 @@
 <!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">

Modified: branches/rel_1_2/Open-ILS/web/opac/locale/en-US/opac.dtd
===================================================================
--- branches/rel_1_2/Open-ILS/web/opac/locale/en-US/opac.dtd	2007-11-21 16:41:22 UTC (rev 8109)
+++ branches/rel_1_2/Open-ILS/web/opac/locale/en-US/opac.dtd	2007-11-21 18:08:13 UTC (rev 8110)
@@ -59,6 +59,12 @@
 	"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 @@
 	================================================================= -->
 <!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,7 +209,25 @@
 <!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 @@
 <!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 @@
 <!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 @@
 <!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 @@
 <!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/">

Modified: branches/rel_1_2/Open-ILS/web/opac/skin/default/css/layout.css
===================================================================
--- branches/rel_1_2/Open-ILS/web/opac/skin/default/css/layout.css	2007-11-21 16:41:22 UTC (rev 8109)
+++ branches/rel_1_2/Open-ILS/web/opac/skin/default/css/layout.css	2007-11-21 18:08:13 UTC (rev 8110)
@@ -82,6 +82,7 @@
 #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 @@
 
 .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; }
+
+

Modified: branches/rel_1_2/Open-ILS/web/opac/skin/default/js/adv_global.js
===================================================================
--- branches/rel_1_2/Open-ILS/web/opac/skin/default/js/adv_global.js	2007-11-21 16:41:22 UTC (rev 8109)
+++ branches/rel_1_2/Open-ILS/web/opac/skin/default/js/adv_global.js	2007-11-21 18:08:13 UTC (rev 8110)
@@ -33,8 +33,52 @@
 	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() {
 	var tbody = $("adv_global_tbody");
 	var newrow = $("adv_global_trow").cloneNode(true);
@@ -94,6 +138,7 @@
 	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 @@
 	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 advBuildSearchBlob() {
 
-	var searches;
+	var searches = '';
 	var tbody    = $('adv_global_tbody');
 	var rows     = tbody.getElementsByTagName('tr');
 
@@ -150,14 +196,6 @@
 		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 @@
 		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;
 }
 

Modified: branches/rel_1_2/Open-ILS/web/opac/skin/default/js/advanced.js
===================================================================
--- branches/rel_1_2/Open-ILS/web/opac/skin/default/js/advanced.js	2007-11-21 16:41:22 UTC (rev 8109)
+++ branches/rel_1_2/Open-ILS/web/opac/skin/default/js/advanced.js	2007-11-21 18:08:13 UTC (rev 8110)
@@ -5,7 +5,6 @@
 function advInit() { 
 
 	/* propogate these? */
-	clearSearchParams();
 
 	depthSelInit(); 
 	setEnterFunc( $n( $('advanced.marc.tbody'), 'advanced.marc.value'), advMARCRun );
@@ -34,6 +33,8 @@
 
 function advMARCRun() {
 
+	clearSearchParams();
+
 	var div = $('adv_marc_search_sidebar');
 	var tbodies = div.getElementsByTagName('tbody');
 	var searches = [];
@@ -77,6 +78,7 @@
 }
 
 function advGenericSearch() {
+	clearSearchParams();
 	var type = getSelectorVal($('adv_quick_type'));
 	
 	var term = $('adv_quick_text').value;

Modified: branches/rel_1_2/Open-ILS/web/opac/skin/default/js/holds.js
===================================================================
--- branches/rel_1_2/Open-ILS/web/opac/skin/default/js/holds.js	2007-11-21 16:41:22 UTC (rev 8109)
+++ branches/rel_1_2/Open-ILS/web/opac/skin/default/js/holds.js	2007-11-21 18:08:13 UTC (rev 8110)
@@ -91,12 +91,19 @@
 	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 @@
 	} 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 @@
 	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) { 

Modified: branches/rel_1_2/Open-ILS/web/opac/skin/default/js/mresult.js
===================================================================
--- branches/rel_1_2/Open-ILS/web/opac/skin/default/js/mresult.js	2007-11-21 16:41:22 UTC (rev 8109)
+++ branches/rel_1_2/Open-ILS/web/opac/skin/default/js/mresult.js	2007-11-21 18:08:13 UTC (rev 8110)
@@ -37,11 +37,11 @@
 }
 
 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 @@
 		if( getOffset() == 0 ) HITCOUNT = res.count;
 		runEvt('result', 'hitCountReceived');
 	} 
+    cookieManager.write(COOKIE_SEARCH, js2JSON(res.compiled_search), -1);
 	runEvt('result', 'idsReceived', res.ids);
 }
 

Modified: branches/rel_1_2/Open-ILS/web/opac/skin/default/js/myopac.js
===================================================================
--- branches/rel_1_2/Open-ILS/web/opac/skin/default/js/myopac.js	2007-11-21 16:41:22 UTC (rev 8109)
+++ branches/rel_1_2/Open-ILS/web/opac/skin/default/js/myopac.js	2007-11-21 18:08:13 UTC (rev 8110)
@@ -6,6 +6,7 @@
 var fleshedUser = null;
 var fleshedContainers = {};
 var holdCache = {};
+var holdStatusCache = {};
 
 
 function clearNodes( node, keepArray ) {
@@ -294,14 +295,18 @@
 	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 @@
 
 		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 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 @@
 
 	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 @@
 		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 @@
     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();
+    }
+}
+

Modified: branches/rel_1_2/Open-ILS/web/opac/skin/default/js/rdetail.js
===================================================================
--- branches/rel_1_2/Open-ILS/web/opac/skin/default/js/rdetail.js	2007-11-21 16:41:22 UTC (rev 8109)
+++ branches/rel_1_2/Open-ILS/web/opac/skin/default/js/rdetail.js	2007-11-21 18:08:13 UTC (rev 8110)
@@ -184,11 +184,27 @@
 	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();
 	for( var i = 0; links && links.length > 0 && i < links.length; i++ ) {
@@ -203,7 +219,6 @@
 	}
 
 
-
 	$('rdetail_place_hold').setAttribute(
 		'href','javascript:holdsDrawEditor({record:"'+record.doc_id()+'",type:"T"});');
 

Modified: branches/rel_1_2/Open-ILS/web/opac/skin/default/js/result_common.js
===================================================================
--- branches/rel_1_2/Open-ILS/web/opac/skin/default/js/result_common.js	2007-11-21 16:41:22 UTC (rev 8109)
+++ branches/rel_1_2/Open-ILS/web/opac/skin/default/js/result_common.js	2007-11-21 18:08:13 UTC (rev 8110)
@@ -42,21 +42,11 @@
 	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 @@
 	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 @@
 	sreq.callback(resultSuggestSpelling);
 	sreq.send();
 
+    /* XXX patch to use the search results */
+
 	var words = getTerm().split(' ');
 	var word;
 	while( word = words.shift() ) {

Modified: branches/rel_1_2/Open-ILS/web/opac/skin/default/js/rresult.js
===================================================================
--- branches/rel_1_2/Open-ILS/web/opac/skin/default/js/rresult.js	2007-11-21 16:41:22 UTC (rev 8109)
+++ branches/rel_1_2/Open-ILS/web/opac/skin/default/js/rresult.js	2007-11-21 18:08:13 UTC (rev 8110)
@@ -27,35 +27,9 @@
 	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 @@
 	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 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 @@
 		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 );
 }
 

Modified: branches/rel_1_2/Open-ILS/web/opac/skin/default/js/search_bar.js
===================================================================
--- branches/rel_1_2/Open-ILS/web/opac/skin/default/js/search_bar.js	2007-11-21 16:41:22 UTC (rev 8109)
+++ branches/rel_1_2/Open-ILS/web/opac/skin/default/js/search_bar.js	2007-11-21 18:08:13 UTC (rev 8110)
@@ -41,6 +41,11 @@
 		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 @@
 	var d	= (newSearchDepth != null) ?  newSearchDepth : depthSelGetDepth();
 	if(isNaN(d)) d = 0;
 
-	//text = text.replace(/'/,'');
-
 	var args = {};
 
 	if(SHOW_MR_DEFAULT) {
@@ -70,6 +73,14 @@
 	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));
 }
 

Modified: branches/rel_1_2/Open-ILS/web/opac/skin/default/xml/advanced/adv_global_row.xml
===================================================================
--- branches/rel_1_2/Open-ILS/web/opac/skin/default/xml/advanced/adv_global_row.xml	2007-11-21 16:41:22 UTC (rev 8109)
+++ branches/rel_1_2/Open-ILS/web/opac/skin/default/xml/advanced/adv_global_row.xml	2007-11-21 18:08:13 UTC (rev 8110)
@@ -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 

Modified: branches/rel_1_2/Open-ILS/web/opac/skin/default/xml/advanced/advanced_global.xml
===================================================================
--- branches/rel_1_2/Open-ILS/web/opac/skin/default/xml/advanced/advanced_global.xml	2007-11-21 16:41:22 UTC (rev 8109)
+++ branches/rel_1_2/Open-ILS/web/opac/skin/default/xml/advanced/advanced_global.xml	2007-11-21 18:08:13 UTC (rev 8110)
@@ -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>
 
@@ -46,39 +46,18 @@
 
 		<td rowspan='2'>
 
-			<!--
-			<table width='100%' style='margin-bottom: 3px;'>
+			<table width='100%'>
 				<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%'>
-				<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>
@@ -103,10 +82,10 @@
 								'>&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>
@@ -135,10 +114,10 @@
 								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>	
@@ -153,7 +132,7 @@
 						</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>
@@ -181,9 +160,9 @@
 						</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>
@@ -198,20 +177,6 @@
 	<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%'>
@@ -227,7 +192,7 @@
 							<tbody>
 								<tr>
 
-                           <script>
+                           <script language='javascript' type='text/javascript'>
                               function __setsortsel() {
                                  var sel = $('adv_global_sort_by')
 										   if(sel.selectedIndex == 0) {
@@ -263,7 +228,7 @@
 									</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"-->
@@ -271,13 +236,14 @@
 
 								</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>

Modified: branches/rel_1_2/Open-ILS/web/opac/skin/default/xml/advanced/advanced_marc.xml
===================================================================
--- branches/rel_1_2/Open-ILS/web/opac/skin/default/xml/advanced/advanced_marc.xml	2007-11-21 16:41:22 UTC (rev 8109)
+++ branches/rel_1_2/Open-ILS/web/opac/skin/default/xml/advanced/advanced_marc.xml	2007-11-21 18:08:13 UTC (rev 8110)
@@ -12,15 +12,15 @@
 		<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 @@
 					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>

Modified: branches/rel_1_2/Open-ILS/web/opac/skin/default/xml/advanced/advanced_quick.xml
===================================================================
--- branches/rel_1_2/Open-ILS/web/opac/skin/default/xml/advanced/advanced_quick.xml	2007-11-21 16:41:22 UTC (rev 8109)
+++ branches/rel_1_2/Open-ILS/web/opac/skin/default/xml/advanced/advanced_quick.xml	2007-11-21 18:08:13 UTC (rev 8110)
@@ -12,18 +12,18 @@
 		<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>

Modified: branches/rel_1_2/Open-ILS/web/opac/skin/default/xml/body.xml
===================================================================
--- branches/rel_1_2/Open-ILS/web/opac/skin/default/xml/body.xml	2007-11-21 16:41:22 UTC (rev 8109)
+++ branches/rel_1_2/Open-ILS/web/opac/skin/default/xml/body.xml	2007-11-21 18:08:13 UTC (rev 8110)
@@ -29,7 +29,5 @@
 			</tr>
 		</tbody>
 	</table>
-	<center>
 		<!--#include virtual='footer.xml'-->
-	</center>
 </body>

Modified: branches/rel_1_2/Open-ILS/web/opac/skin/default/xml/common/altcanvas.xml
===================================================================
--- branches/rel_1_2/Open-ILS/web/opac/skin/default/xml/common/altcanvas.xml	2007-11-21 16:41:22 UTC (rev 8109)
+++ branches/rel_1_2/Open-ILS/web/opac/skin/default/xml/common/altcanvas.xml	2007-11-21 18:08:13 UTC (rev 8110)
@@ -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>
 

Modified: branches/rel_1_2/Open-ILS/web/opac/skin/default/xml/common/cn_browse.xml
===================================================================
--- branches/rel_1_2/Open-ILS/web/opac/skin/default/xml/common/cn_browse.xml	2007-11-21 16:41:22 UTC (rev 8109)
+++ branches/rel_1_2/Open-ILS/web/opac/skin/default/xml/common/cn_browse.xml	2007-11-21 18:08:13 UTC (rev 8110)
@@ -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>

Modified: branches/rel_1_2/Open-ILS/web/opac/skin/default/xml/common/css_common.xml
===================================================================
--- branches/rel_1_2/Open-ILS/web/opac/skin/default/xml/common/css_common.xml	2007-11-21 16:41:22 UTC (rev 8109)
+++ branches/rel_1_2/Open-ILS/web/opac/skin/default/xml/common/css_common.xml	2007-11-21 18:08:13 UTC (rev 8110)
@@ -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" />
 

Modified: branches/rel_1_2/Open-ILS/web/opac/skin/default/xml/common/holds.xml
===================================================================
--- branches/rel_1_2/Open-ILS/web/opac/skin/default/xml/common/holds.xml	2007-11-21 16:41:22 UTC (rev 8109)
+++ branches/rel_1_2/Open-ILS/web/opac/skin/default/xml/common/holds.xml	2007-11-21 18:08:13 UTC (rev 8110)
@@ -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;'>
@@ -6,12 +11,12 @@
 				<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>
@@ -122,6 +127,51 @@
 					</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;'>
@@ -143,7 +193,7 @@
 					</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>

Modified: branches/rel_1_2/Open-ILS/web/opac/skin/default/xml/common/js_common.xml
===================================================================
--- branches/rel_1_2/Open-ILS/web/opac/skin/default/xml/common/js_common.xml	2007-11-21 16:41:22 UTC (rev 8109)
+++ branches/rel_1_2/Open-ILS/web/opac/skin/default/xml/common/js_common.xml	2007-11-21 18:08:13 UTC (rev 8110)
@@ -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' 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"-->/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' type='text/javascript'></script>
 
-	<script language='javascript' src='<!--#echo var="OILS_JS_BASE"-->/slimtree.js'> </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>
 
-	<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>
-
 	<!-- Some global js -->
-	<script language='javascript'>
+	<script language='javascript' type='text/javascript'>
 
 		config.css.color_1 = "color_1";
 		config.css.color_2 = "color_2";
@@ -30,11 +27,7 @@
 		<!-- 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>
-
-

Modified: branches/rel_1_2/Open-ILS/web/opac/skin/default/xml/common/libselect.xml
===================================================================
--- branches/rel_1_2/Open-ILS/web/opac/skin/default/xml/common/libselect.xml	2007-11-21 16:41:22 UTC (rev 8109)
+++ branches/rel_1_2/Open-ILS/web/opac/skin/default/xml/common/libselect.xml	2007-11-21 18:08:13 UTC (rev 8110)
@@ -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>

Modified: branches/rel_1_2/Open-ILS/web/opac/skin/default/xml/common/login.xml
===================================================================
--- branches/rel_1_2/Open-ILS/web/opac/skin/default/xml/common/login.xml	2007-11-21 16:41:22 UTC (rev 8109)
+++ branches/rel_1_2/Open-ILS/web/opac/skin/default/xml/common/login.xml	2007-11-21 18:08:13 UTC (rev 8110)
@@ -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>

Modified: branches/rel_1_2/Open-ILS/web/opac/skin/default/xml/common/logo.xml
===================================================================
--- branches/rel_1_2/Open-ILS/web/opac/skin/default/xml/common/logo.xml	2007-11-21 16:41:22 UTC (rev 8109)
+++ branches/rel_1_2/Open-ILS/web/opac/skin/default/xml/common/logo.xml	2007-11-21 18:08:13 UTC (rev 8110)
@@ -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>

Modified: branches/rel_1_2/Open-ILS/web/opac/skin/default/xml/common/searchbar.xml
===================================================================
--- branches/rel_1_2/Open-ILS/web/opac/skin/default/xml/common/searchbar.xml	2007-11-21 16:41:22 UTC (rev 8109)
+++ branches/rel_1_2/Open-ILS/web/opac/skin/default/xml/common/searchbar.xml	2007-11-21 18:08:13 UTC (rev 8110)
@@ -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>
 
 

Modified: branches/rel_1_2/Open-ILS/web/opac/skin/default/xml/common/sidebar.xml
===================================================================
--- branches/rel_1_2/Open-ILS/web/opac/skin/default/xml/common/sidebar.xml	2007-11-21 16:41:22 UTC (rev 8109)
+++ branches/rel_1_2/Open-ILS/web/opac/skin/default/xml/common/sidebar.xml	2007-11-21 18:08:13 UTC (rev 8110)
@@ -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'),
@@ -117,7 +117,7 @@
 							<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>
@@ -137,13 +137,13 @@
 			<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'>
@@ -168,9 +168,9 @@
 
 	<!-- ============================================================================= -->
 	<!-- 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 = {};

Modified: branches/rel_1_2/Open-ILS/web/opac/skin/default/xml/common/statusbar.xml
===================================================================
--- branches/rel_1_2/Open-ILS/web/opac/skin/default/xml/common/statusbar.xml	2007-11-21 16:41:22 UTC (rev 8109)
+++ branches/rel_1_2/Open-ILS/web/opac/skin/default/xml/common/statusbar.xml	2007-11-21 18:08:13 UTC (rev 8110)
@@ -12,11 +12,16 @@
 						<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>
 

Modified: branches/rel_1_2/Open-ILS/web/opac/skin/default/xml/footer.xml
===================================================================
--- branches/rel_1_2/Open-ILS/web/opac/skin/default/xml/footer.xml	2007-11-21 16:41:22 UTC (rev 8109)
+++ branches/rel_1_2/Open-ILS/web/opac/skin/default/xml/footer.xml	2007-11-21 18:08:13 UTC (rev 8110)
@@ -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>
@@ -31,16 +21,14 @@
 				</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>

Modified: branches/rel_1_2/Open-ILS/web/opac/skin/default/xml/home/homesearch.xml
===================================================================
--- branches/rel_1_2/Open-ILS/web/opac/skin/default/xml/home/homesearch.xml	2007-11-21 16:41:22 UTC (rev 8109)
+++ branches/rel_1_2/Open-ILS/web/opac/skin/default/xml/home/homesearch.xml	2007-11-21 18:08:13 UTC (rev 8110)
@@ -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>
 

Modified: branches/rel_1_2/Open-ILS/web/opac/skin/default/xml/home/index_body.xml
===================================================================
--- branches/rel_1_2/Open-ILS/web/opac/skin/default/xml/home/index_body.xml	2007-11-21 16:41:22 UTC (rev 8109)
+++ branches/rel_1_2/Open-ILS/web/opac/skin/default/xml/home/index_body.xml	2007-11-21 18:08:13 UTC (rev 8110)
@@ -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>
 
 

Modified: branches/rel_1_2/Open-ILS/web/opac/skin/default/xml/myopac/myopac_bookbags.xml
===================================================================
--- branches/rel_1_2/Open-ILS/web/opac/skin/default/xml/myopac/myopac_bookbags.xml	2007-11-21 16:41:22 UTC (rev 8109)
+++ branches/rel_1_2/Open-ILS/web/opac/skin/default/xml/myopac/myopac_bookbags.xml	2007-11-21 18:08:13 UTC (rev 8110)
@@ -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>

Modified: branches/rel_1_2/Open-ILS/web/opac/skin/default/xml/myopac/myopac_checked.xml
===================================================================
--- branches/rel_1_2/Open-ILS/web/opac/skin/default/xml/myopac/myopac_checked.xml	2007-11-21 16:41:22 UTC (rev 8109)
+++ branches/rel_1_2/Open-ILS/web/opac/skin/default/xml/myopac/myopac_checked.xml	2007-11-21 18:08:13 UTC (rev 8110)
@@ -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>

Modified: branches/rel_1_2/Open-ILS/web/opac/skin/default/xml/myopac/myopac_holds.xml
===================================================================
--- branches/rel_1_2/Open-ILS/web/opac/skin/default/xml/myopac/myopac_holds.xml	2007-11-21 16:41:22 UTC (rev 8109)
+++ branches/rel_1_2/Open-ILS/web/opac/skin/default/xml/myopac/myopac_holds.xml	2007-11-21 18:08:13 UTC (rev 8110)
@@ -1,10 +1,33 @@
 
 <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>
+	<script language='javascript' type='text/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'>
+	<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 width='30%'>&common.title;</td>
@@ -12,7 +35,15 @@
 				<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>
 
@@ -46,13 +77,18 @@
 					<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>

Modified: branches/rel_1_2/Open-ILS/web/opac/skin/default/xml/myopac/myopac_prefs.xml
===================================================================
--- branches/rel_1_2/Open-ILS/web/opac/skin/default/xml/myopac/myopac_prefs.xml	2007-11-21 16:41:22 UTC (rev 8109)
+++ branches/rel_1_2/Open-ILS/web/opac/skin/default/xml/myopac/myopac_prefs.xml	2007-11-21 18:08:13 UTC (rev 8110)
@@ -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>

Modified: branches/rel_1_2/Open-ILS/web/opac/skin/default/xml/myopac/myopac_summary.xml
===================================================================
--- branches/rel_1_2/Open-ILS/web/opac/skin/default/xml/myopac/myopac_summary.xml	2007-11-21 16:41:22 UTC (rev 8109)
+++ branches/rel_1_2/Open-ILS/web/opac/skin/default/xml/myopac/myopac_summary.xml	2007-11-21 18:08:13 UTC (rev 8110)
@@ -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>
@@ -93,17 +93,17 @@
 						<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>
 
@@ -128,7 +128,7 @@
 				<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>

Modified: branches/rel_1_2/Open-ILS/web/opac/skin/default/xml/page_advanced.xml
===================================================================
--- branches/rel_1_2/Open-ILS/web/opac/skin/default/xml/page_advanced.xml	2007-11-21 16:41:22 UTC (rev 8109)
+++ branches/rel_1_2/Open-ILS/web/opac/skin/default/xml/page_advanced.xml	2007-11-21 18:08:13 UTC (rev 8110)
@@ -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; }

Modified: branches/rel_1_2/Open-ILS/web/opac/skin/default/xml/page_cnbrowse.xml
===================================================================
--- branches/rel_1_2/Open-ILS/web/opac/skin/default/xml/page_cnbrowse.xml	2007-11-21 16:41:22 UTC (rev 8109)
+++ branches/rel_1_2/Open-ILS/web/opac/skin/default/xml/page_cnbrowse.xml	2007-11-21 18:08:13 UTC (rev 8110)
@@ -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>
 

Modified: branches/rel_1_2/Open-ILS/web/opac/skin/default/xml/page_mresult.xml
===================================================================
--- branches/rel_1_2/Open-ILS/web/opac/skin/default/xml/page_mresult.xml	2007-11-21 16:41:22 UTC (rev 8109)
+++ branches/rel_1_2/Open-ILS/web/opac/skin/default/xml/page_mresult.xml	2007-11-21 18:08:13 UTC (rev 8110)
@@ -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>
 

Modified: branches/rel_1_2/Open-ILS/web/opac/skin/default/xml/page_myopac.xml
===================================================================
--- branches/rel_1_2/Open-ILS/web/opac/skin/default/xml/page_myopac.xml	2007-11-21 16:41:22 UTC (rev 8109)
+++ branches/rel_1_2/Open-ILS/web/opac/skin/default/xml/page_myopac.xml	2007-11-21 18:08:13 UTC (rev 8110)
@@ -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 = {};

Modified: branches/rel_1_2/Open-ILS/web/opac/skin/default/xml/page_rdetail.xml
===================================================================
--- branches/rel_1_2/Open-ILS/web/opac/skin/default/xml/page_rdetail.xml	2007-11-21 16:41:22 UTC (rev 8109)
+++ branches/rel_1_2/Open-ILS/web/opac/skin/default/xml/page_rdetail.xml	2007-11-21 18:08:13 UTC (rev 8110)
@@ -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>

Modified: branches/rel_1_2/Open-ILS/web/opac/skin/default/xml/page_rresult.xml
===================================================================
--- branches/rel_1_2/Open-ILS/web/opac/skin/default/xml/page_rresult.xml	2007-11-21 16:41:22 UTC (rev 8109)
+++ branches/rel_1_2/Open-ILS/web/opac/skin/default/xml/page_rresult.xml	2007-11-21 18:08:13 UTC (rev 8110)
@@ -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>
 

Modified: branches/rel_1_2/Open-ILS/web/opac/skin/default/xml/rdetail/rdetail_altcanvas.xml
===================================================================
--- branches/rel_1_2/Open-ILS/web/opac/skin/default/xml/rdetail/rdetail_altcanvas.xml	2007-11-21 16:41:22 UTC (rev 8109)
+++ branches/rel_1_2/Open-ILS/web/opac/skin/default/xml/rdetail/rdetail_altcanvas.xml	2007-11-21 18:08:13 UTC (rev 8110)
@@ -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";

Modified: branches/rel_1_2/Open-ILS/web/opac/skin/default/xml/rdetail/rdetail_cn_details.xml
===================================================================
--- branches/rel_1_2/Open-ILS/web/opac/skin/default/xml/rdetail/rdetail_cn_details.xml	2007-11-21 16:41:22 UTC (rev 8109)
+++ branches/rel_1_2/Open-ILS/web/opac/skin/default/xml/rdetail/rdetail_cn_details.xml	2007-11-21 18:08:13 UTC (rev 8110)
@@ -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'>

Modified: branches/rel_1_2/Open-ILS/web/opac/skin/default/xml/rdetail/rdetail_copyinfo.xml
===================================================================
--- branches/rel_1_2/Open-ILS/web/opac/skin/default/xml/rdetail/rdetail_copyinfo.xml	2007-11-21 16:41:22 UTC (rev 8109)
+++ branches/rel_1_2/Open-ILS/web/opac/skin/default/xml/rdetail/rdetail_copyinfo.xml	2007-11-21 18:08:13 UTC (rev 8110)
@@ -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";

Modified: branches/rel_1_2/Open-ILS/web/opac/skin/default/xml/rdetail/rdetail_summary.xml
===================================================================
--- branches/rel_1_2/Open-ILS/web/opac/skin/default/xml/rdetail/rdetail_summary.xml	2007-11-21 16:41:22 UTC (rev 8109)
+++ branches/rel_1_2/Open-ILS/web/opac/skin/default/xml/rdetail/rdetail_summary.xml	2007-11-21 18:08:13 UTC (rev 8110)
@@ -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>
@@ -70,7 +77,12 @@
 		</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';

Added: branches/rel_1_2/Open-ILS/web/opac/skin/default/xml/result/filtersort.xml
===================================================================
--- branches/rel_1_2/Open-ILS/web/opac/skin/default/xml/result/filtersort.xml	                        (rev 0)
+++ branches/rel_1_2/Open-ILS/web/opac/skin/default/xml/result/filtersort.xml	2007-11-21 18:08:13 UTC (rev 8110)
@@ -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>

Modified: branches/rel_1_2/Open-ILS/web/opac/skin/default/xml/result/result_common.xml
===================================================================
--- branches/rel_1_2/Open-ILS/web/opac/skin/default/xml/result/result_common.xml	2007-11-21 16:41:22 UTC (rev 8109)
+++ branches/rel_1_2/Open-ILS/web/opac/skin/default/xml/result/result_common.xml	2007-11-21 18:08:13 UTC (rev 8110)
@@ -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 = {};

Modified: branches/rel_1_2/Open-ILS/web/opac/skin/default/xml/result/result_info.xml
===================================================================
--- branches/rel_1_2/Open-ILS/web/opac/skin/default/xml/result/result_info.xml	2007-11-21 16:41:22 UTC (rev 8109)
+++ branches/rel_1_2/Open-ILS/web/opac/skin/default/xml/result/result_info.xml	2007-11-21 18:08:13 UTC (rev 8110)
@@ -22,12 +22,12 @@
 						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>
 

Modified: branches/rel_1_2/Open-ILS/web/opac/skin/default/xml/result/result_table.xml
===================================================================
--- branches/rel_1_2/Open-ILS/web/opac/skin/default/xml/result/result_table.xml	2007-11-21 16:41:22 UTC (rev 8109)
+++ branches/rel_1_2/Open-ILS/web/opac/skin/default/xml/result/result_table.xml	2007-11-21 18:08:13 UTC (rev 8110)
@@ -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'>
@@ -40,10 +42,6 @@
 									<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 -->
@@ -73,47 +71,47 @@
 								<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' 
@@ -122,10 +120,15 @@
 									</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>
 
@@ -162,11 +165,11 @@
 	               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>
                         
@@ -186,7 +189,7 @@
    <!-- ====================== -->
 
 
-	<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'

Modified: branches/rel_1_2/Open-ILS/web/opac/theme/default/css/colors.css
===================================================================
--- branches/rel_1_2/Open-ILS/web/opac/theme/default/css/colors.css	2007-11-21 16:41:22 UTC (rev 8109)
+++ branches/rel_1_2/Open-ILS/web/opac/theme/default/css/colors.css	2007-11-21 18:08:13 UTC (rev 8110)
@@ -90,5 +90,6 @@
 
 
 
+.x_mark { color: red; }
+.check_mark { color: green; }
 
-



More information about the open-ils-commits mailing list