﻿var callSearchId = "";

// こども人数表示切替
function ChangeChildWindows(child) {
    var childPanel = $get(child);
    var elementId = child.slice(0, child.lastIndexOf("_"));
    if (childPanel != null) {
        if (childPanel.style.display == 'block') {
            childPanel.style.display = 'none';
            $get(elementId + "_ChildCountPanel2").style.display = 'none';
            $get(elementId + "_ChildCountPanel1").style.display = 'block';
        }
        else {
            childPanel.style.display = 'block';
            $get(elementId + "_ChildCountPanel2").style.display = 'block';
            $get(elementId + "_ChildCountPanel1").style.display = 'none';
        }
    }
}

// こども人数計算
function ChangeChildCount(dropdown) {
    var elementId = dropdown.id.slice(0, dropdown.id.lastIndexOf("_"));
    var childCountPanel2 = $get(elementId + "_ChildCountPanel2");
    if (childCountPanel2.style.display == 'block') {
        var countChildA = $get(elementId + "_CountChildA");
        var countChildB = $get(elementId + "_CountChildB");
        var countChildC = $get(elementId + "_CountChildC");
        var countChildD = $get(elementId + "_CountChildD");
        var countBaby = $get(elementId + "_CountBaby");
        var childCount = Number(countChildA.options[countChildA.selectedIndex].value)
            + Number(countChildB.options[countChildB.selectedIndex].value)
            + Number(countChildC.options[countChildC.selectedIndex].value)
            + Number(countChildD.options[countChildD.selectedIndex].value)
            + Number(countBaby.options[countBaby.selectedIndex].value);
        // ブラウザ判定
        if ($get(elementId + "_IcnArrowBoxLabel").textContent) {
            $get(elementId + "_IcnArrowBoxLabel").textContent = "こども人数の設定（現在" + childCount + "名）";
            $get(elementId + "_IcnArrowDownLabel").textContent = "こども人数の設定（現在" + childCount + "名）";
        } else {
            $get(elementId + "_IcnArrowBoxLabel").innerText = "こども人数の設定（現在" + childCount + "名）";
            $get(elementId + "_IcnArrowDownLabel").innerText = "こども人数の設定（現在" + childCount + "名）";
        }
    }
}

// 部屋／食事表示切替
function ChangeMealWindows(meal) {
    var mealPanel = $get(meal);
    var elementId = meal.slice(0, meal.lastIndexOf("_"));
    if (mealPanel != null) {
        if (mealPanel.style.display == 'block') {
            mealPanel.style.display = 'none';
            $get(elementId + "_PanelMeal2").style.display = 'none';
            $get(elementId + "_PanelMeal1").style.display = 'block';
        }
        else {
            mealPanel.style.display = 'block';
            $get(elementId + "_PanelMeal2").style.display = 'block';
            $get(elementId + "_PanelMeal1").style.display = 'none';
        }
    }
}

// 宿泊のこだわり条件表示切替
function ChangeParticularWindows(particular) {
    var particularPanel = $get(particular);
    var elementId = particular.slice(0, particular.lastIndexOf("_"));
    if (particularPanel != null) {
        if (particularPanel.style.display == 'block') {
            particularPanel.style.display = 'none';
            $get(elementId + "_ParticularPanel2").style.display = 'none';
            $get(elementId + "_ParticularPanel1").style.display = 'block';
        }
        else {
            particularPanel.style.display = 'block';
            $get(elementId + "_ParticularPanel2").style.display = 'block';
            $get(elementId + "_ParticularPanel1").style.display = 'none';
        }
    }
}

// トランスミッション／駆動輪表示切替
function ChangePanelCarOpWindows(carOp) {
    var carOpPanel = $get(carOp);
    var elementId = carOp.slice(0, carOp.lastIndexOf("_"));
    if (carOpPanel != null) {
        if (carOpPanel.style.display == 'block') {
            carOpPanel.style.display = 'none';
            $get(elementId + "_PanelCarOp2").style.display = 'none';
            $get(elementId + "_PanelCarOp1").style.display = 'block';
        }
        else {
            carOpPanel.style.display = 'block';
            $get(elementId + "_PanelCarOp2").style.display = 'block';
            $get(elementId + "_PanelCarOp1").style.display = 'none';
        }
    }
}

// 出発日ドロップダウン変更
function DropDownListStartDateOnChange(dropdown) {
    var elementId = dropdown.id.slice(0, dropdown.id.lastIndexOf("_"));
    var endDate = $get(elementId + "_EndDate");
    if (dropdown.selectedIndex + 1 < dropdown.length)
        endDate.selectedIndex = dropdown.selectedIndex + 1;
    else
        endDate.selectedIndex = dropdown.selectedIndex;

    if ($get(elementId + "_StayP") != null)
        $get(elementId + "_StayP").disabled = true;
    if ($get(elementId + "_OtherStayCheckBox") != null) {
        $get(elementId + "_OtherStayCheckBox").disabled = true;
        $get(elementId + "_OtherStayCheckBox").checked = false;
        if ($get(elementId + "_OtherStayCheckBox").parentElement)
            $get(elementId + "_OtherStayCheckBox").parentElement.disabled = true;
    }
}

// 帰着日ドロップダウン変更
function DropDownListEndDateOnChange(dropdown) {
    var elementId = dropdown.id.slice(0, dropdown.id.lastIndexOf("_"));
    var startDate = $get(elementId + "_StartDate");
    var endDate = $get(elementId + "_EndDate");
    var startDateValue = startDate.options[startDate.selectedIndex].value;
    var endDateValue = endDate.options[endDate.selectedIndex].value;
    var startTime = Date.parse(startDateValue.slice(0, 4) + "/" + startDateValue.slice(4, 6) + "/" + startDateValue.slice(6, 8) + " 00:00:00");
    var endTime = Date.parse(endDateValue.slice(0, 4) + "/" + endDateValue.slice(4, 6) + "/" + endDateValue.slice(6, 8) + " 00:00:00");

    if ($get(elementId + "_StayP") != null) {
        var stayP = $get(elementId + "_StayP");
        if (86400000 < (endTime - startTime)) {
            stayP.disabled = false;
            if ($get(elementId + "_OtherStayCheckBox") != null) {
                $get(elementId + "_OtherStayCheckBox").disabled = false;
                if ($get(elementId + "_OtherStayCheckBox").parentElement)
                    $get(elementId + "_OtherStayCheckBox").parentElement.disabled = false;
            }
        }
        else {
            stayP.disabled = true;
            if ($get(elementId + "_OtherStayCheckBox") != null) {
                $get(elementId + "_OtherStayCheckBox").disabled = true;
                $get(elementId + "_OtherStayCheckBox").checked = false;
                if ($get(elementId + "_OtherStayCheckBox").parentElement)
                    $get(elementId + "_OtherStayCheckBox").parentElement.disabled = true;
            }
        }
    }
}

// こだわり条件を解除
function ParticularOffLinkOnClick(particularTypeRepeater) {
    var elementId = particularTypeRepeater.slice(0, particularTypeRepeater.lastIndexOf("_"));

    var hotel1 = $get(elementId + "_HotelCheck1");
    if (hotel1 != null) {
        hotel1.checked = false;
    }
    var hotel2 = $get(elementId + "_HotelCheck2");
    if (hotel2 != null) {
        hotel2.checked = false;
    }
    for (var i = 1; ; i++) {
        var particularType = $get(particularTypeRepeater + "_ctl" + ("0" + i).slice(-2) + "_ParticularType");
        if (particularType == null) break;
        particularType.checked = false;
    }
}

