[Koha-patches] [PATCH] bug 2131: Support for cover art from multiple enhanced content providers

Danny Bouman danny.bouman at hclibrary.org
Wed Feb 25 20:37:54 CET 2009


This patch will allow for all enhanced content providers to be
turned on at the same time. All cover art images are hidden by
default and javascript is used to check each image to see if it
is a valid image. The first valid image found will be made visible,
and the other hidden images will be removed. If no valid image is
found, a "no cover image available" message will be displayed, as
is the current expected behavior.

Please note, if a user has javascript disabled, no cover art will
be displayed.

This patch requires an update in the documentation.
---
 koha-tmpl/opac-tmpl/prog/en/css/opac.css           |   20 +++--
 .../opac-tmpl/prog/en/includes/doc-head-close.inc  |   27 +-----
 koha-tmpl/opac-tmpl/prog/en/js/amazonimages.js     |   14 ---
 .../opac-tmpl/prog/en/js/bakertaylorimages.js      |   11 ---
 koha-tmpl/opac-tmpl/prog/en/js/coverart.js         |   91 ++++++++++++++++++++
 koha-tmpl/opac-tmpl/prog/en/js/google-jackets.js   |   39 ++++++---
 .../opac-tmpl/prog/en/modules/opac-detail.tmpl     |   51 ++++++------
 .../prog/en/modules/opac-readingrecord.tmpl        |   23 +++--
 .../opac-tmpl/prog/en/modules/opac-results.tmpl    |   17 +++--
 koha-tmpl/opac-tmpl/prog/en/modules/opac-user.tmpl |   17 +++--
 10 files changed, 197 insertions(+), 113 deletions(-)
 delete mode 100644 koha-tmpl/opac-tmpl/prog/en/js/amazonimages.js
 delete mode 100644 koha-tmpl/opac-tmpl/prog/en/js/bakertaylorimages.js
 create mode 100644 koha-tmpl/opac-tmpl/prog/en/js/coverart.js

diff --git a/koha-tmpl/opac-tmpl/prog/en/css/opac.css b/koha-tmpl/opac-tmpl/prog/en/css/opac.css
index 711eeb5..5722428 100644
--- a/koha-tmpl/opac-tmpl/prog/en/css/opac.css
+++ b/koha-tmpl/opac-tmpl/prog/en/css/opac.css
@@ -692,12 +692,17 @@ em {
 
 #bookcover {
 	float : left;
-	margin : 0;
+	margin : 0 1em 1em 0;	
 	padding : 0;
 }
 
-#bookcover img {
-	margin : 0 1em 1em 0;	
+.cover_container {
+	width: 1px;
+	height: 1px;
+}
+
+.cover_container img {
+	visibility: hidden;
 }
 
 fieldset.brief {
@@ -1652,18 +1657,21 @@ a#MARCview, a#MARCviewPop, a#ISBDview, a#Normalview {
 }
 #shelfbrowser table, #shelfbrowser td, #shelfbrowser th {
 	border : 0;
-	font-size : 90%;
 	text-align : center;
 }
 #shelfbrowser a {
 	font-size : 110%;
 	text-decoration : none;
 }
+#shelfbrowser .cover_container {
+	margin : 0px auto;
+}
 #shelfbrowser td, #shelfbrowser th {
 	vertical-align : bottom;
 	width : 20%;
 }
 #shelfbrowser td.top {
+	font-size : 90%;
 	vertical-align : top;
 }
 #shelfbrowser td.top a {
@@ -1746,8 +1754,6 @@ span.no-image {
 	font-weight : bold;
 	text-align : center;
 	width : 75px;
-}
-#bookcover span.no-image {
 	margin-right : 10px;
 	margin-bottom : 10px;
 }
@@ -1772,4 +1778,4 @@ a.p1:active {
 	color : #AAA;
 	text-decoration : none;
 	font-weight : bold;
-}
\ No newline at end of file
+}
diff --git a/koha-tmpl/opac-tmpl/prog/en/includes/doc-head-close.inc b/koha-tmpl/opac-tmpl/prog/en/includes/doc-head-close.inc
index 16f611e..eb4ee9f 100644
--- a/koha-tmpl/opac-tmpl/prog/en/includes/doc-head-close.inc
+++ b/koha-tmpl/opac-tmpl/prog/en/includes/doc-head-close.inc
@@ -18,12 +18,13 @@
 <script type="text/javascript" src="<!-- TMPL_VAR name="themelang" -->/lib/jquery/plugins/jquery.hoverIntent.minified.js"></script>
 <script type="text/javascript" src="<!-- TMPL_VAR name="themelang" -->/lib/jquery/plugins/jquery.dropshadow-min.js"></script>
 <script type="text/javascript" language="javascript" src="<!-- TMPL_VAR NAME="themelang" -->/js/script.js"></script>
-<!-- TMPL_IF NAME="AmazonContent" -->
-<script type="text/javascript" language="javascript">//<![CDATA[
-		var NO_AMAZON_IMAGE = _("No cover image available");
+<!-- TMPL_IF NAME="GoogleJackets" --><script type="text/javascript" language="javascript" src="<!-- TMPL_VAR NAME="themelang" -->/js/google-jackets.js"></script><!-- /TMPL_IF -->
+<script type="text/javascript" language="javascript">
+	//<![CDATA[
+		var NO_COVER = _("No cover image available");
 	//]]>
 </script>
-<script type="text/javascript" language="javascript" src="<!-- TMPL_VAR NAME="themelang" -->/js/amazonimages.js"></script><!-- /TMPL_IF -->
+<script type="text/javascript" language="javascript" src="<!-- TMPL_VAR NAME="themelang" -->/js/coverart.js"></script>
 <script type="text/javascript" language="javascript"
 <!-- TMPL_IF NAME="opacbookbag" -->src="<!-- TMPL_VAR NAME="themelang" -->/js/basket.js"><!-- TMPL_ELSIF NAME="virtualshelves" -->src="<!-- TMPL_VAR NAME="themelang" -->/js/basket.js"><!-- TMPL_ELSE -->>var readCookie;<!-- /TMPL_IF --></script>
 <!-- TMPL_IF NAME="TagsEnabled" --><script type="text/javascript" language="javascript" src="<!-- TMPL_VAR NAME="themelang" -->/js/tags.js"></script><!-- /TMPL_IF -->
