function search_object()
{
	//////////////// Private ////////////////
	var item_array = Array();
	var last_terms = "";
	var group_id = 0;

	var current_page = 1;
	var current_sort = "";
	var page_count = 10;
	var category_submenu = false;
	var store_cat = "";

	var search_url = "search/item_search.php";

	var current_items = function() 
	{  

		var retStr = "";
		for(var i=start(); i<=end(); i++)
			retStr += item_array[i] + ",";
		if(retStr != "")
			retStr = retStr.substring(0, retStr.length - 1);

		return retStr;
	};

	var get_item_list = function()
	{
		var callback = function(text)
		{
			if(text.replace(/^\s+|\s+$/g,"") == "")
			{
				document.getElementById('no_results').style.display = 'block';
				bucket.style.display = "none";
			}
			else
			{
				bucket.innerHTML = text;
				if(document.getElementById('categories'))
				{
					document.getElementById('sidebar').innerHTML = document.getElementById('categories').innerHTML;
					var cats = document.getElementById('categories');
					cats.parentNode.removeChild(cats);
				}
			}
		}
		AJAX(search_url, "terms=" + last_terms + "&page=" + current_page + "&sort=" + current_sort + "&page_count=" + page_count + "&group=" + group_id + "&subcategories=" + category_submenu + "&store_cat=" + store_cat, callback);
	}

	//////////////// Public ////////////////
	this.new_search = function(terms, page, sort, count, group, type, group_store_cat) 
	{ 
		terms = terms.replace(/\&quot\;/g, '"').replace(/^\s*|\s*$/g, "").replace(/\-/g, "%2D");
		if(!isNaN(parseInt(group)))
			group_id = group;

		if(type == "cross")
		{
			search_url = "search/crossover_search.php";
			terms = terms.replace(/-/g, '');
		}
		if(type == "cross" && terms == "")
		{
			document.getElementById('no_results').style.display = 'block';
			bucket.style.display = "none";
			return;
		}

		if(category)
			category_submenu = category;
		if(page)
			current_page = page;

		last_terms = terms;
		current_sort = sort;
		store_cat = group_store_cat;
		
		if(count == 10 || count == 50 || count == 100)
			page_count = count;
		
		bucket.innerHTML = '&nbsp;<strong>Loading</strong> <img src="img/loading.gif">';
		if(group_id)
			document.getElementById('sidebar').innerHTML = "<img src='img/blank.gif' height='0' width='134'>";
		
		get_item_list();
	};
	this.change_search = function(type, value)
	{
		eval(type + ' = "' + value + '";');

		var locStr = "search.php?";
		if(last_terms) locStr += "query=" + last_terms;
		if(current_sort) locStr += "&sort=" + current_sort;
		if(page_count) locStr += "&count=" + page_count;
		if(group_id) locStr += "&group=" + group_id;
		if(store_cat) locStr += "&store_cat=" + store_cat;

		if(current_page && type != 'group_id') locStr += "&page=" + current_page;

		window.location = locStr;
	}
	return this;
};
searcher = search_object();