// ホテルチェック切替
function CheckHotel1OnChange(hotel1) {
    if (hotel1.checked) {
        var hotel2 = $get(hotel1.id.slice(0, hotel1.id.lastIndexOf("_")) + "_HotelCheck2");
        if (hotel2 != null) {
            hotel2.checked = false;
        }
    }
}

// 旅館チェック切替
function CheckHotel2OnChange(hotel2) {
    if (hotel2.checked) {
        var hotel1 = $get(hotel2.id.slice(0, hotel2.id.lastIndexOf("_")) + "_HotelCheck1");
        if (hotel1 != null) {
            hotel1.checked = false;
        }
    }
}

// 2010/11/18 STEP3 ADD  miura START
// 航空会社変更
function RadioButtonAirlineSelectOnChange(radiobutton, searchId, airOfficeKbn, goDep) {
    // Webサービスを呼び出す。
    switch (searchId) {
        case "PFSPS010":
            JTB.RTP.Front.Web.UI.Search.PFSPS010WebService.Airline_SelectedChanged(airOfficeKbn, goDep, GetSearchDropDownDataOnSuccess, GetSearchDropDownDataOnFailed, radiobutton);
            break;
        case "PFSPS011":
            break;
        case "PFSPS012":
            JTB.RTP.Front.Web.UI.Search.UserControl.PFSPS012WebService.Airline_SelectedChanged(airOfficeKbn, goDep, GetSearchDropDownDataOnSuccess, GetSearchDropDownDataOnFailed, radiobutton);
            break;
        default:
            break;
    }
}
// 2010/11/18 STEP3 ADD  miura END

// 往路出発空港ドロップダウン変更
//function DropDownListGoDepOnChange(dropdown, searchId) {    // 2010/12/02 STEP3 miura MOD
function DropDownListGoDepOnChange(dropdown, searchId, airOfficeKbn) {
    var selectedValue = dropdown.options[dropdown.selectedIndex].value;
    callSearchId = searchId;

    // Webサービスを呼び出す。
    switch (searchId) {
        case "PFSPS010":
            JTB.RTP.Front.Web.UI.Search.PFSPS010WebService.GoDep_SelectedIndexChanged(airOfficeKbn, selectedValue, GetSearchDropDownDataOnSuccess, GetSearchDropDownDataOnFailed, dropdown);
            break;
        case "PFSPS011":
            JTB.RTP.Front.Web.UI.Search.UserControl.PFSPS011WebService.GoDep_SelectedIndexChanged(selectedValue, GetSearchDropDownDataOnSuccess, GetSearchDropDownDataOnFailed, dropdown);
            break;
        case "PFSPS012":
            JTB.RTP.Front.Web.UI.Search.UserControl.PFSPS012WebService.GoDep_SelectedIndexChanged(airOfficeKbn, selectedValue, GetSearchDropDownDataOnSuccess, GetSearchDropDownDataOnFailed, dropdown);
            break;
        default:
            break;
    }
}

// 往路到着空港ドロップダウン変更
//function DropDownListGoArrOnChange(dropdown, searchId) {  // 2010/12/02 STEP3 miura MOD
function DropDownListGoArrOnChange(dropdown, searchId, airOfficeKbn) {
    var goDepDropDown = $get(dropdown.id.slice(0, dropdown.id.lastIndexOf("_")) + "_GoDepCd");
    var selectedValue1 = goDepDropDown.options[goDepDropDown.selectedIndex].value;
    var selectedValue2 = dropdown.options[dropdown.selectedIndex].value;
    callSearchId = searchId;

    // Webサービスを呼び出す。
    switch (searchId) {
        case "PFSPS010":
            JTB.RTP.Front.Web.UI.Search.PFSPS010WebService.GoArr_SelectedIndexChanged(airOfficeKbn, selectedValue1, selectedValue2, GetSearchDropDownDataOnSuccess, GetSearchDropDownDataOnFailed, dropdown);
            break;
        case "PFSPS011":
            //JTB.RTP.Front.Web.UI.Search.UserControl.PFSPS011WebService.GoArr_SelectedIndexChanged(selectedValue1, selectedValue2, GetSearchDropDownDataOnSuccess, GetSearchDropDownDataOnFailed, dropdown);
            break;
        case "PFSPS012":
            JTB.RTP.Front.Web.UI.Search.UserControl.PFSPS012WebService.GoArr_SelectedIndexChanged(selectedValue2, GetSearchDropDownDataOnSuccess, GetSearchDropDownDataOnFailed, dropdown);
            break;
        default:
            break;
    }
}

// 復路出発空港ドロップダウン変更
function DropDownListReDepOnChange(dropdown, searchId) {
    var selectedValue = dropdown.options[dropdown.selectedIndex].value;
    callSearchId = searchId;

    // Webサービスを呼び出す。
    switch (searchId) {
        case "PFSPS010":
            JTB.RTP.Front.Web.UI.Search.PFSPS010WebService.ReDep_SelectedIndexChanged(selectedValue, GetSearchDropDownDataOnSuccess, GetSearchDropDownDataOnFailed, dropdown);
            break;
        case "PFSPS011":
            // TODO 必要ならコメントを解除してください
            // JTB.RTP.Front.Web.UI.Search.UserControl.PFSPS011WebService.GoDep_SelectedIndexChanged(selectedValue, GetSearchDropDownDataOnSuccess, GetSearchDropDownDataOnFailed, dropdown);
            break;
        default:
            break;
    }
}

// 宿泊地域ドロップダウン変更
function DropDownListHotelKenOnChange(dropdown, searchId) {
    var elementId = dropdown.id.slice(0, dropdown.id.lastIndexOf("_"));
    var selectedValue = dropdown.options[dropdown.selectedIndex].value;
    callSearchId = searchId;

    // Webサービスを呼び出す。
    switch (searchId) {
        case "PFSPS010":
            JTB.RTP.Front.Web.UI.Search.PFSPS010WebService.HotelKen_SelectedIndexChanged(selectedValue, GetSearchDropDownDataOnSuccess, GetSearchDropDownDataOnFailed, dropdown);
            break;
        case "PFSPS011":
            JTB.RTP.Front.Web.UI.Search.UserControl.PFSPS011WebService.HotelKen_SelectedIndexChanged(selectedValue, GetSearchDropDownDataOnSuccess, GetSearchDropDownDataOnFailed, dropdown);
            break;
        case "PFSPS012":
            // 予約区分を取得
            var reserveKbn;
            if ($get(elementId + "_TourPattern0").checked) reserveKbn = "0";
            if ($get(elementId + "_TourPattern1").checked) reserveKbn = "1";
            if ($get(elementId + "_TourPattern2").checked) reserveKbn = "2";

            JTB.RTP.Front.Web.UI.Search.UserControl.PFSPS012WebService.HotelKen_SelectedIndexChanged(selectedValue, reserveKbn, GetSearchDropDownDataOnSuccess, GetSearchDropDownDataOnFailed, dropdown);
            break;
        default:
            break;
    }
}

