﻿// JavaScript Document
var active_filter = new Object();
active_filter.segments = new Array();
active_filter.topics = new Array();
active_filter.external_products = new Array();
active_filter.manufacturers = new Array();

//---------------------------------------------------------------------------------------------------------------
function showHideAdvancedFilter()
{
	var adv_filter = $("advanced_filter");
	if(adv_filter.style.display == "none")
	{
		adv_filter.style.display = "block";
	}
	else
		adv_filter.style.display = "none";
	if($("header-image") != null)
	{
		adv_filter.getElementsByTagName("div").item(2).className += " filter-header-image";	
	}
}

//---------------------------------------------------------------------------------------------------------------
function filterBySegment()
{
	resetActiveFilter();
	
	var quick_topics = $("quick_filter");
	var quick_checkboxes = quick_topics.getElementsByTagName("input");
	for(var i = 0; i < quick_checkboxes.length; i++)
	{
		var checkbox = quick_checkboxes.item(i);
		if(checkbox.checked)
		{
			active_filter.segments.push(checkbox.value);
		}
	}
	
	if(active_filter.segments.length == 0)
		hideFilterResetButton();
	else
		showFilterResetButton();
		
	$("advanced_filter").style.display = "none";
	
	filterChanged();
}

//---------------------------------------------------------------------------------------------------------------
function filterByTopic(id)
{
	resetQuickFilter();
	resetActiveFilter();
	
	active_filter.topics.push(id);
	
	showHideAdvancedFilter();
	showFilterResetButton();
	filterChanged();
}

//---------------------------------------------------------------------------------------------------------------
function filterByExternalProduct(id)
{
	resetQuickFilter();
	resetActiveFilter();
	
	active_filter.external_products.push(id);
	
	showHideAdvancedFilter();
	showFilterResetButton();
	filterChanged();
}

//---------------------------------------------------------------------------------------------------------------
function filterByManufacturer(id)
{
	resetQuickFilter();
	resetActiveFilter();
	
	active_filter.manufacturers.push(id);
	
	showHideAdvancedFilter();
	showFilterResetButton();
	filterChanged();
}

//---------------------------------------------------------------------------------------------------------------
function resetActiveFilter()
{
	active_filter = new Object();
	active_filter.segments = new Array();
	active_filter.topics = new Array();
	active_filter.external_products = new Array();
	active_filter.manufacturers = new Array();
}

//---------------------------------------------------------------------------------------------------------------
function resetQuickFilter()
{
	var quick_topics = $("quick_filter");
	var quick_checkboxes = quick_topics.getElementsByTagName("input");
	for(var i = 0; i < quick_checkboxes.length; i++)
	{
		var checkbox = quick_checkboxes.item(i);
		if(checkbox.setChecked != null &&  checkbox.setChecked != "undefined")
			checkbox.setChecked(false);
		else
			checkbox.checked = false;
	}
}

//---------------------------------------------------------------------------------------------------------------
function resetFilter()
{
	resetQuickFilter();
	resetActiveFilter();
	hideFilterResetButton();
	filterChanged();
}

//---------------------------------------------------------------------------------------------------------------
function showFilterResetButton()
{
	$("reset_filter").style.display = "block";
	var feature = $("product_feature");
	if(feature != null)
	{
		feature.style.display = "none";	
	}
}

//---------------------------------------------------------------------------------------------------------------
function hideFilterResetButton()
{
	$("reset_filter").style.display = "none";
	var feature = $("product_feature");
	if(feature != null)
	{
		feature.style.display = "block";	
	}
}