@@ -38,25 +39,7 @@
     var MSG_NO_RECORD_ADDED = _("No item was added to your cart");
     var MSG_CONFIRM_DEL_BASKET = _("Are you sure you want to empty your cart?");
     var MSG_CONFIRM_DEL_RECORDS = _("Are you sure you want to remove the selected items?");<!-- /TMPL_IF -->
-	<!-- TMPL_IF NAME="AmazonContent" -->$(window).load(function() {
-		 	verify_images();
-		 });<!-- /TMPL_IF -->
 	<!-- TMPL_IF NAME="opacuserjs" --><!-- TMPL_VAR NAME="opacuserjs" --><!-- /TMPL_IF -->
 	//]]>
-</script><!-- TMPL_IF NAME="GoogleJackets" -->
-<script type="text/javascript" language="javascript" src="<!-- TMPL_VAR NAME="themelang" -->/js/google-jackets.js"></script>
-<script type="text/javascript" language="javascript">
-	//<![CDATA[
-	var NO_GOOGLE_JACKET = _("No cover image available");
-	//]]>
 </script>
-<!-- /TMPL_IF --><!-- TMPL_IF NAME="BakerTaylorEnabled" --><script type="text/javascript" language="javascript" src="<!-- TMPL_VAR NAME="themelang" -->/js/bakertaylorimages.js"></script>
-<script type="text/javascript" language="javascript">
-	//<![CDATA[
-	var NO_BAKERTAYLOR_IMAGE = _("No cover image available");
-	$(window).load(function(){
-		bt_verify_images();
-	});
-	//]]>
-</script><!-- /TMPL_IF -->
 <link rel="unapi-server" type="application/xml" title="unAPI" href="/cgi-bin/koha/unapi" />
diff --git a/koha-tmpl/opac-tmpl/prog/en/js/amazonimages.js b/koha-tmpl/opac-tmpl/prog/en/js/amazonimages.js
deleted file mode 100644
index ce5aadf..0000000
--- a/koha-tmpl/opac-tmpl/prog/en/js/amazonimages.js
+++ /dev/null
@@ -1,14 +0,0 @@
-// http://www.oreillynet.com/pub/a/javascript/2003/10/21/amazonhacks.html
-function verify_images() {
-	$("img").each(function(i){
-	       if ((this.src.indexOf('images.amazon.com') >= 0) || (this.src.indexOf('g-images.amazon.com') >=0)) {
-            w = this.width;
-            h = this.height;
-            if ((w == 1) || (h == 1)) {
-				$(this).parent().html("<span class=\"no-image\">"+NO_AMAZON_IMAGE+"</span>");
-            } else if ((this.complete != null) && (!this.complete)) {
-				$(this).parent().html("<span class=\"no-image\">"+NO_AMAZON_IMAGE+"</span>");
-            }
-        }
-		});
-		}
diff --git a/koha-tmpl/opac-tmpl/prog/en/js/bakertaylorimages.js b/koha-tmpl/opac-tmpl/prog/en/js/bakertaylorimages.js
deleted file mode 100644
index 00b025a..0000000
--- a/koha-tmpl/opac-tmpl/prog/en/js/bakertaylorimages.js
+++ /dev/null
@@ -1,11 +0,0 @@
-// http://www.oreillynet.com/pub/a/javascript/2003/10/21/amazonhacks.html
-function bt_verify_images() {
-	$("img").each(function(i){
-	       if (this.src.indexOf('btol.com') >= 0) {
-            h = this.height;
-            if (h == 20) {
-				$(this).before("<span class=\"no-image\" style=\"margin-bottom:5px;width:80px;\">"+NO_BAKERTAYLOR_IMAGE+"</span>");
-            }
-		}
-		});
-		}
diff --git a/koha-tmpl/opac-tmpl/prog/en/js/coverart.js b/koha-tmpl/opac-tmpl/prog/en/js/coverart.js
new file mode 100644
index 0000000..f7334c5
--- /dev/null
+++ b/koha-tmpl/opac-tmpl/prog/en/js/coverart.js
@@ -0,0 +1,91 @@
+if (typeof KOHA == "undefined" || !KOHA) {
+    var KOHA = {};
+}
+
+KOHA.CoverArt = {
+    init: function (){
+        var providers = [];
+		
+		/* The order below will control the sequence in which each provider is checked */
+        providers.push("amazon");
+        providers.push("google");
+		providers.push("bakertaylor");
+		/* The "none" provider should always be last */
+        providers.push("none");
+		
+		this.providers = providers;
+		
+		this.nextProvider = providers[0];
+		this.getNextProvider();
+    },
+	/**
+	 * Displays the valid image and removes unused divs
+	 */
+	show: function(container) {
+		var img = $("img",container);
+		
+		/* Display this valid image */
+		img.css("visibility","visible");
+		/* Resize the image container to help text wrap properly */
+		container.parent().css("width",img.width() + "px");
+		container.parent().css("height",img.height() + "px");
+		
+		/* Replace the container with only the valid image, this will prevent multiple images from loading and being checked */
+		$("div[id!="+container.attr("id")+"]",container.parent()).remove();
+	},
+	/**
+	 * Calculates the next provider and then checks the current provider
+	 */
+	getNextProvider: function () {
+		var curProvider = this.nextProvider;
+		this.nextProvider = this.providers[$(this.providers).index(curProvider)+1];
+		
+		switch (curProvider) {
+			case "amazon":
+				this.verify("amazon-thumbnail");
+				break;
+			case "bakertaylor":
+				this.verify("bt-thumbnail");
+				break;
+			case "google":
+				this.verify("gbs-thumbnail");
+				break;
+			default:
+				this.fillEmpty();
+				break;
+		}
+	},
+	/**
+	 * Loops through each image and checks to see if it is valid. A height of 30px is used to check for 
+	 * valid images because of Baker & Taylor's default blank image size.
+	 */
+    verify: function(id) {
+		$("div[id^=" + id + "]").each(function(i) {
+			var img = $("img", $(this));
+			
+			if (img.length > 0 && img.height() > 30) {	
+				KOHA.CoverArt.show($(this));
+			}
+			else {
+				$(this).remove();
+			}
+		});
+		
+		this.getNextProvider();
+    },
+	/**
+     * Looks for empty divs and fills them with the no cover image available text.
+     */
+	fillEmpty: function() {
+		$("div[class^=cover_container]").each(function(i) {
+			if ($(this).height() == 1) {
+				$(this).css("width","75px");
+				$(this).css("height","40px");
+				var message = document.createElement("span");
+				$(message).attr("class","no-image");
+				$(message).html(NO_COVER);
+				$(this).append(message);
+			}
+		});
+	}
+};
diff --git a/koha-tmpl/opac-tmpl/prog/en/js/google-jackets.js b/koha-tmpl/opac-tmpl/prog/en/js/google-jackets.js
index b106cea..6019325 100644
--- a/koha-tmpl/opac-tmpl/prog/en/js/google-jackets.js
+++ b/koha-tmpl/opac-tmpl/prog/en/js/google-jackets.js
@@ -10,7 +10,7 @@ KOHA.Google = {
 
     /**
      * Search all:
-     *    <div title="biblionumber" id="isbn" class="gbs-thumbnail"></div>
+     *    <div title="biblionumber" class="isbn" id="gbs-thumbnail"></div>
      * and run a search with all collected isbns to Google Book Search.
      * The result is asynchronously returned by Google and catched by
      * gbsCallBack().
@@ -32,26 +32,39 @@ KOHA.Google = {
     },
 
     /**
-     * Add cover pages and links to Google detail in <div
+     * Add cover pages and links to Google detail in <div>
+	 * If a link exist inside the Google <div>, it will not add a second link
      */
     gbsCallBack: function(booksInfo) {
         for (id in booksInfo) {
             var book = booksInfo[id];
             $("."+book.bib_key).each(function() {
-                var a = document.createElement("a");
-                a.href = book.info_url;
 				if(typeof(book.thumbnail_url) != "undefined"){
-	            	var img = document.createElement("img");
-	                img.src = book.thumbnail_url;
-		            a.appendChild(img);
-				} else {
-					var message = document.createElement("span");
-					$(message).attr("class","no-image");
-					$(message).html(NO_GOOGLE_JACKET);
-					a.appendChild(message);
+					var img = document.createElement("img");
+					img.src = book.thumbnail_url;
+					if ($("a",$(this)).length > 0) {
+						$("a",$(this)).append(img);
+					}
+					else {
+						var a = document.createElement("a");
+						a.href = book.info_url;
+						a.appendChild(img);
+						$(this).append(a);
+					}
 				}
-					$(this).append(a);
             });
         }
+
+		/**
+		 * This is a hack to make sure that both Firefox and IE will wait until they are completely loaded before checking for cover art
+		 */
+		if (document.readyState == "complete") {
+			KOHA.CoverArt.init();
+		}
+		else {
+			$(window).load(function() {
+				KOHA.CoverArt.init();
+			});
+		}
     }
 };