// 宿泊地区ドロップダウン変更
function DropDownListHotelSubAreaOnChange(dropdown, searchId) {
    var selectedValue = dropdown.options[dropdown.selectedIndex].value;
    callSearchId = searchId;

    // Webサービスを呼び出す。
    switch (searchId) {
        case "PFSPS010":
            JTB.RTP.Front.Web.UI.Search.PFSPS010WebService.HotelSubArea_SelectedIndexChanged(selectedValue, GetSearchDropDownDataOnSuccess, GetSearchDropDownDataOnFailed, dropdown);
            break;
        case "PFSPS011":
            JTB.RTP.Front.Web.UI.Search.UserControl.PFSPS011WebService.HotelSubArea_SelectedIndexChanged(selectedValue, GetSearchDropDownDataOnSuccess, GetSearchDropDownDataOnFailed, dropdown);
            break;
        case "PFSPS012":
            JTB.RTP.Front.Web.UI.Search.UserControl.PFSPS012WebService.HotelSubArea_SelectedIndexChanged(selectedValue, GetSearchDropDownDataOnSuccess, GetSearchDropDownDataOnFailed, dropdown);
            break;
        default:
            break;
    }
}

// 貸出レンタカー地域ドロップダウン変更
function DropDownListRentalKenOnChange(dropdown, searchId) {
    var selectedValue = dropdown.options[dropdown.selectedIndex].value;
    callSearchId = searchId;

    // Webサービスを呼び出す。
    switch (searchId) {
        case "PFSPS010":
            JTB.RTP.Front.Web.UI.Search.PFSPS010WebService.RentalKen_SelectedIndexChanged(selectedValue, GetSearchDropDownDataOnSuccess, GetSearchDropDownDataOnFailed, dropdown);
            break;
        case "PFSPS011":
            JTB.RTP.Front.Web.UI.Search.UserControl.PFSPS011WebService.RentalKen_SelectedIndexChanged(selectedValue, GetSearchDropDownDataOnSuccess, GetSearchDropDownDataOnFailed, dropdown);
            break;
        case "PFSPS012":
            JTB.RTP.Front.Web.UI.Search.UserControl.PFSPS012WebService.RentalKen_SelectedIndexChanged(selectedValue, GetSearchDropDownDataOnSuccess, GetSearchDropDownDataOnFailed, dropdown);
            break;
        default:
            break;
    }
}

// 貸出レンタカー地区ドロップダウン変更
function DropDownListRentalSubAreaOnChange(dropdown, searchId) {
    var rentalKenDropDown = $get(dropdown.id.slice(0, dropdown.id.lastIndexOf("_")) + "_RentalKen");
    var selectedValue1 = rentalKenDropDown.options[rentalKenDropDown.selectedIndex].value;
    var selectedValue2 = dropdown.options[dropdown.selectedIndex].value;
    callSearchId = searchId;

    // Webサービスを呼び出す。
    switch (searchId) {
        case "PFSPS010":
            JTB.RTP.Front.Web.UI.Search.PFSPS010WebService.RentalSubArea_SelectedIndexChanged(selectedValue1, selectedValue2, GetSearchDropDownDataOnSuccess, GetSearchDropDownDataOnFailed, dropdown);
            break;
        case "PFSPS011":
            JTB.RTP.Front.Web.UI.Search.UserControl.PFSPS011WebService.RentalSubArea_SelectedIndexChanged(selectedValue1, selectedValue2, GetSearchDropDownDataOnSuccess, GetSearchDropDownDataOnFailed, dropdown);
            break;
        case "PFSPS012":
            JTB.RTP.Front.Web.UI.Search.UserControl.PFSPS012WebService.RentalSubArea_SelectedIndexChanged(selectedValue1, selectedValue2, GetSearchDropDownDataOnSuccess, GetSearchDropDownDataOnFailed, dropdown);
            break;
        default:
            break;
    }
}

// 貸出レンタカー店舗ドロップダウン変更
function DropDownListRentalOfficeOnChange(dropdown, searchId) {
    var returnOfficeDropDown = $get(dropdown.id.slice(0, dropdown.id.lastIndexOf("_")) + "_ReturnOffice");
    var selectedValue = dropdown.options[dropdown.selectedIndex].value;
    callSearchId = searchId;

    if (returnOfficeDropDown != null) {
        returnOfficeDropDown.selectedIndex = 0;
        for (var i = 0; i < returnOfficeDropDown.options.length; i++) {
            if (returnOfficeDropDown.options[i].value == selectedValue) {
                returnOfficeDropDown.selectedIndex = i;
                break;
            }
        }
    }
}

// 返却レンタカー地域ドロップダウン変更
function DropDownListReturnKenOnChange(dropdown, searchId) {
    var selectedValue = dropdown.options[dropdown.selectedIndex].value;
    callSearchId = searchId;

    // Webサービスを呼び出す。
    switch (searchId) {
        case "PFSPS010":
            JTB.RTP.Front.Web.UI.Search.PFSPS010WebService.ReturnKen_SelectedIndexChanged(selectedValue, GetSearchDropDownDataOnSuccess, GetSearchDropDownDataOnFailed, dropdown);
            break;
        case "PFSPS011":
            JTB.RTP.Front.Web.UI.Search.UserControl.PFSPS011WebService.ReturnKen_SelectedIndexChanged(selectedValue, GetSearchDropDownDataOnSuccess, GetSearchDropDownDataOnFailed, dropdown);
            break;
        default:
            break;
    }
}

// 返却レンタカー地区ドロップダウン変更
function DropDownListReturnSubAreaOnChange(dropdown, searchId) {
    var returnKenDropDown = $get(dropdown.id.slice(0, dropdown.id.lastIndexOf("_")) + "_ReturnKen");
    var selectedValue1 = returnKenDropDown.options[returnKenDropDown.selectedIndex].value;
    var selectedValue2 = dropdown.options[dropdown.selectedIndex].value;
    callSearchId = searchId;

    // Webサービスを呼び出す。
    switch (searchId) {
        case "PFSPS010":
            JTB.RTP.Front.Web.UI.Search.PFSPS010WebService.ReturnSubArea_SelectedIndexChanged(selectedValue1, selectedValue2, GetSearchDropDownDataOnSuccess, GetSearchDropDownDataOnFailed, dropdown);
            break;
        case "PFSPS011":
            JTB.RTP.Front.Web.UI.Search.UserControl.PFSPS011WebService.ReturnSubArea_SelectedIndexChanged(selectedValue1, selectedValue2, GetSearchDropDownDataOnSuccess, GetSearchDropDownDataOnFailed, dropdown);
            break;
        default:
            break;
    }
}

