/* Copyright BRONNI.RU , 2002-2008 | www.bronni.ru
 * -----------------------------------------------------------
 * Dictionaries Proxy library, version 1.0
 * Прокси-класс для получения данных по справочникам
 */
function Dictionaries(url)
{
	this["getCurrencies"] = function(callback)
	{
		var ajax = new AJAX(url);
		return ajax.call("getCurrencies", [], [], callback);
	}

	this["getCurrenciesByIds"] = function(currenciesIds, callback)
	{
		var ajax = new AJAX(url);
		return ajax.call("getCurrenciesByIds", [currenciesIds], ["currenciesIds"], callback);
	}

	this["getDestinationCountriesByDepartureCity"] = function(departureCityId, callback)
	{
		var ajax = new AJAX(url);
		return ajax.call("getDestinationCountriesByDepartureCity", [departureCityId], ["departureCityId"], callback);
	}

	this["getDestinationCountries"] = function(callback)
	{
		var ajax = new AJAX(url);
		return ajax.call("getDestinationCountries", [], [], callback);
	}

	this["getCountriesWithHotels"] = function(callback)
	{
		var ajax = new AJAX(url);
		return ajax.call("getPrincipalCountriesWithPrincipalHotels", [], [], callback);
	}

	this["getDestinationCities"] = function(countryId, callback)
	{
		var ajax = new AJAX(url);
		return ajax.call("getDestinationCities", [countryId], ["countryId"], callback);
	}

	this["getCitiesWithHotels"] = function(countryId, callback)
	{
		var ajax = new AJAX(url);
		return ajax.call("getPrincipalCitiesWithPrincipalHotels", [countryId], ["countryId"], callback);
	}

	this["getHotels"] = function(countryId, cityIds, starIds, callback)
	{
		var ajax = new AJAX(url);
		return ajax.call("getHotels", [countryId, cityIds, starIds], ["countryId", "cityIds", "starIds"], callback);
	}

	this["getHotelsEx"] = function(countryId, cityIds, starIds, callback)
	{
		var ajax = new AJAX(url);
		return ajax.call("getHotelsEx", [countryId, cityIds, starIds], ["countryId", "cityIds", "starIds"], callback);
	}

	this["getPrincipalHotels"] = function(cityId, callback)
	{
		var ajax = new AJAX(url);
		return ajax.call("getPrincipalHotels", [cityId], ["cityId"], callback);
	}

	this["getStars"] = function(callback)
	{
		var ajax = new AJAX(url);
		return ajax.call("getStars", [], [], callback);
	}

	this["getDepartureCitiesByDestinationCountry"] = function(destinationCountryId, callback)
	{
		var ajax = new AJAX(url);
		return ajax.call("getDepartureCitiesByDestinationCountry", [destinationCountryId], ["destinationCountryId"], callback);
	}

	this["getDepartureCities"] = function(callback)
	{
		var ajax = new AJAX(url);
		return ajax.call("getDepartureCities", [], [], callback);
	}

	this["getMeals"] = function(callback)
	{
		var ajax = new AJAX(url);
		return ajax.call("getMeals", [], [], callback);
	}

	this["getOperators"] = function(callback)
	{
		var ajax = new AJAX(url);
		return ajax.call("getOperators", [], [], callback);
	}

	this["getOperatorsByDepartureCityAndDestination"] = function(departureCityId, includeNullDepartureCities, countryId, callback)
	{
		var ajax = new AJAX(url);
		return ajax.call("getOperatorsByDepartureCityAndDestination", [departureCityId, includeNullDepartureCities, countryId], ["departureCityId", "includeNullDepartureCities", "countryId"], callback);
	}

	this["getTime"] = function(callback)
	{
		var ajax = new AJAX(url);
		return ajax.call("getTime", [], [], callback);
	}

	var url = typeof(url) === 'string' ? url : 'http://remote.module.bronni.ru/Dictionaries.ashx';
}

Dictionaries.rpcMethods = ["getCurrencies", "getCurrenciesByIds", "getDestinationCountriesByDepartureCity", "getDestinationCountries", "getDestinationCities", "getHotels", "getHotelsEx", "getStars", "getDepartureCities", "getMeals", "getOperators", "getOperatorsByDepartureCityAndDestination", "getTime", "getPrincipalCountriesWithPrincipalHotels", "getPrincipalCitiesWithPrincipalHotels"];
