Removing bug in the record method.
[pazpar2-moved-to-github.git] / js / pz2.js
index ed3c69d..4d7f784 100644 (file)
--- a/js/pz2.js
+++ b/js/pz2.js
@@ -1,5 +1,5 @@
 /*
-** $Id: pz2.js,v 1.65 2007-11-01 10:59:32 marc Exp $
+** $Id: pz2.js,v 1.68 2007-12-20 13:09:40 jakub Exp $
 ** pz2.js - pazpar2's javascript client library.
 */
 
@@ -466,23 +466,25 @@ pz2.prototype =
             }
         );
     },
-    record: function(id, offset, params)
+    record: function(id, offset, pass_params)
     {
         // we may call record with no previous search if in proxy mode
         if( !this.searchStatusOK && this.useSessions)
            throw new Error(
             'Pz2.js: record command has to be preceded with a search command.'
-            ); 
-        if ( params == undefined )
-            params = {};
+            );
+        var params = {};
+        if ( pass_params != undefined )
+            params = pass_params;
 
+        var callback;
         if ( params.callback != undefined ) {
             callback = params.callback;
         } else {
             callback = this.recordCallback;
         }
         
-        // what is that?
+        var handle;
         if ( params['handle'] == undefined )
             handle = {};
         else
@@ -564,7 +566,21 @@ pz2.prototype =
                                         nodeText = 
                                             locationNodes[i].childNodes[j]
                                                 .firstChild.nodeValue;
-                                    record["location"][i][nodeName] = nodeText;                            
+                                    // this is stupid
+                                    if (nodeName == 'md-subject') {
+                                        if (record["location"][i][nodeName]) {
+                                            record["location"][i][nodeName]
+                                                .push(nodeText)
+                                        } else {
+                                            record["location"][i][nodeName] 
+                                                = new Array();
+                                            record["location"][i][nodeName]
+                                                .push(nodeText)
+                                        }
+                                    } else {
+                                        record["location"][i][nodeName] 
+                                            = nodeText;
+                                    }
                                 }
                             }
                         }