    // 2009-08-13 : Specto Technologies Inc., Alexandre Lavoie : Ajout de l'ordonnance
	// 2009-08-14 : Specto Technologies Inc., Alexandre Lavoie : Ajout de l'animation d'attente
	// 2009-08-14 : Specto Technologies Inc., Alexandre Lavoie : Ajout de la recherche avec mot clé.
	// 2010-07-23 : Specto Technologies Inc., Alexandre Lavoie : Réglage de la recherche sans maison.
	// 2010-09-16 : Specto Technologies Inc., Alexandre Lavoie : Désactivation du choix supplémentaire lors de la recherche par carte.
	
	var map;
    var geocoder;

    function load() {
      if (GBrowserIsCompatible()) {
        geocoder = new GClientGeocoder();
        map = new GMap2(document.getElementById('map'));
        map.addControl(new GSmallMapControl());
        map.addControl(new GMapTypeControl());
        map.setCenter(new GLatLng(48.107431, -74.794922), 5);  // Quebec + Montreal			
      }
    }
	
	function searchLocations()
	{
		var address = document.getElementById('addressInput').value;
		var letype = document.getElementById('leType').value;

		if(address == null || address == '')
		{
			document.getElementById('lblErrorMessageCity').style.display = "inline";
		}
		else
		{
			document.getElementById('mapHeader').innerHTML = '';
			document.getElementById('sidebar').innerHTML = '<img src="images/design/ajax-loader.gif" />';

			geocoder.getLatLng(address, function(latlng)
			{
				if(!latlng)
				{
					var sidebar = document.getElementById('sidebar');
					sidebar.innerHTML = document.getElementById('txt_pas_res').value;
				}
				else
				{
					searchLocationsNear(latlng);
				}
			});
		}
	}
    
	function searchLocationsNear(center)
	{
		var radius = document.getElementById('radiusSelect').value;
		var gletype = document.getElementById('GleType').value;
		var nbrres = document.getElementById('nbrRes').value;
		var prixde = document.getElementById('prix_de').value;
		var prixa = document.getElementById('prix_a').value;
		var dateparution = document.getElementById('date_parution').value;
		var sorting = document.getElementById('cboxSorting').value;
		var keyword = document.getElementById('fldKeyword').value;

		var letype;
		var type=document.googlemap.type;

		for(i = 0;i < type.length;i++)
		{
			if(type[i].checked == true)
			{
				letype = type[i].value;
			}
		}

		var searchUrl = 'googleMaps/phpsqlsearch_genxml.php?lat=' + center.lat() + '&lng=' + center.lng() + '&radius=' + radius;

		//Optionel

		searchUrl += '&letype='+letype+'&nbrres='+nbrres+'&gletype='+gletype;
		searchUrl += '&nbrres='+nbrres+'&dateparution='+dateparution;
		searchUrl += '&prixde='+prixde+'&prixa='+prixa;
		searchUrl += '&sorting='+sorting;
		searchUrl += '&keyword='+keyword;

		GDownloadUrl(searchUrl, function(data)
		{
			var xml = GXml.parse(data);
			var markers = xml.documentElement.getElementsByTagName('marker');

			map.clearOverlays();
			var sidebar = document.getElementById('sidebar');
			sidebar.innerHTML = '';
			if(markers.length == 0)
			{
				sidebar.innerHTML = document.getElementById('txt_pas_res').value;

				map.setCenter(new GLatLng(48.107431, -74.794922), 5);
				return;
			}

			var bounds = new GLatLngBounds();
			for(var i = 0; i < markers.length; i++)
			{
				var nombretotal = markers[i].getAttribute('statistiques');
				var name = markers[i].getAttribute('Titre');
				var address = markers[i].getAttribute('No');
				var prix = markers[i].getAttribute('PrixDemande');
				var rubrique = markers[i].getAttribute('NoRubrique');
				var image = markers[i].getAttribute('images');
				var distance = parseFloat(markers[i].getAttribute('distance'));
				var point = new GLatLng(parseFloat(markers[i].getAttribute('lat')),
				parseFloat(markers[i].getAttribute('lng')));
				var marker = createMarker(point,name,address,prix,rubrique,image);
				map.addOverlay(marker);
				var sidebarEntry = createSidebarEntry(marker, name, address, distance, prix, image);
				sidebar.appendChild(sidebarEntry);
				bounds.extend(point);
			}

			var nbrdemand = document.getElementById('nbrRes').value;
			var entete = document.getElementById('mapHeader');
			var txtresultat = document.getElementById('txt_resultats').value;
			var txtmessage = document.getElementById('txt_message').value;

			nombretotal = parseInt(nombretotal);
			nbrdemand = parseInt(nbrdemand);

			if (nombretotal > nbrdemand)
			{
				entete.innerHTML = "<p>"+ nombretotal +"&nbsp;&nbsp;" + txtresultat + ". " + nbrdemand + " " + txtmessage + "</p>";
			}
			else
			{
				entete.innerHTML = "<p>"+ nombretotal +" " + txtresultat + ".</p>";
			}

			map.setCenter(bounds.getCenter(), map.getBoundsZoomLevel(bounds));
		});
	}

    function createMarker(point,name,address,prix,rubrique,image) {		
      var marker = new GMarker(point);
	  var html = '<img src="'+ image +'" width="70" height="70" align="left" style="margin: 0 10px 5px 5px;">';
      html += '<b>' + name + '</b><br />'+ prix +'<br />' + rubrique + '<br/>';
	  html += '<a href="javascript: void(0);" onclick="window.open(\'fenetre.php?ID=' + address + '\',\'' + address + '\',\'width=850,height=600,scrollbars=yes\');">Voir la fiche</a>';
      GEvent.addListener(marker, 'click', function() {
        marker.openInfoWindowHtml(html);
      });
      return marker;
    }

    function createSidebarEntry(marker, name, address, distance, prix, image) {
      var div = document.createElement('div');
	  
	  /*if (prix == 0) {
		  prix = '';
		  }
		  else { prix = prix +'$';}*/
	  
      var html = '<img src="' + image + '" style="height: 70px; width: 70px; float: left; margin: 0 7px 0 0;" />' + prix + '<br />(' + distance.toFixed(1) + ' km)<br /><b>' + name + '</b><br /> ';
      div.innerHTML = html;
	  div.style.clear = 'both';
      div.style.cursor = 'pointer';
	  div.style.height = '90px';
      div.style.marginTop = '4px'; 
      div.style.marginBottom = '7px'; 	  
	  div.style.borderBottom = '1px dotted #000';
      GEvent.addDomListener(div, 'click', function() {
        GEvent.trigger(marker, 'click');
      });
      GEvent.addDomListener(div, 'mouseover', function() {
        div.style.backgroundColor = '#fff';
      });
      GEvent.addDomListener(div, 'mouseout', function() {
        div.style.backgroundColor = '#f1f1f1';
      });
      return div;
    }


function EcrireCookie(nom, valeur)
{
	var argv=EcrireCookie.arguments;
	var argc=EcrireCookie.arguments.length;
	var expires=(argc > 2) ? argv[2] : null;
	var path=(argc > 3) ? argv[3] : null;
	var domain=(argc > 4) ? argv[4] : null;
	var secure=(argc > 5) ? argv[5] : false;
	document.cookie=nom+"="+escape(valeur)+
	((expires==null) ? "" : ("; expires="+expires.toGMTString()))+
	((path==null) ? "" : ("; path="+path))+
	((domain==null) ? "" : ("; domain="+domain))+
	((secure==true) ? "; secure" : "");
}

function EffaceCookie(nom)
{
	date=new Date;
	date.setFullYear(date.getFullYear()-1);
	EcrireCookie(nom,null,date);
}	