var form = document.forms[1]; function setSearch (extensions, minsize, maxsize) { var form = document.forms[1]; var searchstring = form.searchstring.value; // remove any search extensions present searchstring = searchstring.replace (/[*][.][^*.\s]+/g, ''); // remove any plus signs from the beginning of search term searchstring = searchstring.replace (/^[+]/g, ''); searchstring = searchstring.replace (/\s[+]/g, ' '); // replace dashes, periods, plus signs, and underscores with a quote mark searchstring = searchstring.replace( /[-._+]/g, '?' ); // extract search phrases in quotes var regexp = /["'][^'"]+["']/g; // " fix syntax highlighting var searchphrases = searchstring.match (regexp); searchstring = searchstring.replace (regexp, ''); if (searchphrases) for (var index = 0; index < searchphrases.length; index++) { // remove quotes from search phrases searchphrases[index] = searchphrases[index].replace (/["']/g, ''); // "); fix syntax highlighting // add asterixes to phrases, remove superfluous asterixes searchphrases[index] = searchphrases[index].replace (/^[*]*/, '*'); searchphrases[index] = searchphrases[index].replace (/[*]*$/, '*'); searchphrases[index] = searchphrases[index].replace (/[*]+/, '*'); // add quotes to search phrases searchphrases[index] = '"' + searchphrases[index] + '"'; } // remove superfluous spaces searchstring = searchstring.replace (/\s+/g, ' '); searchstring = searchstring.replace (/^\s+/g, ''); searchstring = searchstring.replace (/\s+$/g, ''); // split search string into words if( searchstring != '' ) var searchwords = searchstring.split( ' ' ); if (searchwords) { for (var index = 0; index < searchwords.length; index++) { // add asterixes to words searchwords[index] = searchwords[index].replace (/^[*]*/, '*'); searchwords[index] = searchwords[index].replace (/[*]*$/, '*'); searchwords[index] = searchwords[index].replace (/[*]+/, '*'); } if (searchphrases) var searchterms = searchwords.concat (searchphrases); else var searchterms = searchwords; } else if (searchphrases) var searchterms = searchphrases; // add AND operators if (searchterms) searchstring = '+' + searchterms.join (' +'); else searchstring = ''; form.searchstring.value = searchstring + ' ' + extensions; form.mode.selectedIndex = 0; form.minfilesize.value = minsize; form.maxfilesize.value = maxsize; }