svn: r10051

This commit is contained in:
Eli Barzilay 2008-05-30 18:10:29 +00:00
parent 5399cf9b43
commit 8cdefb0d2e

View File

@ -149,7 +149,8 @@
// Configuration options // Configuration options
var results_num = 20; var results_num = 20;
var query, status, results_container, result_links; var query, status, results_container, result_links,
prev_page_link, next_page_link;
function InitializeSearch() { function InitializeSearch() {
var n; var n;
@ -163,7 +164,8 @@
+' onkeypress="return key_handler(event);" />' +' onkeypress="return key_handler(event);" />'
+'</td></tr>' +'</td></tr>'
+'<tr><td align="left">' +'<tr><td align="left">'
+'<a href="#" title="Previous Page"' +'<a href="#" title="Previous Page" id="prev_page_link"'
+' style="text-decoration: none; font-weight: bold;"'
+' onclick="key_handler(\'PgUp\'); return false;"' +' onclick="key_handler(\'PgUp\'); return false;"'
+'><tt><b>&lt;&lt;</b></tt></a>' +'><tt><b>&lt;&lt;</b></tt></a>'
+'</td><td align="center">' +'</td><td align="center">'
@ -171,20 +173,22 @@
+'&nbsp;' +'&nbsp;'
+'</span>' +'</span>'
+'</td><td align="right">' +'</td><td align="right">'
+'<a href="#" title="Next Page"' +'<a href="#" title="Next Page" id="next_page_link"'
+' style="text-decoration: none; font-weight: bold;"'
+' onclick="key_handler(\'PgDn\'); return false;"' +' onclick="key_handler(\'PgDn\'); return false;"'
+'><tt><b>&gt;&gt;</b></tt></a>' +'><tt><b>&gt;&gt;</b></tt></a>'
+'</td></tr>' +'</td></tr>'
+'<tr><td colspan="3" bgcolor="#ffe0e0">' +'<tr><td colspan="3" bgcolor="#ffffff">'
+'<span id="search_result"' +'<span id="search_result"'
+' style="display: none;' +' style="display: none;'
+' margin: 0.1em 0em; padding: 0.25em 1em;"></span>' +' margin: 0.1em 0em; padding: 0.25em 1em;"></span>'
+'</td></tr>' +'</td></tr>'
+'</table>'; +'</table>';
// get the query box // get the widgets we use
query = document.getElementById("search_box"); query = document.getElementById("search_box");
// status line
status = document.getElementById("search_status"); status = document.getElementById("search_status");
prev_page_link = document.getElementById("prev_page_link");
next_page_link = document.getElementById("next_page_link");
// result_links is the array of result link <container,link> pairs // result_links is the array of result link <container,link> pairs
result_links = new Array(); result_links = new Array();
n = document.getElementById("search_result"); n = document.getElementById("search_result");
@ -203,7 +207,7 @@
} }
} }
} }
if (query.value != "") DoSearch(); DoSearch();
query.focus(); query.focus();
query.select(); query.select();
} }
@ -221,7 +225,7 @@
} }
var last_search_term, last_search_term_raw; var last_search_term, last_search_term_raw;
var search_results, first_search_result, exact_results_num; var search_results = [], first_search_result, exact_results_num;
function DoSearch() { function DoSearch() {
var term = query.value; var term = query.value;
if (term == last_search_term_raw) return; if (term == last_search_term_raw) return;
@ -234,7 +238,7 @@
status.innerHTML = "Searching " + plt_search_data.length + " entries"; status.innerHTML = "Searching " + plt_search_data.length + " entries";
var terms = (term=="") ? [] : term.split(/ /); var terms = (term=="") ? [] : term.split(/ /);
if (terms.length == 0) { if (terms.length == 0) {
search_results = plt_search_data; search_results = [];
} else { } else {
search_results = new Array(); search_results = new Array();
exact_results = new Array(); exact_results = new Array();
@ -259,7 +263,7 @@
first_search_result = 0; first_search_result = 0;
status.innerHTML = "" + search_results.length + " entries found"; status.innerHTML = "" + search_results.length + " entries found";
query.style.backgroundColor = query.style.backgroundColor =
(search_results.length == 0) ? "#ffe0e0" : "white"; ((search_results.length == 0) && (term != "")) ? "#ffe0e0" : "white";
UpdateResults(); UpdateResults();
} }
@ -305,14 +309,14 @@
+ UncompactUrl(search_results[n][1]) + '" class="indexlink">' + UncompactUrl(search_results[n][1]) + '" class="indexlink">'
+ UncompactHtml(search_results[n][2]) + '</a>' + (note || ""); + UncompactHtml(search_results[n][2]) + '</a>' + (note || "");
result_links[i].style.backgroundColor = result_links[i].style.backgroundColor =
(n < exact_results_num) ? "#ffffd0" : "#f4f4f4"; (n < exact_results_num) ? "#ffffe0" : "#f8f8f8";
result_links[i].style.display = "block"; result_links[i].style.display = "block";
} else { } else {
result_links[i].style.display = "none"; result_links[i].style.display = "none";
} }
} }
if (search_results.length == 0) if (search_results.length == 0)
status.innerHTML = "No matches found"; status.innerHTML = ((last_search_term=="") ? "" : "No matches found");
else if (search_results.length <= results_num) else if (search_results.length <= results_num)
status.innerHTML = "Showing all matches"; status.innerHTML = "Showing all matches";
else else
@ -328,6 +332,11 @@
+ ((exact_results_num == search_results.length) + ((exact_results_num == search_results.length)
? "all" : exact_results_num) ? "all" : exact_results_num)
+ " exact</span>)"; + " exact</span>)";
prev_page_link.style.color =
(first_search_result-results_num >= 0) ? "black" : "#e8e8e8";
next_page_link.style.color =
(first_search_result+results_num < search_results.length)
? "black" : "#e0e0e0";
} }
var search_timer = null; var search_timer = null;