isFilterShowed = false;
isFilterShowedTimer = 0;
isTimerCreated = false;
isMouseOut = false;
isSelectHidden = true;

function closeFilter(timer)
{
	var currentTime = new Date();
	if(currentTime.getTime() - isFilterShowedTimer > 1000)
	{
		if (isMouseOut && isSelectHidden) {
			timer = false;
			isTimerCreated = false;
			HideAllFilter();
		}
	}
	if (timer) {
		setTimeout('closeFilter(1)', 500);
	}
}

function HideFilter(obj, cl)
{
	if (!obj) {
		if (isFilterShowed == cl.substr(3)) {
			document.getElementById(cl).className = cl;
		}
	}
	else {
		obj.parentNode.parentNode.parentNode.parentNode.parentNode.className = cl;
	}
}

function setLastFilterChanges()
{
	isMouseOut = false;
	var curDate = new Date();
	isFilterShowedTimer = curDate.getTime();
}

function ShowFilter(obj, cl)
{
	//HideAllFilter();
	if ((isFilterShowed != cl) && isFilterShowed)
	{
		HideAllFilter();
	}
	isFilterShowed = cl;
	setLastFilterChanges();
	if (obj.className != 'sf-' + cl + ' ' + cl + '-hover') {
		obj.className = 'sf-' + cl + ' ' + cl + '-hover';
		if (!isTimerCreated) {
			setTimeout('closeFilter(1)', 500);
			isTimerCreated = true;
		}
	}
}

function HideAllFilter()
{
	var ulObj = $$('.filter-nav');
	if(ulObj)
	{
		var liObjs = ulObj[0].getElementsBySelector('li');
		if(liObjs)
		{
			liObjs.each(function(el){
				if(el.className.indexOf(' ') != -1)
				{
					el.className = el.className.substr(0, el.className.indexOf(' '));
				}
			});
		}
	}
}

function initNewSearchBlock(block_name)
{
	var selects = ['category', /*'manufacturer',*/ 'colour', 'size', 'price'];
	for(var i = 0; i < selects.length; i++)
	{
		var SelObj = $('q_'+selects[i]);
		if(SelObj)
		{
			var NewObj = $(block_name+'_'+selects[i]);
			if(NewObj)
			{
				var NewCount = NewObj.options.length;
				for (var j = 0; j < NewCount; j++)
				{
					NewObj.remove(0);
				}
				var SelCount = SelObj.options.length;
				for(var j = 0; j < SelCount; j++)
				{

					if (
						(SelObj.options[j].text.indexOf(block_name.substr(0,1).toUpperCase() + block_name.substr(1)) != -1)
						||
						(selects[i] != 'category')
					)
					{
						try {
							if (SelObj.options[j].selected)
							{
								NewObj.add(new Option(SelObj.options[j].text, SelObj.options[j].value, false, true), null) //add new option to end
							}
							else
							{
								NewObj.add(new Option(SelObj.options[j].text, SelObj.options[j].value), null) //add new option to end
							}
						}
						catch (e)
						{ //in IE, try the below version instead of add()
							if (SelObj.options[j].selected)
							{
								NewObj.add(new Option(SelObj.options[j].text, SelObj.options[j].value, false, true)) //add new option to end
							}
							else
							{
								NewObj.add(new Option(SelObj.options[j].text, SelObj.options[j].value)) //add new option to end
							}
						}
					}
				}

				NewObj.onchange = function() {
					setTimeout('closeFilter(1)', 100);
					isTimerCreated = true;
				}
				NewObj.onclick = function(){isSelectHidden = !(isSelectHidden); ChangeSelectedIndex(); }
			}
		}
	}
}


function NewObjOnChange()
{
	setTimeout('closeFilter(1)', 100);
	isTimerCreated = true;
}


function NewObjOnClick()
{
	isSelectHidden = !(isSelectHidden);
	ChangeSelectedIndex();
}


function ChangeSelectedIndex()
{
	setLastFilterChanges();
}

function FilterGo(block_name)
{
	var q_location = BaseUrl;
	var q_items = document.getElementById(block_name + '_items');
	if(q_items)
	{
		q_location += q_items.value+'/';
	}
	else
	{
		q_location += 'any/';
	}

	var q_category = document.getElementById(block_name + '_category');
	if(q_category)
	{
		if (categoriesArr[q_category.value]) {
			q_location += categoriesArr[q_category.value]+'/';
		}
		else
		{
			q_location += 'any/';
		}
	}
	else
	{
		q_location += 'any/';
	}

	var q_manufacturer = document.getElementById(block_name + '_manufacturer');
	if(q_manufacturer && q_manufacturer.value)
	{
		q_location += q_manufacturer.value+'/';
	}
	else
	{
		q_location += 'any/';
	}

	var q_colour = document.getElementById(block_name + '_colour');
	if(q_colour && q_colour.value)
	{
		q_location += q_colour.value+'/';
	}
	else
	{
		q_location += 'any/';
	}

	var q_size = document.getElementById(block_name + '_size');
	if(q_size && q_size.value)
	{
		q_location += q_size.value+'/';
	}
	else
	{
		q_location += 'any/';
	}

	var q_price = document.getElementById(block_name + '_price');
	if(q_price && q_price.value && pricesArr[q_price.value])
	{
		q_location += pricesArr[q_price.value]+'/';
	}
	else
	{
		q_location += 'any/';
	}
	var q_search = document.getElementById(block_name + '_search');
	if(q_search && q_search.value && (q_search.value != 'Search or Enter Style Code'))
	{
		var product_search = q_search.value;
		product_search = str_replace('.', '*', product_search);
		product_search = str_replace("'", '*', product_search);
		q_location += product_search + '/';
	}
	else
	{
		q_location += 'any/';
	}
	var q_qsearch = document.getElementById(block_name + '_quick_search');
	if(q_qsearch && q_qsearch.value && (q_qsearch.value != 'Search or Enter Style Code'))
	{
		var product_search = q_qsearch.value;
		product_search = str_replace('.', '*', product_search);
		product_search = str_replace("'", '*', product_search);
		q_location += product_search + '/';
	}
	else
	{
		q_location += 'any/';
	}
	q_location += '1';
	window.location = q_location;
}

function str_replace(search, replace, subject)
{
	return subject.split(search).join(replace);
}