// 予約区分ラジオボタン選択
function ReserveKbnRadioButtonOnClick(radio, searchId, goArrDropDownList, airlineId) {

    callSearchId = searchId;

    // Webサービスを呼び出す。
    switch (searchId) {
        case "PFSPS010":
            if (radio.id.indexOf("TourPattern0") >= 0) {
                JTB.RTP.Front.Web.UI.Search.PFSPS010WebService.TourPattern0_CheckedChanged("0", ReserveKbnRadioButtonOnSuccess, ReserveKbnRadioButtonOnFailed, radio);
                // 到着空港ドロップダウン変更イベントを呼び出す
                DropDownListGoArrOnChange(goArrDropDownList, searchId, airlineId);
            } else if (radio.id.indexOf("TourPattern1") >= 0) {
                JTB.RTP.Front.Web.UI.Search.PFSPS010WebService.TourPattern1_CheckedChanged("1", ReserveKbnRadioButtonOnSuccess, ReserveKbnRadioButtonOnFailed, radio);
                // 到着空港ドロップダウン変更イベントを呼び出す
                DropDownListGoArrOnChange(goArrDropDownList, searchId, airlineId);
            }
            else {
                JTB.RTP.Front.Web.UI.Search.PFSPS010WebService.TourPattern2_CheckedChanged("2", TourPattern2RadioButtonOnSuccess, ReserveKbnRadioButtonOnFailed, radio);
            }
            break;
        case "PFSPS011":
//            if (radio.id.indexOf("TourPattern0") >= 0)
//                JTB.RTP.Front.Web.UI.Search.UserControl.PFSPS011WebService.TourPattern0_CheckedChanged("0", ReserveKbnRadioButtonOnSuccess, ReserveKbnRadioButtonOnFailed, radio);
//            else if (radio.id.indexOf("TourPattern1") >= 0)
//                JTB.RTP.Front.Web.UI.Search.UserControl.PFSPS011WebService.TourPattern1_CheckedChanged("1", ReserveKbnRadioButtonOnSuccess, ReserveKbnRadioButtonOnFailed, radio);
//            else
//                JTB.RTP.Front.Web.UI.Search.UserControl.PFSPS011WebService.TourPattern2_CheckedChanged("2", ReserveKbnRadioButtonOnSuccess, ReserveKbnRadioButtonOnFailed, radio);
            break;
        case "PFSPS012":
            if (radio.id.indexOf("TourPattern0") >= 0) {
                JTB.RTP.Front.Web.UI.Search.UserControl.PFSPS012WebService.TourPattern0_CheckedChanged("0", ReserveKbnRadioButtonOnSuccess, ReserveKbnRadioButtonOnFailed, radio);
                // 到着空港ドロップダウン変更イベントを呼び出す
                DropDownListGoArrOnChange(goArrDropDownList, searchId, airlineId);
            }
            else if (radio.id.indexOf("TourPattern1") >= 0) {
                JTB.RTP.Front.Web.UI.Search.UserControl.PFSPS012WebService.TourPattern1_CheckedChanged("1", ReserveKbnRadioButtonOnSuccess, ReserveKbnRadioButtonOnFailed, radio);
                // 到着空港ドロップダウン変更イベントを呼び出す
                DropDownListGoArrOnChange(goArrDropDownList, searchId, airlineId);
            }
            else {
                JTB.RTP.Front.Web.UI.Search.UserControl.PFSPS012WebService.TourPattern2_CheckedChanged("2", TourPattern2RadioButtonOnSuccess, ReserveKbnRadioButtonOnFailed, radio);
            } 
            break;
        default:
            break;
    }
}

// 予約区分ラジオボタン選択成功コールバック
function ReserveKbnRadioButtonOnSuccess(result, userContext, methodName) {
    var elementId = userContext.id.slice(0, userContext.id.lastIndexOf("_"));
    // 出発日
    if ((result.StartDate != null) && (result.StartDate.length > 0)) {
        SetDropDownDataSearchWindow($get(elementId + "_StartDate"), result.StartDate, result.StartDateSelectedIndex);
    }
    // 到着日
    if ((result.EndDate != null) && (result.EndDate.length > 0)) {
        SetDropDownDataSearchWindow($get(elementId + "_EndDate"), result.EndDate, result.EndDateSelectedIndex);
    }

    // 複数の宿・ホテルを選ぶ
    if ($get(elementId + "_StayP") != null)
        $get(elementId + "_StayP").disabled = true;
    if ($get(elementId + "_OtherStayCheckBox") != null) {
        $get(elementId + "_OtherStayCheckBox").disabled = true;
        $get(elementId + "_OtherStayCheckBox").checked = false;
        if ($get(elementId + "_OtherStayCheckBox").parentElement)
            $get(elementId + "_OtherStayCheckBox").parentElement.disabled = true;
    }

    // 表示切替
    var airPanel = $get(elementId + "_AirPanel");
    var rentalPanel = $get(elementId + "_RentalPanel");
    if (userContext.id.indexOf("TourPattern0") >= 0) {
        // 航空＋ホテル
        airPanel.style.display = 'block';
        rentalPanel.style.display = 'none';

        if (callSearchId == "PFSPS010") {
            // 2010/04/15 RRB_ST_J_0027 DEL START
            //var rentalReserveInfoPanel = $get(elementId + "_RentalReserveInfoPanel");
            //if (rentalReserveInfoPanel != null)
            //    rentalReserveInfoPanel.style.display = 'none';
            // 2010/04/15 RRB_ST_J_0027 DEL END
            var reserveDatePanel1 = $get(elementId + "_ReserveDatePanel1");
            if (reserveDatePanel1 != null)
                reserveDatePanel1.style.display = 'block';
            var reserveDatePanel2 = $get(elementId + "_ReserveDatePanel2");
            if (reserveDatePanel2 != null)
                reserveDatePanel2.style.display = 'none';
            var reserveDatePanel3 = $get(elementId + "_ReserveDatePanel3");
            if (reserveDatePanel3 != null)
                reserveDatePanel3.style.display = 'none';
            var goDptTimeListItem = $get(elementId + "_GoDptTimeListItem");
            if (goDptTimeListItem != null)
                goDptTimeListItem.style.visibility = 'visible';
            var reArrTimeListItem = $get(elementId + "_ReArrTimeListItem");
            if (reArrTimeListItem != null)
                reArrTimeListItem.style.visibility = 'visible';
        }
    }
    else if (userContext.id.indexOf("TourPattern1") >= 0) {
        // 航空＋ホテル＋レンタカー
        airPanel.style.display = 'block';
        rentalPanel.style.display = 'block';

        if (callSearchId == "PFSPS010") {
            // 2010/04/15 RRB_ST_J_0027 DEL START
            //var rentalReserveInfoPanel = $get(elementId + "_RentalReserveInfoPanel");
            //if (rentalReserveInfoPanel != null)
            //    rentalReserveInfoPanel.style.display = 'none';
            // 2010/04/15 RRB_ST_J_0027 DEL END
            var reserveDatePanel1 = $get(elementId + "_ReserveDatePanel1");
            if (reserveDatePanel1 != null)
                reserveDatePanel1.style.display = 'none';
            var reserveDatePanel2 = $get(elementId + "_ReserveDatePanel2");
            if (reserveDatePanel2 != null)
                reserveDatePanel2.style.display = 'block';
            var reserveDatePanel3 = $get(elementId + "_ReserveDatePanel3");
            if (reserveDatePanel3 != null)
                reserveDatePanel3.style.display = 'none';
            var goDptTimeListItem = $get(elementId + "_GoDptTimeListItem");
            if (goDptTimeListItem != null)
                goDptTimeListItem.style.visibility = 'visible';
            var reArrTimeListItem = $get(elementId + "_ReArrTimeListItem");
            if (reArrTimeListItem != null)
                reArrTimeListItem.style.visibility = 'visible';
        }
        if (callSearchId == "PFSPS012") {
            var rentalKenPanel = $get(elementId + "_RentalKenPanel");
            if (rentalKenPanel != null)
                rentalKenPanel.style.display = 'none';
            var rentalSubAreaPanel = $get(elementId + "_RentalSubAreaPanel");
            if (rentalSubAreaPanel != null)
                rentalSubAreaPanel.style.display = 'none';
            var rentalOfficePanel = $get(elementId + "_RentalOfficePanel");
            if (rentalOfficePanel != null)
                rentalOfficePanel.style.display = 'none';
        }
    }
    else {
        // レンタカー＋ホテル
        airPanel.style.display = 'none';
        rentalPanel.style.display = 'block';

        if (callSearchId == "PFSPS010") {
            // 2010/04/15 RRB_ST_J_0027 DEL START
            //var rentalReserveInfoPanel = $get(elementId + "_RentalReserveInfoPanel");
            //if (rentalReserveInfoPanel != null)
            //    rentalReserveInfoPanel.style.display = 'block';
            // 2010/04/15 RRB_ST_J_0027 DEL END
            var reserveDatePanel1 = $get(elementId + "_ReserveDatePanel1");
            if (reserveDatePanel1 != null)
                reserveDatePanel1.style.display = 'none';
            var reserveDatePanel2 = $get(elementId + "_ReserveDatePanel2");
            if (reserveDatePanel2 != null)
                reserveDatePanel2.style.display = 'none';
            var reserveDatePanel3 = $get(elementId + "_ReserveDatePanel3");
            if (reserveDatePanel3 != null)
                reserveDatePanel3.style.display = 'block';
            var goDptTimeListItem = $get(elementId + "_GoDptTimeListItem");
            if (goDptTimeListItem != null)
                goDptTimeListItem.style.visibility = 'hidden';
            var reArrTimeListItem = $get(elementId + "_ReArrTimeListItem");
            if (reArrTimeListItem != null)
                reArrTimeListItem.style.visibility = 'hidden';
        }
        if (callSearchId == "PFSPS012") {
            var rentalKenPanel = $get(elementId + "_RentalKenPanel");
            if (rentalKenPanel != null)
                rentalKenPanel.style.display = 'block';
            var rentalSubAreaPanel = $get(elementId + "_RentalSubAreaPanel");
            if (rentalSubAreaPanel != null)
                rentalSubAreaPanel.style.display = 'block';
            var rentalOfficePanel = $get(elementId + "_RentalOfficePanel");
            if (rentalOfficePanel != null)
                rentalOfficePanel.style.display = 'block';
        }
    }
}

