Bug 10856: Fix cover display in shelf browser
[koha.git] / koha-tmpl / opac-tmpl / prog / en / js / google-jackets.js
index 45a4bb8..b23599f 100644 (file)
@@ -17,13 +17,14 @@ KOHA.Google = {
      * The result is asynchronously returned by Google and catched by
      * gbsCallBack().
      */
-    GetCoverFromIsbn: function() {
+    GetCoverFromIsbn: function(newWindow) {
         var bibkeys = [];
-        $("div [id^=gbs-thumbnail]").each(function(i) {
+        $("[id^=gbs-thumbnail]").each(function(i) {
             bibkeys.push($(this).attr("class")); // id=isbn
         });
         bibkeys = bibkeys.join(',');
         var scriptElement = document.createElement("script");
+        this.openInNewWindow=newWindow;
         scriptElement.setAttribute("id", "jsonScript");
         scriptElement.setAttribute("src",
             "http://books.google.com/books?bibkeys=" + escape(bibkeys) +
@@ -38,33 +39,38 @@ KOHA.Google = {
      * and link to preview if div id is gbs-thumbnail-preview
      */
     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;
-                                       $(this).append(img);
-                    var re = /^gbs-thumbnail-preview/;
-                    if ( re.exec($(this).attr("id")) ) {
-                        $(this).append(
-                            '<div style="margin-bottom:5px; margin-top:-5px;font-size:9px">' +
-                            '<a href="' + 
-                            book.info_url + 
-                            '"><img src="' +
-                            'http://books.google.com/intl/en/googlebooks/images/gbs_preview_sticker1.gif' +
-                            '"></a></div>' 
-                            );
-                    }
-                               } else {
-                                       var message = document.createElement("span");
-                                       $(message).attr("class","no-image");
-                                       $(message).html(NO_GOOGLE_JACKET);
-                                       $(this).append(message);
-                               }
-            });
-        }
-    }
+         var target = '';
+         if (this.openInNewWindow) {
+            target = 'target="_blank" ';
+         }
+         for (id in booksInfo) {
+             var book = booksInfo[id];
+             $("[id^=gbs-thumbnail]."+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;
+                     $(this).empty().append(img);
+                     var re = /^gbs-thumbnail-preview/;
+                     if ( re.exec($(this).attr("id")) ) {
+                         $(this).append(
+                             '<div style="margin-bottom:5px; margin-top:-5px;font-size:9px">' +
+                             '<a '+target+'href="' +
+                             book.info_url +
+                             '"><img src="' +
+                             'http://books.google.com/intl/en/googlebooks/images/gbs_preview_sticker1.gif' +
+                             '"></a></div>'
+                             );
+                     }
+                 } else {
+                     var message = document.createElement("span");
+                     $(message).attr("class","no-image");
+                     $(message).html(NO_GOOGLE_JACKET);
+                     $(this).empty().append(message);
+                 }
+             });
+         }
+
+     }
 };