var xml = xshow.responseXML;
var body = document.getElementById("body");
var hits = xml.getElementsByTagName("hit");
- if (!hits[0])
+ if (!hits[0]) // We should never get here with blocking operations
{
body.innerHTML = "No records yet";
searchtimer = setTimeout(check_search, 250);
}
shown++;
if (shown < 5)
- searchtimer = setTimeout(check_search, 400);
- else if (shown < 10)
searchtimer = setTimeout(check_search, 1000);
else
- searchtimer = setTimeout(check_search, 4000);
+ searchtimer = setTimeout(check_search, 2000);
}
+ if (!termtimer)
+ termtimer = setTimeout(check_termlist, 1000);
}
function check_search()
var url = "search.pz2?" +
"command=show" +
"&start=" + startrec +
- "&session=" + session;
+ "&num=15" +
+ "&session=" + session +
+ "&block=1";
xshow = GetXmlHttpObject();
xshow.onreadystatechange=show_records;
xshow.open("GET", url);
xshow.send(null);
}
+
+function refine_query (obj) {
+ var query_cell = document.getElementById('query');
+ var subject = obj.innerHTML;
+
+ subject = subject.replace(/[\(\)]/g, '');
+ query_cell.value += ' and su=(' + subject + ')';
+ start_search();
+}
+
function show_termlist()
{
if (xtermlist.readyState != 4)
return;
+
var i;
var xml = xtermlist.responseXML;
var body = document.getElementById("termlist");
var hits = xml.getElementsByTagName("term");
if (!hits[0])
{
- termtimer = (check_termlist, 1000);
+ termtimer = setTimeout(check_termlist, 1000);
+
}
else
{
{
var namen = hits[i].getElementsByTagName("name");
if (namen[0])
- body.innerHTML += namen[0].childNodes[0].nodeValue;
+ body.innerHTML += '<a href="#" onclick="refine_query(this)">' +
+ namen[0].childNodes[0].nodeValue +
+ '</a>';
/*
body.innerHTML += ' (';
var freqn = hits[i].getElementsByTagName("frequency");
alert(msg);
return;
}
- searchtimer = setTimeout(check_search, 250);
- termtimer = setTimeout(check_termlist, 1000);
+ check_search();
stattimer = setTimeout(check_stat, 1000);
}
function start_search()
{
clearTimeout(termtimer);
+ termtimer = 0;
clearTimeout(searchtimer);
+ searchtimer = 0;
clearTimeout(stattimer);
+ stattimer = 0;
clearTimeout(showtimer);
+ showtimer = 0;
if (!targets_loaded)
{
alert("Please load targets first");
xsearch.send(null);
document.getElementById("termlist").innerHTML = '';
document.getElementById("body").innerHTML = '';
+ update_history();
shown = 0;
startrec = 0;
}
+
+function session_encode ()
+{
+ var session_cells = Array('query');
+ var i;
+ var session = '';
+
+ for (i = 0; i < session_cells.length; i++)
+ {
+ var name = session_cells[i];
+ var value = escape(document.getElementById(name).value);
+ session += '&' + name + '=' + value;
+ }
+
+ return session;
+}
+
+
+function session_decode (session)
+{
+
+}
+
+
+function session_read ()
+{
+ var ses = document.location.href;
+ return ses.replace(/.*#/, '');
+}
+
+
+function session_store (new_value)
+{
+ var location = document.location.href;
+
+ location = location.replace(/#.*$/, '');
+ location += '#' + new_value;
+ document.location.href = location;
+}
+
+
+function update_history () {
+ var session = session_encode();
+ session_store(session);
+}
+
+
+
+
+
</script>
</head>