// 予約区分ラジオボタン選択成功コールバック
function TourPattern2RadioButtonOnSuccess(result, userContext, methodName) {
    var elementId = userContext.id.slice(0, userContext.id.lastIndexOf("_"));
    // 出発日
    if ((result.StartDate != null) && (result.StartDate.length > 0)) {
        SetDropDownDataSearchWindow($get(elementId + "_StartDate"), result.StartDate, result.StartDateSelectedIndex);
    }
    // 到着日
    if ((result.EndDate != null) && (result.EndDate.length > 0)) {
        SetDropDownDataSearchWindow($get(elementId + "_EndDate"), result.EndDate, result.EndDateSelectedIndex);
    }

    // 複数の宿・ホテルを選ぶ
    if ($get(elementId + "_StayP") != null)
        $get(elementId + "_StayP").disabled = true;
    if ($get(elementId + "_OtherStayCheckBox") != null) {
        $get(elementId + "_OtherStayCheckBox").disabled = true;
        $get(elementId + "_OtherStayCheckBox").checked = false;
        if ($get(elementId + "_OtherStayCheckBox").parentElement)
            $get(elementId + "_OtherStayCheckBox").parentElement.disabled = true;
    }

    // 宿泊12エリアコード
    if (result.HotelArea != null) {
        $get(elementId + "_HotelArea").value = result.HotelArea;
    }
    
    // 宿泊地域
    if ((result.HotelKen != null) && (result.HotelKen.length > 0)) {
        SetDropDownDataSearchWindow($get(elementId + "_HotelKen"), result.HotelKen, result.HotelKenSelectedIndex);
        // 地図更新を呼び出す。
        if (window.SupportMap != undefined) {       // 2010/04/02 RRB-ITa2-F-0184 判定文追加
            SupportMap.write();
        }
    }
    // 宿泊地区
    if ((result.HotelSubArea != null) && (result.HotelSubArea.length > 0)) {
        SetDropDownDataSearchWindow($get(elementId + "_HotelSubArea"), result.HotelSubArea, result.HotelSubAreaSelectedIndex);
    }
    // 宿泊詳細地区
    if ((result.HotelMesh != null) && (result.HotelMesh.length > 0)) {
        SetDropDownDataSearchWindow($get(elementId + "_HotelMesh"), result.HotelMesh, result.HotelMeshSelectedIndex);

        if ((result.HotelSubArea == null) || (result.HotelSubArea.length == 0)) {
            // 宿泊地区に変更がかかったため、貸出レンタカー地区・店舗、返却レンタカー地区・店舗も同様に変更
            var hotelSubAreaDropDown = $get(elementId + "_HotelSubArea");
            var rentalSubAreaDropDown = $get(elementId + "_RentalSubArea");
            var rentalOfficeDropDown = $get(elementId + "_RentalOffice");
            var returnSubAreaDropDown = $get(elementId + "_ReturnSubArea");
            var returnOfficeDropDown = $get(elementId + "_ReturnOffice");
            var selectedValue = hotelSubAreaDropDown.options[hotelSubAreaDropDown.selectedIndex].value;

            var isFound = false;
            if ((rentalSubAreaDropDown != null) && (rentalOfficeDropDown != null)) {
                for (var i = 0; i < rentalSubAreaDropDown.options.length; i++) {
                    if (rentalSubAreaDropDown.options[i].value == selectedValue) {
                        // 貸出レンタカー地区・店舗を再取得
                        rentalSubAreaDropDown.selectedIndex = i;
                        DropDownListRentalSubAreaOnChange(rentalSubAreaDropDown, callSearchId);
                        isFound = true;
                        break;
                    }
                }
            }
            isFound = false;
            if ((returnSubAreaDropDown != null) && (returnOfficeDropDown != null)) {
                for (var i = 0; i < returnSubAreaDropDown.options.length; i++) {
                    if (returnSubAreaDropDown.options[i].value == selectedValue) {
                        // 返却レンタカー地区・店舗を再取得
                        returnSubAreaDropDown.selectedIndex = i;
                        DropDownListReturnSubAreaOnChange(returnSubAreaDropDown, callSearchId);
                        isFound = true;
                        break;
                    }
                }
            }
        }
    }

    // 貸出レンタカー地域
    if ((result.RentalKen != null) && (result.RentalKen.length > 0)) {
        SetDropDownDataSearchWindow($get(elementId + "_RentalKen"), result.RentalKen, result.RentalKenSelectedIndex);
    }
    // 貸出レンタカー地区
    if ((result.RentalSubArea != null) && (result.RentalSubArea.length > 0)) {
        SetDropDownDataSearchWindow($get(elementId + "_RentalSubArea"), result.RentalSubArea, result.RentalSubAreaSelectedIndex);
    }
    // 貸出レンタカー店舗
    if ((result.RentalOffice != null) && (result.RentalOffice.length > 0)) {
        SetDropDownDataSearchWindow($get(elementId + "_RentalOffice"), result.RentalOffice, result.RentalOfficeSelectedIndex);

        if ((result.RentalSubArea == null) || (result.RentalSubArea.length == 0)) {
            // 貸出レンタカー地区に変更がかかったため、返却レンタカー地区・店舗も同様に変更
            var rentalSubAreaDropDown = $get(elementId + "_RentalSubArea");
            var returnSubAreaDropDown = $get(elementId + "_ReturnSubArea");
            var returnOfficeDropDown = $get(elementId + "_ReturnOffice");
            var selectedValue = rentalSubAreaDropDown.options[rentalSubAreaDropDown.selectedIndex].value;

            var isFound = false;
            if ((returnSubAreaDropDown != null) && (returnOfficeDropDown != null)) {
                for (var i = 0; i < returnSubAreaDropDown.options.length; i++) {
                    if (returnSubAreaDropDown.options[i].value == selectedValue) {
                        // 返却レンタカー地区・店舗を再取得
                        returnSubAreaDropDown.selectedIndex = i;
                        DropDownListReturnSubAreaOnChange(returnSubAreaDropDown, callSearchId);
                        isFound = true;
                        break;
                    }
                }
                if (!isFound) {
                    returnSubAreaDropDown.selectedIndex = 0;
                    returnOfficeDropDown.selectedIndex = 0;
                }
            }
        }
    }
    // 返却レンタカー地域
    if ((result.ReturnKen != null) && (result.ReturnKen.length > 0)) {
        SetDropDownDataSearchWindow($get(elementId + "_ReturnKen"), result.ReturnKen, result.ReturnKenSelectedIndex);
    }
    // 返却レンタカー地区
    if ((result.ReturnSubArea != null) && (result.ReturnSubArea.length > 0)) {
        SetDropDownDataSearchWindow($get(elementId + "_ReturnSubArea"), result.ReturnSubArea, result.ReturnSubAreaSelectedIndex);
    }
    // 返却レンタカー店舗
    if ((result.ReturnOffice != null) && (result.ReturnOffice.length > 0)) {
        SetDropDownDataSearchWindow($get(elementId + "_ReturnOffice"), result.ReturnOffice, result.ReturnOfficeSelectedIndex);
    }

    // 表示切替
    var airPanel = $get(elementId + "_AirPanel");
    var rentalPanel = $get(elementId + "_RentalPanel");
    if (userContext.id.indexOf("TourPattern0") >= 0) {
        // 航空＋ホテル
        airPanel.style.display = 'block';
        rentalPanel.style.display = 'none';

        if (callSearchId == "PFSPS010") {
            var reserveDatePanel1 = $get(elementId + "_ReserveDatePanel1");
            if (reserveDatePanel1 != null)
                reserveDatePanel1.style.display = 'block';
            var reserveDatePanel2 = $get(elementId + "_ReserveDatePanel2");
            if (reserveDatePanel2 != null)
                reserveDatePanel2.style.display = 'none';
            var reserveDatePanel3 = $get(elementId + "_ReserveDatePanel3");
            if (reserveDatePanel3 != null)
                reserveDatePanel3.style.display = 'none';
            var goDptTimeListItem = $get(elementId + "_GoDptTimeListItem");
            if (goDptTimeListItem != null)
                goDptTimeListItem.style.visibility = 'visible';
            var reArrTimeListItem = $get(elementId + "_ReArrTimeListItem");
            if (reArrTimeListItem != null)
                reArrTimeListItem.style.visibility = 'visible';
        }
    }
    else if (userContext.id.indexOf("TourPattern1") >= 0) {
        // 航空＋ホテル＋レンタカー
        airPanel.style.display = 'block';
        rentalPanel.style.display = 'block';

        if (callSearchId == "PFSPS010") {
            var reserveDatePanel1 = $get(elementId + "_ReserveDatePanel1");
            if (reserveDatePanel1 != null)
                reserveDatePanel1.style.display = 'none';
            var reserveDatePanel2 = $get(elementId + "_ReserveDatePanel2");
            if (reserveDatePanel2 != null)
                reserveDatePanel2.style.display = 'block';
            var reserveDatePanel3 = $get(elementId + "_ReserveDatePanel3");
            if (reserveDatePanel3 != null)
                reserveDatePanel3.style.display = 'none';
            var goDptTimeListItem = $get(elementId + "_GoDptTimeListItem");
            if (goDptTimeListItem != null)
                goDptTimeListItem.style.visibility = 'visible';
            var reArrTimeListItem = $get(elementId + "_ReArrTimeListItem");
            if (reArrTimeListItem != null)
                reArrTimeListItem.style.visibility = 'visible';
        }
        if (callSearchId == "PFSPS012") {
            var rentalKenPanel = $get(elementId + "_RentalKenPanel");
            if (rentalKenPanel != null)
                rentalKenPanel.style.display = 'none';
            var rentalSubAreaPanel = $get(elementId + "_RentalSubAreaPanel");
            if (rentalSubAreaPanel != null)
                rentalSubAreaPanel.style.display = 'none';
            var rentalOfficePanel = $get(elementId + "_RentalOfficePanel");
            if (rentalOfficePanel != null)
                rentalOfficePanel.style.display = 'none';
        }
    }
    else {
        // レンタカー＋ホテル
        airPanel.style.display = 'none';
        rentalPanel.style.display = 'block';

        if (callSearchId == "PFSPS010") {
            var reserveDatePanel1 = $get(elementId + "_ReserveDatePanel1");
            if (reserveDatePanel1 != null)
                reserveDatePanel1.style.display = 'none';
            var reserveDatePanel2 = $get(elementId + "_ReserveDatePanel2");
            if (reserveDatePanel2 != null)
                reserveDatePanel2.style.display = 'none';
            var reserveDatePanel3 = $get(elementId + "_ReserveDatePanel3");
            if (reserveDatePanel3 != null)
                reserveDatePanel3.style.display = 'block';
            var goDptTimeListItem = $get(elementId + "_GoDptTimeListItem");
            if (goDptTimeListItem != null)
                goDptTimeListItem.style.visibility = 'hidden';
            var reArrTimeListItem = $get(elementId + "_ReArrTimeListItem");
            if (reArrTimeListItem != null)
                reArrTimeListItem.style.visibility = 'hidden';
        }
        if (callSearchId == "PFSPS012") {
            var rentalKenPanel = $get(elementId + "_RentalKenPanel");
            if (rentalKenPanel != null)
                rentalKenPanel.style.display = 'block';
            var rentalSubAreaPanel = $get(elementId + "_RentalSubAreaPanel");
            if (rentalSubAreaPanel != null)
                rentalSubAreaPanel.style.display = 'block';
            var rentalOfficePanel = $get(elementId + "_RentalOfficePanel");
            if (rentalOfficePanel != null)
                rentalOfficePanel.style.display = 'block';
        }
    }
}

