
// hide this script from non-JavaScript browsers

// All code in this script is Copyright(C) 1996, Justin Boyan, jab+j@cs.cmu.edu
// For documentation and more info, see:  http://www.cs.cmu.edu/~jab/snark/
// This is SNARK Version 1.0, 18 May 1996

var MAX_ENGINES = 30;
var SNARK_STRING = "hunting+the+snark";

function MakeArray(n) {
   for (var i = 1; i <= n; i++) {
     this[i] = 0;
   }
   this.maxlen = n;
   this.len = 0;
   return this;
}

var engs = new MakeArray(MAX_ENGINES);

function find_substring(needle, haystack) {
   var i, needlen = needle.length, haylen = haystack.length;
   for (i=0; i<=haylen-needlen; i++) {
      if (needle == haystack.substring(i,i+needlen))
        return i;
   }
   return false;
}

function Engine(name, opts, home, search) {
  var snark = find_substring(SNARK_STRING, search);
  this.name = name;
  this.opts = opts;
  this.home = home;
  this.pre_snark = search.substring(0,snark);
  this.post_snark= search.substring(snark+SNARK_STRING.length, search.length);
}

function Add(name, opts, home, search) {
  engs.len++;
  if (engs.len <= engs.maxlen) {
    engs[engs.len] = new Engine(name, opts, home, search)
  }
  else {
    alert("Better increase MAX_ENGINES: " + engs.len + ">" + engs.maxlen)
  }
}

// ADD YOUR OWN SEARCH ENGINES BELOW.  (See http://www.cs.cmu.edu/~jab/snark/ )
//NOTICE THIS IS NOW CHECKED AND NOT SELECTED
 Add("Web", "CHECKED",
   "http://www.praize.com/",
   "http://www.praize.com/cgi-bin/engine/search.cgi?query=hunting+the+snark" ); 

Add("Chat", "",
   "http://www.praize.com/",
   "http://www.praize.com/cgi-bin/members/fullsitesearch.cgi?terms=hunting+the+snark&search=14&action=search&x=29&y=5" );
   
 Add("Clubs", "",
   "http://www.praize.com",
   "http://www.praize.com/cgi-bin/members/fullsitesearch.cgi?terms=hunting+the+snark&search=15&action=search&x=29&y=5" );   
   
 Add("Articles", "",
   "http://www.praize.com",
   "http://www.praize.com/cgi-bin/members/fullsitesearch.cgi?terms=hunting+the+snark&search=39&action=search&x=29&y=5" );

Add("Events", "",
   "http://www.praize.com",
   "http://www.praize.com/cgi-bin/events/display.cgi?action=search&keywords=hunting+the+snark&option=any&submit=Search+Events" );

 Add("News", "",
   "http://www.praize.com/",
   "http://www.praize.com/cgi-bin/grabnews/apexec.pl?t=av&d=1&search=hunting+the+snark&template=pnews.html&Submit.x=28&Submit.y=9" );   
   
Add("Bible", "",
   "http://www.praize.com/bible/",
   "http://www.praize.com/biblesearch/bible.cgi?SEARCH=hunting+the+snark&BIBLE=King+James+Version&BOOK=69+NEW+TESTAMENT&CHAP=N%2FA&CASE=ON&HILITE=ON&SUBMIT=Search&FIRST=OK&R1=I" );

Add("Images", "",
   "http://www.praize.com/bible/",
   "http://www.praize.com/cgi-bin/members/fullsitesearch.cgi?terms=hunting+the+snark&search=40&action=search&x=29&y=5" );


// ADD YOUR OWN SEARCH ENGINES ABOVE.  (See http://www.cs.cmu.edu/~jab/snark/ )

function HandleForm(form) {
  form.submit();  // This fixes a mysterious Netscape bug.  Without this line,
                  // you can't use <enter> to start the search the first time.
  var i, oldq=form.query.value, newq="";
  for (i=0; i<oldq.length; i++) {  // compress [ ]+ into \+
    var thischar = oldq.charAt(i);
    if (thischar != ' ')
      newq += thischar;
    else if (lastchar != ' ')
      newq += '+';
    lastchar = thischar;
  }
  for(i = 0; i<form.service.length; i++) {
	if(form.service[i].checked == true) {
		var eng = engs[i+1];
	}
	
  }
  location.href = newq ? eng.pre_snark + newq + eng.post_snark : eng.home;	
}

function DisplayForm() {
  for (i=1; i <= engs.len; i++) {
    document.writeln('<TD><B><INPUT TYPE="radio" name="service" value="' + engs[i].name + '"' +  engs[i].opts + '>' + engs[i].name + '</B></TD>');
  }
}