diff --git a/koha-tmpl/opac-tmpl/prog/en/modules/opac-detail.tmpl b/koha-tmpl/opac-tmpl/prog/en/modules/opac-detail.tmpl
index 1446b64..6a7aa13 100644
--- a/koha-tmpl/opac-tmpl/prog/en/modules/opac-detail.tmpl
+++ b/koha-tmpl/opac-tmpl/prog/en/modules/opac-detail.tmpl
@@ -23,9 +23,13 @@
             sortList: [[0,0]]
         });
         
-        <!-- TMPL_IF NAME="GoogleJackets" -->KOHA.Google.GetCoverFromIsbn();<!-- /TMPL_IF -->
         <!-- TMPL_IF NAME="TagsEnabled" -->$(".tagbutton").click(KOHA.Tags.add_tag_button);<!-- /TMPL_IF -->
-
+		<!-- TMPL_IF NAME="GoogleJackets" -->KOHA.Google.GetCoverFromIsbn();
+		<!-- TMPL_ELSE -->
+		$(window).load(function() {
+			KOHA.CoverArt.init();
+		});
+		<!-- /TMPL_IF -->
     }); 
 //]]>
 </script>
@@ -53,12 +57,11 @@
     <div class="container">
     <div id="catalogue_detail_biblio">
 
