function updateLinkList()
{
	var inputs = $('link-icons').getElementsByTagName('INPUT');
	var icons = new Array();
	var links = getElementsByClassName($('link-list'), 'link');
	var linkId;
	var showLink;
	var shownCount;
	var searchSummary;
	var i, j;
	
	for (i = 0; i < inputs.length; i++) {
		if (inputs[i].name = 'link_has_icon[]' && inputs[i].checked) {
			icons[icons.length] = new Number(inputs[i].value);
		}
	}
	
	shownCount = 0;
	for (i = 0; i < links.length; i++) {
		linkId = links[i].id.match(/^link-([0-9]+)$/)[1];
		showLink = true;
		for (j = 0; j < icons.length; j++) {
			if (!link_icons[linkId][icons[j]]) {
				showLink = false;
				break;
			}
		}
		links[i].style.display = ((showLink) ? '' : 'none');
		if (showLink) shownCount++;
	}
	
	if (icons.length > 0)
	{
		if (shownCount > 0)
		{
			searchSummary = shownCount + ' ' + ((shownCount == 1) ? 'listing' : 'listings') + ' found for ';
			
			for (i = 0; i < icons.length - 1; i++) {
				searchSummary += '"' + icon_titles[icons[i]] + '", ';
			}
			
			if (icons.length > 1) {
				searchSummary = searchSummary.substr(0, searchSummary.length - 2) + ' and ';
			}
			
			searchSummary += '"' + icon_titles[icons[icons.length - 1]] + '".';
			
			$('search-summary').innerHTML = searchSummary.
				replace('&', '&amp;').
				replace('<', '&lt;').
				replace('>', '&gt;').
				replace('"', '&quot;')	
		}
		else
		{
			$('search-summary').innerHTML = 'We have no establishments matching your criteria. Please broaden your search options.';
		}
		
		$('search-summary').style.display = '';
	}
	else
	{
		$('search-summary').style.display = 'none';
	}
}
