﻿function GetRegion(regionId) { if (isNaN(regionId)) { return null } for (var index = 0; index < regions.length; index++) { if (regions[index].Id == regionId) { return regions[index] } } return null } function GetHotel(hotelId) { if (isNaN(hotelId)) { return null } for (var index = 0; index < hotels.length; index++) { if (hotels[index].Id == hotelId) { return hotels[index] } } return null } function FilterRegionHotels(RegionControlId, HotelControlId, HotelSelectedValueControlId, MaintainSelectedHotel) { regionControl = document.getElementById(RegionControlId); hotelControl = document.getElementById(HotelControlId); hotelSelectedValueControl = document.getElementById(HotelSelectedValueControlId); var hotelListSelectedValue; if (MaintainSelectedHotel) { hotelListSelectedValue = hotelSelectedValueControl.value } else { hotelListSelectedValue = "" } var selectedRegionId = parseInt(regionControl.options[regionControl.selectedIndex].value); var region = GetRegion(selectedRegionId); ClearDropDownOptions(hotelControl); if (region == null) { for (index = 0; index < hotels.length; index++) { if (hotels[index].Title == "") { continue } AddDropDownOption(hotelControl, hotels[index].Title, hotels[index].Id) } return } if (region.AssociatedHotels == null || region.AssociatedHotels.length == 0) { hotelControl.selectedIndex = 0; return } for (index = 0; index < region.AssociatedHotels.length; index++) { if (region.AssociatedHotels[index].Title == "") { continue } AddDropDownOption(hotelControl, region.AssociatedHotels[index].Title, region.AssociatedHotels[index].Id) } for (index = 0; index < hotelControl.options.length; index++) { hotelControl.options[index].selected = hotelControl.options[index].value == hotelListSelectedValue } } function SelectHotelRegion(RegionControlId, HotelControlId, HotelSelectedValueControlId) { regionControl = document.getElementById(RegionControlId); hotelControl = document.getElementById(HotelControlId); hotelSelectedValueControl = document.getElementById(HotelSelectedValueControlId); var selectedHotelId = parseInt(hotelControl.options[hotelControl.selectedIndex].value); var hotel = GetHotel(selectedHotelId); if (hotel == null) { return } hotelSelectedValueControl.value = selectedHotelId.toString(); for (var index = 0; index < regionControl.options.length; index++) { regionControl.options[index].selected = regionControl.options[index].value == hotel.RegionId.toString() } FilterRegionHotels(RegionControlId, HotelControlId, HotelSelectedValueControlId, true) };