-    <div id="bookcover">
-    <!-- TMPL_IF NAME="AmazonContent" --><!-- TMPL_IF NAME="OPACURLOpenInNewWindow" --><a href="http://www.amazon.com/gp/reader/<!-- TMPL_VAR NAME="amazonisbn" -->/ref=sib_dp_pt/002-7879865-0184864#reader-link" target="_blank"><img border="0" src="http://images.amazon.com/images/P/<!-- TMPL_VAR NAME="amazonisbn" -->.01._PIdp-schmooS,TopRight,7,-26_SCMZZZZZZZ_.jpg" alt="Cover Image" /></a><!-- TMPL_ELSE --><a href="http://www.amazon.com/gp/reader/<!-- TMPL_VAR NAME="amazonisbn" -->/ref=sib_dp_pt/002-7879865-0184864#reader-link"><img border="0" src="http://images.amazon.com/images/P/<!-- TMPL_VAR NAME="amazonisbn" -->.01._PIdp-schmooS,TopRight,7,-26_SCMZZZZZZZ_.jpg" alt="Cover Image" /></a><!-- /TMPL_IF --><!-- /TMPL_IF -->
-
-    <!-- TMPL_IF NAME="GoogleJackets" --><div style="block" title="<!-- TMPL_VAR NAME="biblionumber" ESCAPE="URL" -->" class="<!-- TMPL_VAR NAME="amazonisbn" -->" id="gbs-thumbnail"></div><!-- /TMPL_IF -->
-    <!-- TMPL_IF NAME="BakerTaylorEnabled" --><!-- TMPL_IF NAME="clean_isbn" --><!-- TMPL_IF NAME="OPACURLOpenInNewWindow" --><a href="https://<!-- TMPL_VAR NAME="BakerTaylorBookstoreURL" ESCAPE="HTML" --><!-- TMPL_VAR NAME="clean_isbn" -->" target="_blank"><img alt="See Baker &amp; Taylor" src="<!-- TMPL_VAR NAME="BakerTaylorImageURL" ESCAPE="HTML" --><!-- TMPL_VAR NAME="clean_isbn" -->" /></a><!-- TMPL_ELSE --><a href="https://<!-- TMPL_VAR NAME="BakerTaylorBookstoreURL" ESCAPE="HTML" --><!-- TMPL_VAR NAME="clean_isbn" -->"><img alt="See Baker &amp; Taylor" src="<!-- TMPL_VAR NAME="BakerTaylorImageURL" ESCAPE="HTML" --><!-- TMPL_VAR NAME="clean_isbn" -->" /></a><!-- /TMPL_IF --><!-- /TMPL_IF --><!-- /TMPL_IF -->
-    </div>
+    <div id="bookcover" class="cover_container">
+	<!-- TMPL_IF NAME="AmazonContent" --><div id="amazon-thumbnail"><!-- TMPL_IF NAME="OPACURLOpenInNewWindow" --><a href="http://www.amazon.com/gp/reader/<!-- TMPL_VAR NAME="amazonisbn" -->/ref=sib_dp_pt/002-7879865-0184864#reader-link" target="_blank"><img border="0" src="http://images.amazon.com/images/P/<!-- TMPL_VAR NAME="amazonisbn" -->.01._PIdp-schmooS,TopRight,7,-26_SCMZZZZZZZ_.jpg" alt="Cover Image" /></a><!-- TMPL_ELSE --><a href="http://www.amazon.com/gp/reader/<!-- TMPL_VAR NAME="amazonisbn" -->/ref=sib_dp_pt/002-7879865-0184864#reader-link"><img border="0" src="http://images.amazon.com/images/P/<!-- TMPL_VAR NAME="amazonisbn" -->.01._PIdp-schmooS,TopRight,7,-26_SCMZZZZZZZ_.jpg" alt="Cover Image" /></a><!-- /TMPL_IF --></div><!-- /TMPL_IF -->
+	<!-- TMPL_IF NAME="GoogleJackets" --><div title="<!-- TMPL_VAR NAME="biblionumber" ESCAPE="URL" -->" class="<!-- TMPL_VAR NAME="amazonisbn" -->" id="gbs-thumbnail"></div><!-- /TMPL_IF -->
+	<!-- TMPL_IF NAME="BakerTaylorEnabled" --><div id="bt-thumbnail"><!-- TMPL_IF NAME="OPACURLOpenInNewWindow" --><a href="https://<!-- TMPL_VAR NAME="BakerTaylorBookstoreURL" ESCAPE="HTML" --><!-- TMPL_VAR NAME="clean_isbn" -->" target="_blank"><img alt="See Baker &amp; Taylor" src="<!-- TMPL_VAR NAME="BakerTaylorImageURL" ESCAPE="HTML" --><!-- TMPL_VAR NAME="clean_isbn" -->" /></a><!-- TMPL_ELSE --><a href="https://<!-- TMPL_VAR NAME="BakerTaylorBookstoreURL" ESCAPE="HTML" --><!-- TMPL_VAR NAME="clean_isbn" -->"><img alt="See Baker &amp; Taylor" src="<!-- TMPL_VAR NAME="BakerTaylorImageURL" ESCAPE="HTML" --><!-- TMPL_VAR NAME="clean_isbn" -->" /></a><!-- /TMPL_IF --></div><!-- /TMPL_IF -->
+	</div>
 
     <!-- TMPL_IF NAME="XSLTDetailsDisplay" -->
         <!-- TMPL_VAR NAME="XSLTBloc" -->
@@ -313,27 +316,23 @@
         <table><tr>
         <td rowspan="2" style="width:20px;"><a style="height: 10em;" href="/cgi-bin/koha/opac-detail.pl?biblionumber=<!-- TMPL_IF NAME="shelfbrowser_prev_biblionumber" --><!-- TMPL_VAR NAME="shelfbrowser_prev_biblionumber" --><!-- TMPL_ELSE --><!-- TMPL_VAR NAME="biblionumber" --><!-- /TMPL_IF -->&amp;shelfbrowse_itemnumber=<!-- TMPL_VAR NAME="shelfbrowser_prev_itemnumber" -->#shelfbrowser"><img src="/opac-tmpl/prog/images/browse-prev.gif" alt="Previous" border="0" /></a></td>
 <!-- TMPL_LOOP NAME="PREVIOUS_SHELF_BROWSE" -->
