// Search Engine Javascript Code and Constants.
// Copyright:	(C) Chariot netconnect 2002-03.
// Author:	Adam Day (03/01/2003).
// Haxored by:	Rocky (15/12/2003).



// Define the search engines. (The search string within the URL must be [SEARCH_STRING]).

var engine_array = new Array();

engine_array[engine_array.length] = new Engine("google","Google","http://www.google.com/search?q=[SEARCH_STRING]");
engine_array[engine_array.length] = new Engine("looksmart","LookSmart","http://netconnect.looksmart.com.au/synd-xai/search/index.jsp?catPath=302562&key=[SEARCH_STRING]");
engine_array[engine_array.length] = new Engine("altavista","AltaVista","http://www.altavista.digital.com/cgi-bin/query?pg=q&what=web&fmt=.&q=[SEARCH_STRING]");
engine_array[engine_array.length] = new Engine("yahoo","Yahoo!","http://search.yahoo.com/bin/search?p=[SEARCH_STRING]");
engine_array[engine_array.length] = new Engine("ninemsn","NineMSN","http://search.ninemsn.com.au/results.asp?MT=[SEARCH_STRING]&RS=CHECKED&CO=20&UDo=au&ULo=&LA=&UN=doc&Form=SMCB&CY=en-au");
engine_array[engine_array.length] = new Engine("anzwers","Anzwers","http://au.search.yahoo.com/search/anzwers?p=[SEARCH_STRING]");
engine_array[engine_array.length] = new Engine("webwombat","Web Wombat","http://www.webwombat.com.au/aus?ix=[SEARCH_STRING]");
engine_array[engine_array.length] = new Engine("ozsearch","Ozsearch","http://ozsearch.com.au/cgi-bin/search/search.fcgi?Terms=[SEARCH_STRING]");
engine_array[engine_array.length] = new Engine("lycos","Lycos","http://search.lycos.com/?query=[SEARCH_STRING]");
engine_array[engine_array.length] = new Engine("webcrawler","WebCrawler","http://www.webcrawler.com/cgi-bin/WebQuery?searchText=[SEARCH_STRING]");


// Declare the object used to represent a search engine.

function Engine (engine_id,engine_name,engine_url) {
	this.engine_id = engine_id;
	this.engine_name = engine_name;
	this.engine_url = engine_url;
}


// getEngine returns the engine object corresponding to engine_id. Returns first engine if engine_id not found.

function getEngine(engine_id) {

	for (var i = 0; i < engine_array.length; i++) {
		if (engine_array[i].engine_id == engine_id) {
			return engine_array[i];
		}
	}

	return engine_array[0];

}


// doSearch processes input from the form, and opens the search window.

function doSearch(theForm) {

	var engine_object = getEngine(theForm.search_engine.options[theForm.search_engine.selectedIndex].value);
	var search_string = theForm.search_string.value;
	var engine_url = engine_object.engine_url;

	engine_url = replaceSubString(engine_url,"[SEARCH_STRING]",search_string);
	engine_url = engine_url.split(" ").join("+");

	location=engine_url;
//	window.open(engine_url,"searchWindow","location=yes,menubar=yes,resizable=yes,scrollbars=yes,status=yes,toolbar=yes");

}


// replaceSubString changes the first instance of fromString to toString, within inputString.

function replaceSubString(inputString,fromString,toString) {

	var resultString = inputString;
	var position;

	while (resultString.indexOf(fromString) > -1) {
		position = resultString.indexOf(fromString);
		resultString = "" + (resultString.substring(0, position) + toString + resultString.substring((position + fromString.length), resultString.length));
	}

	return resultString;

}
