/*
 *
 *	Last update::2008.3.27
 *
 *	File name:: jscript_postcode.js
 *	Function :: postcode_search, show_response
 *  By		 :: noriko_takahashi FJS
 *
 */

function postcode_search(){
	//送信
	var postcode = document.getElementsByName('postcode');
	
	//入力チェック
	if( postcode[0].value == "")
	{
		window.alert("郵便番号を入力してください.");
		return;
	} else { 
		if(!postcode[0].value.match(/^\d{3}-\d{4}$/))
		{
			window.alert("郵便番号は999-9999の形で入力してください.");
			return;
		}
	}

	//リクエスト
	new Ajax.Request("./includes/modules/pages/checkout_shipping/request.php", {
		method: "get",
		parameters: "entry_postcode=" + postcode[0].value,
		onSuccess: show_response
	});

}

function show_response(res, json) {
	//エラー処理
	if(json["error"] != null){
		$("output") . innerHTML = "エラー:該当地域がありません。";
		return;
	} else {
		$("output") . innerHTML = "";
	}
	
	//フィールドの取得
	var state = document.getElementsByName('state');	//都道府県プルダウンリスト
	var city = document.getElementsByName('city');		//市町村区
	var street_address = document.getElementsByName('street_address');	//番地

	//問い合わせ結果(+デコード)
	var res_state = decodeURIComponent(json[0]['pref']);	//都道府県結果
	var res_city = decodeURIComponent(json[0]['city']);		//市町村区結果
	var res_street_address = decodeURIComponent(json[0]['town']);//番地
	
	state = state[0];
	state_option = state.options;//プルダウンリストのオプション配列
	
	//都道府県の表示
	//プルダウンリストと合致するものをループで比べる
	for(i = 0;i < state.length; i++){
		if(state_option[i].value == res_state){
			state.selectedIndex= i;	//合致した箇所のIndexを選択
		}
	}
	
	//市町村区の表示
	city[0].value = res_city;
	//番地の表示
	street_address[0].value = res_street_address;
}