-        <td><a href="/cgi-bin/koha/opac-detail.pl?biblionumber=<!-- TMPL_VAR NAME="biblionumber" -->&amp;shelfbrowse_itemnumber=<!-- TMPL_VAR NAME="itemnumber" -->#shelfbrowser">
-
-    <!-- TMPL_IF NAME="AmazonContent" --><!-- TMPL_IF NAME="isbn" -->
-    <img border="0" src="http://images.amazon.com/images/P/<!-- TMPL_VAR NAME="isbn"-->.01._AA75_PU_PU-5_.jpg" alt="" /><!-- TMPL_ELSE --><span class="no-image">No cover image available</span><!-- /TMPL_IF --><!-- /TMPL_IF -->
-    <!-- TMPL_IF NAME="GoogleJackets" --><!-- TMPL_IF NAME="isbn" --><div style="block" title="<!-- TMPL_VAR NAME="biblionumber" ESCAPE="URL" -->" class="<!-- TMPL_VAR name="isbn" -->" id="gbs-thumbnail<!--TMPL_VAR NAME="__counter__"-->"></div><!-- TMPL_ELSE --><span class="no-image">No cover image available</span><!-- /TMPL_IF --><!-- /TMPL_IF -->
-    <!-- TMPL_IF NAME="BakerTaylorEnabled" --><!-- TMPL_IF NAME="isbn" -->
-    <img alt="See Baker &amp; Taylor" src="<!-- TMPL_VAR NAME="BakerTaylorImageURL" ESCAPE="HTML" --><!-- TMPL_VAR NAME="isbn" -->" /><!-- TMPL_ELSE --><span class="no-image">No cover image available</span><!-- /TMPL_IF --><!-- /TMPL_IF -->
-
-</a></td>
+        <td>
+		<div class="cover_container">
+	<!-- TMPL_IF NAME="AmazonContent" --><div id="amazon-thumbnail<!--TMPL_VAR NAME="__counter__"-->"><a href="/cgi-bin/koha/opac-detail.pl?biblionumber=<!-- TMPL_VAR NAME="biblionumber" -->&amp;shelfbrowse_itemnumber=<!-- TMPL_VAR NAME="itemnumber" -->#shelfbrowser"><img src="http://images.amazon.com/images/P/<!-- TMPL_VAR NAME="isbn"-->.01._AA75_PU_PU-5_.jpg" alt="" /></a></div><!-- /TMPL_IF -->
+    <!-- TMPL_IF NAME="GoogleJackets" --><div title="<!-- TMPL_VAR NAME="biblionumber" ESCAPE="URL" -->" class="<!-- TMPL_VAR name="isbn" -->" id="gbs-thumbnail<!--TMPL_VAR NAME="__counter__"-->"><a href="/cgi-bin/koha/opac-detail.pl?biblionumber=<!-- TMPL_VAR NAME="biblionumber" -->&amp;shelfbrowse_itemnumber=<!-- TMPL_VAR NAME="itemnumber" -->#shelfbrowser"></a></div><!-- /TMPL_IF -->
+    <!-- TMPL_IF NAME="BakerTaylorEnabled" --><div id="bt-thumbnail<!--TMPL_VAR NAME="__counter__"-->"><a href="/cgi-bin/koha/opac-detail.pl?biblionumber=<!-- TMPL_VAR NAME="biblionumber" -->&amp;shelfbrowse_itemnumber=<!-- TMPL_VAR NAME="itemnumber" -->#shelfbrowser"><img alt="See Baker &amp; Taylor" src="<!-- TMPL_VAR NAME="BakerTaylorImageURL" ESCAPE="HTML" --><!-- TMPL_VAR NAME="isbn" -->" /></a></div><!-- /TMPL_IF -->
+		</div>
+		</td>
 <!-- /TMPL_LOOP -->
 
 <!-- TMPL_LOOP NAME="NEXT_SHELF_BROWSE" -->
-       <td><a href="/cgi-bin/koha/opac-detail.pl?biblionumber=<!-- TMPL_VAR NAME="biblionumber" -->&amp;shelfbrowse_itemnumber=<!-- TMPL_VAR NAME="itemnumber" -->#shelfbrowser">
-
-    <!-- TMPL_IF NAME="AmazonContent" --><!-- TMPL_IF NAME="isbn" -->
-    <img border="0" src="http://images.amazon.com/images/P/<!-- TMPL_VAR NAME="isbn"-->.01._AA75_PU_PU-5_.jpg" alt="" /><!-- TMPL_ELSE --><span class="no-image">No cover image available</span><!-- /TMPL_IF --><!-- /TMPL_IF -->
-    <!-- TMPL_IF NAME="GoogleJackets" --><!-- TMPL_IF NAME="isbn" --><div style="block" title="<!-- TMPL_VAR NAME="biblionumber" ESCAPE="URL" -->" class="<!-- TMPL_VAR name="isbn" -->" id="gbs-thumbnail<!--TMPL_VAR NAME="__counter__"-->"></div><!-- TMPL_ELSE --><span class="no-image">No cover image available</span><!-- /TMPL_IF --><!-- /TMPL_IF -->
-    <!-- TMPL_IF NAME="BakerTaylorEnabled" --><!-- TMPL_IF NAME="isbn" -->
-    <img alt="See Baker &amp; Taylor" src="<!-- TMPL_VAR NAME="BakerTaylorImageURL" ESCAPE="HTML" --><!-- TMPL_VAR NAME="isbn" -->" /><!-- TMPL_ELSE --><span class="no-image">No cover image available</span><!-- /TMPL_IF --><!-- /TMPL_IF -->
-
-</a></td>
+       <td>
+		<div class="cover_container">
+	<!-- TMPL_IF NAME="AmazonContent" --><div id="amazon-thumbnail<!--TMPL_VAR NAME="__counter__"-->"><a href="/cgi-bin/koha/opac-detail.pl?biblionumber=<!-- TMPL_VAR NAME="biblionumber" -->&amp;shelfbrowse_itemnumber=<!-- TMPL_VAR NAME="itemnumber" -->#shelfbrowser"><img src="http://images.amazon.com/images/P/<!-- TMPL_VAR NAME="isbn"-->.01._AA75_PU_PU-5_.jpg" alt="" /></a></div><!-- /TMPL_IF -->
+    <!-- TMPL_IF NAME="GoogleJackets" --><div title="<!-- TMPL_VAR NAME="biblionumber" ESCAPE="URL" -->" class="<!-- TMPL_VAR name="isbn" -->" id="gbs-thumbnail<!--TMPL_VAR NAME="__counter__"-->"><a href="/cgi-bin/koha/opac-detail.pl?biblionumber=<!-- TMPL_VAR NAME="biblionumber" -->&amp;shelfbrowse_itemnumber=<!-- TMPL_VAR NAME="itemnumber" -->#shelfbrowser"></a></div><!-- /TMPL_IF -->
+    <!-- TMPL_IF NAME="BakerTaylorEnabled" --><div id="bt-thumbnail<!--TMPL_VAR NAME="__counter__"-->"><a href="/cgi-bin/koha/opac-detail.pl?biblionumber=<!-- TMPL_VAR NAME="biblionumber" -->&amp;shelfbrowse_itemnumber=<!-- TMPL_VAR NAME="itemnumber" -->#shelfbrowser"><img alt="See Baker &amp; Taylor" src="<!-- TMPL_VAR NAME="BakerTaylorImageURL" ESCAPE="HTML" --><!-- TMPL_VAR NAME="isbn" -->" /></a></div><!-- /TMPL_IF -->
+		</div>
+	  </td>
 <!-- /TMPL_LOOP -->
 <td rowspan="2" style="width:20px;"><a style="height: 10em;" href="/cgi-bin/koha/opac-detail.pl?biblionumber=<!-- TMPL_IF NAME="shelfbrowser_next_biblionumber" --><!-- TMPL_VAR NAME="shelfbrowser_next_biblionumber" --><!-- TMPL_ELSE --><!-- TMPL_VAR NAME="biblionumber" --><!-- /TMPL_IF -->&amp;shelfbrowse_itemnumber=<!-- TMPL_VAR NAME="shelfbrowser_next_itemnumber" -->#shelfbrowser"><img src="/opac-tmpl/prog/images/browse-next.gif" alt="Next" border="0" /></a></td>
 </tr>
