// エリア、市町村名リストオブジェクトモジュール
//
<!--
// 市町村名リスト クラス
function clsCityList() {
	this.list = new Array();
	this.add = mAddItem;
}

// 市町村名アイテム クラス
function clsCityItem(pArea, pCity) {
	this.Area = pArea;
	this.City = pCity;
}

// 市町村名アイテム追加 メソッド
function mAddItem(obj) {
	var n = this.list.length;
	this.list[n] = obj;
}

// 全市町村名リスト オブジェクト
var gCityList = new clsCityList();

// リストオブジェクトを再構成する
function remakeCityList(obj, pArea) {
	var cnt = obj.length;
	var i;

	var arrCityList = getCityList(pArea);

	for (i = 0; i < arrCityList.length; i++) {
		var aText, aValue;
		var strItem = arrCityList[i];
		if (strItem.indexOf(",", 0) < 0) {
			aText  = strItem;
			aValue = strItem;
		} else {
			var arrItem = strItem.split(",");
			aText  = arrItem[0];
			aValue = arrItem[1];
		}
		obj.options[i] = new Option(aText, aValue);
	}

	if (cnt > arrCityList.length) {
		for (i = cnt; i > arrCityList.length; i--) {
			obj.options[i - 1] = null;
		}
	}

	obj.selectedIndex = 0;

	// ※ NNのSELECT選択エリアのバグ対応
	resizeBy(1, 1);
	resizeBy(-1, -1);


	return;
}

// 市町村名リストをリセットする
// ※NN のresizeByへの対策用
function resetList(obj) {
	var cnt = obj.length;
	var i;

	for (i = cnt; i > 1; i--) {
		obj.options[i - 1] = null;
	}

	return;
}

// 指定したエリアの市町村名リストを取り出す
function getCityList(pArea) {
	var objAllList = gCityList.list;
	var arrCity = new Array();
	var i, cnt;

	for (i = 0; i < objAllList.length; i++) {
		objCityItem = objAllList[i];
		if (pArea == objCityItem.Area) {
			cnt = arrCity.length;
			arrCity[cnt] = objCityItem.City;
		}
	}

	return arrCity;
}
//-->
