

// *************************************
// *************************************
//
// TOUTE REPRODUCTION PARTIELLE OU INTEGRALE
// DES SCRIPTS CONTENUS DANS CETTE PAGE DONNERA
// LIEU A DES POURSUITES EN JUSTICE
// (société STUDIODEV SARL / Le-Sportif.com)
//
// *************************************
// *************************************



function CreateXMLHttpRequestObject()
{
     
     var oRequest = null;
     
     try
     {
          oRequest = new ActiveXObject("Microsoft.XMLHTTP");
     }
     catch(Error)
     {
          try
          {
               oRequest = new ActiveXObject("MSXML2.XMLHTTP");
          }
          catch(Error)
          {
               try
               {
                    oRequest = new XMLHttpRequest();
               }
               catch(Error)
               {
                    // alert("Impossible de créer l'objet XMLHttpRequest");
               }
          }
     }
     
     return oRequest;
     
}



function initDisplay(map)
{
	// map.enableScrollWheelZoom();

        map.enableDoubleClickZoom();
        map.enableContinuousZoom();

	// Classical interface
        // map.addControl(new GLargeMapControl());
	// map.addControl(new GMapTypeControl());

        // map.addControl(new GOverviewMapControl());
	// map.addControl(new GScaleControl());

	// Modern interface with TOPO / relief
        var customUI = map.getDefaultUI();
        customUI.maptypes.hybrid = false;
        map.setUI(customUI);

	map.addMapType(G_SATELLITE_3D_MAP);
}




function createMarker(point, icon, html_text)
{
	var marker = new GMarker(point, icon);
	GEvent.addListener(marker, "click", function()
	{
		marker.openInfoWindowHtml(html_text);
	});

        GEvent.addListener(marker,"mouseover", function() {
          	marker.setImage("http://www.le-sportif.com/imgs/imgs_marker/markeryellow.png")
        });        

        GEvent.addListener(marker,"mouseout", function() {
          	marker.setImage("http://www.le-sportif.com/imgs/imgs_marker/marker.png")
        });        

	return marker;
}


function createMarkerI(point, icon, html_text)
{
	var marker = new GMarker(point, icon);
	GEvent.addListener(marker, "click", function()
	{
		marker.openInfoWindowHtml(html_text);
	});

        GEvent.addListener(marker,"mouseover", function() {
          	marker.setImage("http://www.le-sportif.com/imgs/imgs_marker/markeryellow.png")
        });        

        GEvent.addListener(marker,"mouseout", function() {
          	marker.setImage("http://www.le-sportif.com/imgs/imgs_marker/markerI.png")
        });        

	return marker;
}


function createMarkerR(point, icon, html_text)
{
	var marker = new GMarker(point, icon);
	GEvent.addListener(marker, "click", function()
	{
		marker.openInfoWindowHtml(html_text);
	});

        GEvent.addListener(marker,"mouseover", function() {
          	marker.setImage("http://www.le-sportif.com/imgs/imgs_marker/markeryellow.png")
        });        

        GEvent.addListener(marker,"mouseout", function() {
          	marker.setImage("http://www.le-sportif.com/imgs/imgs_marker/markerR.png")
        });        

	return marker;
}



function refreshDisplay(map, bounds, nb_affichages, markerlist, markerlist_pos)
{
	// 3 par sécurité au lieu de 0
	if (nb_affichages <= 3)
	{
		// Etend la zone de zoom
		for (var pos = 0; pos < markerlist_pos; pos++)
		{
			bounds.extend(markerlist[pos].getPoint());
		}

		map.setZoom(map.getBoundsZoomLevel(bounds));
		map.setCenter(bounds.getCenter());
	}
}



function manageCDinsc(insc_id, point)
{
	// Cache the data
        var xhr_object = null;
	xhr_object = CreateXMLHttpRequestObject();
	
	if (xhr_object != null)
	{ 
		xhr_object.open("POST", "/exe_insc/main_updcache_insc.asp?", true);
		xhr_object.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
	        var data = "id=" + escape(insc_id) + "&lng=" + escape(point.lng()) + "&lat=" + escape(point.lat());
		xhr_object.send(data);
	}
}




