
var fileidx$ = new Array(
 "ABELIA","ALBOLINEATA","APTENIA","AURORA",
 "BEAUTYBERRY","BLOSSUM","BRASSAVOLA","BUSHMAN",
 "CAMEO","CATHARTICA","CHIONANTHA","COLEUS",
 "CORYMBOSUM","CY","DELTOID","DUSKY",
 "ENCHANTRESS","EXACUM","FILIFERA","FLOWERS",
 "GAGEANA","GLOBOSA","GRATUS","HECKROTTII",
 "HOTTENTOT","ICE","JANET","KALIHI",
 "LAURIFOLIUS","LIME","MADAGASCAN","MARNIERIANA",
 "MIMOSA","MYSORENSIS","OBCONICA","ORFORD",
 "PARKER","PETRICOLA","PIUS","POLYPODIUM",
 "PULCHELLUM","REDBERRY","ROSEA","SAN",
 "SENEGAL","SMITHII","SPACHIANUS","STENOCEREUS",
 "SUTHERLANDII","THELEMANNIANA","TREEBINE","VARIEGATED",
 "VIRENS","WILDCAT","YAELI");


function ParseQ(q) {
  var ucaseq = q.toUpperCase();
  var terms = new Array();
  var gotws = true;
  var i,nq,num=0,start=0;
  for (i=0; i<ucaseq.length; i++) {
    if ( ucaseq.charAt(i) < "A" || ucaseq.charAt(i) > "Z" ) {
      if( !gotws ) {
        gotws = true;
        nq = ucaseq.substring(start,i);
        if ( nq == "" || nq == "S" || nq == "A" || nq == "VAR" || nq == "SSP" ||
          nq == "VARIETY" || nq == "SUBSPECIES" ||
          nq == "OR" || nq == "AND" )
          ; // Do nothing
        else
          terms[num++] = nq;
      }
    }
    else {
      if ( gotws ) {
        gotws = false;
        start = i;
      }
    }
  }
  if ( !gotws) {
    nq = ucaseq.substring(start,ucaseq.length);
    if ( nq == "" || nq == "S" || nq == "VAR" || nq == "SSP" ||
         nq == "VARIETY" || nq == "SUBSPECIES" ||
         nq == "OR" || nq == "AND" )
      ; // Do nothing
    else
      terms[num++] = nq;
  }
  return terms;
}


function DoSearch(v) {
  var oldloc = window.location.href;
  var stridx = oldloc.lastIndexOf("swidx");
  var newloc;
  if ( stridx == -1 ) {
    stridx = oldloc.lastIndexOf("index.htm");
    if ( stridx == -1 )
      stridx = oldloc.lastIndexOf("plants");
    newloc = oldloc.substring(0,stridx);
    newloc += "sw/";
  }
  else
    newloc = oldloc.substring(0,stridx);
  var terms = ParseQ(v);
  var i,q = "";
  for (i=0; i<terms.length; i++) {
    if ( i != 0 )
      q += " ";
    q += terms[i];
  }
  if ( terms.length == 0 )
    return;
  for (i=1; i<fileidx$.length; i++) {
    if ( terms[0] < fileidx$[i] ) {
      newloc += "swidx" + (i-1) + ".htm?" + escape(q);
      break;
    }
  }
  if ( i == fileidx$.length )
    newloc += "swidx" + (i-1) + ".htm?" + escape(q);
  window.location = newloc;
}


function DisplayPage() {
  document.writeln('<form name="qform"');
  document.writeln(' onSubmit="DoSearch(document.qform.qt.value); return false;">');
  document.writeln('<input name="qt" size="50">');
  document.writeln('<input type="submit" value="Search">');
  document.writeln('</form>');
  var query = window.location.search.substring(1);
  query = unescape(query);
  if ( query == "" ) {
    return;
  }

  document.writeln("<h2>Search Results</h2>");
  document.writeln("<p>Your query was: " + query);
  var t = ParseQ(query);
  if ( idx$[t[0]] != null ) {
    var alldocs = idx$[t[0]].split(",");
    var docs = new Array();
    for (var i=0; i<alldocs.length; i++) {
      var dt,s;
      var rec = db$[alldocs[i]].split(":");
      var s_sci = rec[2].split(",");
      var s_com = rec[3].split(",");
      s = sci$[s_sci[0]];
      if (s_sci.length > 1)
          s += " " + sci$[s_sci[1]];
      s += " " + com$[s_com[0]];
      if (s_com.length > 1)
          s += " " + com$[s_com[1]];
      dt = ParseQ( s );
      var gotit = false;
      for (var j=0; j<t.length; j++) {
        gotit = false;
        for (var k=0; k<dt.length; k++) {
          if ( t[j] == dt[k] ) {
            gotit = true;
            break;
          }
        }
        if ( !gotit )
          break;
      }
      if (gotit )
        docs[docs.length] = alldocs[i];
    }
    document.writeln("<br>Documents: " + docs.length + " returned");
    var bStart = 1;
    for (var i=0; i<docs.length; i++) {
      var rec = db$[docs[i]].split(":");
      var s_sci = rec[2].split(",");
      var s_com = rec[3].split(",");
      if (bStart) {
        document.writeln(
 "<h2>Photographs of Garden Flowers</h2>"
 + '<table cellpadding="10" cellspacing="0" border="0">'
 + '<tr><th align="left">Item</th><th align="left">Description</th><th align="left">Link</th></tr>');
        bStart = 0;
      }
      document.writeln('<tr><td valign="top">' + (i+1) + '</td>');
      document.writeln('<td valign="top"><i>' + sci$[s_sci[0]] + '</i>');
      if ( s_sci.length > 1 )
          document.writeln(" '" + sci$[s_sci[1]] + "'");
      document.writeln("<br>");
      document.writeln(com$[s_com[0]] + '<br>');
      if ( s_com.length > 1)
        document.writeln(com$[s_com[1]] + '<br>');
      document.writeln('</td>');
      if ( rec[1] > 1 )
        document.writeln('<td valign="top"><a href="../plants/search/gar-' + rec[0] + '.htm?' + window.location.search.substring(1) + '">' +
          rec[1] + " Pictures</a></td></tr>");
      else
        document.writeln('<td valign="top"><a href="../plants/search/gar-' + rec[0] + '.htm?' + window.location.search.substring(1) + '">' +
          rec[1] + " Picture</a></td></tr>");
    }
    document.writeln("</table>");
  }
  else {
    document.writeln("<br>Documents: 0 returned");
    document.writeln("<h2>Zero Documents Returned</h2>");
  }
}

function followLink( s ) {
  window.location = s + "?" + window.location.search.substring(1);
  return false;
}


function searchResults() {
  var query = window.location.search.substring(1);
  query = unescape(query);
  if ( query == "" ) {
    return true;
  }
  DoSearch( query );
  return false;
}


