function toggleDrawingDistance() {
	VISICOM_Distance_Util.toggleLayer();
	if (VISICOM_Distance_Util.isEnabled())
		document.getElementById("range_button").className = 'viewport_button_active';
	else
		document.getElementById("range_button").className = 'viewport_button';
}


function toggleDrawingRoute() {
	VISICOM_Route_Util._toggleRouteMarkers();
	if (VISICOM_Route_Util.isEnabled())
		document.getElementById("route_button").className = 'viewport_button_active';
	else
		document.getElementById("route_button").className = 'viewport_button';
}


function openPrintForm() {
	var mbr = mapEngine.getClientRect();
	var point = null;
	var pointFrom = null;
	var pointTo = null;
	
	/*
	if ((VISICOM_Route_Util.getStartMarker() != null) && (VISICOM_Route_Util.getStartMarker().isVisible()))
		pointFrom = VISICOM_Route_Util.getStartMarker().getPoint();
	if ((VISICOM_Route_Util.getFinishMarker() != null) && (VISICOM_Route_Util.getFinishMarker().isVisible()))
		pointTo = VISICOM_Route_Util.getFinishMarker().getPoint();
	*/
	
	if(searchMarker != null && searchMarker.isVisible()) {
		point = searchMarker.getPoint();
	}
	
	var url = 'http://maps.visicom.ua/util/print?min_x=' + mbr.getMinPoint().getX() + '&min_y=' + mbr.getMinPoint().getY() + '&max_x=' + mbr.getMaxPoint().getX() + '&max_y=' + mbr.getMaxPoint().getY();
	if(pointFrom != null) {
		url += '&xstart=' + pointFrom.getX() + '&ystart=' + pointFrom.getY() + '&xfinish=' + pointTo.getX() + '&yfinish=' + pointTo.getY();
	}
	if(point != null) {
		url += '&xmarker=' + point.getX() + '&ymarker=' + point.getY();
	}
	window.open(url);
}

function mapSwitchLayer(chk)
{
	if(!mapEngine) return;
	
	var layerName = null;
	if(chk.id == 'switch_camera')
		layerName = 'cams';
	
	if(!layerName) return;
	
	mapLayer = mapLayers[layerName];
	if(chk.checked) {
		mapLayer.show();
	}
	else {
		mapLayer.hide();
	}
	mapEngine.repaintMap();
}

function mapSwitchLayerNew(chk)
{
	if(!mapEngine) return;
	
	var layerName = null;
	layerName = chk.id.replace('switch_layer_', '');
	
	if(!layerName) return;
	
	if(!mapLayers[layerName] && chk.checked) {
		var url = "/js/visicom/layers2.php?l=" + layerName + "&nof=1";
		dhtmlLoadScript(url);
		if(!mapLayers[layerName]) {
			mapLayers[layerName] = new VLayer();
		}
	}
	
	mapLayer = mapLayers[layerName];
	if(!mapLayer) return;
	
	if(chk.checked) {
		mapLayer.show();
	}
	else {
		mapLayer.hide();
	}
	mapEngine.repaintMap();
}

function dhtmlLoadScript(url)
{
   var e = document.createElement("script");
   e.src = url;
   e.type="text/javascript";
   document.getElementsByTagName("head")[0].appendChild(e);
}

function mapSwitchAllLayers(state) {
	$("input.switch_layer:checked").each(function(){
			this.checked = false;
			var layerName = this.id.replace('switch_layer_', '');
			mapLayer = mapLayers[layerName];
			if(mapLayer) {
				mapLayer.hide();
			}
	});
	mapEngine.repaintMap();
}

function mapAddMarker(layerName, lat, lon, hint, title, text, icon_url, icon_width, icon_height, infoWindowWidth, infoWindowHeight)
{
	var mapLayer = mapLayers[layerName];
	
	var marker = new VMarker(new VGeoPoint(lon, lat));
	marker.setHint(hint);
	if(title) {
		var infoWindow = new VInfoWindow(title, text);
		if(infoWindowWidth) {
			infoWindow.setSize(infoWindowWidth, infoWindowHeight);
		}
		marker.bindInfoWindow(infoWindow);
	}
	
	if(icon_url) {
		marker.setIcon(new VMarkerIcon(icon_width, icon_height, icon_url));
	}
	
	mapLayer.addMarker(marker);
}

function showPointUrlNew()
{
	if(!mapEngine) return;
	
	var point = mapEngine.center();
	var zoom = mapEngine.zoom();
	
	var url = "http://avtoindex.com/map/?lat="+point.lat+"&lon="+point.lng+"&z="+zoom;
	
	$('#mapUrl').val(url);
	$('#dialogCurrentLocation').dialog('open');
}

function showPointUrl()
{
	if(!mapEngine) return;
	
	var point = mapEngine.getCenter().convertToGeoPoint();
	var zoomIndex = mapEngine.getZoomIndex();
	
	var url = "http://avtoindex.com/map/?lat="+point.getLatitude()+"&lon="+point.getLongitude()+"&z="+zoomIndex;
	
	$('#mapUrl').val(url);
	$('#dialogCurrentLocation').dialog('open');
	
	alert(url);
}

function browseAjax(container, url) {
	$("#"+container).load(url);
}

function TABS_setTab(button, container, tab)
{
	$("#"+container+" .tab-body").hide();
	$("#"+container+" ."+tab).show();
	$("#"+container+" .tab-button").removeClass("tab-button-selected");
	$(button).parent().addClass("tab-button-selected");
}

function map_update_region(select) {
	var opt = $(select).find("option:selected");
	if(opt.size() != 0 && opt.val() != 0) {
		opt = opt.get(0);
		var lat = $(opt).attr("lat");
		var lon = $(opt).attr("lon");
		var zoom = $(opt).attr("zoom");
		mapEngine.setCenter(new VGeoPoint(lon, lat), zoom);
		
		if(select.id == "map_region") {
			$("#map_town").val(0);
		}
		else {
			$("#map_region").val(0);
		}
	}
	
	var r = $(select).val();
	if(r == 1000) r = 0;
	$("#region_id").val(r);
}

function map_show_marker(marker_id, openInfoWindow) {
	if(!mapEngine) return false;
	if(!searchMarkers) return false;
	if(!searchMarkers[marker_id]) return false;
	
	var m = searchMarkers[marker_id];
	mapEngine.setCenter(m.getPoint(), 10);
	mapEngine.repaintMap();
	
	if(openInfoWindow) {
		m.openInfoWindow();
	}
	
	$("#fullscreen_item").val(marker_id);
}


