// JavaScript Document
var xmlHttp;
var kssq;
var start_kssq;
var kcatId;
var kcatName;
var knbp;
var start;
var psort;
var productID='';
var rb = "";
var mydomain, mydomain_client;
//mydomain=window.location.hostname;
mydomain = "www.astuteshopping.com/v2_to_v3";
mydomain_client=window.location.href.match(/:\/\/(.[^/]+)/)[1];
//mydomain = mydomain + "/astuteshopping/v2_to_v3";
if((mydomain_client != "") && (mydomain_client.toLowerCase().indexOf("astuteshopping",0) >=0))
{
	mydomain = mydomain_client + "/v2_to_v3";
}
var arrRefineBy = new Array(4);
var arrSelCat = new Array();
var flagRemove,SelectedId;

document.write("<form name='form0' onsubmit='return false;'><table border='0' cellpadding='2' cellspacing='0' width='100%' style='font-family:Verdana;font-size:12;'><tr><td style='font-family:Verdana;font-size:12;width:282px;'><label id=\"lblRefine\" name=\"lblRefine\"><b>Refine Search:</b></label>"
			   +"<input type='text' id='txtRefine' name='txtRefine' value='' style='font-family:Verdana;font-size:12;width:180px;'>"
			   +"</td><td width=\"50\"><a id='abtnSearch' href=javascript:findSearch(\""+ escape(kssq) +"\",'"+ kcatId +"',\""+ escape(kcatName) +"\",'"+ knbp +"');><img id='btnSearch' border=\"0\" src=\"http://www.astuteshopping.com/buttons/search-.gif\" title=\"Search\" alt=\"Search\"></img></a></td>"
			   +"<td>&nbsp;</td></tr></table><div id='divID' width='100%'></div></form>");

function trim(stringToTrim) {
	return stringToTrim.replace(/^\s+|\s+$/g,"");
}
function ltrim(stringToTrim) {
	return stringToTrim.replace(/^\s+/,"");
}
function rtrim(stringToTrim) {
	return stringToTrim.replace(/\s+$/,"");
}

function findSearch(varkssq,varkcatId,varkcatName,varknbp)
{
	var strFlagSTR;
	arrRefineBy[0] = new Array('1','1','1','false');
	arrRefineBy[1] = new Array('2','1','2','false');
	arrRefineBy[2] = new Array('3','1','3','false');
	arrRefineBy[3] = new Array('4','1','4','false');
	flagRemove = false;
	SelectedId = 1;

	if (trim(document.getElementById("txtRefine").value) != "")
	{
		strFlagSTR = trim(document.getElementById("txtRefine").value);
	}
	else
	{
		strFlagSTR = varkssq;
	}
	
	productID='';
	arrSelCat[0] = new Array(varkcatId,unescape(varkcatName));	
	Load_catagory(strFlagSTR,varkcatId,varkcatName,"1",varknbp,"popularity");	
}

function ReviewToSearch()
{
	flagRemove = false;
	arrRefineBy[parseInt(SelectedId,10)-1][3] = false;
	sortSearch();
}

function sortSearch()
{
	var strFlagSTR;
	var varsort;
	
	if (trim(document.getElementById("txtRefine").value) != "")
	{
		strFlagSTR = trim(document.getElementById("txtRefine").value);
	}
	else
	{
		strFlagSTR = kssq;
	}

	if(document.getElementById("selSortBy"))
		varsort = document.getElementById("selSortBy").options[document.getElementById("selSortBy").selectedIndex].value;
	else
		varsort = 'popularity';
	
	//flagRemove = false;
	Load_catagory(strFlagSTR,kcatId,kcatName,"1",knbp,varsort);	
}

document.getElementById("txtRefine").value = GetParam("txtRefine");
var IfNoResults = GetParam("IfNoResults");
var flagIfNoResults = 0;
function GetParam(name)
{
	var start=location.search.indexOf("?"+name+"=");
	if (start<0) start=location.search.indexOf("&"+name+"=");
	if (start<0) return '';
	start += name.length+2;
	var end=location.search.indexOf("&",start)-1;
	if (end<0) end=location.search.length;
	var result=location.search.substring(start,end);
	var result='';
	for(var i=start;i<=end;i++) 
	{
		var c=location.search.charAt(i);
		result=result+(c=='+'?' ':c);
	}
	return unescape(result);
}

