
var map, actual;
var gmarkers = [];
var count = 0;
var markerImage ='http://golfindr.com/images/map/flag_red.png';
var data = [
{ id: "109", name: "Playa Grande Golf Course", desc: "18 Holes", lat: "19.67702", lng: "-70.03265", maplink: "http://www.golfindr.com/view_details.php?id=39", th:"Par 72" ,imag:"1262991009"} ,{ id: "110", name: "Playa Dorada Golf Course", desc: "18 Holes", lat: "19.80902", lng: "-70.71627", maplink: "http://www.golfindr.com/view_details.php?id=40", th:"Par 72" ,imag:"1262991147"} ,{ id: "111", name: "Las Aromas Santiago Golf Course", desc: "18 Holes", lat: "19.45033", lng: "-70.71977", maplink: "http://www.golfindr.com/view_details.php?id=41", th:"Par 72" ,imag:"1262991332"} ,{ id: "114", name: "Jarabacoa Golf Course", desc: "9 Holes", lat: "19.12725", lng: "-70.60396", maplink: "http://www.golfindr.com/view_details.php?id=45", th:"Par 36" ,imag:"1262992294Dominican flag.jpg"} ,{ id: "113", name: "Bella Vista Bonao Golf Course", desc: "9 Holes", lat: "18.93255", lng: "-70.42326", maplink: "http://www.golfindr.com/view_details.php?id=42", th:"Par 27" ,imag:"1262992782Dominican flag.jpg"} ,{ id: "116", name: "Las Lagunas Campo Nacional Golf Course", desc: "18 Holes", lat: "18.55237", lng: "-70.02617", maplink: "http://www.golfindr.com/view_details.php?id=43", th:"Par 72" ,imag:"1262996487"} ,{ id: "117", name: "Santo Domingo Golf Course", desc: "18 Holes", lat: "18.43711", lng: "-69.98823", maplink: "http://www.golfindr.com/view_details.php?id=47", th:"Par 72" ,imag:"1262996823"} ,{ id: "118", name: "Isabel Villas Golf Course", desc: "9 Holes", lat: "18.51194", lng: "-69.93316", maplink: "http://www.golfindr.com/view_details.php?id=48", th:"Par 27" ,imag:"1262997518"} ,{ id: "119", name: "Guavaberry Golf and Country Club", desc: "18 Holes", lat: "18.46182", lng: "-69.43398", maplink: "http://www.golfindr.com/view_details.php?id=46", th:"Par 72" ,imag:"1262998116"} ,{ id: "120", name: "Las Marlins Golf Course at Metro", desc: "18 Holes", lat: "18.43520", lng: "-69.42031", maplink: "http://www.golfindr.com/view_details.php?id=44", th:"Par 72" ,imag:"1262998558"} ,{ id: "137", name: "Teeth of the Dog Golf Course", desc: "18 Holes", lat: "18.40535", lng: "-68.93116", maplink: "http://www.golfindr.com/view_details.php?id=49", th:"Par 72" ,imag:"1269035974"} ,{ id: "122", name: "La Romana Golf Course", desc: "18 Holes", lat: "18.41293", lng: "-68.90867", maplink: "http://www.golfindr.com/view_details.php?id=51", th:"Par 72" ,imag:"1263034063"} ,{ id: "136", name: "Dye Fore Golf Course", desc: "18 Holes", lat: "18.42685", lng: "-68.89059", maplink: "http://www.golfindr.com/view_details.php?id=50 ", th:"Par 72" ,imag:"1269035681"} ,{ id: "124", name: "Punta Espada Golf Course at Cap Cana", desc: "18 Holes", lat: "18.45486", lng: "-68.41427", maplink: "http://www.golfindr.com/view_details.php?id=52", th:"Par 72" ,imag:"1263035361"} ,{ id: "125", name: "La Cana Golf Course at Punta Cana", desc: "18 Holes", lat: "18.52649", lng: "-68.36298", maplink: "http://www.golfindr.com/view_details.php?id=53", th:"Par 72" ,imag:"1263035523"} ,{ id: "126", name: "Catalonia Caribe Golf Course", desc: "18 Holes", lat: "18.61745", lng: "-68.37152", maplink: "http://www.golfindr.com/view_details.php?id=54", th:"Par 72" ,imag:"1263038428"} ,{ id: "127", name: "Barcelo Bavaro Golf Course", desc: "18 Holes", lat: "18.65938", lng: "-68.39624", maplink: "http://www.golfindr.com/view_details.php?id=55", th:"Par 72" ,imag:"1263040697"} ,{ id: "128", name: "Cocotal Golf Course", desc: "18 + 9 Holes", lat: "18.66983", lng: "-68.42045", maplink: "http://www.golfindr.com/view_details.php?id=56", th:"Par 72 + 36" ,imag:"1263041662"} ,{ id: "129", name: "White Sands Golf Course", desc: "18 Holes", lat: "18.69812", lng: "-68.44491", maplink: "http://www.golfindr.com/view_details.php?id=57", th:"Par 72" ,imag:"1263042573"} ,{ id: "130", name: "Punta Blanca Golf Course", desc: "18 Holes", lat: "18.71769", lng: "-68.46558", maplink: "http://www.golfindr.com/view_details.php?id=58", th:"Par 72" ,imag:"1263043414"} ,{ id: "131", name: "Faldo Legacy Golf Course", desc: "18 Holes", lat: "18.77914", lng: "-68.52709", maplink: "http://www.golfindr.com/view_details.php?id=59", th:"Par 72" ,imag:"1263044982"} ,{ id: "132", name: "Iberostate Golf Course", desc: "18 Holes", lat: "18.70597", lng: "-68.45772", maplink: "http://www.golfindr.com/view_details.php?id=61", th:"Par 72" ,imag:"1270243096Iberostate.jpg"} ,{ id: "133", name: "Catalonia Cabeza de Toro Golf Course", desc: "9 Holes", lat: "18.64010", lng: "-68.34964", maplink: "http://www.golfindr.com/view_details.php?id=62", th:"Par 35" ,imag:"1263047538"} ,{ id: "134", name: "Los Corales Golf Course", desc: "18 Holes", lat: "18.55927", lng: "-68.34382", maplink: "http://www.golfindr.com/view_details.php?id=71", th:"Par 72" ,imag:"1268158630"} ,{ id: "135", name: "The Links", desc: "18 Holes", lat: "18.41339", lng: "-68.92619", maplink: "http://www.golfindr.com/view_details.php?id=72", th:"Par 72" ,imag:"1269035548"} ,{ id: "138", name: "La Estancia Golf Course", desc: "18 Holes", lat: "18.43996", lng: "-68.86802", maplink: "http://www.golfindr.com/view_details.php?id=70", th:"Par 72" ,imag:"1269092127"} ,{ id: "139", name: "Cana Bay Moon Palace Golf Course", desc: "18 Holes", lat: "18.73003", lng: "-68.48819", maplink: "http://www.golfindr.com/view_details.php?id=74", th:"Par 72" ,imag:"1270848637"} ];
var map, route;
var points = [];
var gmarkers = [];
var count =0;
var stopClick = false;

