$(function(){

	//--------------------------------------------------
	//▼住所入力機能の制御を補助するものをここに記述
	//--------------------------------------------------
	$("input[name='zip01']").each(function(){
		var zip01 = $("input[name='zip01']");
		var zip02 = $("input[name='zip02']");
		setZipEvent(zip01, zip02, "prev_zip", "callAddress");
	});

	$("input[name='order_zip01']").each(function(){
		var zip01 = $("input[name='order_zip01']");
		var zip02 = $("input[name='order_zip02']");
		setZipEvent(zip01, zip02, "prev_order_zip01", "callAddress_order");
	});

	$("input[name='deliv_zip01']").each(function(){
		var zip01 = $("input[name='deliv_zip01']");
		var zip02 = $("input[name='deliv_zip02']");
		setZipEvent(zip01, zip02, "prev_deliv_zip01", "callAddress_deliv");
	});

	$("input[name='law_zip01']").each(function(){
		var zip01 = $("input[name='law_zip01']");
		var zip02 = $("input[name='law_zip02']");
		setZipEvent(zip01, zip02, "prev_law_zip01", "callAddress_law");
	});

	//--------------------------------------------------
	//▼各処理の記述
	//--------------------------------------------------
	//郵便番号の制御
	function setZipEvent(zip01, zip02, prev, search){
		$("body").append('<input type="hidden" id="'+prev+'" value="'+zip01.val()+zip02.val()+'"/>');

		$(zip01).keyup(function(e){
			if(e.keyCode >= 96 && e.keyCode <= 105 && $(this).val().length == 3){
				$(zip02).focus();
			}
		});
		$(zip01).keydown(function(e){ if(e.keyCode == 13) return false; });
		$(zip02).keydown(function(e){ if(e.keyCode == 13) return false; });

		$(zip02).blur(function(){
			searchArrdess(zip01.val(), zip02.val(), prev, search);
		});
	}

	//住所自動入力のイベントを呼ぶ
	function searchArrdess(zip01, zip02, prev, search){
		if(zip01.length == 3 && zip02.length == 4){
			if(zip01+zip02 != $("#"+prev).val()){
				$("#"+prev).val(zip01+zip02);
				var ie='\v'=='v';
				if(ie==true){
					var search = document.getElementById(search);
					search.click();
				}else{
					$("#"+search).trigger('click');
				}
			}
		}
	}
});
