var responseEncoding="utf-8";SetupDateTime.LocalDateFormat="%d.%m.%Y";var interrelationshipsOfDepartureCitiesAndDestinationCountries="DestinationCountriesDependsOnDepartureCities";var hideToursWithUncountedFlights="true";var openShowcasePageInNewWindow="true";var showcasePageWidth=950;var showcasePageHeight=1050;var showcasePageShouldBeResized="false";var showcasePageMaximized="true";var openResultsPageInNewWindow="true";var resultsPageWidth=950;var resultsPageHeight=1050;
var resultsPageShouldBeResized="true";var resultsPageMaximized="true";var openViewPageInNewWindow="true";var viewPageWidth=950;var viewPageHeight=1050;var viewPageShouldBeResized="true";var viewPageMaximized="true";var openHotelPageInNewWindow="true";var hotelPageWidth=950;var hotelPageHeight=1050;var hotelPageShouldBeResized="true";var hotelPageMaximized="true";var showExternalHotelReferences="false";var openSatellitePicturePageInNewWindow="true";var satellitePicturePageWidth=950;
var satellitePicturePageHeight=810;var satellitePicturePageShouldBeResized="true";var satellitePicturePageMaximized="true";var openCountriesInNewWindow="false";var countriesListPageWidth=950;var countriesListPageHeight=1050;var countriesListPageShouldBeResized="true";var countriesListPageMaximized="true";var countriesListColumnsCount=2;var openCitiesInNewWindow="false";var citiesListPageWidth=950;var citiesListPageHeight=1050;var citiesListPageShouldBeResized="true";var citiesListPageMaximized="true";
var citiesListColumnsCount=2;var openHotelsInNewWindow="false";var hotelsListPageWidth=950;var hotelsListPageHeight=1050;var hotelsListPageShouldBeResized="true";var hotelsListPageMaximized="true";var hotelsListColumnsCount=2;var DefaultCountryCode="+7";var DefaultCityCode="843";var DefaultPhoneNumber="250-2520";var toValidatePhoneNumber=false;var DefaultActualizingPrice=true;var DefaultSelectRowColor="rgb(255, 252, 185)";var remoteUri="http://remote.bronni.ru";var countriesListPage="../Html/HotelCatalog-Countries.htm";
var citiesListPage="../Html/HotelCatalog-Cities.htm";var hotelsListPage="../Html/HotelCatalog-Hotels.htm";var searchPage="../Html/SearchForm.htm";var resultPage="../Html/Results2.htm";var resultPageExc="../Html/Results_exc.htm";var viewPage="../Html/PriceDetails.htm";var actualPage="http://remote.bronni.ru/WorkingVersion/Html/Actualize.htm";var hotelPage="../Html/HotelDetails.htm";var satellitePicturePage="../Html/SatellitePicture.htm";var hotelIconsPath="../Images/HotelMarkerIcons";
var HotelPhotoMaxWidth=640;var HotelPhotoMaxHeight=480;var DefaultDepartureCity=525;var DefaultDestinationCountry=3;var BeginDate=(new Date).addDays(10);var EndDate=BeginDate;var AdultCount=2;var ChildCount=-1;var BeginCost=-1;var EndCost=-1;var DefaultCurrency=4;var BeginNights=7;var EndNights=8;var DateRange=32;var PriceCountPerPage=30;var PriceRoundLevel=0;var PriceCorrection=1;var googleKey="ABQIAAAASJvNeXTVoPYfVnhxaJ8XJxQMRg4c9cOQkpi6ElYUm9oyvX7b_xSvp0zJYo4ZFYSZb_KYCSpRdeacPw";
var DefaultDepartureCities=[];var DefaultDestinationCountries=[];var Currencies=[1,4,5];var HideCurrenciesFilter="false";var IncludingFiltersOperators=[];var OperatorCountry=[];var countriesEmail=[{managerEmail:"",countryList:[-1,-1,-1]},{managerEmail:"",countryList:[-1,-1,-1]},{managerEmail:"",countryList:[-1,-1,-1]}];var defaultManagerEmail="pilgrim.ta@gmail.com";
var hotelIcons=[{hotelStarId:"1",iconFileName:"s1.png"},{hotelStarId:"2",iconFileName:"s2.png"},{hotelStarId:"3",iconFileName:"s3.png"},{hotelStarId:"4",iconFileName:"s4.png"},{hotelStarId:"5",iconFileName:"s5.png"},{hotelStarId:"7",iconFileName:"sHV.png"}];var defaultHotelIcon="s.png";var searchModuleKey="";
	
	
function IsFilterContains(filter, value)
{
	if (filter.length == 0) {return true;}
	for (i=0; i<filter.length; i++){ if (filter[i] == value) {return true};}
	return false;
}

function RenderItemsComboBox(array, control, filter)
{
	control.clearItems();
	if (array == null){return;}
	for (var i=0;i<array.length; i++)
	{
		if (filter && IsFilterContains(filter, array[i].id))
		{
		    var value;
		    if (array[i].russianName != null)
		        value = array[i].russianName;
		    if (array[i].key != null)   
		        value = array[i].key;
			control.add(new ComboBoxItem(value, array[i].id));
		}
	}
}

