var map;
var geocoder;

var icon 							= new GIcon();
icon.image 						= "../img/gmapicon.png";
icon.iconSize 				= new GSize(24, 24);
icon.iconAnchor 			= new GPoint(-20, 45);

function gmapLoad() {
  if (GBrowserIsCompatible()) {
    map = new GMap2(document.getElementById("map"));
    //map.addControl(new GSmallMapControl());
    map.addControl(new TextualZoomControl());
		geocoder = new GClientGeocoder();
		showAddress('Berliner Allee 36, 13088 Berlin');
  }
}

function showAddress(address) {
  geocoder.getLatLng(
    address,
    function(point) {
      if (!point) {
        alert(address + " wurde nicht gefunden!");
      } else {
        map.setCenter(point, 15);
        var marker = new GMarker(point, icon);
        map.addOverlay(marker);
        //marker.openInfoWindowHtml(address);
      }
    }
  );
}    

// A TextualZoomControl is a GControl that displays textual "Zoom In"
// and "Zoom Out" buttons (as opposed to the iconic buttons used in
// Google Maps).
function TextualZoomControl() {
}

TextualZoomControl.prototype = new GControl();

// Creates a one DIV for each of the buttons and places them in a container
// DIV which is returned as our control element. We add the control to
// to the map container and return the element for the map class to
// position properly.
TextualZoomControl.prototype.initialize = function(map) {
  var container = document.createElement("div");

  var zoomInDiv = document.createElement("div");
  this.setButtonStyle_(zoomInDiv);
  container.appendChild(zoomInDiv);
  zoomInDiv.appendChild(document.createTextNode("+"));
  GEvent.addDomListener(zoomInDiv, "click", function() {
    map.zoomIn();
  });

  var zoomOutDiv = document.createElement("div");
  this.setButtonStyle_(zoomOutDiv);
  container.appendChild(zoomOutDiv);
  zoomOutDiv.appendChild(document.createTextNode("-"));
  GEvent.addDomListener(zoomOutDiv, "click", function() {
    map.zoomOut();
  });

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

// By default, the control will appear in the top left corner of the
// map with 7 pixels of padding.
TextualZoomControl.prototype.getDefaultPosition = function() {
  return new GControlPosition(G_ANCHOR_TOP_LEFT, new GSize(0, 0));
}

// Sets the proper CSS for the given button element.
TextualZoomControl.prototype.setButtonStyle_ = function(button) {
  button.style.color 						= "#fff";
  button.style.backgroundColor 	= "#6b0031";
  button.style.border 					= "none";
  button.style.padding 					= "0px";
  button.style.marginBottom 		= "0px";
  button.style.textAlign 				= "center";
  button.style.width 						= "20px";
  button.style.cursor 					= "pointer";
}
