// 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=window.location.hostname;
mydomain=window.location.href.match(/:\/\/(.[^/]+)/)[1];
//mydomain = mydomain + "/astuteshopping";
var arrRefineBy = new Array(4);
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:380px;'>"
			   +"<input type='text' id='txtRefine' name='txtRefine' value='' style='font-family:Verdana;font-size:12;width:190px;'>"
			   +"&nbsp;&nbsp;<span id='spanSubCategory' style='font-family:Verdana;font-size:12;'><select id='selSubCategory' style='font-family:Verdana;font-size:12;width:140px;'><option value='0'> -- Select Category -- </option></select></span></td>"
			   +"<td width=\"50\"><a id='abtnSearch' href=javascript:findSearch(\""+ escape(kssq) +"\",'"+ kcatId +"','"+ 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,varknbp)
{
	var strFlagSTR = trim(document.getElementById("txtRefine").value);
	var strkcatId = varkcatId;
	var strkcatName;
	
	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(document.getElementById("selSubCategory").options[document.getElementById("selSubCategory").selectedIndex].value != "0")
	{
		strkcatId = document.getElementById("selSubCategory").options[document.getElementById("selSubCategory").selectedIndex].value;
		if(strkcatId.indexOf("|") > 0)
		{
			var arr1 = strkcatId.split("|");
			window.location = arr1[1] + "?txtRefine=" + escape(strFlagSTR);
			return;
		}
		else if(strkcatId.indexOf("http://") == 0)
		{
			window.location = strkcatId + "?txtRefine=" + escape(strFlagSTR);
			return;
		}
		
		if(trim(document.getElementById("txtRefine").value) != "")
		{
			strFlagSTR = trim(document.getElementById("txtRefine").value);
		}
		
		if(strkcatId == "4-0")
		{
			strkcatName = "All";
		}
		else
		{
			strkcatName = document.getElementById("selSubCategory").options[document.getElementById("selSubCategory").selectedIndex].text;
		}
	}
	else
	{
		strkcatId = document.getElementById("selSubCategory").options[document.getElementById("selSubCategory").selectedIndex].value;
		strkcatName = "All";
		//document.getElementById("divID").innerHTML = "&nbsp;";
		//return;
	}
	if(strkcatId != kcatId)
	{
		rb='';	// Reset Refine Search
	}
	productID='';
	Load_catagory(strFlagSTR,strkcatId,strkcatName,"1",varknbp,"popularity");	
}

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

function sortSearch()
{
	var strFlagSTR = trim(document.getElementById("txtRefine").value);
	var strkcatName;
	var varsort;
	
	if(document.getElementById("selSubCategory").options[document.getElementById("selSubCategory").selectedIndex].value != "0")
	{
		strkcatId = document.getElementById("selSubCategory").options[document.getElementById("selSubCategory").selectedIndex].value;
		if(trim(document.getElementById("txtRefine").value) != "")
		{
			strFlagSTR = trim(document.getElementById("txtRefine").value);
		}
		strkcatName = document.getElementById("selSubCategory").options[document.getElementById("selSubCategory").selectedIndex].text;
	}
	else
	{
		strkcatId = document.getElementById("selSubCategory").options[document.getElementById("selSubCategory").selectedIndex].value;
		strkcatName = "All";
		//document.getElementById("divID").innerHTML = "&nbsp;";
		//return;
	}
	if(strkcatId != kcatId)
	{
		rb='';	// Reset Refine Search
	}

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

//findSearch(kssq,kcatId,knbp,DivID);
document.getElementById("spanSubCategory").innerHTML = document.getElementById("FillSubCategory").innerHTML;
document.getElementById("FillSubCategory").innerHTML = "&nbsp;";
document.getElementById("selSubCategory").style.width = '170px';

function Load_catagory(varkssq,varkcatId,varkcatName,varstart,varknbp,strsort)
{ 
	kssq = varkssq;
	kcatId = varkcatId;
	kcatName = varkcatName;
	start = varstart;
	psort = strsort;
	
	xmlHttp=GetXmlHttpObject();
	if (xmlHttp==null)
	{
		alert ("Browser does not support HTTP Request");
		return;
	} 
	
	document.getElementById("txtRefine").style.display="inline";
	document.getElementById("btnSearch").style.display="inline";
	document.getElementById("abtnSearch").style.display="inline";
	document.getElementById("spanSubCategory").style.display="inline";
	
	var url="http://" + mydomain + "/search_product.php?query="+escape(varkssq)+"&categoryId="+varkcatId+"&categoryName="+escape(varkcatName)+"&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;
	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'; 
			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(kssq),kcatId,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("txtRefine").style.display="none";
	document.getElementById("btnSearch").style.display="none";
	document.getElementById("abtnSearch").style.display="none";
	document.getElementById("spanSubCategory").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("txtRefine").style.display="inline";
		document.getElementById("btnSearch").style.display="inline";
		document.getElementById("abtnSearch").style.display="inline";
		document.getElementById("spanSubCategory").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)
{
	rb = varrb;
	start = 1;		// Reset Pagging
	//productID='';	// Reset View Saved Item List
	flagRemove = false;
	SelectedId = varRemove;
	arrRefineBy[parseInt(SelectedId,10)-1][3] = false;
	Load_catagory(kssq,kcatId,kcatName,start,knbp,psort);
}

function RefineByNew(varrb,varRemove)
{
	rb = varrb;
	start = 1;		// Reset Pagging
	//productID='';	// Reset View Saved Item List
	flagRemove = false;
	SelectedId = varRemove;
	arrRefineBy[parseInt(SelectedId,10)-1][3] = true;
	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];
	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="+escape(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()
{
	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)
}
