function init_search_gui()
{
	document.getElementById('uncheck_all').style.display = '';
	var divs = document.frmSearchPublications.getElementsByTagName('DIV');
	
	for( var i = 0; i < divs.length; i++ )
	{
		if( divs[i].id.substring(0,7) == 'search_' )
		{
			var name = divs[i].id.substring(7);
			var img = divs[i].getElementsByTagName('IMG')[0];
			img.src = '/img/arrow_closed.jpg';
			var link = divs[i].getElementsByTagName('A')[0];
			link.name = name;
			link.img = img;
			link.onclick = function() {
				var list = document.getElementById('controls_' + this.name);
				var selection = document.getElementById('selection_' + this.name);
				if( list.style.display == 'none' )
				{
					this.img.src = '/img/arrow_opened.jpg';
					list.style.display = '';
					selection.style.display = 'none';
				} else {
					this.img.src = '/img/arrow_closed.jpg';
					list.style.display = 'none';
					
					updateSelectionList(this.name);
				}
				updateNumberOfResults();
			}
			updateSelectionList(name);
		} else if( divs[i].id.substring(0,9) == 'controls_' ) {
			divs[i].style.display = 'none';
			
			var inputs = divs[i].getElementsByTagName('INPUT');
			for( var j = 0; j < inputs.length; j++ )
			{
				if( inputs[j].value == 0 )
				{
					var name = divs[i].id.substring(9);
					
					inputs[j].name = name;
					inputs[j].parent_div = divs[i];
					inputs[j].onclick = function() {
						var sister_inputs = this.parent_div.getElementsByTagName('INPUT');
						for( var f = 0; f < sister_inputs.length; f++ )
						{
							sister_inputs[f].checked = this.checked;
						}
						updateNumberOfResults();
					}
				} else {
					inputs[j].onclick = function() {
						updateNumberOfResults();
					}	
				}
			}
		}
	}
	updateNumberOfResults();
}
function updateNumberOfResults()
{
	var fields = document.frmSearchPublications.elements;
	var post_fields = document.frmSearchPublications.search.value;
	for( var i = 0; i < fields.length; i++ )
	{
		if( fields[i].type == 'checkbox' && fields[i].checked )
		{
			post_fields += '&' + fields[i].name + '=' + fields[i].value
		}
	}
	var request = new ajax('POST');
	var vars = new Array();
	vars['search'] = post_fields;
	vars['type'] = document.frmSearchPublications.type_value.value;
	request.do_call('/getNumberOfResults.php', vars, displayNumberOfResults);
}
function displayNumberOfResults(response)
{
	var div = document.getElementById('number_of_results');
	div.innerHTML = '<br /><strong>Aantal gevonden vacatures:</strong> ' + response.number_of_results;
}
function uncheckAllSelections()
{
	var inputs = document.getElementsByTagName('INPUT');
	for( var i = 0; i < inputs.length; i++ )
	{
		inputs[i].checked = false;
	}
	var divs = document.frmSearchPublications.getElementsByTagName('DIV');
	
	for( var i = 0; i < divs.length; i++ )
	{
		if( divs[i].id.substring(0,7) == 'search_' )
		{
			updateSelectionList(divs[i].id.substring(7));
		}
	}
	updateNumberOfResults();
}
function uncheckSelection(name, control_name, value)
{
	var inputs = document.getElementsByTagName('INPUT');
	for( var i = 0; i < inputs.length; i++ )
	{
		if( inputs[i].name == control_name && inputs[i].value == value )
		{
			inputs[i].checked = false;
		}
	}
	updateSelectionList(name);
}
function updateSelectionList(name)
{
	var list = document.getElementById('controls_' + name);
	var selection = document.getElementById('selection_' + name);
	var selections = new Array();
	var inputs = list.getElementsByTagName('INPUT');
	
	for( var j = 0; j < inputs.length; j++ )
	{
		if( inputs[j].checked && inputs[j].value != 0 )
		{
			var new_link = '<a href="javascript: uncheckSelection(\'' + name + '\', \'' + inputs[j].name + '\', ' + inputs[j].value + ');">' + inputs[j].title + '</a>';
			selections.push(new_link);
		}
	}
	if( selections.length > 0 )
	{
		selection.style.display = '';
		selection.innerHTML = '<strong>Jouw keuze: </strong>' + selections.join(', ');
	} else {
		selection.style.display = 'none';
	}
	updateNumberOfResults();
}
