/* Internet Archive directory listing searcher */ if(document.location.pathname.search("/download/") == 0) /* if directory listing viewed */ { var listing = document.getElementsByClassName("download-directory-listing")[0]; // create search bar in memory before inserting var search_input = document.createElement("input"); search_input.placeholder="search files"; search_input.onkeyup=search_list; search_input.style.marginRight="1em"; // create search result counter in memory before inserting var result_counter = document.createElement("span"); var listing_hr = listing.getElementsByTagName("hr")[0]; listing.insertBefore(search_input, listing_hr); // insert search bar into page listing.insertBefore(result_counter, listing_hr); // insert result counter into page var list_items = document.getElementsByTagName("tr"); var count = 0; // initialize counter for "for" loops var result_count = 0; // initialize result counter } function search_list() { result_count = 0; // reset result counter search_input.setAttribute("value",search_input.value); // compatibility for (count=2 /* skip "go to parent directory" */; count < list_items.length; count++) { // convert to case-insensitive var content_case_insensitive=list_items[count].innerHTML.toLowerCase(); var search_case_insensitive = search_input.value.toLowerCase(); // perform search if (content_case_insensitive.search(search_case_insensitive)<0) /* if no match */ { list_items[count].style.display="none"; /* hide */ } else { list_items[count].style.display=""; // fall back to original CSS by resetting to undefined result_count++; // count results } } result_counter.innerHTML = result_count; if (result_count == 1) result_counter.innerHTML += " result"; // singular else result_counter.innerHTML += " results"; // plural }