/*  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["getCountries"] = function(callback)
    {
		var ajax = new AJAX(url);
		return ajax.call("getCountries", [], [],  callback);
    }

    this["getCountriesWithHotels"] = function(callback)
    {
		var ajax = new AJAX(url);
		return ajax.call("getPrincipalCountriesWithPrincipalHotels", [], [],  callback);
    }
    
    this["getCities"] = function(countryId, callback)
    {
		var ajax = new AJAX(url);
		return ajax.call("getCities", [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["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 = ["getCountries", "getCities", "getHotels", "getHotelsEx", "getStars", "getDepartureCities", "getMeals", "getOperators", "getOperatorsByDepartureCityAndDestination", "getTime", "getPrincipalCountriesWithPrincipalHotels", "getPrincipalCitiesWithPrincipalHotels"];

