/*
-** $Id: pz2.js,v 1.4 2007-03-28 15:20:53 jakub Exp $
+** $Id: pz2.js,v 1.8 2007-04-18 03:42:30 quinn Exp $
** pz2.js - pazpar2's javascript client library.
*/
//timers
__myself.statTime = paramArray.stattime || 2000;
__myself.statTimer = null;
- __myself.termTime = paramArray.termtime || 2000;
+ __myself.termTime = paramArray.termtime || 1000;
__myself.termTimer = null;
- __myself.showTime = paramArray.showtime || 2000;
+ __myself.showTime = paramArray.showtime || 1000;
__myself.showTimer = null;
+ __myself.showFastCount = 4;
__myself.bytargetTime = paramArray.bytargettime || 1000;
__myself.bytargetTimer = null;
+ //useful?
+ __myself.dumpFactor = 500;
+ __myself.showCounter = 0;
+ __myself.termCounter = 0;
+
// active clients, updated by stat and show
// might be an issue since bytarget will poll accordingly
__myself.activeClients = 1;
clearTimeout(__myself.showTimer);
clearTimeout(__myself.termTimer);
clearTimeout(__myself.bytargetTimer);
-
+
+ __myself.showCounter = 0;
+ __myself.termCounter = 0;
+
if( !__myself.initStatusOK )
return;
if ( __myself.statCallback )
__myself.statTimer = setTimeout("__myself.stat()", __myself.statTime / 2);
if ( __myself.termlistCallback )
- __myself.termlist();
- //__myself.termTimer = setTimeout("__myself.termlist()", __myself.termTime / 2);
+ //__myself.termlist();
+ __myself.termTimer = setTimeout("__myself.termlist()", __myself.termTime / 2);
if ( __myself.bytargetCallback )
__myself.bytargetTimer = setTimeout("__myself.bytarget()", __myself.bytargetTime / 2);
}
var hit = new Array();
for (i = 0; i < hits.length; i++) {
show.hits[i] = new Array();
+ show.hits[i]['location'] = new Array();
for ( j = 0; j < hits[i].childNodes.length; j++) {
+ var locCount = 0;
if ( hits[i].childNodes[j].nodeType == Node.ELEMENT_NODE ) {
- var nodeName = hits[i].childNodes[j].nodeName;
- var nodeText = hits[i].childNodes[j].firstChild.nodeValue;
- show.hits[i][nodeName] = nodeText;
+ if (hits[i].childNodes[j].nodeName == 'location') {
+ var locNode = hits[i].childNodes[j];
+ var id = locNode.getAttribute('id');
+ show.hits[i]['location'][id] = {
+ "id": locNode.getAttribute("id"),
+ "name": locNode.getAttribute("name")
+ };
+ }
+ else {
+ var nodeName = hits[i].childNodes[j].nodeName;
+ var nodeText = hits[i].childNodes[j].firstChild.nodeValue;
+ show.hits[i][nodeName] = nodeText;
+ }
}
}
}
__myself.showCallback(show);
+ __myself.showCounter++;
+ var delay = __myself.showTime;
+ if (__myself.showCounter > __myself.showFastCount)
+ delay *= 2;
+ alert(delay);
if (activeClients > 0)
- __myself.showTimer = setTimeout("__myself.show()", __myself.showTime);
+ __myself.showTimer = setTimeout("__myself.show()", delay);
}
else
// if it gets here the http return code was 200 (pz2 errors are 417)
for ( j = 0; j < locationNodes[i].childNodes.length; j++) {
if ( locationNodes[i].childNodes[j].nodeType == Node.ELEMENT_NODE ) {
var nodeName = locationNodes[i].childNodes[j].nodeName;
- var nodeText = locationNodes[i].childNodes[j].firstChild.nodeValue;
+ var nodeText;
+ if (locationNodes[i].childNodes[j].firstChild)
+ nodeText = locationNodes[i].childNodes[j].firstChild.nodeValue;
+ else
+ nodeText = '';
record["location"][i][nodeName] = nodeText;
}
}
termList[listName][j] = term;
}
}
+
__myself.termlistCallback(termList);
+ __myself.termCounter++;
if (termList["activeclients"] > 0)
- __myself.termTimer = setTimeout("__myself.termlist()", __myself.termTime);
+ __myself.termTimer = setTimeout("__myself.termlist()", (__myself.termTime + __myself.termCounter*__myself.dumpFactor));
}
else
// if it gets here the http return code was 200 (pz2 errors are 417)