function modtimetable_select_changed (select)
{
	var type, id, tokens;
	
	tokens = select.id.split('_');
	type = tokens[1];
	id = tokens[2];
	
	switch (type)
	{
		case "transport":
		{
			modtimetable_transport_changed(id);
			break;
		}
		case "marshrut":
		{
			modtimetable_marshrut_changed(id);
			break;
		}
		case "ostanovka":
		{
			modtimetable_ostanovka_changed(id);
			break;
		}
	}
}

function modtimetable_transport_changed (id)
{
	var transport, marshrut, ostanovka;
	
	transport = document.getElementById("modtimetable_transport_" + id);
	marshrut = document.getElementById("modtimetable_marshrut_" + id);
	ostanovka = document.getElementById("modtimetable_ostanovka_" + id);
	
	if (!(transport && marshrut && ostanovka))
		return;
	
	modtimetable_clear_select(marshrut);
	modtimetable_clear_select(ostanovka);
	
	if (!(transport.value < 0))
		ajax_get("http://" + S_domain + "/ajax/timetable",
				"blockid=" + encodeURIComponent(id) +
					"&transtype=" + encodeURIComponent(transport.value),
				modtimetable_transport_callback);
}

function modtimetable_marshrut_changed (id)
{
	var ostanovka, marshrut;
	
	marshrut = document.getElementById("modtimetable_marshrut_" + id);
	ostanovka = document.getElementById("modtimetable_ostanovka_" + id);
	
	if (!(marshrut && ostanovka))
		return;
	
	modtimetable_clear_select(ostanovka);
	
	if (!(marshrut.value < 0))
		ajax_get("http://" + S_domain + "/ajax/timetable",
				"blockid=" + encodeURIComponent(id) +
					"&marshrut=" + encodeURIComponent(marshrut.value),
				modtimetable_marshrut_callback);
}

function modtimetable_ostanovka_changed (id)
{
	var ostanovka;
	
	ostanovka = document.getElementById("modtimetable_ostanovka_" + id);
	
	if (!ostanovka)
		return;
	
	if (!(ostanovka.value < 0))
	{
		modtimetable_refresh_rasp(id);
		modtimetable_refresh_bliz(id);
		modtimetable_refresh_map(id);
	}
}