function FHotel_ShowMonth(name){
	var mdate = FT_DateObject(3);
	var year = mdate.getFullYear();
	var month = mdate.getMonth() + 1;
	var selected = "";
	document.write('<select id=',name,'>');
	for (var i=month;i<month+13;i++){
		t_m = (i>12)?i%12:i;
		t_y = year + Math.floor(i/12);
		val = t_y + "/" + t_m;
		txt = t_y + "年" + t_m + "月";
		
		if (t_m == month && year == t_y)
			selected = "selected";
		else
			selected = "";
		
		document.write('<option value=\"' + val + '\" '+selected+ '>' + txt + '<\/option>');
	}
	document.write('<\/select>');
}

function FHotel_ShowDay(name){
	var mdate = FT_DateObject(3);
	var date = mdate.getDate();
	var selected = "";
	document.write('<select id=',name,'>');
	for (var i=1;i<=31;i++){
		if (i == date)
			selected = "selected";
		else
			selected = "";
		txt = i;
		document.write('<option value=' + i + ' '+selected+ '>' + txt + '<\/option>');
	}
	document.write('<\/select>');
}

function FHotel_ShowStay(name){
	document.write('<select id=',name,'>');
	for (var i=1;i<=14;i++){
		txt = i;
		document.write('<option value=' + i + '>' + txt + '<\/option>');
	}
	document.write('<\/select>');
}

function FHotel_setArea(name){
	htmlObj = document.getElementById(name);
	i=1;
	for(key in FHotel_area){
		if (!FHotel_area[key].j)
			continue;
		htmlObj.options[i] = new Option(FHotel_area[key].j,key);
		i++;
	}
}

function FHotel_setCountry(name,areaNum){
	htmlObj = document.getElementById(name);
	
	FT_clearOptions(htmlObj);
	
	if (!areaNum)
		return;
	
	items = FHotel_area[areaNum].i;
	
	FT_setItems(htmlObj,items,FHotel_country);
}

function FHotel_setState(name,countryNum){
	htmlObj = document.getElementById(name);
	FT_clearOptions(htmlObj);
	
	if (!countryNum)
		return;
	
	if (!FHotel_country[countryNum].s)
		return;
	
	items = FHotel_country[countryNum].s;
	
	FT_setItems(htmlObj,items,FHotel_state);
}

function FHotel_setCity(name,countryNum){
	htmlObj = document.getElementById(name);
	FT_clearOptions(htmlObj);
	
	if (!countryNum)
		return;
	
	if (FHotel_country[countryNum].i){
		items = FHotel_country[countryNum].i;
		FHotel_setItems2(htmlObj,items,FHotel_city);
	}else if (FHotel_country[countryNum].s){
		states = FHotel_country[countryNum].s;
		var allCity = new Array();
		
		for (var i=0;i<states.length;i++){
			st = FHotel_state[states[i]];
			allCity = allCity.concat(st.i);
		}
		
		allCity.sort(FHotel_compareCity);
		FHotel_setItems2(htmlObj,allCity,FHotel_city);
	}
}

function FHotel_compareCity(a,b){
	return (FHotel_city[a] > FHotel_city[b])?1:-1;
}

function FHotel_setCityState(name,stateNum){
	htmlObj = document.getElementById(name);
	FT_clearOptions(htmlObj);
	
	if (!stateNum)
		return;
	
	if (!FHotel_state[stateNum].i)
		return;
	
	items = FHotel_state[stateNum].i;
	
	FHotel_setItems2(htmlObj,items,FHotel_city);
	
}

function FHotel_setLocation(name,cityNum){
	htmlObj = document.getElementById(name);
	FT_clearOptions(htmlObj);
	
	if (!cityNum)
		return;
	
	if (!FHotel_location[cityNum])
		return;
	
	items = FHotel_location[cityNum];
	
	FHotel_setLocationValue(htmlObj,items);
}

function FHotel_setLocationValue(htmlObj,items){
	var i = 1;
	for (var key in items){
		value = items[key];
		htmlObj.options[i] = new Option(value,key);
		i++;
	}
}

function FHotel_areaChanged(obj){
	areaNum = FT_getSelectedValue(obj);
	
	FHotel_clearOptionsLevel(2);
	
	FHotel_setCountry("FHotelCountry",areaNum);
}

function FHotel_countryChanged(obj){
	countryNum = FT_getSelectedValue(obj);
	
	FHotel_clearOptionsLevel(3);
	
	FHotel_setState("FHotelState",countryNum);
	FHotel_setCity("FHotelCity",countryNum);
}