findSearch(kssq,kcatId,escape(kcatName),knbp);

function Load_catagory(varkssq,varkcatId,varkcatName,varstart,varknbp,strsort)
{ 
	kssq = varkssq;
	kcatId = arrSelCat[arrSelCat.length-1][0];
	kcatName = arrSelCat[arrSelCat.length-1][1];
	start = varstart;
	psort = strsort;
	
	xmlHttp=GetXmlHttpObject();
	if (xmlHttp==null)
	{
		alert ("Browser does not support HTTP Request");
		return;
	}
	
	document.getElementById("lblRefine").style.display="inline";
	document.getElementById("txtRefine").style.display="inline";
	document.getElementById("btnSearch").style.display="inline";
	document.getElementById("abtnSearch").style.display="inline";
	
	var url="http://" + mydomain + "/search_product.php?query="+escape(varkssq)+"&categoryId="+kcatId+"&categoryName="+escape(kcatName)+"&MoreByName="+escape(arrRefineBy[parseInt(SelectedId,10)-1][0])+"&start="+varstart+"&results="+varknbp + "&sort="+strsort+"&rb="+rb+"&MoreById="+SelectedId+"&MoreByStart="+arrRefineBy[parseInt(SelectedId,10)-1][1]+"&MoreByOption="+flagRemove+"&ShowSelCat="+escape(ConcatenateShowSelection());
	url=url+"&sid="+Math.random();
	xmlHttp.onreadystatechange=stateChanged;
	xmlHttp.open("GET",url,true);
	xmlHttp.send(null);
}

function stateChanged() 
{ 
	document.body.style.cursor = 'wait';
	try
    {
		if (xmlHttp.readyState==4 || xmlHttp.readyState=="complete")
		{ 
			var outPut=xmlHttp.responseText; 
			document.getElementById("divID").innerHTML = outPut;
			document.body.style.cursor = 'auto'; 
			if((parseInt(flagIfNoResults,10) == 1) && (outPut == "<br/><table border='0' cellpadding='2' cellspacing='0' width='100%'><tr><td style='font-family:Verdana, Arial, Helvetica, sans-serif;font-size:12px;'>Sorry, we were unable to find what you are looking for.</td><td align='right'><a href='javascript:ReturnSearch();' style='font-family:Verdana;font-size:12;'>&laquo; Back To Previous Search Results</a></td></tr></table>") && (IfNoResults != ""))
			{
				window.location = IfNoResults;
				return;
			}
			document.getElementById("txtRefine").focus();
			Check_CheckedBoxes();
		}
	}
	catch(e)
	{
		document.body.style.cursor = 'auto'; 
	}
} 

function GetXmlHttpObject()
{ 
	var objXMLHttp=null;
	if (window.XMLHttpRequest)
	{
		objXMLHttp=new XMLHttpRequest();
	}
	else if (window.ActiveXObject)
	{
		objXMLHttp=new ActiveXObject("Microsoft.XMLHTTP");
	}
	return objXMLHttp; 
}


start_kssq = kssq;
document.onkeyup = KeyCheck;       
function KeyCheck(e)
{
   	var KeyID = (window.event) ? event.keyCode : e.keyCode;
	if(KeyID == 13) 
	{
		findSearch(escape(start_kssq),kcatId,escape(kcatName),knbp);
		return false;
	}
}

