	google.load("maps", "2.x");

	var gmarkers = [];  // pole všech značek
	var gicons = []; // pole ikon
	var map;

	/* vytvoreni znacky, parametry: souradnice, html kod okna, kategorie znacky */
	function createMarker(point, content, cat) {
		var marker = new GMarker(point,gicons[cat]);
		marker.category = cat;
		GEvent.addListener(marker, "click", function() {
			marker.openInfoWindowHtml(content);
		});
		gmarkers.push(marker);
		return marker;
	}

	/* zobrazeni bodu */
	function show(category) {
		for (var i=0; i<gmarkers.length; i++) {
			if (gmarkers[i].category == category) {
				gmarkers[i].show();
			}
		}
		document.getElementById(category).checked = true;
	}

	/* skryti bodu */
	function hide(category) {
		for (var i=0; i<gmarkers.length; i++) {
			if (gmarkers[i].category == category) {
				gmarkers[i].hide();
			}
		}
        document.getElementById(category).checked = false;
        map.closeInfoWindow();
	}

 	/* klik na checkbox */
	function boxclick(box,category) {
        if (box.checked) {
			show(category);
		} else {
			hide(category);
		}
	}

  function initialize() {
    // div pro mapu
    map = new google.maps.Map2(document.getElementById("map"));
    // pridani ovladacich prvku - zoom a typ mapy
    map.addControl(new GLargeMapControl());
    map.addControl(new GMapTypeControl());
    // vychozi poloha a meritko mapy

    map.setMapType(G_PHYSICAL_MAP);
    map.setCenter(new GLatLng(49.817492, 15.472962), 6);

	baseIcon = new GIcon(G_DEFAULT_ICON);
	baseIcon.iconAnchor = new GPoint(9,34);
	baseIcon.iconSize = new GSize(20,34);
	baseIcon.infoWindowAnchor = new GPoint(9,2);
	baseIcon.shadow = './front/img/shadow.png';

     gicons["bio1"] = new GIcon(baseIcon,"./front/img/bio1.png");
     gicons["bio2"] = new GIcon(baseIcon,"./front/img/bio2.png");
     gicons["bio3"] = new GIcon(baseIcon,"./front/img/bio3.png");


    // data z XML
	GDownloadUrl("./referencexml.php", function(data, responseCode) {
		var xml = GXml.parse(data);
		var s;
		var stations = xml.documentElement.getElementsByTagName("station");

		// smycka pro vsechny stanice v XML
		for (var i = 0; i < stations.length; i++) {
			// souradnice bioplynky
			var point = new GLatLng(parseFloat(stations[i].getAttribute("lat")),parseFloat(stations[i].getAttribute("lng")));
			// html obsah info okna, po kliku na znacku
			s = "<div class='mapsbubble'><table><tr><td><b>" + stations[i].getAttribute("label") + "</b></td>";

			if (stations[i].getAttribute("image") != "") {
				s = s + "<td rowspan='4'><img src='"+stations[i].getAttribute("image")+"' alt='"+stations[i].getAttribute("label")+"' width='120' /></td>"
			}

			s = s + "</tr>";
			s = s + "<tr><td><em><strong>realizace:</strong></em> "+stations[i].getAttribute("date")+"</td></tr>"
			s = s +  "<tr><td><em><strong>výkon:</strong></em> "+stations[i].getAttribute("power")+"&nbsp;kW</td></tr>"
			s = s + "<tr><td>"+stations[i].getAttribute("desc")+"</td></tr>";
			s = s + "</table>";
			// vytvoreni znacky - souradnice, popis, kategorie
//			var marker = createMarker(point, s, stations[i].getAttribute("category"));
			var marker = createMarker(point, s, 'bio1');
			// pridani znacky do global pole
			gmarkers [gmarkers.length] = marker;
			// pridani znacky na mapu
			map.addOverlay(marker);
		}
	});

 }
  google.setOnLoadCallback(initialize);