var isSafari	= navigator.userAgent.indexOf("Safari")>=0;
var isOpera	= navigator.userAgent.indexOf("Opera")>=0;
var isGecko	= navigator.userAgent.indexOf("Gecko")>=0;
var isExplorer	= navigator.userAgent.indexOf("MSIE")>=0;
var ExplorerVersion=null;
if(isExplorer) {
	var VersionParts = navigator.appVersion.split("MSIE");
	ExplorerVersion = parseFloat(VersionParts[1]);
};


var Search_SearchTerm = "";

function QueryVar(variable,DefaultValue) 
{
	var query = window.location.search.substring(1);
	var vars = query.split("&");

	for (var i=0;i<vars.length;i++) 
	{
		var pair = vars[i].split("=");
		if (pair[0] == variable) 
		{
			return (pair[1]);
		}
	} 
	//Else - variable not found
	return(DefaultValue);
}




function ToHTML(string)
{
	return (decodeURIComponent(string.replace(/\+/g,' ')));
}


function SetHTML_Objects_ByName(Name,valueHTML)
{
	var Objects  = document.getElementsByName(Name);
	
	var idx;
	var obj;
	for (idx=0 ; ((idx<Objects.length) && (idx<25)) ; idx++)
	{
			obj = Objects[idx];
			obj.innerHTML=valueHTML;
	}
};



function SetValue_Objects_ByName(Name,valueHTML)
{

	var Objects  = document.getElementsByName(Name);
	var idx;
	var obj;
	for (idx=0 ; ((idx<Objects.length) && (idx<25)) ; idx++)
	{
			obj = Objects[idx];
			obj.value=valueHTML;
	}
};


	

function SetDisplay_Objects_ByName(Name,Display)
{
	var Objects  = document.getElementsByName(Name);
	var idx;
	var obj;
	for (idx=0 ; ((idx<Objects.length) && (idx<25)) ; idx++)
	{
			obj = Objects[idx];
			obj.style.display=Display;
	}
};



function SetCheck_Objects_ByName(Name,checkedValue)
{

	var Objects  = document.getElementsByName(Name);
	var idx;
	var obj;
	for (idx=0 ; ((idx<Objects.length) && (idx<25)) ; idx++)
	{
			obj = Objects[idx];
			obj.checked=checkedValue;
	}
};




function SetHREF_Objects_ByName(Name,HREF)
{
	var Objects  = document.getElementsByName(Name);
	var idx;
	var obj;
	for (idx=0 ; ((idx<Objects.length) && (idx<25)) ; idx++)
	{
			obj = Objects[idx];
			obj.href=HREF;
	}
};