function Check_CheckedBoxes()
{
	if(productID != "")
	{
		productID = productID.substring(0,productID.length-1); 
		if(productID.indexOf(",") > 0)
		{
			var arr = productID.split(",");
			for(j=0;j<arr.length;j++)
			{
				for (i=0; i<document.form0.checkgroup.length; i++)
				{
					if (document.form0.checkgroup[i].value==arr[j])
					{
						document.form0.checkgroup[i].checked = true;
						break;
					}
				}
			}
		}
		else
		{
			for (i=0; i<document.form0.checkgroup.length; i++)
			{
				if (document.form0.checkgroup[i].value==productID)
				{
					document.form0.checkgroup[i].checked = true;
					break;
				}
			}
		}	
		productID = productID + ",";
	}
}

function getProductId()
{
	if(productID != "")
	{
		productID = productID.substring(0,productID.length-1); 
		ViewSavedList(productID);
		productID = productID + ",";
	}
	else
	{
		alert("Please select at least one product(s) to view.");
	}
}

/////////////////////////// Compare Products ////////////////////////////////////////
function ViewSavedList(productID)
{ 
	xmlHttp=GetXmlHttpObject();
	if (xmlHttp==null)
	{
		alert ("Browser does not support HTTP Request");
		return;
	} 
	
	document.getElementById("lblRefine").style.display="none";
	document.getElementById("txtRefine").style.display="none";
	document.getElementById("btnSearch").style.display="none";
	document.getElementById("abtnSearch").style.display="none";
	
	var url="http://" + mydomain + "/View_Saved_List.php?productId="+productID;
	url=url+"&sid="+Math.random();
	xmlHttp.onreadystatechange=stateChangedCP;
	xmlHttp.open("GET",url,true);
	xmlHttp.send(null);
}

function stateChangedCP() 
{ 
	document.body.style.cursor = 'wait';
	try
    {
		if (xmlHttp.readyState==4 || xmlHttp.readyState=="complete")
		{ 
			var outPut = xmlHttp.responseText; 
			outPut = "<table width='100%' border='0' cellpadding='2' cellspacing='0'><tr><td align='right'><a href=javascript:ReviewSelection(\"" + kssq + "\",'" + kcatId + "',\"" + kcatName + "\"," + start + "," + knbp + ",'" + psort + "'); style='font-family:Verdana;font-size:12;'>Return To Search</a></td></tr></table>" + outPut;
			document.getElementById("divID").innerHTML = outPut;
			document.body.style.cursor = 'auto';
		}
	}
	catch(e)
	{
		document.body.style.cursor = 'auto'; 
		document.getElementById("lblRefine").style.display="inline";
		document.getElementById("txtRefine").style.display="inline";
		document.getElementById("btnSearch").style.display="inline";
		document.getElementById("abtnSearch").style.display="inline";
	}
} 


///////////////////////////////////////////////////////////////////
function chkproducts(e)
{
	if (e.checked==true)
	{
		productID = productID + e.value + ",";		
	}
	else
	{
		if(productID.indexOf(e.value + ",") >= 0)
		{
			productID = productID.replace(e.value + ",","");
		}
		else if(productID.indexOf("," + e.value) > 0)
		{
			productID = productID.replace("," + e.value,"");
		}
	}
}



function fnShowDetails(count)
{
	for(i=0;i<knbp;i++)
	{
		if(count == i)
		{
			document.getElementById('show_details'+i).style.display = 'inline';
			document.getElementById('hide_details'+i).style.display = 'none';
			break;
		}
	}
}
 
function fnhideDetails(count)
{
	for(i=0;i<knbp;i++)
	{
		if(count == i)
		{
			document.getElementById('show_details'+i).style.display = 'none';
			document.getElementById('hide_details'+i).style.display = 'inline';
			break;
		}
	}
}

function RefineBy(varrb,varRemove,strkcatId,strkcatName)
{
	rb = varrb;
	start = 1;		// Reset Pagging
	//productID='';	// Reset View Saved Item List
	flagRemove = false;
	SelectedId = varRemove;
	arrRefineBy[parseInt(SelectedId,10)-1][3] = false;
	if(parseInt(SelectedId,10) == 4)
	{
		arrSelCat[arrSelCat.length] = new Array(strkcatId,strkcatName);
	}
	Load_catagory(kssq,kcatId,kcatName,start,knbp,psort);
}