function RenderItemsListBox(array, control)
{
	if (array == null){return;}
	
	control.clearItems();
	for (var i=0;i<array.length; i++)
	{
		control.add(new ListBoxItem(array[i].russianName, array[i].id));		
	}
	control.dataBind();
}

function ClearList(control)
{
}

function LoadDestinationCities_callback()
{
	RenderItemsListBox(citiesDS, DestinationCitiesListBox);
	selectedDestinationCitiesIds = [];
	ClearHotels();
	RenderItemsListBox(hotelsDS, HotelsListBox);
}

function LoadDestinationCitiesWoHotels_callback()
{
	RenderItemsListBox(citiesDS, DestinationCitiesListBox);
	selectedDestinationCitiesIds = [];
}


function LoadDestinationCountries_callback()
{
	RenderItemsComboBox(destinationCountriesDS, DestinationCountryComboBox, DefaultDestinationCountries);
	DestinationCountryComboBox.setValue(selectedDestinationCountryId, true);
}

function OnSelectDepartureCity(value)
{
	selectedDepartureCityId = value;
	switch(interrelationshipsOfDepartureCitiesAndDestinationCountries)
	{
		case "DestinationCountriesDependsOnDepartureCities":
			LoadDestinationCountriesByDepartureCity(selectedDepartureCityId, selectedTourTypeId, LoadDestinationCountries_callback);
			break;
		default:
	}
}


function OnSelectDestinationCountryWithoutHotels(value)
{
	selectedDestinationCountryId = value;
	DestinationCitiesListBox.setValues([], false);
	selectedDestinationCitiesIds = [];
	switch(interrelationshipsOfDepartureCitiesAndDestinationCountries)
	{
		case "DepartureCitiesDependsOnDestinationCountries":
			LoadDepartureCitiesByDestinationCountry(selectedDestinationCountryId, selectedTourTypeId, LoadDepartureCities_callback);
			LoadDestinationCities(selectedDestinationCountryId, LoadDestinationCitiesWoHotels_callback);
			break;    
		default:
			LoadDestinationCities(selectedDestinationCountryId, LoadDestinationCitiesWoHotels_callback);
	}
}

function OnSelectDestinationCountry(value)
{
	selectedDestinationCountryId = value;
	DestinationCitiesListBox.setValues([], false);
	HotelsListBox.setValues([], false);
	selectedDestinationCitiesIds = [];
	selectedHotelIds = [];
	switch(interrelationshipsOfDepartureCitiesAndDestinationCountries)
	{
		case "DepartureCitiesDependsOnDestinationCountries":
			LoadDepartureCitiesByDestinationCountry(selectedDestinationCountryId, selectedTourTypeId, LoadDepartureCities_callback);
			LoadDestinationCities(selectedDestinationCountryId, LoadDestinationCities_callback);
			break;    
		default:
			LoadDestinationCities(selectedDestinationCountryId, LoadDestinationCities_callback);
	}
}

function OnSelectTourType(value)
{
    selectedTourTypeId = value;
    DestinationCitiesListBox.setValues([], false);
	HotelsListBox.setValues([], false);
	selectedDestinationCitiesIds = [];
	selectedHotelIds = [];
    
    LoadDepartureCities(selectedTourTypeId, LoadDepartureCities_callback);

}

function LoadHotels_callback()
{
	RenderItemsListBox(hotelsDS, HotelsListBox);
	ClearRedundantHotels();
}

function OnSelectDestinationCity(selectedArray)
{
	selectedDestinationCitiesIds = selectedArray;
	if (selectedDestinationCitiesIds.length > 0)
	{
		LoadHotels(selectedDestinationCountryId, selectedDestinationCitiesIds, selectedStarIds, LoadHotels_callback);
	}
	else
	{
		hotelsDS = new Array();
		LoadHotels_callback();
	}
}

function OnSelectDestinationCityWithoutHotels(selectedArray)
{
	selectedDestinationCitiesIds = selectedArray;
}


function OnSelectStar(selectedArray)
{
	selectedStarIds = selectedArray;
	LoadHotels(selectedDestinationCountryId, selectedDestinationCitiesIds, selectedStarIds, LoadHotels_callback);
}

function OnSelectStarWoHotels(selectedArray) {
    selectedStarIds = selectedArray;
}

function ClearRedundantHotels()
{
	var selectedHotels = HotelsListBox.selectedItems;
	var hotels = GetHotelList();
	var trustedIds = new Array();
	for(var i = 0; i < selectedHotels.length; i++)
	{
		if(contains(hotels, selectedHotels[i]))
			trustedIds.push(selectedHotels[i]);
	}
	HotelsListBox.selectedItems = trustedIds;
	HotelsListBox.valcon.value = trustedIds.join(',');
}


function GetHotelList()
{
	var hotels = new Array();
	var hotelsList = HotelsListBox.options;
	for(var i = 0; i < hotelsList.length; i++)
	{
		hotels.push(hotelsList[i].value);
	}
	return hotels;
}
