_mPreferMetric=true;
var map;
var pnt;
var radius;
maps_path = '/images/maps/'

function initMap(mapContainer) {
	map = new GMap2(document.getElementById(mapContainer));
	map.enableContinuousZoom();
	map.addControl(new GSmallMapControl());
	map.addControl(new GMapTypeControl());
    map.setCenter(new GLatLng(42.6000, 25.5000), 6);
	map.setMapType(G_HYBRID_MAP);
		
	var DaoIcon = new GIcon();
	DaoIcon.image = "/images/icons/dao-logo-small.gif";
	DaoIcon.iconSize = new GSize(30, 29);
	DaoIcon.iconAnchor = new GPoint(6, 20);
	DaoIcon.infoWindowAnchor = new GPoint(5, 1);
	var Office_DAO = new GLatLng(43.212519, 27.954723);
	var Office_DAO_overlay = new GMarker(Office_DAO,DaoIcon);
	map.addOverlay(Office_DAO_overlay);	
}

function updateMap(descriptionContainer,imageContainer,lat,long,zoom,clickContainer,src) {
	map.setCenter(new GLatLng(lat, long), zoom);
	document.getElementById(descriptionContainer).innerHTML = clickContainer.innerHTML;
	document.getElementById(imageContainer).src = maps_path+src+".jpg";
	document.getElementById(imageContainer).setAttribute('onclick', "openGallery('"+maps_path+"','"+src+"','jpg','"+clickContainer.innerHTML+"');");
}

function loadPMap(Lat,Lng,zoom,rad) {  
map = new GMap2(document.getElementById("map"));
var start = new GLatLng(Lat,Lng);
radius = rad;
pnt = new GLatLng(Lat,Lng);
map.setCenter(start,zoom);
map.addControl(new GMapTypeControl(1));
map.addControl(new GLargeMapControl());
map.addControl(new GScaleControl(256));
new GKeyboardHandler(map);
map.enableContinuousZoom();
map.enableDoubleClickZoom();
map.setMapType(G_HYBRID_MAP);

draw(pnt);
}

////pan and zoom to fit
var bounds = new GLatLngBounds();
function fit(){
map.panTo(bounds.getCenter()); 
map.setZoom(map.getBoundsZoomLevel(bounds));
}

//calling circle drawing function
function draw(pnt){
	map.clearOverlays();
	bounds = new GLatLngBounds();
	var givenRad = radius*1;
	var givenQuality = 120*1;
	var centre = pnt || map.getCenter()
	drawCircle(centre, givenRad, givenQuality,"#ff0000",2,1,"#ff0000",0.2);
//	fit();
}
	
function drawCircle(center, radius, nodes, liColor, liWidth, liOpa, fillColor, fillOpa)
{
	//calculating km/degree
	var latConv = center.distanceFrom(new GLatLng(center.lat()+0.1, center.lng()))/100;
	var lngConv = center.distanceFrom(new GLatLng(center.lat(), center.lng()+0.1))/100;
 
	var points = [];
	var step = parseInt(360/nodes)||10;
	for(var i=0; i<=360; i+=step)
	{
	var pint = new GLatLng(center.lat() + (radius/latConv * Math.cos(i * Math.PI/180)), center.lng() + 
	(radius/lngConv * Math.sin(i * Math.PI/180)));
	points.push(pint);
	bounds.extend(pint); //this is for fit function
	}
	fillColor = fillColor||liColor||"#0055ff";
	liWidth = liWidth||2;
	var poly = new GPolygon(points,liColor,liWidth,liOpa,fillColor,fillOpa);

	map.addOverlay(poly);
}

function loadMap(Lat,Lng,zoom) {
	map = new GMap2(document.getElementById("map"));
	var start = new GLatLng(Lat,Lng);
	map.setCenter(start,zoom);
	map.addControl(new GMapTypeControl(1));
	map.addControl(new GLargeMapControl());
	map.addControl(new GScaleControl(256));
	new GKeyboardHandler(map);
	map.enableContinuousZoom();
	map.enableDoubleClickZoom();
	map.setMapType(G_HYBRID_MAP);
}