<?php
-/* $Id: page_segments.phpi,v 1.5 2007-01-05 11:30:13 sondberg Exp $
+/* $Id: page_segments.phpi,v 1.6 2007-01-05 13:31:10 sondberg Exp $
* ---------------------------------------------------
* Page segments
*/
</div>
</div>
<div class="main">
- <div class="leftbar" id="termlist2">
+ <div class="leftbar" id="termlists">
<b>Limit search results</b><br />
Narrow your search by using the keywords below:<br />
<br />
<a id="facet_subject" href="#" class="selected"
onclick="toggle_facet(this)">Subject</a>
- <div id="facet_subject_terms" style="display: none;">None</div>
+ <div id="facet_subject_terms" class="facet"
+ style="display: none;">None</div>
<br />
<a id="facet_author" href="#" class="selected"
onclick="toggle_facet(this)">Author</a>
- <div id="facet_author_terms" style="display: none;">None</div>
+ <div id="facet_author_terms" class="facet"
+ style="display: none;">None</div>
- <br />
-
- <a id="facet_institution" href="#" class="selected"
- onclick="toggle_facet(this)">Institution</a>
- <div id="facet_institution_terms" style="display: none;">None</div>
-
- <br />
-
- <a id="facet_date" href="#" class="selected"
- onclick="toggle_facet(this)">Date</a>
- <div id="facet_date_terms" style="display: none;">None</div>
</div>
<div class="content" id="body">
END_OF_HEADER;
-/* $Id: search.js,v 1.1 2007-01-05 11:30:13 sondberg Exp $
+/* $Id: search.js,v 1.2 2007-01-05 13:31:10 sondberg Exp $
* ---------------------------------------------------
* Javascript container
*/
var old_session = session_read();
var url_surveillence;
var recstoshow = 15;
-var cur_termlist = "subject";
+var facet_list;
+var cur_facet = 0;
function initialize ()
{
+ facet_list = get_available_facets();
start_session();
session_check();
}
start_search();
}
-function set_termlist(termlist)
-{
- cur_termlist = termlist;
- check_termlist();
- if (termtimer)
- {
- clearTimeout(termtimer);
- termtimer = 0;
- }
-}
-function show_termlistoptions(body)
-{
- var opts = Array(
- Array('subject', 'Subject'),
- Array('author', 'Author')
- );
-
- for (i in opts)
- {
- if (opts[i][0] == cur_termlist)
- body.innerHTML += opts[i][1];
- else
- body.innerHTML += '<a href="" onclick="set_termlist(\'' + opts[i][0] +
- '\'); return false">' + opts[i][1] + '</a>';
- body.innerHTML += ' ';
- }
- body.innerHTML += '<p>';
-}
function show_termlist()
{
var i;
var xml = xtermlist.responseXML;
- var body = document.getElementById("termlist");
+ var body = facet_list[cur_facet][1];
var hits = xml.getElementsByTagName("term");
var clients =
Number(xml.getElementsByTagName("activeclients")[0].childNodes[0].nodeValue);
+
+ cur_facet++;
+
+ if (cur_facet >= facet_list.length)
+ cur_facet = 0;
+
if (!hits[0])
{
termtimer = setTimeout(check_termlist, 1000);
else
{
body.innerHTML = "<b>Limit results:</b><br>";
- show_termlistoptions(body);
- for (i = 0; i < hits.length; i++)
+
+ for (i = 0; i < hits.length; i++)
{
var namen = hits[i].getElementsByTagName("name");
if (namen[0])
function check_termlist()
{
+ var facet_name = facet_list[cur_facet][0];
var url = "search.pz2?" +
"command=termlist" +
"&session=" + session +
- "&name=" + cur_termlist;
+ "&name=" + facet_name;
xtermlist = GetXmlHttpObject();
xtermlist.onreadystatechange=show_termlist;
xtermlist.open("GET", url);
xsearch.onreadystatechange=search_started;
xsearch.open("GET", url);
xsearch.send(null);
- document.getElementById("termlist").innerHTML = '';
+// document.getElementById("termlist").innerHTML = '';
document.getElementById("body").innerHTML = '';
update_history();
shown = 0;
}
+function get_available_facets () {
+ var facet_container = document.getElementById('termlists');
+ var facet_cells = facet_container.childNodes;
+ var facets = Array();
+ var i;
+
+ for (i = 0; i < facet_cells.length; i++) {
+ var cell = facet_cells.item(i);
+
+ if (cell.className == 'facet') {
+ var facet_name = cell.id.replace(/^facet_([^_]+)_terms$/, "$1");
+ facets.push(Array(facet_name, cell));
+ }
+ }
+
+ return facets;
+}
+
+
function get_facet_container (obj) {
return document.getElementById(obj.id + '_terms');
}