    //<![CDATA[

    var iconA= new GIcon();
    iconA.image = 'markers/hotel_icon.png';
    iconA.shadow = '';
    iconA.iconSize = new GSize(29, 43);
    iconA.shadowSize = new GSize(22, 20);
    iconA.iconAnchor = new GPoint(15, 21);
    iconA.infoWindowAnchor = new GPoint(5, 5);

    var iconB = new GIcon();
    iconB.image = 'markers/yellowcirclemarker.png';
    iconB.shadow = '';
    iconB.iconSize = new GSize(17, 17);
    iconB.shadowSize = new GSize(22, 20);
    iconB.iconAnchor = new GPoint(10, 10);
    iconB.infoWindowAnchor = new GPoint(5, 1);

	var iconC = new GIcon();
    iconC.image = 'markers/tealcirclemarker.png';
    iconC.shadow = '';
    iconC.iconSize = new GSize(17, 17);
    iconC.shadowSize = new GSize(22, 20);
    iconC.iconAnchor = new GPoint(10, 10);
    iconC.infoWindowAnchor = new GPoint(5, 1);

	var iconD = new GIcon();
    iconD.image = 'markers/port_icon1.png';
    iconD.shadow = '';
    iconD.iconSize = new GSize(29, 43);
    iconD.shadowSize = new GSize(22, 20);
    iconD.iconAnchor = new GPoint(15, 22);
    iconD.infoWindowAnchor = new GPoint(5, 5);

	var iconE = new GIcon();
    iconE.image = 'markers/greencirclemarker.png';
    iconE.shadow = '';
    iconE.iconSize = new GSize(17, 17);
    iconE.shadowSize = new GSize(22, 20);
    iconE.iconAnchor = new GPoint(10, 10);
    iconE.infoWindowAnchor = new GPoint(5, 1);

    var iconF = new GIcon();
    iconF.image = 'markers/bluecirclemarker.png';
    iconF.shadow = '';
    iconF.iconSize = new GSize(17, 17);
    iconF.shadowSize = new GSize(22, 20);
    iconF.iconAnchor = new GPoint(10, 10);
    iconF.infoWindowAnchor = new GPoint(5, 1);

	var iconG = new GIcon();
    iconG.image = 'markers/redcirclemarker.png';
    iconG.shadow = '';
    iconG.iconSize = new GSize(17, 17);
    iconG.shadowSize = new GSize(22, 20);
    iconG.iconAnchor = new GPoint(10, 10);
    iconG.infoWindowAnchor = new GPoint(5, 1);

	var iconH = new GIcon();
    iconH.image = 'markers/orangecirclemarker.png';
    iconH.shadow = '';
    iconH.iconSize = new GSize(17, 17);
    iconH.shadowSize = new GSize(22, 20);
    iconH.iconAnchor = new GPoint(10, 10);
    iconH.infoWindowAnchor = new GPoint(5, 1);

	var iconI = new GIcon();
    iconI.image = 'markers/purplecirclemarker.png';
    iconI.shadow = '';
    iconI.iconSize = new GSize(17, 17);
    iconI.shadowSize = new GSize(22, 20);
    iconI.iconAnchor = new GPoint(10, 10);
    iconI.infoWindowAnchor = new GPoint(5, 1);

	var iconJ = new GIcon();
    iconJ.image = 'markers/airport_icon1.png';
    iconJ.shadow = '';
    iconJ.iconSize = new GSize(29, 43);
    iconJ.shadowSize = new GSize(22, 20);
    iconJ.iconAnchor = new GPoint(15, 22);
    iconJ.infoWindowAnchor = new GPoint(5, 5);

    var customIcons = [];
    customIcons["hotel"] = iconA;
    customIcons["sightseeing"] = iconB;
	customIcons["beaches"] = iconC;
    customIcons["port"] = iconD;
	customIcons["transportation"] = iconE;
    customIcons["petrol"] = iconF;
	customIcons["publicservices"] = iconG;
    customIcons["retail"] = iconH;
	customIcons["restaurant"] = iconI;
    customIcons["airport"] = iconJ;
    var markerGroups = { "hotel": [], "sightseeing": [], "beaches": [], "port": [], "transportation": [], "petrol": [], "publicservices": [], "retail": [], "restaurant": [], "airport": []};

    function load() {
      if (GBrowserIsCompatible()) {
        var map = new GMap2(document.getElementById("map"));
      	//map.enableGoogleBar();
      	map.setMapType(G_NORMAL_MAP);
	  	map.addControl(new GOverviewMapControl());
	  	map.setUIToDefault();
      	map.setCenter(new GLatLng(37.088147, 25.156310), 15);
        document.getElementById("ACheckbox").checked = true;
		document.getElementById("BCheckbox").checked = true;
        document.getElementById("CCheckbox").checked = true;
        document.getElementById("DCheckbox").checked = true;
		document.getElementById("ECheckbox").checked = true;
        document.getElementById("FCheckbox").checked = true;
		document.getElementById("GCheckbox").checked = true;
        document.getElementById("HCheckbox").checked = true;
		document.getElementById("ICheckbox").checked = true;
        document.getElementById("JCheckbox").checked = true;
        //document.getElementById("labelsCheckbox").checked = true;

        GDownloadUrl("markerdata.xml", function(data) {
          var xml = GXml.parse(data);
          var markers = xml.documentElement.getElementsByTagName("marker");
          for (var i = 0; i < markers.length; i++) {
            var name = markers[i].getAttribute("name");
            var label = markers[i].getAttribute("label");
            var address = markers[i].getAttribute("address");
            var type = markers[i].getAttribute("type");
            var point = new GLatLng(parseFloat(markers[i].getAttribute("lat")),
                                    parseFloat(markers[i].getAttribute("lng")));
            var marker = createMarker(point, name, label, address, type);
            map.addOverlay(marker);
          }
        });
      }
    }

    function createMarker(point, name, label, address, type) {
      var marker = new LabeledMarker(point, {icon: customIcons[type], labelText: label, labelOffset: new GSize(-6, -10)});
      markerGroups[type].push(marker);
      var html = "<b>" + name + "</b> <br/>" + address;
      GEvent.addListener(marker, 'click', function() {
        marker.openInfoWindowHtml(html);
      });
      return marker;
    }
    function toggleGroup(type) {
      for (var i = 0; i < markerGroups[type].length; i++) {
        var marker = markerGroups[type][i];
        if (marker.isHidden()) {
          marker.show();
        } else {
          marker.hide();
        }
      }
    }

    function toggleLabels() {
      var showLabels = document.getElementById("labelsCheckbox").checked;
      for (groupName in markerGroups) {
        for (var i = 0; i < markerGroups[groupName].length; i++) {
          var marker = markerGroups[groupName][i];
          marker.setLabelVisibility(showLabels);
        }
      }
    }

    //]]>