// 予約区分ラジオボタン選択失敗コールバック
function ReserveKbnRadioButtonOnFailed(error, userContext, methodName) {
    redirectErrorPage();
}

// 検索条件ドロップダウン取得成功コールバック
function GetSearchDropDownDataOnSuccess(result, userContext, methodName) {
    var elementId = userContext.id.slice(0, userContext.id.lastIndexOf("_"));
    // 2010/11/18 STEP3 ADD miura START
    // 往路出発空港
    if ((result.DepAir != null) && (result.DepAir.length > 0)) {
        SetDropDownDataSearchWindow($get(elementId + "_GoDepCd"), result.DepAir, result.DepAirSelectedIndex);
    }
    // 2010/11/18 STEP3 ADD miura END 
    // 往路到着空港
    if ((result.ArrAir != null) && (result.ArrAir.length > 0)) {
        SetDropDownDataSearchWindow($get(elementId + "_GoArrCd"), result.ArrAir, result.ArrAirSelectedIndex);
    }
    // 復路出発空港
    if ((result.ReDepAir != null) && (result.ReDepAir.length > 0)) {
        SetDropDownDataSearchWindow($get(elementId + "_ReDepCd"), result.ReDepAir, result.ReDepAirSelectedIndex);
    }
    // 復路到着空港
    if ((result.ReArrAir != null) && (result.ReArrAir.length > 0)) {
        SetDropDownDataSearchWindow($get(elementId + "_ReArrCd"), result.ReArrAir, result.ReArrAirSelectedIndex);
    }
    // 宿泊12エリアコード
    if (result.HotelArea != null) {
        $get(elementId + "_HotelArea").value = result.HotelArea;
    }
    // 宿泊地域
    if ((result.HotelKen != null) && (result.HotelKen.length > 0)) {
        SetDropDownDataSearchWindow($get(elementId + "_HotelKen"), result.HotelKen, result.HotelKenSelectedIndex);
        // 地図更新を呼び出す。
        if (window.SupportMap != undefined) {       // 2010/04/02 RRB-ITa2-F-0184 判定文追加
            SupportMap.write();
        }
    }
    // 宿泊地区
    if ((result.HotelSubArea != null) && (result.HotelSubArea.length > 0)) {
        SetDropDownDataSearchWindow($get(elementId + "_HotelSubArea"), result.HotelSubArea, result.HotelSubAreaSelectedIndex);
    }
    // 宿泊詳細地区
    if ((result.HotelMesh != null) && (result.HotelMesh.length > 0)) {
        SetDropDownDataSearchWindow($get(elementId + "_HotelMesh"), result.HotelMesh, result.HotelMeshSelectedIndex);

        if ((result.HotelSubArea == null) || (result.HotelSubArea.length == 0)) {
            // 宿泊地区に変更がかかったため、貸出レンタカー地区・店舗、返却レンタカー地区・店舗も同様に変更
            var hotelSubAreaDropDown = $get(elementId + "_HotelSubArea");
            var rentalSubAreaDropDown = $get(elementId + "_RentalSubArea");
            var rentalOfficeDropDown = $get(elementId + "_RentalOffice");
            var returnSubAreaDropDown = $get(elementId + "_ReturnSubArea");
            var returnOfficeDropDown = $get(elementId + "_ReturnOffice");
            var selectedValue = hotelSubAreaDropDown.options[hotelSubAreaDropDown.selectedIndex].value;

            var isFound = false;
            if ((rentalSubAreaDropDown != null) && (rentalOfficeDropDown != null)) {
                for (var i = 0; i < rentalSubAreaDropDown.options.length; i++) {
                    if (rentalSubAreaDropDown.options[i].value == selectedValue) {
                        // 貸出レンタカー地区・店舗を再取得
                        rentalSubAreaDropDown.selectedIndex = i;
                        DropDownListRentalSubAreaOnChange(rentalSubAreaDropDown, callSearchId);
                        isFound = true;
                        break;
                    }
                }
            }
            isFound = false;
            if ((returnSubAreaDropDown != null) && (returnOfficeDropDown != null)) {
                for (var i = 0; i < returnSubAreaDropDown.options.length; i++) {
                    if (returnSubAreaDropDown.options[i].value == selectedValue) {
                        // 返却レンタカー地区・店舗を再取得
                        returnSubAreaDropDown.selectedIndex = i;
                        DropDownListReturnSubAreaOnChange(returnSubAreaDropDown, callSearchId);
                        isFound = true;
                        break;
                    }
                }
            }
        }
    }
    // 貸出レンタカー地域
    if ((result.RentalKen != null) && (result.RentalKen.length > 0)) {
        SetDropDownDataSearchWindow($get(elementId + "_RentalKen"), result.RentalKen, result.RentalKenSelectedIndex);
    }
    // 貸出レンタカー地区
    if ((result.RentalSubArea != null) && (result.RentalSubArea.length > 0)) {
        SetDropDownDataSearchWindow($get(elementId + "_RentalSubArea"), result.RentalSubArea, result.RentalSubAreaSelectedIndex);
    }
    // 貸出レンタカー店舗
    if ((result.RentalOffice != null) && (result.RentalOffice.length > 0)) {
        SetDropDownDataSearchWindow($get(elementId + "_RentalOffice"), result.RentalOffice, result.RentalOfficeSelectedIndex);

        if ((result.RentalSubArea == null) || (result.RentalSubArea.length == 0)) {
            // 貸出レンタカー地区に変更がかかったため、返却レンタカー地区・店舗も同様に変更
            var rentalSubAreaDropDown = $get(elementId + "_RentalSubArea");
            var returnSubAreaDropDown = $get(elementId + "_ReturnSubArea");
            var returnOfficeDropDown = $get(elementId + "_ReturnOffice");
            var selectedValue = rentalSubAreaDropDown.options[rentalSubAreaDropDown.selectedIndex].value;

            var isFound = false;
            if ((returnSubAreaDropDown != null) && (returnOfficeDropDown != null)) {
                for (var i = 0; i < returnSubAreaDropDown.options.length; i++) {
                    if (returnSubAreaDropDown.options[i].value == selectedValue) {
                        // 返却レンタカー地区・店舗を再取得
                        returnSubAreaDropDown.selectedIndex = i;
                        DropDownListReturnSubAreaOnChange(returnSubAreaDropDown, callSearchId);
                        isFound = true;
                        break;
                    }
                }
                if (!isFound) {
                    returnSubAreaDropDown.selectedIndex = 0;
                    returnOfficeDropDown.selectedIndex = 0;
                }
            }
        }
    }
    // 返却レンタカー地域
    if ((result.ReturnKen != null) && (result.ReturnKen.length > 0)) {
        SetDropDownDataSearchWindow($get(elementId + "_ReturnKen"), result.ReturnKen, result.ReturnKenSelectedIndex);
    }
    // 返却レンタカー地区
    if ((result.ReturnSubArea != null) && (result.ReturnSubArea.length > 0)) {
        SetDropDownDataSearchWindow($get(elementId + "_ReturnSubArea"), result.ReturnSubArea, result.ReturnSubAreaSelectedIndex);
    }
    // 返却レンタカー店舗
    if ((result.ReturnOffice != null) && (result.ReturnOffice.length > 0)) {
        SetDropDownDataSearchWindow($get(elementId + "_ReturnOffice"), result.ReturnOffice, result.ReturnOfficeSelectedIndex);
    }
}

