//グローバル変数の定義
var httpObj;
var timerId;
var timeout_sec = 10;


function eliminateDropdownList(){

	var select_node = document.getElementById('sel_shop');
	var opt_num = select_node.length;
	var i;
	for(i = opt_num - 1; i >= 0; i--){
		select_node.remove(i);
	}

}


function generateDropdownList(text_data){

	var lines = text_data.split("\n");

	var select_node = document.getElementById('sel_shop');

		var opt = document.createElement('option');
		opt.value = "";
		opt.text = "すべて";
		try{
			select_node.add(opt,null);
		}
		catch(ex){
			select_node.add(opt,-1);
		}

	for(i = 0; i < lines.length; i++){
		if(lines[i] == ''){
			break;
		}
		var parts = lines[i].split(",");
		var code = parts[0];
		var item = parts[1];
		var opt = document.createElement('option');
		opt.value = code;
		opt.text = item;
		try{
			select_node.add(opt,null);
		}
		catch(ex){
			select_node.add(opt,-1);
		}
	}


}


function printItemList(e){
	eliminateDropdownList();
//	var target_node = getTargetNode(e);

	//セレクトされたオプションの値を取得する
	var pref_select = document.getElementById('sel_pref');
	var pref_opt_value = pref_select.options.value;
	var pref_opt = pref_select.options.text;

	if(pref_opt_value==""){
		return false;
	}

	//URLを特定
	target_url = '../../ajax/select_pref.php?prefId='+ pref_opt_value;
	httpRequest(target_url,generateDropdownList);

}


function getTargetNode(e){
//129Page
	var target_node;
	if(e.target){
		target_node = e.target;
	}else{
		target_node = e.srcElement;
	}

	if(target_node.nodeType == 3){
		target_node = target_node.parentNode;
	}
	return target_node;
}


function httpRequest(target_url,functionReference){

	try{
		if(window.XMLHttpRequest){
			httpObj = new XMLHttpRequest();
		}else if(window.ActiveXObject){
			httpObj = new ActiveXObject("Microsoft.XMLHTTP");
		}else{
			httpObj = false;
		}
	}catch(e){
		httpObj = false;
	}
	if(!httpObj){
		httpObjGenerateFail();
	}
	timerId = setInterval('timeoutCheck()',1000);

	httpObj.open("GET",target_url,true);
	httpObj.onreadystatechange = function(){
		if(httpObj.readyState == 4){
			clearInterval(timerId);
			if(httpObj.status == 200){
				functionReference(httpObj.responseText);
			}else{
				alert(httpObj.status + ':' + httpObj.statusText);
				return false;
			}
		}
	}
	httpObj.send('');

}

function httpObjGenerateFail(){

	alert('ご利用のブラウザーでは、当サイトをご利用頂けません。');
	return false;

}


function timeoutCheck(){
	timeout_sec--;
	if(timeout_sec <= 0){
		clearInterval(timerId);
		httpObj.abort();	
//		alert('タイムアウトです。');
		return false;
	}
}



function setListeners(e){
	var load1 = document.getElementById('sel_pref');
	addListener(load1,'change',printItemList,false);
//alert("select.js");
}


function addListener(elem,eventType,func,cap){
//85Page
	if(elem.addEventListener){
		elem.addEventListener(eventType,func,cap);
	}else if(elem.attachEvent){
		elem.attachEvent('on' + eventType,func);
	}else{
		alert('your browser does not support');
		return false;
	}
}


addListener(window,'load',setListeners,false);

