Added rudimentary back-button functionality.
[pazpar2-moved-to-github.git] / www / test1 / index.html
index a79bc68..4f786bd 100644 (file)
@@ -155,6 +155,7 @@ function check_search()
     var url = "search.pz2?" +
         "command=show" +
        "&start=" + startrec +
+       "&num=15" +
        "&session=" + session +
        "&block=1";
     xshow = GetXmlHttpObject();
@@ -166,8 +167,10 @@ function check_search()
 
 function refine_query (obj) {
     var query_cell = document.getElementById('query');
-
-    query_cell.value += ' and su=' + obj.innerHTML;
+    var subject = obj.innerHTML;
+    
+    subject = subject.replace(/[\(\)]/g, '');
+    query_cell.value += ' and su=(' + subject + ')';
     start_search();
 }
 
@@ -175,13 +178,15 @@ 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
     {
@@ -301,10 +306,61 @@ function start_search()
     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>