function parseFieldToQuery( fieldName, fieldVal, queryVal ) { // Used by search functions below. qc = ''; c = ''; lastword = ''; parsedText = ''; useQuotes = 0; fieldVal = fieldVal.toLowerCase(); // Step 1 - Parse the search string to strip spaces & control chars that'll cause search engine errors. // Include a * at the end of every word to get word ending variations. if ( fieldVal != '' && fieldVal != '[any]' ) { for ( i=0; i < fieldVal.length; i++ ) { c = fieldVal.charAt( i ); if ( c == '(' || c == ')' || c == '[' || c == ']' || c == '#' || c == '"' ) useQuotes = 1; if ( c == ' ') { if ( lastword == 'or' || lastword == 'and' || lastword == 'sentence' || lastword == 'not' ) {parsedText += '+'} else { parsedText += '*+' }; lastword = ''; } else { parsedText += c; lastword += c; } } if ( fieldName != 'HANSARDDATE' && c!= '"' && c!='*' && c!=')' ) parsedText += '*'; } // Step 3 - If the query includes control chars then wrap it in quotes... if (useQuotes == 1 ) parsedText = '"' +parsedText + '"'; // Step 2 - If a field name is passed, restrict our query component to that field... if ( fieldName == '' ) qc = '(' + parsedText + ')' else if (fieldName == 'HANSARDDATE') qc = '([HANSARDDATE]=' + parsedText + ')' else qc = '([' +fieldName+ ']=(' + parsedText + '))'; // Step 3 - Append our query component to the main query string... if ( parsedText == '' ) return ( queryVal ) else if ( queryVal =='' ) return ( qc ) else return ( queryVal + 'AND' + qc ); } function search( txtQuery ) { var strBaseURL = '/prod/anzacatt/anzacatt.nsf/all?searchview'; strSort = '1'; var n = 1; var searchFieldNames = new Array ( '' ); var searchFieldVals = new Array ( txtQuery ) var q = ''; for ( i1=0; i1 < n; i1++ ) { q = parseFieldToQuery ( searchFieldNames[i1], searchFieldVals[i1], q ) } if ( q == '' ) window.alert ('Please specify your search criteria.') else { location = strBaseURL + '&query=' + q + '&searchorder=' + strSort + '&login'; } } function searchAdv() { var strBaseURL = '/prod/anzacatt/anzacatt.nsf/all?searchview'; var f = document.forms[0]; strSort = '1'; var n = 2; var txtQuery = f.QueryText.value; var dt = ''; for ( i=0; i