function get(key_str)
{	if(window.location.search)
	{	var query = window.location.search.substr(1);
		var pairs = query.split("&");
		for(var i = 0; i < pairs.length; i++)
    	{	var pair = pairs[i].split("=");
			if(unescape(pair[0]) == key_str) return unescape(pair[1]);
		}
	}
    return false;
}
function URLEncode(dec)
{	var SAFECHARS = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz-_.!~*'()";
	var HEX = "0123456789ABCDEF";
	var enc = "";
	for (var i = 0; i < dec.length; i++ )
	{	var ch = dec.charAt(i);
		if(ch == " ")
			enc += "+";
		else if(SAFECHARS.indexOf(ch) != -1)
			enc += ch;
		else
		{	var cC = ch.charCodeAt(0);
			if (cC > 255)
				enc += "+";
			else
				enc += "%"+HEX.charAt((cC >> 4) & 0xF)+HEX.charAt(cC & 0xF);
		}
	}
	return enc;
}
function URLDecode(enc)
{	var HC = "0123456789ABCDEFabcdef";
    var pt = "";
    var i = 0;
    while (i < enc.length)
    {	var ch = enc.charAt(i);
    	switch(ch)
        {	case "+": pt += " "; i++; break;
        	case "%": if(i<(enc.length-2)&&HC.indexOf(enc.charAt(i+1))!=-1&&HC.indexOf(enc.charAt(i+2))!=-1)
                  		{ pt += unescape(enc.substr(i,3)); i+=3; }
                  	  else
                  		{ pt += "%"; i++; }
    			break;
    		default: pt += ch; i++;
    	}
    }
	return pt;
}
function in_array(val,arr) {for(var i in arr) if(arr[i]==val) return i; return -1;}
function ParseSearchEngineResults(engineLetter,totalResult)
{	for(var i=0; i<AllSearchResult[engineLetter].length; i++)
	{	var searchresult = AllSearchResult[engineLetter][i];

		var foundItem = -1;
		for(var j=0; j<AllSearchResult[totalResult].length; j++)
		{	if(AllSearchResult[totalResult][j]["url"] == searchresult["url"])
			{	foundItem=j;
				break;
		}	}
		if(foundItem >= 0)
			AllSearchResult[totalResult][foundItem]["rank"]++;
		else
		{	var newItem = new Array();
			newItem["url"]		= searchresult["url"];
			newItem["showurl"]	= searchresult["showurl"];
			newItem["rank"]		= 1;
			newItem["title"]	= searchresult["title"];
			newItem["content"]	= searchresult["content"];
			AllSearchResult[totalResult].push(newItem);
}	}	}
function writeLink(searchresult)
{	var retHTML = "<tr><td valign='top' style='padding-left: 15px;'>";
		retHTML += "<span class='groot'><a href='"+searchresult["url"]+"' target='_blank'>"+searchresult["title"]+"</a></span><br />";
		retHTML += "<span class='midden'>"+searchresult["content"]+"</span><br />";
		retHTML += "<span class='klein'>"+searchresult["showurl"]+"</span><br /><br />";
		retHTML += "</td></tr>";
	return retHTML;
}
function searchComplete()
{	var doneSearching = true;
	for(var i in SearchEngines)			doneSearching &= AllSearchDone[i];
	for(var i in SearchEngineMainAds)	doneSearching &= AllSearchDone[i];

	if(doneSearching)
	{	AllSearchResult["all"] = Array();
		AllSearchResult["mainads"] = Array();
		for(var i in SearchEngines)			ParseSearchEngineResults(i,"all");
		for(var i in SearchEngineMainAds)	ParseSearchEngineResults(i,"mainads");

		var newHTML = "";
		document.getElementById("results").innerHTML = "";
		var resultCount	= 0;
		var linkCount	= AllSearchResult["all"].length;
		var mAdCount	= AllSearchResult["mainads"].length;
		var adPoses		= new Array();

		/*if(mAdCount>0)
		{	newHTML += "<table cellspacing='0' cellpadding='0' border='0' width='100%'><tr><td width='15'>&nbsp;</td><td><div class='adblock'>";
			newHTML += "<div style='text-align: right; width: 100%; font-size: xx-small;'>Ads by Wekkie</div>";
			for(var i=0; i<AllSearchResult["mainads"].length; i++)
			{	var searchresult = AllSearchResult["mainads"][i];
				newHTML += "<span class='adgroot'><a href='"+searchresult["url"]+"' target='_blank'>"+searchresult["title"]+"</a></span><br />";
				newHTML += "<span class='admidden'>"+searchresult["content"]+"</span><br />";
				newHTML += "<span class='adklein'>"+searchresult["showurl"]+"</span><br /><br />";
			}
			newHTML += "</div></td><td width='15'>&nbsp;</td></tr></table><br>";
		}*/

		newHTML += "<table cellspacing='0' cellpadding='0' border='0'>";
		for(var rank=10; rank>0; rank--)
			for(var i=0; i<linkCount; i++)
				if(AllSearchResult["all"][i]["rank"]==rank)
					newHTML += writeLink(AllSearchResult["all"][i]);

		newHTML += "</table>";
		document.getElementById("results").innerHTML = newHTML;
		document.getElementById("resultcount").innerHTML = "Found "+linkCount+" results&nbsp;&nbsp;";
	}
}
function searchNow()
{	document.getElementById("results").innerHTML = "Searching...";
	document.getElementById("resultcount").innerHTML = "Searching...";
	frames['adframe'].location.href = "ads.php?s=" + URLEncode(document.searchform['search'].value);

	AllSearchResult = Array();
	for(i in SearchEngineMainAds) eval(SearchEngineMainAds[i]+"(document.searchform['search'].value);");
	for(i in SearchEngines) eval(SearchEngines[i]+"(document.searchform['search'].value);");
}
function newSearch()
{	var searchString = URLDecode(get("search"));
	if(searchString)
	{	document.searchform['search'].value = searchString; searchNow(); }
}

var AllSearchResult = new Array();
var AllSearchDone = new Array();
var SearchEngines = new Array();
var SearchEngineMainAds = new Array();
