/*
-** $Id: pz2.js,v 1.37 2007-06-21 09:42:46 adam Exp $
+** $Id: pz2.js,v 1.42 2007-07-02 12:52:03 jakub Exp $
** pz2.js - pazpar2's javascript client library.
*/
__myself.suppProtoVer = '1';
__myself.pz2String = paramArray.pazpar2path || "search.pz2";
__myself.stylesheet = paramArray.detailstylesheet || null;
-
+ __myself.useSessions = true;
+ if (paramArray.usesessions != undefined) {
+ __myself.useSessions = paramArray.usesessions;
+ }
+
//load stylesheet if required in async mode
if( __myself.stylesheet ) {
var request = new pzHttpRequest( __myself.stylesheet );
+ request.async = false;
request.get(
- {},
+ [],
function ( doc ) {
__myself.xslDoc = doc;
}
);
}
-
+
// at least one callback required
if ( !paramArray )
throw new Error("An array with parameters has to be suplied when instantiating a class");
init: function ( sessionId )
{
__myself.reset();
+
if ( sessionId != undefined ) {
__myself.initStatusOK = true;
__myself.sessionID = sessionId;
__myself.ping();
-
- } else {
+ } else if (__myself.useSessions) {
var request = new pzHttpRequest(__myself.pz2String, __myself.errorHandler);
request.get(
{ "command": "init" },
setTimeout("__myself.init()", 1000);
}
);
- }
+ } else {
+ __myself.initStatusOK = true;
+ }
},
// no need to ping explicitly
ping: function ()
else
throw new Error("You need to supply query to the search command");
- if( filter !== undefined )
- var searchParams = { "command": "search", "session": __myself.sessionID, "query": __myself.currQuery, "filter": filter };
- else
- var searchParams = { "command": "search", "session": __myself.sessionID, "query": __myself.currQuery };
+ var searchParams = { "command": "search", "query": __myself.currQuery, "session": __myself.sessionID };
+
+ if (filter !== undefined)
+ searchParams["filter"] = filter;
+
var request = new pzHttpRequest(__myself.pz2String, __myself.errorHandler);
request.get(
searchParams,
_urlAppendParams: function (params)
{
var getUrl = this.url;
- var paramArr = new Array();
- for ( var key in params ) {
- paramArr.push(key + '=' + encodeURI(params[key]) );
+ var sep = '?';
+ var el = params;
+ for (var key in el) {
+ if (el[key] != null) {
+ getUrl += sep + key + '=' + encodeURI(el[key]);
+ sep = '&';
+ }
}
-
- if ( paramArr.length )
- getUrl += '?' + paramArr.join('&');
-
return getUrl;
},