 var highlightCircle;
 var currentMarker;
 var map;


function highlightCurrentMarker(Taccount){


 	var markerPoint = currentMarker.getPoint();

 	var polyPoints = Array();

 	if (highlightCircle) {
 		map.removeOverlay(highlightCircle);
 	}

 	var mapNormalProj = G_NORMAL_MAP.getProjection();
 	var mapZoom = map.getZoom();
 	var clickedPixel = mapNormalProj.fromLatLngToPixel(markerPoint, mapZoom);

	if (Taccount==1){
 		var polySmallRadius = 20;
	}
	else{
		var polySmallRadius = 15;
	}
 	var polyNumSides = 20;
 	var polySideLength = 18;

 	for (var a = 0; a<(polyNumSides+1); a++) {
 		var aRad = polySideLength*a*(Math.PI/180);
 		var polyRadius = polySmallRadius;
 		var pixelX = clickedPixel.x + polyRadius * Math.cos(aRad);
 		var pixelY = clickedPixel.y + polyRadius * Math.sin(aRad);
 		var polyPixel = new GPoint(pixelX,pixelY);
 		var polyPoint = mapNormalProj.fromPixelToLatLng(polyPixel,mapZoom);
 		polyPoints.push(polyPoint);
 	}
 	// Using GPolygon(points, strokeColor?, strokeWeight?, strokeOpacity?, fillColor?, fillOpacity?)
	if (Taccount==1){
 		highlightCircle = new GPolygon(polyPoints,"#000000",2,0.0,"#8b0a18",.5);
	}
	else{
 		highlightCircle = new GPolygon(polyPoints,"#000000",2,0.0,"#75942f",.5);
	}
 	map.addOverlay(highlightCircle);
 } 





function initialize() {
      if (GBrowserIsCompatible()) {
        map = new GMap2(document.getElementById("map_canvas"));
        map.addControl(new GSmallMapControl());
        map.addControl(new GMapTypeControl());
        
map.setCenter(new GLatLng(20.198972 , 22.500000), 2);
		map.addMapType(G_PHYSICAL_MAP);
		map.removeMapType(G_HYBRID_MAP);
		map.setMapType(G_PHYSICAL_MAP);
		
		GEvent.addListener(map, "zoomend", function() {
 				highlightCurrentMarker();
		 });


        GDownloadUrl("generamappa.php", 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 Taccount = markers[i].getAttribute("Taccount");
		    var image = markers[i].getAttribute("image");
		    var uid = markers[i].getAttribute("UID");
            var point = new GLatLng(parseFloat(markers[i].getAttribute("lat")), parseFloat(markers[i].getAttribute("lng")));
			var lat_center = markers[i].getAttribute("latcenter");
            var lng_center = markers[i].getAttribute("lngcenter"); 

			//map.setCenter(new GLatLng(lat_center , lng_center), 5);
			

			icona = new GIcon();
			if (Taccount=='1'){
				icona.image = "http://www.terravino.tv/js/marker_premium_terravinotv.png";
				icona.iconSize = new GSize(15, 46);
				icona.iconAnchor = new GPoint(7, 46);
			}
			else{
				icona.image = "http://www.terravino.tv/js/marker_terravinotv.png";
				icona.iconSize = new GSize(15, 20);
				icona.iconAnchor = new GPoint(7, 20);
			}
	    
			
			icona.infoWindowAnchor = new GPoint(21, 1);

            var marker = createMarker(point, name, image,uid,icona,Taccount);


            map.addOverlay(marker);
          }
        });
      }
    }

    function createMarker(point, name,image,uid,icona,Taccount) {
		
      var marker = new GMarker(point,icona);
      var html = "<div class='markerpopup' align='center'><a href='http://www.terravino.tv/uprofile.php?UID1="+uid+"'><img src='photo/"+image +"'/></a><br/><b><a href='http://www.terravino.tv/uprofile.php?UID1="+uid+"'>" + name + "</a></b> </div>" ;
      GEvent.addListener(marker, 'click', function() {
        marker.openInfoWindowHtml(html);
		currentMarker = marker;
 		highlightCurrentMarker(Taccount);
      });

	 GEvent.addListener(marker, "mouseover", function() {
 		currentMarker = marker;
 		highlightCurrentMarker(Taccount);
	 });

      return marker;
    }


 
