var MAX_ENGINES = 35;
var tp='';
var tpp='';
var find = 'hunt';
var hold=0;
var hold2=0;
var gog=0;
var ap='';

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 gotcha = find_substring(find, search);
this.name = name;
this.opts = opts;
this.home = home;
this.pre_gotcha = search.substring(0,gotcha);
this.post_gotcha= search.substring(gotcha+find.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)
}
}

function DisplayForm() {
document.writeln('<CENTER><FORM Name=Gotchaform OnSubmit="HandleForm(this); return false">');
document.writeln('<INPUT size=15 name="query">');
document.writeln('<SELECT name="service">');
for (i=1; i <= engs.len; i++) {
document.writeln("<OPTION " + engs[i].opts + "> " + engs[i].name);
}
document.writeln('</SELECT> <input type=submit value="Go"><br>');
document.writeln('</FORM> </CENTER>');
document.Gotchaform.query.focus()
}

function HandleForm(form)
{
var i, newq="", oldq=form.query.value;
for (i=0; i<oldq.length; i++)
{  // compress [ ]+ into \+
var thischar = oldq.charAt(i);
if (thischar =="+")newq += "%2B";
else
if (thischar != ' ')
newq += thischar;
else if (lastchar != ' ')
newq += '+';
lastchar = thischar;
}

var eng = engs[1+form.service.selectedIndex];
// Window
search=window.open(newq ? eng.pre_gotcha + newq + eng.post_gotcha : eng.home,"SmartSearch","scrollbars=yes,toolbar=yes,location=yes,directories=yes,status=yes,menubar=yes,resizable=yes,width='100%',hight='100%'");
}


Add("AltaVista","SELECTED","http://altavista.digital.com/","http://altavista.digital.com/cgi-bin/query?pg=q&what=web&fmt=d&q=hunt");
Add("Yahoo","","http://www.yahoo.com/","http://search.yahoo.com/bin/search?p=hunt" );
Add("DejaNews","","http://www.dejanews.com/","http://search.dejanews.com/nph-dnquery.xp?query=hunt&defaultOp=AND&svcclass=dncurrent&maxhits=25");
Add("HotBot","","http://www.search.hotbot.com","http://www.search.hotbot.com/search.html?MT=hunt&DC=25");
Add("Excite","","http://www.excite.com/","http://www.excite.com/search.gw?searchType=Concept&search=hunt&category=default");
Add("Infoseek","","http://www.infoseek.com","http://www.infoseek.com/Titles?qt=hunt&col=NN&sv=A2");
Add("Lycos","","http://www.lycos.com/","http://www.lycos.com/cgi-bin/pursuit?query=hunt&backlink=639");

