var map;


function mapWinGenerator()
{
	var div = document.getElementById("coords");
	if (div.style.display == 'none')
	{
		div.style.display = 'block';
		map.checkResize();
		map.setCenter(new GLatLng(58.44773, 59.23828), 4);		
	}
	else
	{
		div.style.display = 'none';
	}
}

function MapInit()
{
	var Anchor = document.getElementById("map_anchor");
	var top = getDivY(Anchor);
	var left = getDivX(Anchor);
	document.getElementById("coords").style.top = top + 20;
	document.getElementById("coords").style.left = left + 50;
	
	
	if (GBrowserIsCompatible()) {
		map = new GMap2(document.getElementById("coords"));
		map.setCenter(new GLatLng(58.44773, 59.23828), 4);		
		var icon_xakep = new GIcon();
		icon_xakep.image = "http://www.xakep.ru/articles/map/icons/xakep.png";
		icon_xakep.iconSize = new GSize(24, 19);
		icon_xakep.iconAnchor = new GPoint(12, 10);
		icon_xakep.infoWindowAnchor = new GPoint(0, 0);

		map.addControl(new GLargeMapControl());
		map.enableScrollWheelZoom();
		map.enableDoubleClickZoom(); 
		map.enableContinuousZoom();
		
		GEvent.addListener(map, 'click', function(overlay, point) {
			if (overlay){}
			if (point){
				map.clearOverlays();
				var marker = new GMarker(point, {icon:icon_xakep});
				
				document.getElementById("coords_field").value = point.lat() + "," + point.lng();
				map.addOverlay(marker);
			}
		});
	}
}	

function getDivX(divElem) {
  xPos = eval(divElem).offsetLeft;
  tempEl = eval(divElem).offsetParent;
    while (tempEl != null) {
     xPos += tempEl.offsetLeft;
     tempEl = tempEl.offsetParent;
    }
  return xPos;
}

function getDivY(divElem) {
   yPos = eval(divElem).offsetTop;
   tempEl = eval(divElem).offsetParent;
     while (tempEl != null) {
      yPos += tempEl.offsetTop;
      tempEl = tempEl.offsetParent;
     }
   return yPos;
}