function PopulateResultArray (ThreadLines)
{
	var HTML="";
	var Threadline_Template = document.getElementById("BT_SEARCH_RESULTS_TEMPLATE").innerHTML;
	var Threadline;
	var ThreadlinesHTML = "";
	
	var ThreadHREF,ThreadTitle,ThreadSnippet,AuthorID,AuthorName,Replies,Views,Created;
	for (var ArrayIndex=0;ArrayIndex<ThreadLines.length;ArrayIndex++)
	{
		ThreadHREF = ThreadLines[ArrayIndex][0];
		ThreadTitle = ThreadLines[ArrayIndex][1];
		ThreadSnippet = ThreadLines[ArrayIndex][2];
		AuthorID = ThreadLines[ArrayIndex][3];

		AuthorName = ThreadLines[ArrayIndex][4];
		AuthorHREF = ThreadLines[ArrayIndex][5];
		Replies = ThreadLines[ArrayIndex][6];
		Views = ThreadLines[ArrayIndex][7];
		Created = ThreadLines[ArrayIndex][8];


		Threadline = Threadline_Template;
		
		if (isOpera)
		{
			Threadline  = Threadline.replace(/"[^"\[]*\[HREF\]/g,ThreadHREF).replace(/"[^"\[]*%5BHREF%5D/g,ThreadHREF);
		}
		else
		{
			Threadline  = Threadline.replace(/\[HREF\]/g,ThreadHREF).replace(/%5BHREF%5D/g,ThreadHREF);
		};
		

		Threadline  = Threadline.replace(/%5BTITLE%5D/g,ThreadTitle).replace(/\[TITLE\]/g,ThreadTitle);

		Threadline  = Threadline.replace(/%5BSNIPPET%5D/g,ThreadSnippet).replace(/\[SNIPPET\]/g,ThreadSnippet);
		Threadline  = Threadline.replace(/%5BAUTHOR_ID%5D/g,AuthorID).replace(/\[AUTHOR_ID\]/g,AuthorID);
		Threadline  = Threadline.replace(/%5BAUTHOR_NAME%5D/g,AuthorName).replace(/\[AUTHOR_NAME\]/g,AuthorName);
		Threadline  = Threadline.replace(/%5BAUTHOR_URL%5D/g,AuthorHREF).replace(/\[AUTHOR_URL\]/g,AuthorHREF);
		Threadline  = Threadline.replace(/%5BREPLIES%5D/g,Replies).replace(/\[REPLIES\]/g,Replies);
		Threadline  = Threadline.replace(/%5BVIEWS%5D/g,Views).replace(/\[VIEWS\]/g,Views);
		Threadline  = Threadline.replace(/%5BCREATED%5D/g,Created).replace(/\[CREATED\]/g,Created);

		Threadline  = Threadline.replace(/%5BSEARCH%5D/g,Search_SearchTerm).replace(/\[SEARCH\]/g,Search_SearchTerm);
		
		ThreadlinesHTML = ThreadlinesHTML + Threadline;
	}
	
	var TableObject = document.getElementById("BT_SEARCH_RESULTS_TABLE");

	if (isSafari || isGecko)
	{
		TableObject.innerHTML = TableObject.innerHTML + ThreadlinesHTML;
	}
	else
	{
		TableObject.outerHTML =  TableObject.outerHTML.replace(/\<\/TABLE\>/,ThreadlinesHTML+"</TABLE>");
	};
}



function SearchExecute()
{
	Search_SearchTerm = QueryVar("search",Search_SearchTerm_Default);

	
	Search_Order = QueryVar("order",Search_Order);
	Search_Scope = QueryVar("scope",Search_Scope);

	var Search_AdditionalParams = "";

	//Invision support
	var Pagenav_Additional = QueryVar("pagenav_add","");
	if (Pagenav_Additional.length>0)
	{
		Search_AdditionalParams = Search_AdditionalParams + "pagenav_add="+ToHTML(Pagenav_Additional) + "&";
	};
	
	var PoweredByObject = document.getElementById("BT_SEARCH_POWEREDBY");
	var $PoweredBy;
	if ((isExplorer) && (ExplorerVersion<7))
	{
		$PoweredBy = "<A HREF='http://www.boardtracker.com'><SPAN STYLE=\"display:inline-block; width:1; filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(src='http://www.boardtracker.com/images/dog_powered_search.png');\"></SPAN></A>";
	}
	else
	{
		$PoweredBy = "<A HREF='http://www.boardtracker.com'><IMG SRC='http://www.boardtracker.com/images/dog_powered_search.png' BORDER=0></A>";
	};
	SetHTML_Objects_ByName("BT_SEARCH_POWEREDBY",$PoweredBy);


	SetValue_Objects_ByName("order",Search_Order);
	SetValue_Objects_ByName("scope",Search_Scope);
	
	if (Search_SearchTerm == "")
	{//Do nothing
	}
	else
	{
		SetValue_Objects_ByName("search",ToHTML(Search_SearchTerm));
		//SetValue_Objects_ByID("BT_SEARCH_INPUT",Search_SearchTerm);
		
		SetDisplay_Objects_ByName("BT_SEARCH_INPROGRESS","");


		var Search_PageNumber = QueryVar("page",1);

		//var ScriptURL = '<SCRIPT SRC="http://www.boardtracker.com/search/?&isjs=1&'+
		var ScriptURL = '<SCRIPT SRC="http://v2.boardtracker.com/search/?&isjs=1&'+

			'search='+Search_SearchTerm+"&"+
			'page='+Search_PageNumber+"&"+
			'cat='+Search_Category+"&"+
			'order='+Search_Order+"&"+
			'scope='+Search_Scope+"&"+

			'filter='+Search_SafeFilter+"&"+
			'boardid='+Search_BoardLimit+"&"+
			
			Search_AdditionalParams+
			'"><\/SCRIPT>';

		document.write(ScriptURL);
	};
};

SearchExecute();