function setHighLight(i)
{
	//alert(gmarkers[i]);
	gmarkers[i].setImage(markerImage)
}

function createMarker(point, icon) {

 count++;
 // Set draggable markers
 var marker = new GMarker(point, {icon:icon, draggable:true, bouncy:false, dragCrossMove:true});
 marker.content = count;
 gmarkers.push(marker);

 GEvent.addListener(marker, "dragstart", function() {
  // Close infowindow when dragging a marker
  map.closeInfoWindow();
 });

 GEvent.addListener(marker, "dragend", function() {
  // Update gmarkers array to get the right points
  for(var i = 0; i < gmarkers.length; i++) {
   if(gmarkers[i] == marker) {
    gmarkers.splice(i, 1, marker);
   }
  }
 });

 GEvent.addListener(marker, "click", function() {
  actual = marker; // Store this clicked marker 
  // Make the html variable more flexible 
  var html = makeHTML(marker);
  marker.openInfoWindowHtml(html);
 });
 return marker;
}


function removeMarker() {

 for(var i = 0; i < gmarkers.length; i++) {
  if(gmarkers[i] == actual) {
   map.removeOverlay(actual);
   // Delete removed marker in gmarkers array
   gmarkers.splice(i, 1); break;
  }
 }

  if(gmarkers.length == 0) { count = 0; }
   else {
   count = gmarkers[gmarkers.length-1].content;
  }
 return false;
}






