addNamespace("OrsaGISWeb");
OrsaGISWeb.Utility_class = Class.create();
Object.extend(OrsaGISWeb.Utility_class.prototype, Object.extend(new AjaxPro.AjaxClass(), {
	GetProvinces: function() {
		return this.invoke("GetProvinces", {}, this.GetProvinces.getArguments().slice(0));
	},
	GetCities: function(provinceID) {
		return this.invoke("GetCities", {"provinceID":provinceID}, this.GetCities.getArguments().slice(1));
	},
	GetDistricts: function(cityID) {
		return this.invoke("GetDistricts", {"cityID":cityID}, this.GetDistricts.getArguments().slice(1));
	},
	GetApplication: function() {
		return this.invoke("GetApplication", {}, this.GetApplication.getArguments().slice(0));
	},
	GetCategories: function(tabID) {
		return this.invoke("GetCategories", {"tabID":tabID}, this.GetCategories.getArguments().slice(1));
	},
	GetSubCategories: function(catID) {
		return this.invoke("GetSubCategories", {"catID":catID}, this.GetSubCategories.getArguments().slice(1));
	},
	GetSubDetailCategories: function(subCatID) {
		return this.invoke("GetSubDetailCategories", {"subCatID":subCatID}, this.GetSubDetailCategories.getArguments().slice(1));
	},
	GetUser: function() {
		return this.invoke("GetUser", {}, this.GetUser.getArguments().slice(0));
	},
	GetStaticObjects: function() {
		return this.invoke("GetStaticObjects", {}, this.GetStaticObjects.getArguments().slice(0));
	},
	GetPois: function(searchID, text, withUser, selectedRegions, mapExtents, subCatID, subDetailCatID, startIndex, numOfRecords) {
		return this.invoke("GetPois", {"searchID":searchID, "text":text, "withUser":withUser, "selectedRegions":selectedRegions, "mapExtents":mapExtents, "subCatID":subCatID, "subDetailCatID":subDetailCatID, "startIndex":startIndex, "numOfRecords":numOfRecords}, this.GetPois.getArguments().slice(9));
	},
	GetPoiByID: function(searchID, poiID, type) {
		return this.invoke("GetPoiByID", {"searchID":searchID, "poiID":poiID, "type":type}, this.GetPoiByID.getArguments().slice(3));
	},
	GetUserPois: function(searchID, sr, keyword, startPage) {
		return this.invoke("GetUserPois", {"searchID":searchID, "sr":sr, "keyword":keyword, "startPage":startPage}, this.GetUserPois.getArguments().slice(4));
	},
	GetAddressBook: function(searchID, startPage) {
		return this.invoke("GetAddressBook", {"searchID":searchID, "startPage":startPage}, this.GetAddressBook.getArguments().slice(2));
	},
	AddToAddressBook: function(title, description, longitude, latitude, provinceID, cityID, districtID) {
		return this.invoke("AddToAddressBook", {"title":title, "description":description, "longitude":longitude, "latitude":latitude, "provinceID":provinceID, "cityID":cityID, "districtID":districtID}, this.AddToAddressBook.getArguments().slice(7));
	},
	AddPoi: function(catID, subCatID, subDetailCatID, title, description, lon, lat, provinceID, cityID, districtID, isPublic) {
		return this.invoke("AddPoi", {"catID":catID, "subCatID":subCatID, "subDetailCatID":subDetailCatID, "title":title, "description":description, "lon":lon, "lat":lat, "provinceID":provinceID, "cityID":cityID, "districtID":districtID, "isPublic":isPublic}, this.AddPoi.getArguments().slice(11));
	},
	DeletePoi: function(poiID, type) {
		return this.invoke("DeletePoi", {"poiID":poiID, "type":type}, this.DeletePoi.getArguments().slice(2));
	},
	initialize: function() {
		this.url = '/ajaxpro/OrsaGISWeb.Utility,OrsaGISWeb.ashx';
	}
}));
OrsaGISWeb.Utility = new OrsaGISWeb.Utility_class();

