//XMLHttpRequestオブジェクト生成
var xmlHttp = createXmlHttpRequest();

function setAdministrativeDivForSalonUpdate(selectedCityTownVillageIDValue){

	var administrativeDiv = document.getElementById("administrativeDiv");
	var cityTownVillageID = document.getElementById("cityTownVillageID");

	var administrativeDivValue = '';
	var cityTownVillageIDValue = '';

	if (administrativeDiv.selectedIndex>0){
		administrativeDivValue = administrativeDiv.options[administrativeDiv.selectedIndex].value;
	}

	if (selectedCityTownVillageIDValue != ""){
		cityTownVillageIDValue = selectedCityTownVillageIDValue;
	} else {

		if (cityTownVillageID.selectedIndex>0){
			cityTownVillageIDValue = cityTownVillageID.options[cityTownVillageID.selectedIndex].value;
		}
	}

	//リクエストをオープンする。単に設定がおこなわれるだけで実際の送受信はまだ発生しない
	var url = 'https://t-fours.jp/xml/getOptionCityTownVillage.php'+
		'?administrativeDiv='+administrativeDivValue+
		'&cityTownVillageID='+cityTownVillageIDValue;

	xmlHttp.open('GET', url, true);

	//バックエンドプログラムからレスポンスを受信し処理を行うためのコールバック関数を用意しておく
	xmlHttp.onreadystatechange = callbackForSetAdministrativeDivForSalonUpdate;

	//リクエストを送信
	xmlHttp.send(null);
}

//HTTPレスポンスデータを処理し、XMLを解析しフォームに値をはめこむコールバック関数
function callbackForSetAdministrativeDivForSalonUpdate(){

	var objCityTownVillageID = document.getElementById("cityTownVillageID");
	var objCityTownVillageIDValue = "";

	if (xmlHttp.readyState == 4 && xmlHttp.status == 200){

    var xmlDoc = xmlHttp.responseXML;

    if (xmlDoc.documentElement){

      //XMLをパース
      var stat = xmlDoc.getElementsByTagName("stat").item(0).firstChild;
      var selectedCityTownVillageID = xmlDoc.getElementsByTagName("selectedCityTownVillageID").item(0).firstChild;

      //バックエンドから返ってきたステータスがokの場合
      if (stat.data == "ok"){

				// 市町村プルダウン要素削除
				while(objCityTownVillageID.lastChild){
					objCityTownVillageID.removeChild(objCityTownVillageID.lastChild);
				}

				// 市町村プルダウン追加処理
				if (xmlDoc.getElementsByTagName("cityTownVillageID").length>0){

			    objCityTownVillageID.length = 1; 
			    objCityTownVillageID.options[0].value = ""; 
			    objCityTownVillageID.options[0].text = "選択してください"; 

					for (i=0; i<xmlDoc.getElementsByTagName("cityTownVillageID").length; i++){

						var value = xmlDoc.getElementsByTagName("cityTownVillageID").item(i).firstChild;
						var text = xmlDoc.getElementsByTagName("cityTownVillageName").item(i).firstChild;

						if (value != null) {

					    objCityTownVillageID.length = i+2; 
					    objCityTownVillageID.options[i+1].value = value.data; 
					    objCityTownVillageID.options[i+1].text = text.data; 

							if (selectedCityTownVillageID){
								if (selectedCityTownVillageID.data == value.data){
							    objCityTownVillageID.selectedIndex = i+1; 
								}
							}
						}
					}
				}
      }
    }
  }
}



















function setAreaDiv(){
	getOptionAndNumber('areaDiv');
}

function setAdministrativeDiv(){
	getOptionAndNumber('administrativeDiv');
}

function setCityTownVillageID(){
	getOptionAndNumber('cityTownVillageID');
}

function setCategoryID(){
	getOptionAndNumber('categoryID');
}

function setStickingToID(){
	getOptionAndNumber('stickingToID');
}

// データ取得
function getOptionAndNumber(pulldown){

	var areaDiv = document.getElementById("areaDiv");
	var administrativeDiv = document.getElementById("administrativeDiv");
	var cityTownVillageID = document.getElementById("cityTownVillageID");
	var categoryID = document.getElementById("categoryID");
	var stickingToID = document.getElementById("stickingToID");

	var areaDivValue = '';
	var administrativeDivValue = '';
	var cityTownVillageIDValue = '';
	var categoryIDValue = '';
	var stickingToIDValue = '';

	if(areaDiv.type == "hidden"){
		areaDivValue = areaDiv.value;
	} else {
		if (areaDiv.selectedIndex>0){
			areaDivValue = areaDiv.options[areaDiv.selectedIndex].value;
		}
	}

	if (pulldown!="areaDiv" && administrativeDiv.selectedIndex>0){
		administrativeDivValue = administrativeDiv.options[administrativeDiv.selectedIndex].value;
	}

	if (pulldown!="areaDiv" && pulldown!="administrativeDiv" && cityTownVillageID.selectedIndex>0){
		cityTownVillageIDValue = cityTownVillageID.options[cityTownVillageID.selectedIndex].value;
	}

	if (categoryID.selectedIndex>0){
		categoryIDValue = categoryID.options[categoryID.selectedIndex].value;
	}

	if (stickingToID.selectedIndex>0){
		stickingToIDValue = stickingToID.options[stickingToID.selectedIndex].value;
	}

	//リクエストをオープンする。単に設定がおこなわれるだけで実際の送受信はまだ発生しない
	var url = 'http://t-fours.jp/xml/getOptionAndNumber.php'+
		'?focus='+pulldown+
		'&areaDiv='+areaDivValue+
		'&administrativeDiv='+administrativeDivValue+
		'&cityTownVillageID='+cityTownVillageIDValue+
		'&categoryID='+categoryIDValue+
		'&stickingToID='+stickingToIDValue;

	xmlHttp.open('GET', url, true);

	//バックエンドプログラムからレスポンスを受信し処理を行うためのコールバック関数を用意しておく
	xmlHttp.onreadystatechange = handleHttpEvent;

	//リクエストを送信
	xmlHttp.send(null);
}