function addevents()
{
	lat = document.addplace.lat.value;
	lng = document.addplace.lng.value;
	name=document.addplace.headline.value;
	desc=document.addplace.secondheadline.value;
	th=document.addplace.thirdheadline.value;
	lin=document.addplace.maplink.value;
	window.location.href="img_up_insert.php?headline2="+name+"&secondheadline="+desc+"&thirdheadline="+th+"&maplink="+lin+"&lat="+		lat+"&lng="+lng;
	
}




function editevents()
{
	//alert('Hi');
	name=document.editplace.headline.value;
	desc=document.editplace.secondheadline.value;
	th=document.editplace.thirdheadline.value;
	mapim=document.editplace.mapimage.value;
	id = document.editplace.groundid.value;
	lin=document.editplace.maplink.value;
	
	if(name=="" || desc=="" || th=="" || mapim=="")
	{
		alert("Please Enter all Fields");
		return false;
	}
	else
	{
		$.ajax(
		{
			url : "add_mastermap_events.php?name="+name+"&id="+id+"&desc="+desc+"&thirdhead="+th+"&imag="+mapim+"&lin="+lin+"&status="+2,
			success : function (data) 
			{
				$("#editupdate").html(data);
			}
		}
		);
	}
}

/*function editevents()
{
	
	name = document.editplace.groundname.value;
	desc = document.editplace.description.value;
	id = document.editplace.groundid.value;
	if(name=="" || desc=="" )
	{
		alert("Please Enter all Fields");
		return false;
	}
	else
	{
		$.ajax(
		{
			url : "add_mastermap_events.php?name="+name+"&desc="+desc+"&id="+id+"&status="+2,
			success : function (data) 
			{
				$("#editupdate").html(data);
			}
		}
		);
	}
}
*/
function deleteevents()
{
	name=document.editplace.headline.value;
	desc=document.editplace.secondheadline.value;
	th=document.editplace.thirdheadline.value;
	mapim=document.editplace.mapimage.value;
	id = document.editplace.groundid.value;
	lin=document.editplace.maplink.value;

	$.ajax(
		{
			url : "add_mastermap_events.php?name="+name+"&desc="+desc+"&id="+id+"&lin="+lin+"&status="+3,
			success : function (data) 
			{
				$("#editupdate").html(data);
			}
		}
		);
	
}

function makeHTML(marker) {

 // Loop through gmarkers array for the appropriate point
 for(var j = 0; j < gmarkers.length; j++) {
  if(gmarkers[j] == marker) {
   var point= gmarkers[j].getLatLng();
   }
  }

var html ="<form name ='addplace'><div class='infowindow' align='left'><b>Add Place</b></font><div>Add a place that physically exits, such as momemtum or Golf Gound!!!</div><div><br /></div><div id = 'showupdate' align='center'></div><div><b>Headline</b></div><div><input type='text' name ='headline'  size='41'><input type='hidden' name ='groundid' size='41'><input type='hidden' name='lat' value='"+point.lat().toFixed(5)+"'><input type='hidden' name='lng' value='"+point.lng().toFixed(5)+"'></div><div><br /></div><div><b>Second Headline</b></div><div><input type='text' name ='secondheadline'  size='41'></div><div><br /></div><div><b>ThirdHeadLine</b></div><div><input type='text' name ='thirdheadline'  size='41'></div><div><br /></div><div><br /></div><div><br /></div><div><a onclick='addevents()'><font color='#0000FF'>Click here to Upload Image</font></a></div><div><br /></div><div><b>Link</b></div><div><input type='text' name ='maplink' size='41'></div><div><br /></div><div><br /><hr/><br /></div><div align='right'><div><br /></div></div></form>";
return html;
  
}

