$(document).ready(function(){
	$(".shopSearchSubmit").click(function(){
		var zip1 = zen2han($("#zip1").val());
		var zip2 = zen2han($("#zip2").val());
		$(".shopSearchAddress").empty();
		$(".shopSearchResult ul").empty();
		if(zip1.match(/^[0-9]{3}$/) && zip2.match(/^[0-9]{4}$/)){
			$.ajax({
				type: "GET",
				url: "/include/shop_search/nier_json.php",
				data: { 'zip1': zip1, 'zip2': zip2 },
				dataType: "json",
				success: function(json){
					if(json.error == 'success'){
						$(".shopSearchAddress").html(json.address);
						var html = "";
						for(var i in json.shops){
							var shop = json.shops[i];
							html += '<li><a href="/shop/'+shop.id+'">'+shop.name+'</a></li>';
						}
						$(".shopSearchResult ul").html(html);
					}else if(json.error == 'no data'){
						$(".shopSearchAddress").html("データベースと一致しません");
						$(".shopSearchResult ul").html('<li><a href="/shop/">店舗一覧よりご覧ください</a></li>');
					}else if(json.error == 'zip error'){
						$(".shopSearchAddress").html("郵便番号が不正です");
						$(".shopSearchResult ul").html('<li><a href="/shop/">店舗一覧よりご覧ください</a></li>');
					}else{
						$(".shopSearchAddress").html("該当の店舗はありません");
						$(".shopSearchResult ul").html('<li><a href="/shop/">店舗一覧よりご覧ください</a></li>');
					}
				},
				error: function(){
					$(".shopSearchAddress").html("検索に失敗しました");
					$(".shopSearchResult ul").html('<li><a href="/shop/">店舗一覧よりご覧ください</a></li>');
				}
			});
		}else{
			$(".shopSearchAddress").html("郵便番号が不正です");
		}
		$(".shopSearchResult").show();
		$(".shopSearchForm").hide();
	});
	$(".shopSearchBack").click(function(){
		$(".shopSearchForm").show();
		$(".shopSearchResult").hide();
	});
	$(".shopSearchForm form").submit(function(){
		$(".shopSearchSubmit").triggerHandler("click");
		return false;
	});
});
function zen2han(txt){
	var out = "";
	var half = "0123456789";
	var full = "０１２３４５６７８９";
	for(var i=0; i<txt.length; i++){
    	var char = txt.charAt(i);
		var num = full.indexOf(char,0);
		out += (num >= 0)? half.charAt(num) : char;
	}
	return out;
}
