var map;
var geocoder;
var bulinsIcon;
//var countTries = 0;

function initmap() {
	if (GBrowserIsCompatible()) {
		map = new GMap2(document.getElementById("map"));
		map.setCenter(new GLatLng(42.6, 25.2), 1);
		map.addControl(new TextualZoomControl());
		//map.addControl(new GSmallMapControl());
		geocoder = new GClientGeocoder();

	bulinsIcon = new GIcon(G_DEFAULT_ICON);
	bulinsIcon.image = "http://bulins.com/public/images/google/logo.png";
	bulinsIcon.iconSize = new GSize(67, 35);
	bulinsIcon.shadow = "http://bulins.com/public/images/google/shadow.png";
	bulinsIcon.shadowSize = new GSize(67, 35);
	bulinsIcon.infoWindowAnchor = new GPoint(5, 1);
	}
} 

function addAddressToMap(response) {
	/*countTries++;
	if(countTries > 2) return;*/
	map.clearOverlays();
	if (!response || response.Status.code != 200) {
		TryAgain();
	}
	else {
		place = response.Placemark[0];
		point = new GLatLng(place.Point.coordinates[1], place.Point.coordinates[0]);
		marker = new GMarker(point,bulinsIcon);
		map.addOverlay(marker);
		map.setCenter(point, 13);
	}
}

function panAddress(response) {
	map.clearOverlays();
	if (!response || response.Status.code != 200) {
		TryAgain();
	}
	else {
		place = response.Placemark[0];
		point = new GLatLng(place.Point.coordinates[1], place.Point.coordinates[0]);
		marker = new GMarker(point,bulinsIcon);
		map.addOverlay(marker);
        map.panTo(point);
	}
}

function addCityToMap(response) {
	map.clearOverlays();
	if (!response || response.Status.code != 200) {
	}
	else {
		place = response.Placemark[0];
		point = new GLatLng(place.Point.coordinates[1], place.Point.coordinates[0]);
		map.setCenter(point, 13);
		//map.openInfoWindow(map.getCenter(),document.createTextNode("Hello, world"));
	}
}

function showLocation(address) {
	res = geocoder.getLocations(address, addAddressToMap);
}

function showCity(address) {
	res = geocoder.getLocations(address, addCityToMap);
}

function showSecond(address) {
	res = geocoder.getLocations(address, panAddress);
}

function TextualZoomControl() {
}

TextualZoomControl.prototype = new GControl();

TextualZoomControl.prototype.initialize = function(map) {
  var container = document.createElement("div");
  container.style.width = "33px";

  var zoomInDiv = document.createElement("img");
  zoomInDiv.src="public/images/google/plus.jpg";
  zoomInDiv.alt="Приближи";
  zoomInDiv.style.cursor = "pointer";
  zoomInDiv.style.marginBottom = "5px";
  container.appendChild(zoomInDiv);
  GEvent.addDomListener(zoomInDiv, "click", function() {
    map.zoomIn();
  });

  var zoomOutDiv = document.createElement("img");
  zoomOutDiv.src="public/images/google/minus.jpg";
  zoomOutDiv.alt="Отдалечи";
  zoomOutDiv.style.cursor = "pointer";
  container.appendChild(zoomOutDiv);
  GEvent.addDomListener(zoomOutDiv, "click", function() {
    map.zoomOut();
  });

  map.getContainer().appendChild(container);
  return container;
}

TextualZoomControl.prototype.getDefaultPosition = function() {
  return new GControlPosition(G_ANCHOR_TOP_RIGHT, new GSize(7, 7));
}

window.onunload = GUnload;