function proxyCall(lat, lng) {

 var result;
 /** The web services request minus the domain name
 * Change meters to feet if you'd like feet instead
 */
 var path = "xmlwebservices2/elevation_service.asmx/getElevation?X_Value="+lng+"&Y_Value="+lat+"&Elevation_Units=meters&Source_Layer=-1&Elevation_Only=1";

 var url = "proxy.php?path=" + encodeURIComponent(path);

 var request = GXmlHttp.create();
 request.open("GET", url, true)
 request.onreadystatechange = function() {
  if(request.readyState == 4) {

  var xml = request.responseXML;

  try {
   result= xml.documentElement.getElementsByTagName("Elevation")[0].childNodes[0].nodeValue;
   // Return only integer values
   if(result) result = parseInt(result) +" m";
  }
  catch(e) { if(!result) result="N/A"; }

   document.getElementById("elev").innerHTML= result;
  }
 }; request.send(null);
 return false;
}

function addClickevent(marker) { // Add a click listener to the markers

 GEvent.addListener(marker, "click", function() {
  marker.openInfoWindowHtml(marker.content);
  /* Change count to continue from the last manually clicked marker
  *  Better syntax since Javascript 1.6 - Unfortunately not implemented in IE.
  *  count = gmarkers.indexOf(marker);
  */
  count = marker.nr;
  stopClick = true;
 });
 return marker;
}
function addMouseOverOutevent(marker,content)
{
 var tooltip = new Tooltip(marker,content,4);
 marker.tooltip = tooltip;
 map.addOverlay(tooltip);  
 GEvent.addListener(marker,'mouseover',function(){this.tooltip.show(); }); 
 GEvent.addListener(marker,'mouseout',function(){this.tooltip.hide(); });
 return marker;
}
function mapClick(overlay, point) {

 if(point) {

  // Yellow marker icons
  var icon = new GIcon();
  icon.image = "http://golfindr.com/images/map/flag_red.png";
  addIcon(icon);
  map.addOverlay(createMarker(point, icon));
 }
} 

function addIcon(icon) {

 icon.shadow= "http://golfindr.com/images/map/shadow.png";
 icon.iconSize = new GSize(20, 20);
 icon.shadowSize = new GSize(22, 20);
 icon.iconAnchor = new GPoint(15, 20);
 icon.infoWindowAnchor = new GPoint(5, 1);
}

function buildMap() {

 if(GBrowserIsCompatible()) {
  map=new GMap2(document.getElementById("map"),{draggableCursor:'auto',draggingCursor:'move'});
  var terr =new GMapType(G_PHYSICAL_MAP.getTileLayers(),G_PHYSICAL_MAP.getProjection(),"Relief");
  map.addMapType(terr);

  map.setCenter(new GLatLng(18.91668,-70.037842 ), 7, terr);
  map.addControl(new GLargeMapControl());
  map.addControl(new GMenuMapTypeControl());	
  map.enableScrollWheelZoom();
 // GEvent.addListener(map, "click", mapClick);
  map.setMapType(G_HYBRID_MAP);
  
  var icon = new GIcon();
  icon.image = "http://golfindr.com/images/map/flag_yellow.png";
  addIcon(icon);
  
  for(var i = 0; i < data.length; i++) {
  //alert(parseFloat(data[i].lat));
   if(parseFloat(data[i].lat)!=null && parseFloat(data[i].lng)!=null)
   {
   points[i] = new GLatLng(parseFloat(data[i].lat), parseFloat(data[i].lng));
   gmarkers[i] = new GMarker(points[i], icon);

   // Store data attributes as property of gmarkers
   var html ="<form name ='editplace'><div class='infowindow1'  align='center'>"+ data[i].name+ "</div><table class='infowindow1'  align='center' border='1' cellspacing='0' cellpadding='0'><tr><td align='center' valign='top' padding-top:2px;'>";
   if(data[i].imag)
   {
   	if(data[i].maplink)
	{
		html+="<a href='"+ data[i].maplink+ "' target='_self'>";
	}
	html+="<img src='admin/map_images/"+ data[i].imag+ "' width='125' height='84' />";
	if(data[i].maplink)
	{
		html+="</a>";
	}
   }
   html+="</td></tr></table><table align='center' width='135' class='infowindow1'><tr><td align='left'>"+ data[i].desc+ "</td><td align='right'>"+ data[i].th+ "</td></tr></table></form>";
   
   gmarkers[i].content = html;
   gmarkers[i].nr = i;
   addClickevent(gmarkers[i]);
   addMouseOverOutevent(gmarkers[i],data[i].name);
   map.addOverlay(gmarkers[i]);
      }
  }
  
 }
}
