
dom = (document.getElementById)? true : false;

city_form = null;

cb_countries = null;
cb_cities = null;

i_country = null;
i_city = null;

c_country = null;
c_city = null;

l_country = null;
l_city = null;

countries = null;
cities = null;

function initCity(frm, _cb_countries, _cb_cities, _i_country, _i_city, _c_country, _c_city, _l_country, _l_city)
{
	countries = new Array("Армения", "Беларусь", "Грузия", "Казахстан", "Россия", "Узбекистан", "Украина");

	cities = new Array(

		// Армения
		new Array("Ереван"),

		// Беларусь
		new Array("Брест", "Гомель", "Минск", "Могилев", "Орша"),

		// Грузия
		new Array("Батуми", "Кутаиси", "Сухуми", "Тбилиси"),

		// Казахстан
		new Array("Актау", "Актобе", "Алма-Ата", "Аральск", "Астана", "Балхаш", "Жезказган (Джезказган)", "Караганда", "Кустанай", "Павлодар", "Петропавловск", "Рузаевка", "Семипалатинск", "Уральск", "Усть-Каменогорск", "Чимкент"),

		// Россия
		new Array("Абакан", "Азов", "Ангарск", "Амурск", "Апатиты", "Арзамас", "Арсеньев", "Архангельск", "Астрахань", "Балашиха", "Барнаул", "Белгород", "Беломорск", "Бийск", "Билибино", "Биробиджан", "Борок", "Благовещенск", "Борисоглебск", "Братск", "Брянск", "Великие Луки", "Великий Новгород", "Великий Устюг", "Видное", "Владивосток", "Владикавказ", "Волгоград", "Вологда", "Волоколамск", "Воронеж", "Горки", "Горно-Алтайск", "Губкин", "Гусь-Хрустальный", "Димитровград", "Долгопрудный", "Дмитров", "Дубна", "Енисейск", "Екатеринбург", "Железногорск", "Жигулевск", "Забайкальск", "Звенигород", "Зеленоград", "Иваново", "Иркутск", "Ижевск", "Истра", "Казань", "Калуга", "Камчатка", "Калининград", "Кемерово", "Киров", "Кировск", "Клин", "Кострома", "Кольцово", "Красноярск", "Краснодар", "Краснокамск", "Красноярск", "Курган", "Курск", "Липецк", "Луганск", "Майкоп", "Магадан", "Махачкала", "Магнитогорск", "Мирный", "Можайск", "Москва", "Мурманск", "Мытищи", "Набережные Челны", "Наро-Фоминск", "Находка", "Нефтегорск", "Нефтеюганск", "Нижневартовск", "Нижний Новгород", "Нижний Тагил", "Новгород", "Новокузнецк", "Новороссийск", "Новосибирск", "Новоуральск", "Новый Оскол", "Новый Уренгой", "Ногинск", "Норильск", "Обнинск", "Омск", "Орел", "Оренбург", "Пенза", "Переславль-Залесский", "Пермь", "Петрозаводск", "Подольск", "Петропавловск-Камчатский", "Протвино", "Псков", "Пущино", "Пушкино", "Пятигорск", "Раменское", "Ростов", "Ростов-на-Дону", "Рубцовск", "Рыбинск", "Рязань", "Саранск", "Салехард", "Самара", "Санкт-Петербург", "Саранск", "Саратов", "Саров", "Северодвинск", "Североморск", "Серпухов", "Смоленск", "Снежинск", "Сочи", "Ставрополь", "Старый Оскол", "Сургут", "Сыктывкар", "Тамбов", "Тверь", "Тобольск", "Тольятти", "Томск", "Троитск", "Туапсе", "Тула", "Тура", "Тюмень", "Улан-Удэ", "Ульяновск", "Уссурийск", "Уральск", "Уфа", "Хабаровск", "Ханты-Мансийск", "Химки", "Холмогоры", "Цимлянск", "Чебоксары", "Челябинск", "Череповец", "Черноголовка", "Чернигов", "Чита", "Шатура", "Южно-Сахалинск", "Якутск", "Ярославль"),

		// Узбекистан
		new Array("Бухара", "Навои", "Нукус", "Самарканд", "Ташкент", "Термез", "Фергана", "Хива"),

		// Украина
		new Array("Днепропетровск", "Донецк", "Житомир", "Запорожье", "Ивано-Франковск", "Киев", "Кривой Рог", "Луганск", "Львов", "Мариуполь", "Одесса", "Полтава", "Севастополь", "Симферополь", "Сумы", "Тернополь", "Феодосия", "Харьков", "Херсон", "Черкассы", "Чернобыль", "Черновцы", "Ялта")
	);

	city_form = frm;

	cb_countries = _cb_countries;
	cb_cities = _cb_cities;

	i_country = _i_country;
	i_city = _i_city;

	c_country = _c_country;
	c_city = _c_city;

	l_country = _l_country;
	l_city = _l_city;

	loadCountries();
}