function FHotel_stateChanged(obj){
	stateNum = FT_getSelectedValue(obj);
	
	if (!stateNum){
		FHotel_clearOptionsLevel(4);
		countryNum = FT_getSelectValue("FHotelCountry");
		FHotel_setCity("FHotelCity",countryNum);
	}else{
		FHotel_setCityState("FHotelCity",stateNum);
	}
}

function FHotel_cityChanged(obj){
	cityNum = FT_getSelectedValue(obj);
	
	if (!cityNum){
		FHotel_setLocation("FHotelLocation",cityNum);
	}else{
		FHotel_setLocation("FHotelLocation",cityNum);
	}
}

function FHotel_init(){
	FHotel_setArea("FHotelArea");
	
	areaNum = FT_getSelectValue("FHotelArea");
	FHotel_setCountry("FHotelCountry",areaNum);
	
	countryNum = FT_getSelectValue("FHotelCountry");
	
	FHotel_setCity("FHotelCity",countryNum);
	FHotel_setState("FHotelState",countryNum);
	FHotel_setLocation("FHotelLocation",0);
}

/*
	var param = new Array();
	param["areacd"]
	param["countrycd"]
	param["statecd"]
	param["citycd"]
	param["location"]
	
	param["month"]
	param["day"]
	
	param["stay"]
	param["roomtype"]
	
	param["hotelname"]
	param["price"]
	param["rank"]

*/
function FHotel_select(param){
	//Set parameter in research
	
	//Place
	FT_setValueSelect("FHotelArea",param["areacd"]);

	FHotel_setCountry("FHotelCountry",param["areacd"]);
	FT_setValueSelect("FHotelCountry",param["countrycd"]);
	
	FHotel_setState("FHotelState",param["countrycd"]);
	FT_setValueSelect("FHotelState",param["statecd"]);
	
	obj = document.getElementById("FHotelState");
	FHotel_stateChanged(obj);
	FT_setValueSelect("FHotelCity",param["citycd"]);
	
	FHotel_setLocation("FHotelLocation",param["citycd"]);
	FT_setValueSelect("FHotelLocation",param["location"]);
	
	//Etc
	FT_setValueSelect("FHotelInMonth",param["month"]);
	FT_setValueSelect("FHotelInDay",param["day"]);
	
	FT_setValueSelect("FHotelDayStay",param["stay"]);
	FT_setValueSelect("FHotelRoomType",param["roomtype"]);
	
	FT_setValueText("FHotelSearchName",param["hotelname"]);
	
	FT_setValueSelect("FHotelRange",param["price"]);
	FT_setValueSelect("FHotelRank",param["rank"]);
	
}

function FHotel_clearOptionsLevel(num){
	if (num <= 5){
		obj = document.getElementById("FHotelLocation");
		FT_clearOptions(obj);
	}
	
	if (num <= 4){
		obj = document.getElementById("FHotelCity");
		FT_clearOptions(obj);
	}
	
	if (num <= 3){
		obj = document.getElementById("FHotelState");
		FT_clearOptions(obj);
	}
	
	if (num <= 2){
		obj = document.getElementById("FHotelCountry");
		FT_clearOptions(obj);
	}

}

/* Common */
function FHotel_setItems2(htmlObj,items,dataArr){
	for (var i=0;i<items.length;i++){
		key = items[i];
		if (!dataArr[key])
			continue;
		htmlObj.options[i+1] = new Option(dataArr[key],key);
	}
}

function FHotel_submit(){
	FHotel_setHidden("FHotelInMonth","in_Month");
	FHotel_setHidden("FHotelInDay","in_Day");
	FHotel_setHidden("FHotelDayStay","day_stay");
	FHotel_setHidden("FHotelArea","areaMenu");
	FHotel_setHidden("FHotelCountry","w_CO");
	FHotel_setHidden("FHotelState","stateMenu");
	FHotel_setHidden("FHotelCity","CIID");
	FHotel_setHidden("FHotelRoomType","room_type");
	FHotel_setHidden("FHotelSearchName","seach_name");
	FHotel_setHidden("FHotelLocation","search_location");
	FHotel_setHidden("FHotelRange","range");
	FHotel_setHidden("FHotelRank","rank");
	
	FHotel_setHidden("","ref_id");
	FHotel_setHidden("","ref_time");
	
	if (!document.FHotelForm["CIID"].value){
		alert("都市を選択してください。");
		return;
	}
		
	document.FHotelForm.submit();
}

function FHotel_setHidden(idName,formName){
	if (!idName)
		return;
	var obj = document.getElementById(idName);
	document.FHotelForm[formName].value = obj.value;
}

window.onload = FHotel_init;