diff --git a/koha-tmpl/opac-tmpl/prog/en/modules/opac-readingrecord.tmpl b/koha-tmpl/opac-tmpl/prog/en/modules/opac-readingrecord.tmpl
index 4a9aa0e..f58739a 100644
--- a/koha-tmpl/opac-tmpl/prog/en/modules/opac-readingrecord.tmpl
+++ b/koha-tmpl/opac-tmpl/prog/en/modules/opac-readingrecord.tmpl
@@ -1,12 +1,17 @@
 <!-- TMPL_INCLUDE name="doc-head-open.inc" --><!-- TMPL_VAR NAME="LibraryNameTitle" DEFAULT="Koha Online" --> Catalog &rsaquo;  Account for <!-- TMPL_LOOP name="BORROWER_INFO" --><!-- TMPL_VAR name="firstname" --> <!-- TMPL_VAR name="surname" --><!-- /TMPL_LOOP -->
 <!-- TMPL_INCLUDE NAME="doc-head-close.inc" -->
-<!-- TMPL_IF NAME="GoogleJackets" --><script type="text/javascript">
+<script type="text/javascript">
 //<![CDATA[
 $(document).ready(function(){
-    KOHA.Google.GetCoverFromIsbn();
+	<!-- TMPL_IF NAME="GoogleJackets" -->KOHA.Google.GetCoverFromIsbn();
+    <!-- TMPL_ELSE -->
+    	$(window).load(function() {
+            KOHA.CoverArt.init();
+        });
+	<!-- /TMPL_IF -->
 });
 //]]>
-</script><!-- /TMPL_IF -->
+</script>
 </head>
 <body id="opac-readingrecord">
 <div id="doc3" class="yui-t1">
@@ -48,13 +53,15 @@ TMPL_ELSE -->Title<!-- /TMPL_UNLESS --></th>
 <!-- TMPL_LOOP NAME="READING_RECORD" -->
 
 <!-- TMPL_IF NAME="toggle" --><tr><!-- TMPL_ELSE --><tr class="highlight"><!-- /TMPL_IF -->
+<td>
+<div class="cover_container">
+	<!-- TMPL_IF NAME="AmazonContent" --><div id="amazon-thumbnail<!--TMPL_VAR NAME="__counter__"-->"><a href="http://www.amazon.com/gp/reader/<!-- TMPL_VAR NAME="amazonisbn" -->/ref=sib_dp_pt/002-7879865-0184864#reader-link"><img src="http://images.amazon.com/images/P/<!-- TMPL_VAR name="amazonisbn" -->.01.THUMBZZZ.jpg" alt="Cover Image" /></a></div><!-- /TMPL_IF -->
 
-<!-- TMPL_IF NAME="AmazonContent" --><td><!-- TMPL_IF NAME="amazonisbn" --><a href="http://www.amazon.com/gp/reader/<!-- TMPL_VAR NAME="amazonisbn" -->/ref=sib_dp_pt/002-7879865-0184864#reader-link"><img border="0" src="http://images.amazon.com/images/P/<!-- TMPL_VAR name="amazonisbn" -->.01.THUMBZZZ.jpg" alt="Cover Image" /></a><!-- TMPL_ELSE --><span class="no-image">No cover image available</span><!-- /TMPL_IF --></td><!-- /TMPL_IF -->
-
-    <!-- TMPL_IF NAME="GoogleJackets" --><td><!-- TMPL_IF NAME="amazonisbn" --><div style="block" title="<!-- TMPL_VAR NAME="biblionumber" ESCAPE="URL" -->" class="<!-- TMPL_VAR name="amazonisbn" -->" id="gbs-thumbnail<!--TMPL_VAR NAME="__counter__"-->"></div><!-- TMPL_ELSE --><span class="no-image">No cover image available</span><!-- /TMPL_IF --></td><!-- /TMPL_IF -->
-
-    <!-- TMPL_IF NAME="BakerTaylorEnabled" --><td><!-- TMPL_IF NAME="clean_isbn" --><a href="https://<!-- TMPL_VAR NAME="BakerTaylorBookstoreURL" ESCAPE="HTML" --><!-- TMPL_VAR NAME="clean_isbn" -->"><img alt="See Baker &amp; Taylor" src="<!-- TMPL_VAR NAME="BakerTaylorImageURL" ESCAPE="HTML" --><!-- TMPL_VAR NAME="clean_isbn" -->" /></a><!-- TMPL_ELSE --><span class="no-image">No cover image available</span><!-- /TMPL_IF --></td><!-- /TMPL_IF -->
+    <!-- TMPL_IF NAME="GoogleJackets" --><div title="<!-- TMPL_VAR NAME="biblionumber" ESCAPE="URL" -->" class="<!-- TMPL_VAR name="amazonisbn" -->" id="gbs-thumbnail<!--TMPL_VAR NAME="__counter__"-->"></div><!-- /TMPL_IF -->
 