function showAnotherCountry(bShow)
{
	c_city.disabled = false;

	if (bShow)
	{
		cb_countries.style.display = "none";

		c_country.style.display = "inline";
		c_country.checked = true;
		i_country.style.display = "inline";
		l_country.style.display = "inline";

		i_country.focus();

		showAnotherCity(true, false);
	}
	else
	{
		cb_countries.style.display = "inline";

		c_country.style.display = "none";
		c_country.checked = false;
		i_country.style.display = "none";
		i_country.value = cb_countries.options[cb_countries.selectedIndex].text;
		l_country.style.display = "none";

		if (!i_city.value)
		showAnotherCity(false, false);
	}
}

function showAnotherCity(bShow, bFocus)
{
	c_city.disabled = false;

	if (bShow)
	{
		cb_cities.style.display = "none";

		c_city.style.display = "inline";
		c_city.checked = true;
		i_city.style.display = "inline";
		l_city.style.display = "inline";

		if (bFocus)
		{
			i_city.focus();
		}
		if (c_country.checked)
		{
			c_city.disabled = true;
		}
	}
	else
	{
		cb_cities.style.display = "inline";

		c_city.style.display = "none";
		c_city.checked = false;
		i_city.style.display = "none";
		i_city.value = cb_cities.options[cb_cities.selectedIndex].text;
		l_city.style.display = "none";
	}
}

function countryChanged()
{
	c_city.disabled = false;

	i_city.value = "";

	if (cb_countries.selectedIndex == (cb_countries.options.length-1))
	{
		i_country.value = "";
		showAnotherCountry(true);
	}
	else
	{
		i_country.value = cb_countries.options[cb_countries.selectedIndex].text;
		loadCities(cb_countries.selectedIndex);
	}
}

function cityChanged()
{
	c_city.disabled = false;

	if (cb_cities.selectedIndex == (cb_cities.options.length - 1))
	{
		i_city.value = "";
		showAnotherCity(true, true);
	}
	else
	{
		i_city.value = cb_cities.options[cb_cities.selectedIndex].text;
//		loadCities(cb_countries.selectedIndex);
	}
}

cur_country = -1;
default_country_index = 0;

cur_city = -1;
default_city_index = 0;

function loadCountries()
{
	clearOptions(cb_countries);

	cur_country = -1;
	default_country_index = 0;

	i = 0;

	for (var i = 0; i < countries.length; i++)
	{
		if (countries[i] == "Россия")
		{
			default_country_index = i;
		}
		if (i_country.value == countries[i])
		{
			cb_countries.options[i] = new Option(countries[i], 0);
			cb_countries.options[i].selected = true;
			cur_country = countries[i];
		}
		else
		{
			cb_countries.options[i] = new Option(countries[i], 0);
			cb_countries.options[i].selected = false;
		}
	}

	cb_countries.options[i] = new Option("Другая", 0);

	if (cur_country == -1)
	{
		cb_countries.options[default_country_index].selected = true;
		cb_countries.selectedIndex = default_country_index;
	}
	loadCities(cb_countries.selectedIndex);

	showAnotherCountry((cur_country == -1) && i_country.value);
}

function loadCities(country)
{
	clearOptions(cb_cities);

	cur_city = -1;
	default_city_index = 0;

	j = 0;

	for (j = 0; j < cities[country].length; j++)
	{
		if (cities[country][j] == "Москва" && cb_countries.selectedIndex == default_country_index)
		{
			default_city_index = j;
			cb_cities.options[j] = new Option(cities[country][j], 0);
			cb_cities.options[j].selected = true;
		}

		if (i_city.value == cities[country][j])
		{
			cb_cities.options[j] = new Option(cities[country][j], 0);
			cb_cities.options[j].selected = true;
			cur_city = j;
		}
		else
		{
			cb_cities.options[j] = new Option(cities[country][j], 0);
			cb_cities.options[j].selected = false;
		}
	}

	cb_cities.options[j] = new Option("Другой", 0);
	cb_cities.options[j].selected = ((cur_city == -1) && i_city.value);

	if (cur_city == -1)
	{
		cb_cities.options[default_city_index].selected = true;
	}

	showAnotherCity((cur_city == -1) && i_city.value);
}

function clearOptions(cb)
{
	if (cb.options.length > 0)
	{
		for (i = cb.options.length-1; i >= 0; i--)
		{
			cb.options[i] = null;
		}
	}
}