function manageCDcalend(cmnf_id, point)
{
	// Cache the data
        var xhr_object = null;
	xhr_object = CreateXMLHttpRequestObject();

	if (xhr_object != null)
	{ 
		xhr_object.open("POST", "/exe_cal/main_updcache_calend.asp?", true);
		xhr_object.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
	        var data = "id=" + escape(cmnf_id) + "&lng=" + escape(point.lng()) + "&lat=" + escape(point.lat());
		xhr_object.send(data);
	}
}



function manageCDresult(resma_id, point)
{
	// Cache the data
        var xhr_object = null;
	xhr_object = CreateXMLHttpRequestObject();

	if (xhr_object != null)
	{ 
		xhr_object.open("POST", "/exe/main_updcache_result.asp?", true);
		xhr_object.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
	        var data = "id=" + escape(resma_id) + "&lng=" + escape(point.lng()) + "&lat=" + escape(point.lat());
		xhr_object.send(data);
	}
}



function VideOverlayParcours()
{

	if (document.overlay && document.overlay != null)
	{
		map.removeOverlay(document.overlay);
	}

	if (marker_depart && marker_depart != null)
	{
		map.removeOverlay(marker_depart);
	}

	if (marker_arrivee && marker_arrivee != null)
	{
		map.removeOverlay(marker_arrivee);
	}
}

function AfficheParcoursXml(xml_parcours)
{

					VideOverlayParcours();

					var xml = GXml.parse(xml_parcours);
					var lines = xml.documentElement.getElementsByTagName("line");

				        // read each line
        	  			for (var a = 0; a < lines.length; a++)
					{
	            				// get any line attributes
	            				var colour = lines[a].getAttribute("colour");
	            				var width  = parseFloat(lines[a].getAttribute("width"));

	         				// read each point on that line
	            				var points = lines[a].getElementsByTagName("point");
          				
						// Dessine la Polyline
						if (points.length > 1)
  						{
						    var polyline_points = [];
						    for (var i = 0; i < points.length; i++)
    						    {
						       polyline_points.push(new GLatLng(parseFloat(points[i].getAttribute("lat")), parseFloat(points[i].getAttribute("lng"))));
						    }

						    document.overlay = new GPolyline(polyline_points);
						    map.addOverlay(document.overlay);

						    // Creation des markers de départ et arrivée
						    marker_depart = createMarker(new GLatLng(parseFloat(points[0].getAttribute("lat")), parseFloat(points[0].getAttribute("lng"))),
	    					    null, "<b>Départ</b>");

						    marker_arrivee = createMarker(new GLatLng(parseFloat(points[points.length-1].getAttribute("lat")), parseFloat(points[points.length-1].getAttribute("lng"))),
	    					    null, "<b>Arrivée</b>");

						    map.addOverlay(marker_depart);
						    map.addOverlay(marker_arrivee);
						}

						// Centre et Zoom
						if (points.length > 0)
						{
							var bounds = new GLatLngBounds();
				
							// Etend la zone de zoom
							for (var pos = 0; pos < points.length; pos++)
							{
								bounds.extend(new GLatLng(parseFloat(points[pos].getAttribute("lat")), parseFloat(points[pos].getAttribute("lng"))));
							}
		
							map.setZoom(map.getBoundsZoomLevel(bounds));
							map.setCenter(bounds.getCenter());

						}

					}
}




// *************************************
// *************************************
//
// TOUTE REPRODUCTION PARTIELLE OU INTEGRALE
// DES SCRIPTS CONTENUS DANS CETTE PAGE DONNERA
// LIEU A DES POURSUITES EN JUSTICE
// (société STUDIODEV SARL / Le-Sportif.com)
//
// *************************************
// *************************************

