filter = Array();

function filter_set(filterkey, filtervalue)
{
	filter[filterkey]=filtervalue;
}

function filter_del(filterkey)
{
	if (filterkey=='all')
	{
		for (currfilter in filter)
			delete(filter[currfilter]);
	}
	else
		delete(filter[filterkey]);
}

function filter_list_check(filterkey, filtervalue)
{
	if (filter[filterkey] && elementlist_check(filter[filterkey], filtervalue))
		return true;
	else
		return false;
}

function filter_list_add(filterkey, filtervalue)
{
	if (filter[filterkey] && !elementlist_check(filter[filterkey], filtervalue))
		filter[filterkey] = elementlist_add(filter[filterkey], filtervalue);
	else
		filter[filterkey] = filtervalue;
}

function filter_list_del(filterkey, filtervalue, beginswith)
{
	if (!beginswith)
		filter[filterkey] = elementlist_del(filter[filterkey], filtervalue);
	else
	{
		if (filter[filterkey])
		{
			elementlist = filter[filterkey];
			elementarray = elementlist.split(',');
			newelementarray = new Array();

			for (currfilter in elementarray)
			{
				if (elementarray[currfilter].substr(0,filtervalue.length)!=filtervalue)
					newelementarray[currfilter]=elementarray[currfilter];
			}

			filter[filterkey] = newelementarray.join(',').replace(',,', ',');
			if (filter[filterkey].substr(0,1)==',')
				filter[filterkey]=filter[filterkey].substr(1,filter[filterkey].length-1);
		}
	}

	if (typeof(filter[filterkey])=='string' && filter[filterkey].length==0)
		filter_del(filterkey);
}

function filter_get(filterkey)
{
	if (filter[filterkey])
		return filter[filterkey]
	else
		return '';
}

function filter_to_parameter()
{
	parameterstring='';

	for (parameter in filter)
	{
		if (parameterstring>'')
			parameterstring+='&';

		parameterstring+=parameter+'='+filter[parameter];
	}

	return parameterstring;
}

function getmodefilter()
{
	if (typeof(filter_category)!='undefined')
		return 'category='+filter_category;

	if (typeof(filter_manufacturer)!='undefined')
		return 'mode=manufacturer&manufacturer='+filter_manufacturer;

	if (typeof(filter_area)!='undefined')
		return 'mode=area&area='+filter_area;

	if (typeof(filter_shop)!='undefined')
		return 'mode=shop&shop='+filter_shop;

	if (typeof(filter_search)!='undefined')
		return 'mode=search';

	return '';
}
