123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960 |
- function search() {
- var searchTerm = document.getElementById('searchfield').value;
- var searchableElements = document.getElementsByTagName('section');
- var regexMatch = new RegExp(searchTerm, 'i');
- // Attempt to create anchor from search term (will default to 'localhost' on failure)
- var searchTermUri = document.createElement('a');
- searchTermUri.href = searchTerm;
- if(searchTermUri.hostname == 'localhost') {
- searchTermUri = null;
- } else {
- // Ignore "www."
- if(searchTermUri.hostname.indexOf('www.') === 0) {
- searchTermUri.hostname = searchTermUri.hostname.substr(4);
- }
- }
- for(var i = 0; i < searchableElements.length; i++) {
- var textValue = searchableElements[i].getAttribute('data-ref');
- var anchors = searchableElements[i].getElementsByTagName('a');
- if(anchors != null && anchors.length > 0) {
- var uriValue = anchors[0]; // First anchor is bridge URI
- // Ignore "www."
- if(uriValue.hostname.indexOf('www.') === 0) {
- uriValue.hostname = uriValue.hostname.substr(4);
- }
- }
- if(textValue != null || uriValue != null) {
- if(textValue.match(regexMatch) != null ||
- uriValue.hostname.match(regexMatch) ||
- searchTermUri != null &&
- uriValue.hostname != 'localhost' && (
- uriValue.href.match(regexMatch) != null ||
- uriValue.hostname == searchTermUri.hostname)) {
- searchableElements[i].style.display = 'block';
- } else {
- searchableElements[i].style.display = 'none';
- }
- }
- }
- }
|