//HTTPレスポンスデータを処理し、XMLを解析しフォームに値をはめこむコールバック関数
function handleHttpEvent(){

	var objAdministrativeDiv = document.getElementById("administrativeDiv");
	var objCityTownVillageID = document.getElementById("cityTownVillageID");

	if (xmlHttp.readyState == 4 && xmlHttp.status == 200){

    var xmlDoc = xmlHttp.responseXML;

    if (xmlDoc.documentElement){

      //XMLをパース
      var stat = xmlDoc.getElementsByTagName("stat").item(0).firstChild;
      var resultNumber = xmlDoc.getElementsByTagName("resultNumber").item(0).firstChild;
      var focus = xmlDoc.getElementsByTagName("focus").item(0).firstChild;

      //バックエンドから返ってきたステータスがokの場合
      if (stat.data == "ok"){

				document.getElementById("resultNumber").innerHTML = resultNumber.data;

				// 都道府県プルダウン要素削除
				if (focus.data == "areaDiv"){
					while(objAdministrativeDiv.lastChild){
						objAdministrativeDiv.removeChild(objAdministrativeDiv.lastChild);
					}
				}

				// 市町村プルダウン要素削除
				if (focus.data == "administrativeDiv"){
					while(objCityTownVillageID.lastChild){
						objCityTownVillageID.removeChild(objCityTownVillageID.lastChild);
					}
				}

				// 都道府県プルダウン追加処理
				if (focus.data == "areaDiv" && xmlDoc.getElementsByTagName("administrativeid").length>0){

			    objAdministrativeDiv.length = 1; 
			    objAdministrativeDiv.options[0].value = ""; 
			    objAdministrativeDiv.options[0].text = "選択してください"; 

					for (i=0; i<xmlDoc.getElementsByTagName("administrativeid").length; i++){

						var value = xmlDoc.getElementsByTagName("administrativeid").item(i).firstChild;
						var text = xmlDoc.getElementsByTagName("administrativename").item(i).firstChild;

						if (value != null) {

					    objAdministrativeDiv.length = i+2; 
					    objAdministrativeDiv.options[i+1].value = value.data; 
					    objAdministrativeDiv.options[i+1].text = text.data; 
						}
					}
				}

				// 市町村プルダウン追加処理
				if (focus.data == "administrativeDiv" && xmlDoc.getElementsByTagName("cityTownVillageID").length>0){

			    objCityTownVillageID.length = 1; 
			    objCityTownVillageID.options[0].value = ""; 
			    objCityTownVillageID.options[0].text = "選択してください"; 

					for (i=0; i<xmlDoc.getElementsByTagName("cityTownVillageID").length; i++){

						var value = xmlDoc.getElementsByTagName("cityTownVillageID").item(i).firstChild;
						var text = xmlDoc.getElementsByTagName("cityTownVillageName").item(i).firstChild;

						if (value != null) {

					    objCityTownVillageID.length = i+2; 
					    objCityTownVillageID.options[i+1].value = value.data; 
					    objCityTownVillageID.options[i+1].text = text.data; 
						}
					}
				}
      }
    }
  }
}

//ブラウザ別にXMLHttpRequestオブジェクトを生成
function createXmlHttpRequest(){

    if (window.XMLHttpRequest) {
      return new XMLHttpRequest();
    } else {
      try { return new ActiveXObject("Msxml2.XMLHTTP"); }
	  catch (e) {
        try { return new ActiveXObject("Microsoft.XMLHTTP"); }
        catch (e2) { return null; }
      }
    }
}


function submitPage(form, action, pageAction){

	form.action = action;

	if (pageAction != ""){
		form.pageAction.value = pageAction;
	}
	form.submit();

	return false;
}

function OpenWin(strHtml){
	win=window.open(strHtml,"new","width=538,height=500,scrollbars=yes,toolbar=yes");
}

function inputWindow(question, output){
	window.prompt(question, output);
}

function sample(question, output) {
	window.prompt(question, output);
}

