function CategoryHelper(AjaxRoot, CategoryID, PageUrl)
{
	this.AjaxRoot 	= AjaxRoot;
	this.CategoryID = CategoryID;
	this.PageUrl	= PageUrl;
	
	this.SortDetailedListing = function(SortBy)
	{
		var SortPieces 	= SortBy.split(",");
		var SortTarget 	= SortPieces[0];
		var SortHigh	= (SortPieces[1] != undefined) ? 1 : 0;
		var params = "sort_target="+SortTarget;
		if(SortHigh == 1)
			params = params + "&sort_high="+SortHigh;
		
		var url = this.PageUrl+"?"+params
		window.location.replace(url);
	}
	
	
	this.GenericCallBack = function(Success, ResponseObject, EventData)
	{
		if(Success)
		{
			var element;
			var event_array = Array();
			try
			{
				eval("var obj= "+ResponseObject.responseText);
				
				if(EventData.constructor != Array)
					event_array.push(EventData);
				else
					event_array = EventData;
					
				for(var c=0; c<event_array.length; c++)
				{
					element = document.getElementById(event_array[c]);
					if(obj.Response != "")
						element.innerHTML = obj.Response;
				}				
				
				if(obj.Javascript != null)			
					window.eval(obj.Javascript);
			}
			catch(ex)
			{
				alert('Exception caught in ProductPageHelper '+ex.toString());	
			}				
		}
	}	
}