/* 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["getAgenciesByPortal"] = function(cityId, portalId, metroStationId, callback)
	{
		var ajax = new AJAX(url);
		return ajax.call("getAgenciesByPortal", [cityId, portalId, metroStationId], ["cityId", "portalId", "metroStationId"], callback);
	}

	this["getCitiesWithHotels"] = function(countryId, callback)
	{
		var ajax = new AJAX(url);
		return ajax.call("getPrincipalCitiesWithPrincipalHotels", [countryId], ["countryId"], callback);
	}
	this["getCitiesByPortal"] = function(portalId, callback)
	{
	    var ajax = new AJAX(url);
		return ajax.call("getCitiesByPortal", [portalId], ["portalId"], callback);
	}
    this["getMetroStationsByCity"] = function(cityId, callback)
	{
	    var ajax = new AJAX(url);
		return ajax.call("getMetroStationsByCity", [cityId], ["cityId"], 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",
     "getMetroStationsByCity", "getCitiesByPortal", "getAgenciesByPortal"];