+    <!-- TMPL_IF NAME="BakerTaylorEnabled" --><div id="bt-thumbnail<!--TMPL_VAR NAME="__counter__"-->"><a href="https://<!-- TMPL_VAR NAME="BakerTaylorBookstoreURL" ESCAPE="HTML" --><!-- TMPL_VAR NAME="clean_isbn" -->"><img alt="See Baker &amp; Taylor" src="<!-- TMPL_VAR NAME="BakerTaylorImageURL" ESCAPE="HTML" --><!-- TMPL_VAR NAME="clean_isbn" -->" /></a></div><!-- /TMPL_IF -->
+</div>
+</td>
 <td><a href="/cgi-bin/koha/opac-detail.pl?biblionumber=<!-- TMPL_VAR NAME="biblionumber" -->"><!-- TMPL_VAR NAME="title" --></a>
                     <span class="item-details">
                         <!-- TMPL_VAR NAME="author" -->
diff --git a/koha-tmpl/opac-tmpl/prog/en/modules/opac-results.tmpl b/koha-tmpl/opac-tmpl/prog/en/modules/opac-results.tmpl
index d23a64f..5b25493 100644
--- a/koha-tmpl/opac-tmpl/prog/en/modules/opac-results.tmpl
+++ b/koha-tmpl/opac-tmpl/prog/en/modules/opac-results.tmpl
@@ -56,7 +56,12 @@ $(document).ready(function(){
         return false;
     }); 
 	<!-- TMPL_IF NAME="TagsEnabled" -->$(".tagbutton").click(KOHA.Tags.add_tag_button);<!-- /TMPL_IF -->
-    <!-- TMPL_IF NAME="GoogleJackets" -->KOHA.Google.GetCoverFromIsbn();<!-- /TMPL_IF -->
+	<!-- TMPL_IF NAME="GoogleJackets" -->KOHA.Google.GetCoverFromIsbn();
+    <!-- TMPL_ELSE -->
+        $(window).load(function() {
+            KOHA.CoverArt.init();
+        });
+	<!-- /TMPL_IF -->	
 });
 //]]>
 </script>
@@ -295,11 +300,11 @@ $(document).ready(function(){
         		<!-- TMPL_IF NAME="opacbookbag" --><a class="addtocart" href="#" onclick="addRecord('<!-- TMPL_VAR NAME="biblionumber" -->'); return false;">Add to Cart</a><!-- /TMPL_IF -->
 				</span>
 				</td><td>
-					<a class="p1" href="/cgi-bin/koha/opac-detail.pl?biblionumber=<!-- TMPL_VAR NAME="biblionumber" -->">
-                    <!-- TMPL_IF NAME="AmazonContent" --><!-- TMPL_IF NAME="amazonisbn" --><img src="http://images.amazon.com/images/P/<!-- TMPL_VAR NAME="amazonisbn" -->.01.TZZZZZZZ.jpg" alt="" class="thumbnail" /><!-- TMPL_ELSE --><span class="no-image">No cover image available</span><!-- /TMPL_IF --><!-- /TMPL_IF -->
-                    <!-- TMPL_IF NAME="GoogleJackets" --><!-- TMPL_IF NAME="amazonisbn" --><div style="block" title="<!-- TMPL_VAR NAME="biblionumber" ESCAPE="URL" -->" class="<!-- TMPL_VAR name="amazonisbn" -->" id="gbs-thumbnail<!--TMPL_VAR NAME="__counter__"-->"></div><!-- TMPL_ELSE --><span class="no-image">No cover image available</span><!-- /TMPL_IF --><!-- /TMPL_IF -->
-                    </a>
-                    <!-- TMPL_IF NAME="BakerTaylorEnabled" --><!-- TMPL_IF NAME="clean_isbn" --><a href="https://<!-- TMPL_VAR name="BakerTaylorBookstoreURL" ESCAPE="HTML" --><!-- TMPL_VAR name="clean_isbn" -->"><img alt="See Baker &amp; Taylor" src="<!-- TMPL_VAR name="BakerTaylorImageURL" ESCAPE="HTML" --><!-- TMPL_VAR name="clean_isbn" -->" /></a><!-- TMPL_ELSE --><span class="no-image">No cover image available</span><!-- /TMPL_IF --><!-- /TMPL_IF -->
+					<div class="cover_container">
+                    <!-- TMPL_IF NAME="AmazonContent" --><div id="amazon-thumbnail<!--TMPL_VAR NAME="__counter__"-->"><a class="p1" href="/cgi-bin/koha/opac-detail.pl?biblionumber=<!-- TMPL_VAR NAME="biblionumber" -->"><img src="http://images.amazon.com/images/P/<!-- TMPL_VAR NAME="amazonisbn" -->.01.TZZZZZZZ.jpg" alt="" class="thumbnail" /></a></div><!-- /TMPL_IF -->
+                    <!-- TMPL_IF NAME="GoogleJackets" --><div title="<!-- TMPL_VAR NAME="biblionumber" ESCAPE="URL" -->" class="<!-- TMPL_VAR name="amazonisbn" -->" id="gbs-thumbnail<!--TMPL_VAR NAME="__counter__"-->"><a class="p1" href="/cgi-bin/koha/opac-detail.pl?biblionumber=<!-- TMPL_VAR NAME="biblionumber" -->"></a></div><!-- /TMPL_IF -->
+                    <!-- TMPL_IF NAME="BakerTaylorEnabled" --><div id="bt-thumbnail<!--TMPL_VAR NAME="__counter__"-->"><a class="p1" href="/cgi-bin/koha/opac-detail.pl?biblionumber=<!-- TMPL_VAR NAME="biblionumber" -->"><img alt="See Baker &amp; Taylor" src="<!-- TMPL_VAR name="BakerTaylorImageURL" ESCAPE="HTML" --><!-- TMPL_VAR name="clean_isbn" -->" /></a></div><!-- /TMPL_IF -->
+					</div>
 				</td>
                 </tr>
                 <!-- /TMPL_LOOP -->
diff --git a/koha-tmpl/opac-tmpl/prog/en/modules/opac-user.tmpl b/koha-tmpl/opac-tmpl/prog/en/modules/opac-user.tmpl
index 6a754fd..b3565eb 100644
--- a/koha-tmpl/opac-tmpl/prog/en/modules/opac-user.tmpl
+++ b/koha-tmpl/opac-tmpl/prog/en/modules/opac-user.tmpl
@@ -62,7 +62,12 @@ $.tablesorter.addParser({
 					<!-- /TMPL_IF -->
 				<!-- /TMPL_IF -->
 			});
-<!-- TMPL_IF NAME="GoogleJackets" -->KOHA.Google.GetCoverFromIsbn();<!-- /TMPL_IF -->
+			<!-- TMPL_IF NAME="GoogleJackets" -->KOHA.Google.GetCoverFromIsbn();
+        	<!-- TMPL_ELSE -->
+        		$(window).load(function() {
+            		KOHA.CoverArt.init();
+        		});
+        	<!-- /TMPL_IF -->
             });
 //]]>
 </script>
