//<![CDATA[
	
	var gmarkers = [];
    var map;
    var mgr;
    var icons = {};
    var allmarkers = [];

    function load() {
      if (GBrowserIsCompatible()) {
        map = new GMap2(document.getElementById("map_canvas"));
        map.addControl(new GLargeMapControl());
        //map.addControl(new GOverviewMapControl());
        //map.setCenter(new GLatLng(50, -98), 3);
		map.addControl(new GMapTypeControl());
		map.setCenter(new GLatLng(48.161362, 17.108557), 12);
        map.enableDoubleClickZoom();
        mgr = new MarkerManager(map, {trackMarkers:true});
        window.setTimeout(setupOfficeMarkers, 0);
      }
    }

    function getIcon(images) {
      var icon = null;
      if (images) {
        if (icons[images[0]]) {
          icon = icons[images[0]];
        } else {
          icon = new GIcon();
          icon.image = "/img/map/" + images[0] + ".png";
          var size = iconData[images[0]];
          icon.iconSize = new GSize(size.width, size.height);
          icon.iconAnchor = new GPoint(size.width >> 1, size.height >> 1);
          icon.shadow = "/img/map/" + images[1] + ".png";
          size = iconData[images[1]];
          icon.shadowSize = new GSize(size.width, size.height);
          icons[images[0]] = icon;
        }
      }
      return icon;
    }
	

    function setupOfficeMarkers() {
      allmarkers.length = 0;
      for (var i in officeLayer) {
        var layer = officeLayer[i];
        var markers = [];
        for (var j in layer["places"]) {
          var place = layer["places"][j];
          var icon = getIcon(place["icon"]);
          var title = place["name"];
          var posn = new GLatLng(place["posn"][0], place["posn"][1]);
          var marker = createMarker(posn,title,icon); 
          markers.push(marker);
          allmarkers.push(marker);
        }
        mgr.addMarkers(markers, layer["zoom"][0], layer["zoom"][1]);
      }
      mgr.refresh();
    }
  
	function getOperationObj(number) {
		
		var myHtml = "";
		
		for (var obj in operations[number])
		  {
		  	if(obj != "title") 
			{
				myHtml += operations[number][obj]
			}
		  }
	
		return myHtml;
	}  
	
	
	function getOperationId(title)
	{
		var id;
		
		for (var i = 0; i < operations.length; i++)
		  {
			if( title == operations[i].title)
			{
				id = i;
			}
		  }
		 
		 return id;
	}
  
  
    function createMarker(posn, title, icon) {
      var marker = new GMarker(posn, {title: title, icon: icon, draggable:false });
      //GEvent.addListener(marker, 'dblclick', function() { mgr.removeMarker(marker) } );
	  
	  GEvent.addListener(marker,"click", function() 
	  {	  
		  var id = getOperationId(title);
		  var myHtml = getOperationObj(id);
		  map.openInfoWindowHtml(posn, myHtml);
	  });
	  
	  gmarkers.push(marker);
	  
      return marker;
    }
	
	
	function showOperation(id)
	{
		//var id = getOperationId(title);
		GEvent.trigger(gmarkers[id], "click");
	}

    function deleteMarker() {
      var markerNum = parseInt(document.getElementById("markerNum").value);
      mgr.removeMarker(allmarkers[markerNum]);
    }
   
    function clearMarkers() {
      mgr.clearMarkers();
    }
   
    function reloadMarkers() {
      setupOfficeMarkers();
    }
//]]>
