diff --git a/collects/scribblings/main/private/make-search.ss b/collects/scribblings/main/private/make-search.ss
index c5ffdbaef1..b44df07d0b 100644
--- a/collects/scribblings/main/private/make-search.ss
+++ b/collects/scribblings/main/private/make-search.ss
@@ -149,7 +149,8 @@
// Configuration options
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() {
var n;
@@ -163,7 +164,8 @@
+' onkeypress="return key_handler(event);" />'
+''
+'
'
- +'<<'
+' | '
@@ -171,20 +173,22 @@
+' '
+''
+' | '
- +'>>'
+' |
'
- +''
+ +' |
'
+''
+' |
'
+'';
- // get the query box
+ // get the widgets we use
query = document.getElementById("search_box");
- // status line
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 pairs
result_links = new Array();
n = document.getElementById("search_result");
@@ -203,7 +207,7 @@
}
}
}
- if (query.value != "") DoSearch();
+ DoSearch();
query.focus();
query.select();
}
@@ -221,7 +225,7 @@
}
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() {
var term = query.value;
if (term == last_search_term_raw) return;
@@ -234,7 +238,7 @@
status.innerHTML = "Searching " + plt_search_data.length + " entries";
var terms = (term=="") ? [] : term.split(/ /);
if (terms.length == 0) {
- search_results = plt_search_data;
+ search_results = [];
} else {
search_results = new Array();
exact_results = new Array();
@@ -259,7 +263,7 @@
first_search_result = 0;
status.innerHTML = "" + search_results.length + " entries found";
query.style.backgroundColor =
- (search_results.length == 0) ? "#ffe0e0" : "white";
+ ((search_results.length == 0) && (term != "")) ? "#ffe0e0" : "white";
UpdateResults();
}
@@ -305,14 +309,14 @@
+ UncompactUrl(search_results[n][1]) + '" class="indexlink">'
+ UncompactHtml(search_results[n][2]) + '' + (note || "");
result_links[i].style.backgroundColor =
- (n < exact_results_num) ? "#ffffd0" : "#f4f4f4";
+ (n < exact_results_num) ? "#ffffe0" : "#f8f8f8";
result_links[i].style.display = "block";
} else {
result_links[i].style.display = "none";
}
}
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)
status.innerHTML = "Showing all matches";
else
@@ -328,6 +332,11 @@
+ ((exact_results_num == search_results.length)
? "all" : exact_results_num)
+ " exact)";
+ 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;