//////////////////////////////////////////////////////
// 都道府県
//////////////////////////////////////////////////////
function init_select_address(level) {
	if (!level || isNaN(level)) {
		level = 0;
	}

	init_pref(level);
	init_button(level);
}

function init_pref(level) {
	var prefList = Array();
	prefList[0]	= "/api/test/get_address.php?type=2&pref=01";
	prefList[1]	= "/api/test/get_address.php?type=2&pref=02";
	prefList[2]	= "/api/test/get_address.php?type=2&pref=03";
	prefList[3]	= "/api/test/get_address.php?type=2&pref=04";
	prefList[4]	= "/api/test/get_address.php?type=2&pref=05";
	prefList[5]	= "/api/test/get_address.php?type=2&pref=06";
	prefList[6]	= "/api/test/get_address.php?type=2&pref=07";
	prefList[7]	= "/api/test/get_address.php?type=2&pref=08";
	prefList[8]	= "/api/test/get_address.php?type=2&pref=09";
	prefList[9]	= "/api/test/get_address.php?type=2&pref=10";
	prefList[10]= "/api/test/get_address.php?type=2&pref=11";
	prefList[11]= "/api/test/get_address.php?type=2&pref=12";
	prefList[12]= "/api/test/get_address.php?type=2&pref=13";
	prefList[13]= "/api/test/get_address.php?type=2&pref=14";
	prefList[14]= "/api/test/get_address.php?type=2&pref=15";
	prefList[15]= "/api/test/get_address.php?type=2&pref=16";
	prefList[16]= "/api/test/get_address.php?type=2&pref=17";
	prefList[17]= "/api/test/get_address.php?type=2&pref=18";
	prefList[18]= "/api/test/get_address.php?type=2&pref=19";
	prefList[19]= "/api/test/get_address.php?type=2&pref=20";
	prefList[20]= "/api/test/get_address.php?type=2&pref=21";
	prefList[21]= "/api/test/get_address.php?type=2&pref=22";
	prefList[22]= "/api/test/get_address.php?type=2&pref=23";
	prefList[23]= "/api/test/get_address.php?type=2&pref=24";
	prefList[24]= "/api/test/get_address.php?type=2&pref=25";
	prefList[25]= "/api/test/get_address.php?type=2&pref=26";
	prefList[26]= "/api/test/get_address.php?type=2&pref=27";
	prefList[27]= "/api/test/get_address.php?type=2&pref=28";
	prefList[28]= "/api/test/get_address.php?type=2&pref=29";
	prefList[29]= "/api/test/get_address.php?type=2&pref=30";
	prefList[30]= "/api/test/get_address.php?type=2&pref=31";
	prefList[31]= "/api/test/get_address.php?type=2&pref=32";
	prefList[32]= "/api/test/get_address.php?type=2&pref=33";
	prefList[33]= "/api/test/get_address.php?type=2&pref=34";
	prefList[34]= "/api/test/get_address.php?type=2&pref=35";
	prefList[35]= "/api/test/get_address.php?type=2&pref=36";
	prefList[36]= "/api/test/get_address.php?type=2&pref=37";
	prefList[37]= "/api/test/get_address.php?type=2&pref=38";
	prefList[38]= "/api/test/get_address.php?type=2&pref=39";
	prefList[39]= "/api/test/get_address.php?type=2&pref=40";
	prefList[40]= "/api/test/get_address.php?type=2&pref=41";
	prefList[41]= "/api/test/get_address.php?type=2&pref=42";
	prefList[42]= "/api/test/get_address.php?type=2&pref=43";
	prefList[43]= "/api/test/get_address.php?type=2&pref=44";
	prefList[44]= "/api/test/get_address.php?type=2&pref=45";
	prefList[45]= "/api/test/get_address.php?type=2&pref=46";
	prefList[46]= "/api/test/get_address.php?type=2&pref=47";

	$.each(prefList, function(index, url) {
		var prefID = "#pref"+(index+1);
		// jQuery.click()が chrome, safariでいまいち使えなかったので、onClickで代用
		if (-1 != navigator.userAgent.toLowerCase().indexOf('chrome')
		 || -1 != navigator.userAgent.toLowerCase().indexOf('safari')) {
			// chrome で一度ウィンドウを閉じると、<map><area id="xxxxx"></map> の areaに
			// bindした clickの関数が動かなかった。
			$(prefID).attr("onClick", "set_city_list('"+encodeURIComponent(url)+"','"+prefID+"', "+level+");");
		} else {
			// chrome, safari以外は動いたのでこちら。（ただし IE6だと、こちらでないと動かなかった）
			$(prefID).click(function () {
				set_city_list(url, prefID, level);
			});
		}
	}); // End of $.each()
}