function RefineByNew(varrb,varRemove,strkcatId,strkcatName)
{
	rb = varrb;
	start = 1;		// Reset Pagging
	//productID='';	// Reset View Saved Item List
	flagRemove = false;
	SelectedId = varRemove;
	arrRefineBy[parseInt(SelectedId,10)-1][3] = true;
	if(parseInt(SelectedId,10) == 4)
	{
		arrSelCat[arrSelCat.length] = new Array(strkcatId,strkcatName);
	}
	Load_catagory(kssq,kcatId,kcatName,start,knbp,psort);
}

function RefineByRemove(varrb,varRemove)
{
	rb = varrb;
	start = 1;		// Reset Pagging
	//productID='';	// Reset View Saved Item List
	SelectedId = varRemove;
	flagRemove = arrRefineBy[parseInt(SelectedId,10)-1][3];
	if(parseInt(SelectedId,10) == 4)
	{
		arrSelCat.splice(arrSelCat.length-1,1);
	}
	Load_catagory(kssq,kcatId,kcatName,start,knbp,psort);
}

function MoreRefineBy(varMoreById,varMoreByName,varMoreByStart,varcatName)
{
	flagRemove = true;
	SelectedId = varMoreById;
	arrRefineBy[parseInt(SelectedId,10)-1][0] = varMoreByName;
	arrRefineBy[parseInt(SelectedId,10)-1][1] = varMoreByStart;
	arrRefineBy[parseInt(SelectedId,10)-1][2] = varcatName;
	arrRefineBy[parseInt(SelectedId,10)-1][3] = true;
	Load_MoreRefineByOptions(kssq,kcatId,varMoreByName,start,knbp,psort,varMoreById,varMoreByStart,varcatName);
}

function Load_MoreRefineByOptions(varkssq,varkcatId,varMoreByName,varstart,varknbp,strsort,varMoreById,varMoreByStart,varcatName)
{ 
	xmlHttp=GetXmlHttpObject();
	if (xmlHttp==null)
	{
		alert ("Browser does not support HTTP Request");
		return;
	} 
	
	var url="http://" + mydomain + "/MoreRefineByOptions.php?query="+escape(varkssq)+"&categoryId="+varkcatId+"&MoreByName="+escape(varMoreByName)+"&start="+varstart+"&results="+varknbp + "&sort="+strsort+"&rb="+rb+"&MoreById="+varMoreById+"&MoreByStart="+varMoreByStart+"&categoryName="+escape(varcatName);
	url=url+"&sid="+Math.random();
	xmlHttp.onreadystatechange=stateChanged_MoreRefineByOptions;
	xmlHttp.open("GET",url,true);
	xmlHttp.send(null);
}

function stateChanged_MoreRefineByOptions() 
{ 
	document.body.style.cursor = 'wait';
	try
    {
		if (xmlHttp.readyState==4 || xmlHttp.readyState=="complete")
		{ 
			var outPut=xmlHttp.responseText; 
			document.getElementById("MoreRefineByOptions").innerHTML = outPut;
			document.body.style.cursor = 'auto'; 
			document.getElementById("txtRefine").focus();
		}
	}
	catch(e)
	{
		document.body.style.cursor = 'auto'; 
	}
} 

function ReturnSearch()
{
	flagIfNoResults = 1;
	kssq = "";
	document.getElementById("txtRefine").value = "";
	Load_catagory(kssq,kcatId,kcatName,start,knbp,psort);
}

function ReviewSelection(varkssq,varkcatId,varkcatName,varstart,varknbp,strsort)
{
	//flagRemove = true;
	Load_catagory(varkssq,varkcatId,varkcatName,varstart,varknbp,strsort);
}

function ConcatenateShowSelection() 
{
	var str="";
	for(var i =0; parseInt(i,10)< arrSelCat.length;i++)
	{
		str = str + arrSelCat[i][0] + "@@@" + arrSelCat[i][1] + "@@@";
	}
	return str.substring(0,parseInt(str.length,10)-3);
}
