var MyArea = {};
MyArea.dataTim  = null;
MyArea.dataHtml = null;
MyArea.dataNum  = null;
MyArea.dataNumArr = new Array();
MyArea.dataFlg1  = false;

// -------------------------------------------------------------------------------
// 郵便番号自動入力
// -------------------------------------------------------------------------------
function zipcodeChg( zipval1, zipval2, idnm1, idnm2, idnm3 )
{
	if( zipval1 && zipval2 ){
		new Ajax.Request('/api/ajaxZipCodeChg/'+ zipval1 +'-'+ zipval2 +'/', {
			method : 'post', 
			onSuccess : function(request){
			
			}, 
			onComplete : function(request){
				var data = request.responseText.evalJSON();
				var pro_check = data['pro_num']+ ',' + data['pro_kj'];
				var city_check = data['ctiy1_num'] + ',' + data['ctiy1_kj'];
				
				var elmPro = document.getElementById( idnm1 ).getElementsByTagName("option");
				for(var i=0; i<elmPro.length; i++){
					if( elmPro[i].value === pro_check ) elmPro[i].selected = true;
				}
				
				var elmCity1 = document.getElementById( idnm2 );
				elmCity1.value = data['city2_kj'];
				if( document.getElementById( "ad3_1ZipChg_text" ) ) document.getElementById( "ad3_1ZipChg_text" ).innerHTML = "※途中までしか自動入力されない場合がある為、内容を確認して下さい。";
				
				var elmCity2 = document.getElementById( idnm3 );
				
				checkAreaData( pro_check, city_check );
				
				// 入力カーソルを指定する(処理の最後にしないと上記FUNCTONが動作しない)
				elmCity2.focus();
				var range = elmCity2.createTextRange();
				range.move('character', elmCity2.value.length);
				range.select();
			}, 
			onFailure : function(request){
				//alert('読み込みに失敗しました');
			}, 
			onException: function(request){
				//alert('読み込み中にエラーが発生しました');
			}
		});
	}
}

// -------------------------------------------------------------------------------
// 市区町村データ取得
// -------------------------------------------------------------------------------
function checkAreaData( obj1, obj2 )
{
	var idx = new Array();
	
	if( !obj1 ){
		var num = 0;
		if( document.getElementById("address1_id") ){
			var sel = document.getElementById("address1_id").options;
			MyArea.dataFlg1 = true;
		} else {
			var sel = document.forms["ajax_frm"].elements["address1"].options;
		}
		for(var i=0; i<sel.length; i++){
			if(sel[i].selected){
				var splitValue= sel[i].value.split(',');
				if(sel[i].value) idx[num] = splitValue[0];
				num++;
			}
		}
	} else {
		var splitValue = obj1.split(',');
		idx[0] = splitValue[0];
		
		var splitValue2 = obj2.split(',');
		MyArea.dataNum = splitValue2[0];
	}
	
	new Ajax.Request('/api/ajaxAreaData/'+ idx.join("-") +'/', {
		method : 'post', 
		onSuccess : function(request){
			document.getElementById("areadata").innerHTML = '<img src="/img/loading.gif" width="16" height="16" alt="読み込み中" style="vertical-align: middle;" />&nbsp;<span style="font:10px;">loading...</span>';
		}, 
		onComplete : processingResult, 
		onFailure : function(request){
			//alert('読み込みに失敗しました');
		}, 
		onException: function(request){
			//alert('読み込み中にエラーが発生しました');
		}
	});
}

function processingResult(req)
{
	var data = req.responseText.evalJSON();
	
	MyArea.dataHtml = '<select name="address2">';

	if( MyArea.dataFlg1 ){
	
		MyArea.dataHtml = '<select name="address2[]" size="5" multiple="multiple">';
		new Ajax.Request('/manager/member/index/back/error/', {
			onComplete : function(request){
				MyArea.dataNumArr = request.responseText.evalJSON();
				
				for(var i=0; i<data.length; i++){
					var selected = "";
					if( MyArea.dataNumArr )
					{
						var dataId = data[i].id;
						if( MyArea.dataNumArr[dataId] === dataId ) selected = ' selected="selected"';
					}
					MyArea.dataHtml = MyArea.dataHtml + '<option value="'+ data[i].id.escapeHTML() + ',' + data[i].name.escapeHTML() +'"'+ selected +'>'+ data[i].name.escapeHTML() + '</ooption>';
				}
				MyArea.dataHtml = MyArea.dataHtml + '</select>';
				MyArea.dataHtml = MyArea.dataHtml + "\n" + '<span class="noteFont">※「Ctrl 」キーを押しながらクリックで複数選択可</span>';
				MyArea.dataTim = setInterval("displayResult()", 1000);
			}
		});
		
	} else {
		MyArea.dataHtml = MyArea.dataHtml + '<option value="">選択して下さい</ooption>';
		
		for(var i=0; i<data.length; i++){
			var selected = "";
			if( MyArea.dataNum === data[i].id.escapeHTML() ) selected = ' selected="selected"';
			MyArea.dataHtml = MyArea.dataHtml + '<option value="'+ data[i].id.escapeHTML() + ',' + data[i].name.escapeHTML() +'"'+ selected +'>'+ data[i].name.escapeHTML() + '</ooption>';
		}
		MyArea.dataHtml = MyArea.dataHtml + '</select>';
		MyArea.dataTim = setInterval("displayResult()", 1000);
	}
}

function displayResult()
{
	if( MyArea.dataHtml !== "" ){
		document.getElementById("areadata").innerHTML = MyArea.dataHtml;
	}
	clearInterval(MyArea.dataTim);
}
