var MAX_ENGINES		= 5;
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)
}


function DisplayForm() 
{
	document.writeln('<CENTER><FORM Name=Searchform OnSubmit="HandleForm(this); return false">');
	document.writeln('<INPUT size=10 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="Cari"></FORM>');
	document.writeln('</font></CENTER>');
	query = self.location.search;
    if (query!=null && query!='') 
	{
		if (query.length > 1) 
		{
			query = query.substring(1, query.length);
            document.Searchform.query.value=query
		}
	}
	document.Searchform.query.focus()
}


function HandleForm(form) 
{
	var i, newq="", oldq=form.query.value;
	for (i=0; i<oldq.length; i++) 
	{  
		var thischar = oldq.charAt(i);
		if (thischar != ' ')
			newq += thischar;
		else if (lastchar != ' ')
			newq += '+';
		lastchar = thischar;
	}
	var eng = engs[1+form.service.selectedIndex];
	parent.parent.location.href = newq ? eng.pre_snark + newq + eng.post_snark : eng.home;
	document.Searchform.query.focus()
}





// LOKASI PENCARIAN

Add("Berita", "",
   "index.php",
   "index.php?query=hunting+the+snark&pilih=search" );

Add("Acara", "",
   "index.php",
   "index.php?query=hunting+the+snark&pilih=search2" );

Add("Fasilitas", "",
   "index.php",
   "index.php?query=hunting+the+snark&pilih=search3" );

Add("Kamar", "",
   "index.php",
   "index.php?query=hunting+the+snark&pilih=search4" );
