var locatorlg = 'fr';
var locatorlgindex = 0;

var locatormessages = [ ['R&Eacute;SULTAT DE LA RECHERCHE',
                        'SEARCH RESULT' ], /* 0 */
                        ['Code postal incorrect. Veuillez le soumettre sous le format suivant : A1A 1A1.',
                        'Incorrect post code. Please enter it in the following format : A1A 1A1.' ], /* 1 */
                        ['T&eacute;l&eacute;phone',
                        'Phone' ], /* 2 */
                        ['Heures d&#39;ouverture',
                        'Opening hours' ], /* 3 */
                        ['Circulaire',
                        'Online flyer' ], /* 4 */
                        ['LUNDI AU VENDREDI',
                        'MONDAY TO FRIDAY' ], /* 5 */
                        ['SAMEDI',
                        'SATURDAY' ], /* 6 */
                        ['DIMANCHE',
                        'SUNDAY' ], /* 7 */
                        ['introuvable',
                        'not found' ], /* 8 */
                        ['Aucun r&eacute;sultat trouv&eacute;',
                        'No result found' ] /* 9 */
                        
                      ];
var themeurl = '';

function locatorInitForm(url,lg) {
    var cities = document.getElementById('addressInput2');
    var dest = document.getElementById('selectCity');
    for(var i=1;i<cities.options.length;i++) {
        var newElem = document.createElement("OPTION");
        newElem.text= cities.options[i].text;
        newElem.value = cities.options[i].value; 
        dest.options.add(newElem);
       }
    locatorlg = lg;
    if (lg == 'en')
       locatorlgindex = 1;
    themeurl = url;
    jQuery("#map").css("visibility", "hidden");
}

function locatorSubmit() {
   var zipmode = document.locatorForm.locatemethod[0].checked;
   if (zipmode) {
	   var zip1 = document.getElementById('zip1').value.toUpperCase();
	   var zip2 = document.getElementById('zip2').value.toUpperCase();
	   var zip = zip1 + ' ' + zip2;
	   var zipRegExp = /(^\d{5}$)|(^\D{1}\d{1}\D{1}\s\d{1}\D{1}\d{1}$)/;
	   if (!zipRegExp.test(zip)) {
	      alert(locatormessages[1][locatorlgindex]);
	      return false;
	   }

	   document.getElementById('addressInput').value = zip;
   }
   else {
   	var city = document.getElementById('selectCity');
   	document.getElementById('addressInput').value = city.options[city.selectedIndex].text;
   }
   searchLocations();
   return false;
}

