/*
-** $Id: pz2.js,v 1.63 2007-10-30 13:41:05 jakub Exp $
+** $Id: pz2.js,v 1.68 2007-12-20 13:09:40 jakub Exp $
** pz2.js - pazpar2's javascript client library.
*/
this.errorHandler = paramArray.errorhandler || null;
// function callbacks
+ this.initCallback = paramArray.oninit || null;
this.statCallback = paramArray.onstat || null;
this.showCallback = paramArray.onshow || null;
this.termlistCallback = paramArray.onterm || null;
},
context.keepAlive
);
+ if ( context.initCallback )
+ context.initCallback();
}
else
context.throwError('Init failed. Malformed WS resonse.',
}
);
},
- 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
!= 'location' ) {
var nodeName =
recordNode.childNodes[i].nodeName;
- var nodeText =
- recordNode.childNodes[i]
+ var nodeText = '';
+ if (recordNode.childNodes[i].firstChild)
+ nodeText = recordNode.childNodes[i]
.firstChild.nodeValue;
record[nodeName] = nodeText;
}
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;
+ }
}
}
}