addNamespace("AjaxMap");
AjaxMap.MapRequests_class = Class.create();
AjaxMap.MapRequests_class.prototype = (new AjaxPro.Request()).extend({
	Resize: function(width, height, mapState, callback) {
		return this.invoke("Resize", {"width":width, "height":height, "mapState":mapState}, callback);
	},
	zoomExtent: function(minX, minY, maxX, maxY, mapState, callback) {
		return this.invoke("zoomExtent", {"minX":minX, "minY":minY, "maxX":maxX, "maxY":maxY, "mapState":mapState}, callback);
	},
	setupMap: function(action, data, minx, miny, maxx, maxy, width, height, language, callback) {
		return this.invoke("setupMap", {"action":action, "data":data, "minx":minx, "miny":miny, "maxx":maxx, "maxy":maxy, "width":width, "height":height, "language":language}, callback);
	},
	DoGetPOIList: function(teste, callback) {
		return this.invoke("DoGetPOIList", {"teste":teste}, callback);
	},
	zoomScale: function(scale, mapState, callback) {
		return this.invoke("zoomScale", {"scale":scale, "mapState":mapState}, callback);
	},
	zoomReference: function(imgX, imgY, mapState, callback) {
		return this.invoke("zoomReference", {"imgX":imgX, "imgY":imgY, "mapState":mapState}, callback);
	},
	addFeature: function(layer, feature, clear, extent, mapState, callback) {
		return this.invoke("addFeature", {"layer":layer, "feature":feature, "clear":clear, "extent":extent, "mapState":mapState}, callback);
	},
	queryLayerByPoint: function(x, y, layerName, multiple, mapState, callback) {
		return this.invoke("queryLayerByPoint", {"x":x, "y":y, "layerName":layerName, "multiple":multiple, "mapState":mapState}, callback);
	},
	queryLayersByPoint: function(x, y, layersList, multiple, mapState, callback) {
		return this.invoke("queryLayersByPoint", {"x":x, "y":y, "layersList":layersList, "multiple":multiple, "mapState":mapState}, callback);
	},
	queryLayersByPolygon: function(polyCoords, layersList, mapState, callback) {
		return this.invoke("queryLayersByPolygon", {"polyCoords":polyCoords, "layersList":layersList, "mapState":mapState}, callback);
	},
	selectByAttribute: function(layerName, fieldName, expression, zoomFeatures, buffer, mapState, callback) {
		return this.invoke("selectByAttribute", {"layerName":layerName, "fieldName":fieldName, "expression":expression, "zoomFeatures":zoomFeatures, "buffer":buffer, "mapState":mapState}, callback);
	},
	DoSelectById: function(layerName, fieldName, expression, variableName, featureId, zoomFeatures, buffer, mapState, callback) {
		return this.invoke("DoSelectById", {"layerName":layerName, "fieldName":fieldName, "expression":expression, "variableName":variableName, "featureId":featureId, "zoomFeatures":zoomFeatures, "buffer":buffer, "mapState":mapState}, callback);
	},
	SetLayerVisibility: function(layerName, visible, mapState, callback) {
		return this.invoke("SetLayerVisibility", {"layerName":layerName, "visible":visible, "mapState":mapState}, callback);
	},
	SetLayersListVisible: function(layersList, mapState, callback) {
		return this.invoke("SetLayersListVisible", {"layersList":layersList, "mapState":mapState}, callback);
	},
	SetLayersListVisibility: function(layersList, visible, mapState, callback) {
		return this.invoke("SetLayersListVisibility", {"layersList":layersList, "visible":visible, "mapState":mapState}, callback);
	},
	SwitchLayersListVisibility: function(layersListOn, layersListOff, mapState, callback) {
		return this.invoke("SwitchLayersListVisibility", {"layersListOn":layersListOn, "layersListOff":layersListOff, "mapState":mapState}, callback);
	},
	clearFeatures: function(mapState, callback) {
		return this.invoke("clearFeatures", {"mapState":mapState}, callback);
	},
	DoHilightFeature: function(featureId, variableName, zoomFeatures, minx, miny, maxx, maxy, zoomBuffer, mapState, callback) {
		return this.invoke("DoHilightFeature", {"featureId":featureId, "variableName":variableName, "zoomFeatures":zoomFeatures, "minx":minx, "miny":miny, "maxx":maxx, "maxy":maxy, "zoomBuffer":zoomBuffer, "mapState":mapState}, callback);
	},
	DoSelectStreetLine: function(streetId, zoomFeatures, buffer, mapState, callback) {
		return this.invoke("DoSelectStreetLine", {"streetId":streetId, "zoomFeatures":zoomFeatures, "buffer":buffer, "mapState":mapState}, callback);
	},
	DoSelectStreetLines: function(listId, zoomFeatures, buffer, mapState, callback) {
		return this.invoke("DoSelectStreetLines", {"listId":listId, "zoomFeatures":zoomFeatures, "buffer":buffer, "mapState":mapState}, callback);
	},
	DoTransformCoordinates: function(x, y, coordSys, lang, callback) {
		return this.invoke("DoTransformCoordinates", {"x":x, "y":y, "coordSys":coordSys, "lang":lang}, callback);
	},
	DoTransformCoordinate: function(x, y, coordSys1, coordSys2, callback) {
		return this.invoke("DoTransformCoordinate", {"x":x, "y":y, "coordSys1":coordSys1, "coordSys2":coordSys2}, callback);
	},
	initialize: function() {
		this.url = "/ajaxpro/AjaxMap.MapRequests,App_Code.ashx";
	}
})
AjaxMap.MapRequests = new AjaxMap.MapRequests_class();