// 検索条件ドロップダウン取得失敗コールバック
function GetSearchDropDownDataOnFailed(error, userContext, methodName) {
    redirectErrorPage();
}

// ドロップダウン設定
function SetDropDownDataSearchWindow(dropdown, data, selectedIndex) {

    // ドロップダウンが画面に存在しない場合は何もしない
    if (dropdown == null) return;
    
    // ドロップダウンをクリアしながら、新しいデータをセットする	
    var optionLength = dropdown.options.length;
    var dataLength = data.length;
    for (var i = 0; i < optionLength; i++) {
        if (i < dataLength) {
            dropdown.options[i].text = data[i].Text;
            if (data[i].Value != null)
                dropdown.options[i].value = data[i].Value;
            else
                dropdown.options[i].value = "";
        } else {
            dropdown.remove(dataLength);
        }
    }

    if (optionLength < dataLength) {
        for (var i = optionLength; i < dataLength; i++) {
            var opt = document.createElement("option");
            opt.text = data[i].Text;
            if (data[i].Value != null)
                opt.value = data[i].Value;
            else
                opt.value = "";
            var dummy;
            dropdown.add(opt, dummy);
        }
    }

    dropdown.selectedIndex = selectedIndex;
}

// 人数変更 RPK-RC-J-0106対応
function ChangeCount(searchId, adultDropdown, childDropdown, roomCountDropDown, roomUserLabel) {

    // 大人人数
    var countAdult = 0;
    countAdult = $get(adultDropdown);
    // 子供人数
    var childElementId = childDropdown.slice(0, childDropdown.lastIndexOf("_"));
    var countChildA = 0;
    var countChildB = 0;
    var countChildC = 0;
    var countChildD = 0;
    var countBaby = 0;
    countChildA = $get(childElementId + "_CountChildA");
    countChildB = $get(childElementId + "_CountChildB");
    countChildC = $get(childElementId + "_CountChildC");
    countChildD = $get(childElementId + "_CountChildD");
    countBaby = $get(childElementId + "_CountBaby");

    switch (searchId) {
        case "PFSPS010":
            // Webサービスを呼び出す。
            JTB.RTP.Front.Web.UI.Search.PFSPS010WebService.UserCountChanged(
                countAdult.options[countAdult.selectedIndex].value,
                countChildA.options[countChildA.selectedIndex].value,
                countChildB.options[countChildB.selectedIndex].value,
                countChildC.options[countChildC.selectedIndex].value,
                countChildD.options[countChildD.selectedIndex].value,
                countBaby.options[countBaby.selectedIndex].value,
                GetUserCountDataOnSuccess,
                GetUserCountDataOnFailed,
                roomCountDropDown);
            break;
        case "PFSPS012":
            // Webサービスを呼び出す。
            JTB.RTP.Front.Web.UI.Search.UserControl.PFSPS012WebService.UserCountChanged(
                countAdult.options[countAdult.selectedIndex].value,
                countChildA.options[countChildA.selectedIndex].value,
                countChildB.options[countChildB.selectedIndex].value,
                countChildC.options[countChildC.selectedIndex].value,
                countChildD.options[countChildD.selectedIndex].value,
                countBaby.options[countBaby.selectedIndex].value,
                GetUserCountDataOnSuccess,
                GetUserCountDataOnFailed,
                roomCountDropDown);
            break;
        default:
            break;
    }
}