@@ -199,13 +204,13 @@ $.tablesorter.addParser({
         <!-- TMPL_IF NAME="overdue" --><tr class="overdue"><!-- TMPL_ELSE --><tr><!-- /TMPL_IF -->
 
 <!-- TMPL_IF NAME="JacketImages" --><td class="jacketcell">
+<div class="cover_container">
+<!-- TMPL_IF NAME="AmazonContent" --><div id="amazon-thumbnail<!--TMPL_VAR NAME="__counter__"-->"><a href="http://www.amazon.com/gp/reader/<!-- TMPL_VAR NAME="amazonisbn" -->/ref=sib_dp_pt/002-7879865-0184864#reader-link" title="View at Amazon.com"><img src="http://images.amazon.com/images/P/<!-- TMPL_VAR name="amazonisbn" -->.01.THUMBZZZ.jpg" alt="Cover Image" /></a></div><!-- /TMPL_IF -->
 
-<!-- TMPL_IF NAME="AmazonContent" --><!-- TMPL_IF NAME="amazonisbn" --><a href="http://www.amazon.com/gp/reader/<!-- TMPL_VAR NAME="amazonisbn" -->/ref=sib_dp_pt/002-7879865-0184864#reader-link" title="View at Amazon.com"><img border="0" src="http://images.amazon.com/images/P/<!-- TMPL_VAR name="amazonisbn" -->.01.THUMBZZZ.jpg" alt="Cover Image" /></a><!-- TMPL_ELSE --><a href="#"><span class="no-image">No cover image available</span></a><!-- /TMPL_IF --><!-- /TMPL_IF -->
-
-<!-- TMPL_IF NAME="GoogleJackets" --><!-- TMPL_IF NAME="amazonisbn" --><div style="display:block;" title="Click to view in Google Books" class="<!-- TMPL_VAR NAME="amazonisbn" -->" id="gbs-thumbnail<!--TMPL_VAR NAME="__counter__"-->"></div><!-- TMPL_ELSE --><a href="http://books.google.com/books?q=<!-- TMPL_VAR NAME="title" escape="url" -->"><span class="no-image">No cover image available</span></a><!-- /TMPL_IF --><!-- /TMPL_IF -->
-
-<!-- TMPL_IF NAME="BakerTaylorEnabled" --><!-- TMPL_IF NAME="clean_isbn" --><a href="https://<!-- TMPL_VAR NAME="BakerTaylorBookstoreURL" ESCAPE="HTML" --><!-- TMPL_VAR NAME="clean_isbn" -->"><img alt="See Baker &amp; Taylor" src="<!-- TMPL_VAR NAME="BakerTaylorImageURL" ESCAPE="HTML" --><!-- TMPL_VAR NAME="clean_isbn" -->" /></a><!-- TMPL_ELSE --><span class="no-image">No cover image available</span><!-- BakerTaylor needs clean_isbn! --><!-- /TMPL_IF --><!-- /TMPL_IF -->
+<!-- TMPL_IF NAME="GoogleJackets" --><div title="Click to view in Google Books" class="<!-- TMPL_VAR NAME="amazonisbn" -->" id="gbs-thumbnail<!--TMPL_VAR NAME="__counter__"-->"></div><!-- /TMPL_IF -->
 
+<!-- TMPL_IF NAME="BakerTaylorEnabled" --><div id="bt-thumbnail<!--TMPL_VAR NAME="__counter__"-->"><a href="https://<!-- TMPL_VAR NAME="BakerTaylorBookstoreURL" ESCAPE="HTML" --><!-- TMPL_VAR NAME="clean_isbn" -->"><img alt="See Baker &amp; Taylor" src="<!-- TMPL_VAR NAME="BakerTaylorImageURL" ESCAPE="HTML" --><!-- TMPL_VAR NAME="clean_isbn" -->" /></a></div><!-- /TMPL_IF -->
+</div>
 </td><!-- /TMPL_IF -->
 
                 <td><a href="/cgi-bin/koha/opac-detail.pl?biblionumber=<!-- TMPL_VAR NAME="biblionumber" -->"><!-- TMPL_VAR NAME="title" escape="html" --></a><span class="item-details">
-- 
1.5.6



More information about the Koha-patches mailing list