function set_city_list(url, prefID, level) {
	// 設定されたラベルの設定と削除
	$("#pref").text($(prefID).attr("alt"));
	$("#city").empty();
	$("#town").empty();

	set_table_list(url, level, true);
}

function set_town_list(url, level) {
	set_table_list(url, level, false);
}

function set_table_list(url, level, isCity) {
	var MAX_LINE_COUNT = 4;

	url = get_adjust_path(level) + decodeURIComponent(url) + "&" + new Date().getTime();

	$.get(url, get_hashed_param(url), function (xml) {
		var itemCount = $(xml).find("item_count").text();
		var jyusyo_cd = $(xml).find("jyusyo_cd").text();
		var jyusyo_cd_2 = $(xml).find("pref").text();
		var yuubin_no = $(xml).find("yuubin").text();

		document.getElementById("JYUSYO_CD").value=jyusyo_cd;
		document.getElementById("JYUSYO_CD_2").value=jyusyo_cd_2;

		if(null != document.getElementById("yuubin_no"))
		{
			document.getElementById("yuubin_no").value=yuubin_no;
		}

		var table = "<table border='1'><tbody>";
		$(xml).find("item").each(function () {
			var iIndex	= parseInt($(this).find("index").text());
			var name	= decodeURIComponent($(this).find("name").text());
			var clickID	= (isCity ? "p_city_cl_" : "p_town_cl_") + iIndex;
			var html	= "";

			if (0 == (iIndex%MAX_LINE_COUNT)) {
				html += "<tr>";
			}
			html += "<td><a href='#fc_"+clickID+"'><div id='"+clickID+"'>"+name+"</div></a></td>";
			if (3 == (iIndex%MAX_LINE_COUNT) || (iIndex+1) == itemCount) {
				html += "</tr>";
			}

			table += html;
		});
		table += "</tbody></table>";

		// 表示
		if (isCity) {
			$("#city_table").empty();
			$("#city_table").html(table);
		} else {
			$("#town_table").empty();
			$("#town_table").html(table);
		}

		// ↑では、tableタグを“文字列”で設定しているので、設定が終わってからイベントを登録する
		$(xml).find("item").each(function () {
			var iIndex	= parseInt($(this).find("index").text());
			var name	= decodeURIComponent($(this).find("name").text());

			if (isCity) {
				var url2	= decodeURIComponent($(this).find("url").text());

				// 字・町名の取得
				$("#p_city_cl_"+iIndex).click(function () {
					$("#city").text(name);
					$("#town").empty();

					set_town_list(url2, level);

					$("#list_city").css("display","none");
					$("#button_city").css("display","none");
					$("#btn_decide").css("display","none");
					$("#list_town").css("display","block");
					$("#button_town").css("display","block");
				});
			} else {
				$("#p_town_cl_"+iIndex).click(function () {
					$("#btn_decide").css("display","block");
					// 値の設定
					$("#town").text(name);
				});
			}
		});

		if (isCity) {
			$("#list_pref").css("display","none");
			$("#list_city").css("display","block");
			$("#button_city").css("display","block");
			$("#btn_decide").css("display","none");
			$("#list_town").css("display","none");
			$("#button_town").css("display","none");
		} else {
			$("#list_pref").css("display","none");
			$("#list_city").css("display","none");
			$("#button_city").css("display","none");
			$("#list_town").css("display","block");
			$("#button_town").css("display","block");
		}
	},'xml'); // End of $.get()
}

