var search_handler = {};
search_handler.get_districts = tempdir+'/scripts/ajax/get_districts.php';
search_handler.get_projects = tempdir+'/scripts/ajax/get_projects.php';
search_handler.get_cityparts = tempdir+'/scripts/ajax/get_cityparts.php';
search_handler.requester = null;
search_handler.init = function ()
{
	var temp_select = document.getElementById('kraj[]');
	event_handler.add(temp_select, 'click', search_handler.clickHandler);

	var temp_select = document.getElementById('okres[]');
	event_handler.add(temp_select, 'click', search_handler.clickHandler);

	var temp_select = document.getElementById('developer[]');
	event_handler.add(temp_select, 'click', search_handler.clickHandler);
};
search_handler.clickHandler = function (event)
{
	event = event_handler.fix(event);
	var element = event.target;

	while (element.tagName.toLowerCase() != 'select')
	{
		element = element.parentNode;
	}

	if (element.id == 'developer[]')
	{
		var use_script = search_handler.get_projects;
		var tag = 'developers';
		var action = search_handler.refreshProject;
	}
	else if (element.id == 'kraj[]')
	{
		var use_script = search_handler.get_districts;
		var tag = 'regions';
		var action = search_handler.refreshDistrict;
	}
	else if (element.id == 'okres[]')
	{
		var use_script = search_handler.get_cityparts;
		var tag = 'districts';
		var action = search_handler.refreshCitypart;
	}

	var selected_options = new Array();
	var j = 0;

	var options = element.getElementsByTagName('option');
	for (var i = 0; i < options.length; i++)
	{
		if (options[i].selected == true)
		{
			selected_options[j] = options[i].value;
			j++;
		}
	}

	search_handler.requester = new xmlhttp_handler();
	search_handler.requester.setAction(action);

	param0 = new Array(tag, selected_options);
	param = new Array(param0);

	search_handler.requester.loadURL('POST', use_script, param, true);
};
search_handler.refreshDistrict = function ()
{
	search_handler.refreshHandle('district');
};
search_handler.refreshProject = function ()
{
	search_handler.refreshHandle('developer');
};
search_handler.refreshCitypart = function ()
{
	search_handler.refreshHandle('citypart');
};
search_handler.refreshHandle = function (type)
{
	var response = search_handler.requester.getXML();

	if (type == 'district')
	{
		var element = document.getElementById('okres[]');
	}
	else if (type == 'citypart')
	{
		var element = document.getElementById('mestskacast[]');
	}
	else if (type == 'developer')
	{
		var element = document.getElementById('projekt[]');
	}
	else
	{
		return false;
	}

	var items = response.getElementsByTagName("item");

	if (items.length > 0)
	{
		element.innerHTML = '';

		for (var i = 0; i < items.length; i++)
		{
			var option = document.createElement('option');
			option.value = items[i].getElementsByTagName('id')[0].childNodes[0].nodeValue;
			var txt = document.createTextNode(items[i].getElementsByTagName('text')[0].childNodes[0].nodeValue);
			option.appendChild(txt);

			element.appendChild(option);
		}
	}
	else
	{
		if (type == 'district')
		{
			element = document.getElementById('okres[]');

			element.innerHTML = '';

			var option = document.createElement('option');
			option.value = '-1';
			var txt = document.createTextNode('--- Kraj neurčen ---');
			option.appendChild(txt);

			element.appendChild(option);

			element = document.getElementById('mestskacast[]');

			element.innerHTML = '';

			var option = document.createElement('option');
			option.value = '-1';
			var txt = document.createTextNode('--- Okres neurčen ---');
			option.appendChild(txt);

			element.appendChild(option);
		}

		if (type == 'citypart')
		{
			element = document.getElementById('mestskacast[]');

			element.innerHTML = '';

			var option = document.createElement('option');
			option.value = '-1';
			var txt = document.createTextNode('--- Okres neurčen ---');
			option.appendChild(txt);

			element.appendChild(option);
		}

		if (type == 'developer')
		{
			element = document.getElementById('projekt[]');

			element.innerHTML = '';

			var selected_options = new Array();
			var j = 0;

			var partner_element = document.getElementById('developer[]');
			var options = partner_element.getElementsByTagName('option');
			for (var i = 0; i < options.length; i++)
			{
				if (options[i].selected == true)
				{
					selected_options[j] = options[i].value;
					j++;
				}
			}

			if (selected_options.length <= 0)
			{
				var option = document.createElement('option');
				option.value = '-1';
				var txt = document.createTextNode('--- Partner neurčen ---');
				option.appendChild(txt);

				element.appendChild(option);
			}
		}
	}
};