function chooseStoreState() {
	var c = document.getElementById("store_city");
	c.style.display = "inline";

	var empty = (c.options.length == 1);
	c.options.length = 1;

	var e = document.getElementById("store_state");
	var cities = [];
	for (var city in stores[e[e.selectedIndex].value])
		cities.push(city);
	cities.sort();

	var save = document.getElementById("save_city");

	for (var i in cities)
		c.options[parseInt(i) + 1] = new Option(cities[i], cities[i],
			(empty && save.value == parseInt(i) + 1), false);

	if (empty && save.value) {
		c.selectedIndex = save.value;
		chooseStoreCity();
	} else
		save.value = null;
}

function chooseStoreCity() {
	var s = document.getElementById("store_store");
	s.style.display = "inline";

	var empty = (s.options.length == 1);
	s.options.length = 1;

	var c = document.getElementById("store_city");
	var e = document.getElementById("store_state");
	var cityStores = stores[e[e.selectedIndex].value][c[c.selectedIndex].value];

	var save = document.getElementById("save_city");
	save.value = c.selectedIndex;

	var o = [];
	var m = {};
	for (var store in cityStores) {
		o.push(cityStores[store]);
		m[cityStores[store]] = store;
	}
	o.sort();

	var save = document.getElementById("save_store");

	for (var i in o)
		s.options[parseInt(i) + 1] = new Option(o[i], m[o[i]],
			(empty && save.value == parseInt(i) + 1), false);

	if (empty && save.value)
		s.selectedIndex = save.value;
	else
		save.value = null;
}

function choseStoreStore() {
	var s = document.getElementById("store_store");

	var save = document.getElementById("save_store");
	save.value = s.selectedIndex;
}

function initStore() {
	var e = document.getElementById("store_state");
	if (e.selectedIndex)
		chooseStoreState();
}