// 人数変更データ取得成功コールバック RPK-RC-J-0106対応
function GetUserCountDataOnSuccess(result, userContext, methodName) {
    var elementId = userContext.slice(0, userContext.lastIndexOf("_"));
    // 室数ドロップダウン
    if ((result.RoomCountList != null) && (result.RoomCountList.length > 0)) {
        SetDropDownDataSearchWindow($get(elementId + "_RoomCount"), result.RoomCountList, 0);
    }
    // ブラウザ判定 部屋人数ラベル
    if ($get(elementId + "_RoomCapacityLabel").textContent) {
        $get(elementId + "_RoomCapacityLabel").textContent = result.RoomUserLabel;
    } else {
        $get(elementId + "_RoomCapacityLabel").innerText = result.RoomUserLabel;
    }
    var RoomCapacity = $get(elementId + "_RoomCapacity");
    RoomCapacity.selectedIndex = result.RoomUser - 1;

}

// 人数変更データ取得失敗コールバック RPK-RC-J-0106対応
function GetUserCountDataOnFailed(error, userContext, methodName) { }

// 部屋数変更 RPK-RC-J-0106対応
function ChangeRoomCount(searchId, adultDropdown, childDropdown, roomCountDropDown) {

    // 大人人数
    var countAdult = $get(adultDropdown);
    // 子供人数
    var childElementId = childDropdown.slice(0, childDropdown.lastIndexOf("_"));
    var countChildA = $get(childElementId + "_CountChildA");
    var countChildB = $get(childElementId + "_CountChildB");
    var countChildC = $get(childElementId + "_CountChildC");
    var countChildD = $get(childElementId + "_CountChildD");
    var countBaby = $get(childElementId + "_CountBaby");

    var countRoom = $get(childElementId + "_RoomCount");

    switch (searchId) {
        case "PFSPS010":
            // Webサービスを呼び出す。
            JTB.RTP.Front.Web.UI.Search.PFSPS010WebService.RoomCountChanged(
                countAdult.options[countAdult.selectedIndex].value,
                countChildA.options[countChildA.selectedIndex].value,
                countChildB.options[countChildB.selectedIndex].value,
                countChildC.options[countChildC.selectedIndex].value,
                countChildD.options[countChildD.selectedIndex].value,
                countBaby.options[countBaby.selectedIndex].value,
                countRoom.options[countRoom.selectedIndex].value,
                GetUserCountDataOnSuccess,
                GetUserCountDataOnFailed,
                roomCountDropDown);
            break;
        case "PFSPS012":
            // Webサービスを呼び出す。
            JTB.RTP.Front.Web.UI.Search.UserControl.PFSPS012WebService.RoomCountChanged(
                countAdult.options[countAdult.selectedIndex].value,
                countChildA.options[countChildA.selectedIndex].value,
                countChildB.options[countChildB.selectedIndex].value,
                countChildC.options[countChildC.selectedIndex].value,
                countChildD.options[countChildD.selectedIndex].value,
                countBaby.options[countBaby.selectedIndex].value,
                countRoom.options[countRoom.selectedIndex].value,
                GetUserCountDataOnSuccess,
                GetUserCountDataOnFailed,
                roomCountDropDown);
            break;
        default:
            break;
    }        
}

// 部屋数変更データ取得成功コールバック RPK-RC-J-0106対応
function GetRoomCountDataOnSuccess(result, userContext, methodName) {
    var elementId = userContext.slice(0, userContext.lastIndexOf("_"));
    // ブラウザ判定 部屋人数ラベル
    if ($get(elementId + "_RoomCapacityLabel").textContent) {
        $get(elementId + "_RoomCapacityLabel").textContent = result.RoomUserLabel;
    } else {
        $get(elementId + "_RoomCapacityLabel").innerText = result.RoomUserLabel;
    }
    var RoomCapacity = $get(elementId + "_RoomCapacity");
    RoomCapacity.selectedIndex = result.RoomUser - 1;

}

// 部屋数変更データ取得失敗コールバック RPK-RC-J-0106対応
function GetRoomCountDataOnFailed(error, userContext, methodName) { }

