var jg;

// define some variables
var map;
var mgr;


//////////////////////////////////////////////////////////////////////////

function getTrails() {


	xmlHttp=GetXmlHttpObject()
	if (xmlHttp==null)
	{
		alert ("Browser does not support HTTP Request")
		return
	}
	var url="showtrail.php";
	xmlHttp.onreadystatechange=stateChanged;
	xmlHttp.open("GET",url,true);
	xmlHttp.send(null);

}

function GetXmlHttpObject()
{
	var xmlHttp=null;
	try
 	{
 		// Firefox, Opera 8.0+, Safari
 		xmlHttp=new XMLHttpRequest();
	}
	catch (e)
 	{
 		//Internet Explorer
 		try
  		{
  			xmlHttp=new ActiveXObject("Msxml2.XMLHTTP");
  		}
 		catch (e)
  		{
  			xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
  		}
 	}
	return xmlHttp;
}


function stateChanged()
{
	if (xmlHttp.readyState==4 || xmlHttp.readyState=="complete")
 	{

		showTrails( xmlHttp.responseText );

	}
}
function createMarker( point, name, id, distance )
{
    	var marker = new GMarker(point)
	GEvent.addListener(marker, "click", function() {
        html = "<div class='dataValue'>";
        html += ('<a href="showtraildetail.html?id='+id+'">'+ name + '</a><br>');
        html += (distance + "miles</div>");
		marker.openInfoWindowHtml(html);
    	});
    	return marker

}

function showTrails(trailData) {
	var markers = [];
	var bounds = new GLatLngBounds();
	var trails = trailData.split("|");
	var tableStr = "<table cellspacing='5' cellpadding='2' style='background-color:#E5E5E5'>";
	tableStr += "<tr class='dataValue'><td >TRAIL NAME</td><td>DISTANCE</td><td>RATING</td><td>DIFFICULTY</td><td>SCENERY</td><td>CITY</td><td>STATE</td><td>COUNTRY</td></tr>";
	for (var i = 0; i < trails.length; ++i)
	{


		var data = trails[i].split(";");
		if  (data[2] != "" && data[2] != null)
		{
			var dist = parseFloat(data[3]).toFixed(1);
            var pointAry = data[2].replace("(","").replace(")","").split(",");
			var point = new GLatLng( parseFloat(pointAry[0]), parseFloat(pointAry[1]));
			bounds.extend( point );
			markers.push( createMarker(point, data[1], data[0], dist)) ;
			tableStr += "<tr><td><a href='showtraildetail.html?id=";
			tableStr += data[0];
			tableStr += "'>"
			tableStr += data[1];
			tableStr += "</a></td><td>";
			tableStr += dist;
			tableStr += " miles</td><td>";
			tableStr += (data[4] + "</td><td>");
            tableStr += (data[5] + "</td><td>");
            tableStr += (data[6] + "</td><td>");
			tableStr += data[7];
			tableStr += "</td><td>";
			tableStr += data[8];
			tableStr += "</td><td>";
			tableStr += data[9];
			tableStr += "</td></tr>";
		}

	}
	tableStr += "</table>";
	document.getElementById("tableData").innerHTML = tableStr;
	mgr.addMarkers( markers, 1, 17 );
	//mgr.refresh();
	map.setZoom(map.getBoundsZoomLevel(bounds));
	map.setCenter(bounds.getCenter());
}

function loadMap() {

	if (GBrowserIsCompatible()) {
		map = new GMap2(document.getElementById("map"));
		map.addControl(new GLargeMapControl());
		map.addControl(new GMapTypeControl());

		map.setCenter(new GLatLng(38.609, -96.34), 4)


		mgr = new MarkerManager(map);


		GEvent.addListener(map, "click", function(marker, point) {
	    	    	if (marker) {
		    	    	return;
	    	    	}
			

	    	});
    	}
    	getTrails();
}