function getRadioCheckedValue(radio_name) {
var oRadio = document.searchForm.elements[radio_name];

for(var i = 0; i < oRadio.length; i++) {

if(oRadio[i].checked) {
return oRadio[i].value;
}

}

return '';
} 





   function searchLocations() {
     jQuery("#map").css("visibility", "visible");
     var address = document.getElementById('addressInput').value;
     geocoder.getLatLng(address, function(latlng) {
       if (!latlng) {
         alert(address + locatormessages[8][locatorlgindex]);
       } else {
         searchLocationsNear(latlng, address); // address param added by Moyo 5/23/08
       }
     });
   }

   function searchLocationsNear(center, homeAddress) { // homeAddress param added by Moyo 5/23/08
     var radius = document.getElementById('radiusSelect').value;
	 var searchUrl = add_base + '/generate-xml.php?lat=' + center.lat() + '&lng=' + center.lng() + '&radius=' + radius;
     GDownloadUrl(searchUrl, function(data) {
       var xml = GXml.parse(data);
       var markers = xml.documentElement.getElementsByTagName('marker');
       map.clearOverlays();
	   
	    //marker for searched location - Moyo Aluko: 5/14/08, 4 am
	   var theIcon = new GIcon(G_DEFAULT_ICON);
		theIcon.image = sl_map_home_icon;
		if (sl_map_home_icon.indexOf('flag')!='-1') {theIcon.shadow = add_base + "/icons/flag_shadow.png";}
		else if (sl_map_home_icon.indexOf('arrow')!='-1') {theIcon.shadow = add_base + "/icons/arrow_shadow.png";}
		else if (sl_map_home_icon.indexOf('bubble')!='-1') {theIcon.shadow = add_base + "/icons/bubble_shadow.png";}
		else if (sl_map_home_icon.indexOf('marker')!='-1') {theIcon.shadow = add_base + "/icons/marker_shadow.png";}
		else if (sl_map_home_icon.indexOf('sign')!='-1') {theIcon.shadow = add_base + "/icons/sign_shadow.png";}
		else {theIcon.shadow = add_base + "/icons/blank.png";}
		theIcon.iconSize = new GSize(sl_map_home_icon_width, sl_map_home_icon_height);
		//theIcon.shadowSize = new GSize(30,30);
		
		var bounds = new GLatLngBounds(); //added here 1/25/09 by Moyo to handle extending bounds to show searched location
		markerOpts = { icon:theIcon };
		point = new GLatLng (center.lat(), center.lng());
		bounds.extend(point); //added 1/25/09 to handle showing searched location within bounds everytime
		var homeMarker = new GMarker(point, markerOpts);
      var html = '<div id="sl_info_bubble"><b>Your Location:</b> <br/>' + homeAddress + '</div>';
      GEvent.addListener(homeMarker, 'click', function() {
        homeMarker.openInfoWindowHtml(html);
      });
      map.addOverlay(homeMarker);
	  //end marker for searched location
	jQuery("#locator_content").css("height", "150px"); 
       var sidebar = document.getElementById('locator_content');
       sidebar.innerHTML = '';
       if (markers.length == 0) {
         sidebar.innerHTML = '<div style="padding:10px"><h2>' + locatormessages[9][locatorlgindex] + '.</h3></div>';
         jQuery("#map").css("visibility", "hidden");
         geocoder = new GClientGeocoder();
       	geocoder.getLatLng(sl_google_map_country, function(latlng) {
			map.setCenter(point, sl_zoom_level);
		});
         return;
       }
	
       var header = document.createElement('div');
       header.innerHTML = '<p class="titles"><strong>' + locatormessages[0][locatorlgindex] + '</strong><br /></p>';
       sidebar.appendChild(header);
       //var bounds = new GLatLngBounds(); //removed from here 1/25/09 to handle showing searched location with bounds at all times
       for (var i = 0; i < 1; i++) {
         var name = markers[i].getAttribute('name');
         var address = markers[i].getAttribute('address');
         var distance = parseFloat(markers[i].getAttribute('distance'));
         var point = new GLatLng(parseFloat(markers[i].getAttribute('lat')),
                                 parseFloat(markers[i].getAttribute('lng')));
		 var description = markers[i].getAttribute('description');
		 var url = markers[i].getAttribute('url');
		 var hours = markers[i].getAttribute('hours');
		 var phone = markers[i].getAttribute('phone');
		 var image = markers[i].getAttribute('image');
         
         var marker = createMarker(point, name, address, homeAddress, description, url, hours, phone, image); // homeAddress param added by Moyo 5/23/08 **description through image added 12/2/08 by Moyo
         map.addOverlay(marker);
         var sidebarEntry = createSidebarEntry(marker, name, address, phone, distance, homeAddress, url); // homeAddress param added by Moyo 5/23/08
         sidebar.appendChild(sidebarEntry);
         bounds.extend(point);
       }
	  map.setCenter(bounds.getCenter(), (map.getBoundsZoomLevel(bounds)-1)); //8/28/08: -1 to zoom out one step
	 });
	  
   }

    function createMarker(point, name, address, homeAddress, description, url, hours, phone, image) { // homeAddress param added by Moyo 5/23/08
	
	  markerOpts = { icon:theIcon };
      var marker = new GMarker(point, markerOpts);
	  
	  var more_html="";
	  if(url.indexOf("http://")==-1) {url="http://"+url;} //added by Moyo 10/19/2009 so that www.someurl.com will show up as http://www.someurl.com
	  if (url.indexOf("http://")!=-1 && url.indexOf(".")!=-1) {more_html+="| <a href='"+url+"' target='_blank' class='storelocatorlink'><nobr>" + sl_website_label +"</nobr></a>"} else {url=""}
	  if (image.indexOf(".")!=-1) {more_html+="<br/><img src='"+image+"' style='width:250px; max-height:200px border:none'>"} else {image=""}
	  if (description!="") {more_html+="<br/>"+description+"";} else {description=""}
	  if (hours!="") {more_html+="<br/><b>Hours:</b> "+hours;} else {hours=""}
	  if (phone!="") {more_html+="<br/><b>" + locatormessages[2][locatorlgindex] + ":</b> "+phone;} else {phone=""}
	  
		var street = address.split(',')[0]; if (street.split(' ').join('')!=""){street+='<br/>';}else{street="";}
		var city = address.split(',')[1]; if (city.split(' ').join('')!=""){city+=', ';}else{city="";}
		var state_zip = address.split(',')[2]; 	  
		//address=street + city + state_zip;
	  
	  if (homeAddress.split(" ").join("")!="") {
		var html = '<div id="sl_info_bubble"><!--tr><td--><strong>' + name + '</strong><br>' + street + city + state_zip + '<br/> <a href="http://' + sl_google_map_domain + '/maps?saddr=' + escape(homeAddress) + '&daddr=' + escape(address) + '" target="_blank" class="storelocatorlink">Directions</a> ' + more_html + '<br/><!--/td></tr--></div>'; // Get Directions link added by Moyo 5/23/08
	  }
	  else {
		var html = '<div id="sl_info_bubble"><!--tr><td--><strong>' + name + '</strong><br>' + street + city + state_zip + '<br/> <a href="http://' + sl_google_map_domain + '/maps?q=' + escape(address) + '" target="_blank" class="storelocatorlink">Map</a> ' + more_html + '<!--/td></tr--></div>';
	  }
      GEvent.addListener(marker, 'click', function() {
        marker.openInfoWindowHtml(html);
		//t=GMap2.getInfoWindow();
		//t.reset(size:400);
      });
      return marker;
    }

	var resultsDisplayed=0;
	var bgcol="white";
	
    function createSidebarEntry(marker, name, address, phone, distance, homeAddress, url) { // homeAddress param added by Moyo 5/23/08
	document.getElementById('map_sidebar_td').style.display='block';
      var div = document.createElement('div');
	  var street = address.split(',')[0]; 
	  var city = address.split(',')[1]; if (city.split(' ').join('')!=""){city+=', ';}else{city="";}
	  if (city.substring(6,1) == "Notre")
	     city = "NDG";
	  var state_zip = address.split(',')[2]; 
	  //var more = address.split(',')[3];
	  if(url.indexOf("http://")==-1) {url="http://"+url;} //added by Moyo 10/19/2009 so that www.someurl.com will show up as http://www.someurl.com
	  if (url.indexOf("http://")!=-1 && url.indexOf(".")!=-1) {link="<a href='"+url+"' target='_blank' class='storelocatorlink'><nobr>" + sl_website_label +"</nobr></a>&nbsp;|&nbsp;"} else {url=""; link="";}
	  
      /*var html = '<center><table width="96%" cellpadding="4px" cellspacing="0" class="searchResultsTable"><tr><td width="30%" style="padding-right:4px" valign="top"><b>' + name + '</b><br>' + distance.toFixed(1) + ' ' + sl_distance_unit + '</td><td width="40%" valign="top">' + street + '<br/>' + city + state_zip +' </td><td width="30%" valign="top" style="text-align:right">' + link + '<a href="http://' + sl_google_map_domain + '/maps?saddr=' + escape(homeAddress) + '&daddr=' + escape(address) + '" target="_blank" class="storelocatorlink">Directions</a></td></tr></table></center>'; */ // Get Directions link added by Moyo 5/23/08
      var html = '<table cellspacing="0" cellpadding="0" border="0" width="540" id="search_result"><tbody><tr><td valign="bottom"><p class="titles"><strong>' + name + '</strong></p></td><td valign="bottom"><p class="titles"><strong>' + locatormessages[3][locatorlgindex] + '</strong></p></td><td valign="top"/><td valign="top"><img height="27" width="63" style="padding-left:10px;" alt="Services professionnels" src="' + themeurl + '/images/services_pro.gif"/></td></tr><tr><td width="254" valign="top"><p>' + street + '<br/>' + city + ' ' + state_zip + '<br/>' + ((locatorlg == 'fr') ? 'T&eacute;l.' : 'Tel.') + phone + '</p></td><td width="165" valign="top"><p>' + locatormessages[5][locatorlgindex] + '<br/>' + locatormessages[6][locatorlgindex] + '<br/>' + locatormessages[7][locatorlgindex] + '</p></td><td width="80" class="locatorcol_2" valign="top"> <p>8 h ' + ((locatorlg == 'fr') ? '&agrave;' : 'to') + ' 21 h</p><p>8 h ' + ((locatorlg == 'fr') ? '&agrave;' : 'to') + ' 17 h</p><p> 8 h ' + ((locatorlg == 'fr') ? '&agrave;' : 'to') + ' 17 h</p></td><td width="111" valign="top" class="locatorcol_3"><p>6 h ' + ((locatorlg == 'fr') ? '&agrave;' : 'to') + ' 21 h</p><p>6 h ' + ((locatorlg == 'fr') ? '&agrave;' : 'to') + ' 17 h</p><p> 8 h ' + ((locatorlg == 'fr') ? '&agrave;' : 'to') + ' 17 h</p></td></tr><tr><td valign="top"/><td valign="top" colspan="3"/></tr><tr><td valign="top" style="border: medium none ;"><p> <a target="_blank" href="http://www.circulaire.renodepot.com">' + locatormessages[4][locatorlgindex] + '</a> >></p></td><td valign="top" style="border: medium none ;"></td><td valign="top" style="border: medium none ;"></td><td valign="top" style="border: medium none ;"></td></tr></tbody></table>';
      /*if (resultsDisplayed==0) {
		div.innerHTML = "<table><tr><td>";
	  }*/
	  div.innerHTML = html;
      GEvent.trigger(marker, 'click');
      return div;
    }