function init_button() {
	// 前のページに戻る（市区郡町村 から 都道府県 に）
	$("#btn_back_pref").click(function () {
		$("#list_city").css("display","none");
		$("#button_city").css("display","none");
		$("#list_town").css("display","none");
		$("#button_town").css("display","none");

		$("#list_pref").css("display","block");
	});
	// 前のページに戻る（字・町名 から 市区郡町村 に）
	$("#btn_back_city").click(function () {
		$("#list_pref").css("display","none");
		$("#list_town").css("display","none");
		$("#button_town").css("display","none");

		$("#list_city").css("display","block");
		$("#button_city").css("display","block");
	});
	$("#btn_decide").click(function () {



//		alert(document.getElementById("address_type").value);
//		alert("prefvalue=" + $("#pref").text());
//		alert("address_text=" + $("#address_text").text());
		var address_type = document.getElementById("address_type").value;

		//町名
		var yuubin_town = $("#town").text();
		//郵便番号
		var yuubin = document.getElementById("yuubin_no").value;
		var i;
		var start;

		var strTown = "";
		if($("#town").text().indexOf("以下に掲載がない") == -1)	{
			strTown = $("#town").text();
			yuubin_town = ':' + yuubin_town + ':';

			i = yuubin.indexOf(yuubin_town, 0);
			start = yuubin.indexOf(':', i+1)+1;
		}
		else {
			i = yuubin.indexOf(yuubin_town, 0);
			start = yuubin.indexOf(':', i)+1;
		}

		var yuubin_no = yuubin.substring(start,start+7);
//		alert(yuubin_town + "\n" + yuubin + "\n" + i + "\n" + start + "\n" + yuubin_no);

		if (address_type == "1") {
			//本社
			$("#honsya_address").html($("#pref").text()+"<br>"+$("#city").text()+strTown);
			document.getElementById("HONSYA_YUUBIN1").value = yuubin_no.substring(0,3);
			document.getElementById("HONSYA_YUUBIN2").value = yuubin_no.substring(3,7);
			document.getElementById("HONSYA_KEN_NM").value = $("#pref").text();
			document.getElementById("HONSYA_SI_NM").value = $("#city").text();
			document.getElementById("HONSYA_ADDRESS1").value = strTown;
			document.getElementById("HONSYA_JYUSYO_KEN").value = document.getElementById("JYUSYO_CD_2").value;
			getAddress('HONSYA');
		} else if (address_type == "2") {
			//請求書
			$("#bill_address").html($("#pref").text()+"<br>"+$("#city").text()+strTown);
			document.getElementById("BILL_YUUBIN1").value = yuubin_no.substring(0,3);
			document.getElementById("BILL_YUUBIN2").value = yuubin_no.substring(3,7);
			document.getElementById("BILL_KEN_NM").value = $("#pref").text();
			document.getElementById("BILL_SI_NM").value = $("#city").text();
			document.getElementById("BILL_ADDRESS1").value = strTown;
			document.getElementById("BILL_JYUSYO_KEN").value = document.getElementById("JYUSYO_CD_2").value;
			getAddress('BILL');
		} else if (address_type == "3"){
			//利用事業所
			$("#office_address").html($("#pref").text()+"<br>"+$("#city").text()+strTown);
			document.getElementById("OFFICE_YUUBIN1").value = yuubin_no.substring(0,3);
			document.getElementById("OFFICE_YUUBIN2").value = yuubin_no.substring(3,7);
			document.getElementById("OFFICE_KEN_NM").value = $("#pref").text();
			document.getElementById("OFFICE_SI_NM").value = $("#city").text();
			document.getElementById("OFFICE_ADDRESS1").value = strTown;
			document.getElementById("OFFICE_JYUSYO_KEN").value = document.getElementById("JYUSYO_CD_2").value;
			getAddress('OFFICE');
		} else if (address_type == "4"){
			//お届け先
			$("#send_address").html($("#pref").text()+"<br>"+$("#city").text()+strTown);
			document.getElementById("SEND_KEN_NM").value = $("#pref").text();
			document.getElementById("SEND_SI_NM").value = $("#city").text();
			document.getElementById("SEND_ADDRESS1").value = strTown;
			document.getElementById("SEND_JYUSYO_CD").value = document.getElementById("JYUSYO_CD").value;
			document.getElementById("SEND_JYUSYO_CD_2").value = document.getElementById("JYUSYO_CD_2").value;
			document.getElementById("SEND_YUUBIN1").value = yuubin_no.substring(0,3);
			document.getElementById("SEND_YUUBIN2").value = yuubin_no.substring(3,7);
			getAddress('SEND');
		} else if (address_type == "5"){
			//お申込者
			$("#applier_address").html($("#pref").text()+"<br>"+$("#city").text()+strTown);
			document.getElementById("APPLIER_KEN_NM").value = $("#pref").text();
			document.getElementById("APPLIER_SI_NM").value = $("#city").text();
			document.getElementById("APPLIER_ADDRESS1").value = strTown;
			document.getElementById("APPLIER_JYUSYO_CD").value = document.getElementById("JYUSYO_CD").value;
			document.getElementById("APPLIER_JYUSYO_CD_2").value = document.getElementById("JYUSYO_CD_2").value;
			document.getElementById("APPLIER_YUUBIN1").value = yuubin_no.substring(0,3);
			document.getElementById("APPLIER_YUUBIN2").value = yuubin_no.substring(3,7);
			getAddress('APPLIER');
		} else if (address_type == "6"){
			//ご連絡先
			$("#add_address").html($("#pref").text()+"<br>"+$("#city").text()+strTown);
			document.getElementById("ADD_KEN_NM").value = $("#pref").text();
			document.getElementById("ADD_SI_NM").value = $("#city").text();
			document.getElementById("ADD_ADDRESS1").value = strTown;
			document.getElementById("ADD_JYUSYO_CD").value = document.getElementById("JYUSYO_CD").value;
			document.getElementById("ADD_JYUSYO_CD_2").value = document.getElementById("JYUSYO_CD_2").value;
			document.getElementById("deli_zip_no1").value = yuubin_no.substring(0,3);
			document.getElementById("deli_zip_no2").value = yuubin_no.substring(3,7);

		} else if (address_type == "7"){
			//申込み者のご連絡先
			$("#from_address").html($("#pref").text()+"<br>"+$("#city").text()+strTown);
			document.getElementById("FROM_YUUBIN1").value = yuubin_no.substring(0,3);
			document.getElementById("FROM_YUUBIN2").value = yuubin_no.substring(3,7);
			document.getElementById("FROM_KEN_NM").value = $("#pref").text();
			document.getElementById("FROM_SI_NM").value = $("#city").text();
			document.getElementById("FROM_ADDRESS1").value = strTown;
			document.getElementById("FROM_JYUSYO_CD").value = document.getElementById("JYUSYO_CD").value;
			document.getElementById("FROM_JYUSYO_KEN").value = document.getElementById("JYUSYO_CD_2").value;
			getAddress('FROM');
		} else if (address_type == "8"){
			//お届け先のご連絡先
			$("#to_address").html($("#pref").text()+"<br>"+$("#city").text()+strTown);
			document.getElementById("TO_YUUBIN1").value = yuubin_no.substring(0,3);
			document.getElementById("TO_YUUBIN2").value = yuubin_no.substring(3,7);
			document.getElementById("TO_KEN_NM").value = $("#pref").text();
			document.getElementById("TO_SI_NM").value = $("#city").text();
			document.getElementById("TO_ADDRESS1").value = strTown;
			document.getElementById("TO_JYUSYO_CD").value = document.getElementById("JYUSYO_CD").value;
			document.getElementById("TO_JYUSYO_KEN").value = document.getElementById("JYUSYO_CD_2").value;
			getAddress('TO');
		} else if (address_type == "9"){
			document.getElementById("post1").value = yuubin_no.substring(0,3);
			document.getElementById("post2").value = yuubin_no.substring(3,7);
		}

		$("#TB_imageOff").unbind("click");
		$("#TB_closeWindowButton").unbind("click");
		$("#TB_window").fadeOut("fast",function(){
			$('#TB_window,#TB_overlay,#TB_HideSelect').trigger("unload").unbind().remove();
		});
		$("#TB_ajaxContent").remove();
		$("#TB_load").remove();
		if (typeof document.body.style.maxHeight == "undefined") {//if IE 6
			$("body","html").css({height: "auto", width: "auto"});
			$("html").css("overflow","");
		}
		document.onkeydown = "";
		document.onkeyup = "";
		ajax_scrolling(true);
		return false;
	});

}

