//<![CDATA[
    var map;
    var geocoder;
	
	var theIcon = new GIcon(G_DEFAULT_ICON);
	theIcon.image = sl_map_end_icon;
	//theIcon.image = add_base + "/icons/red_flag1.png";
	if (sl_map_end_icon.indexOf('flag')!='-1') {theIcon.shadow = add_base + "/icons/flag_shadow.png";}
	else if (sl_map_end_icon.indexOf('arrow')!='-1') {theIcon.shadow = add_base + "/icons/arrow_shadow.png";}
	else if (sl_map_end_icon.indexOf('bubble')!='-1') {theIcon.shadow = add_base + "/icons/bubble_shadow.png";}
	else if (sl_map_end_icon.indexOf('marker')!='-1') {theIcon.shadow = add_base + "/icons/marker_shadow.png";}
	else if (sl_map_end_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_end_icon_width, sl_map_end_icon_height);
	//theIcon.iconSize = new GSize(40, 68);

	// Added by Moyo 5/23/08 11:52 am
	//var sidebar1 = document.getElementById('sidebar');
    //sidebar1.innerHTML = '';
    //if (markers.length == 0) {
		//sidebar1.innerHTML = '<h1>Enter Your Address or Zip Code Above.</h2>';
	//}
	
    function sl_load() {
      if (GBrowserIsCompatible()) {
        geocoder = new GClientGeocoder();
        map = new GMap2(document.getElementById('map'));
		//map.addControl(new GSmallMapControl());
		//map.addControl(new GSmallZoomControl());
		if (sl_map_overview_control==1) {
			map.addControl(new GOverviewMapControl());
			}
		//map.addControl(new GLargeMapControl); //11/29/08 1:19am Moyo
        //map.addControl(new GMapTypeControl());
		//map.addControl(new GMapTypeControl());
		map.addMapType(G_PHYSICAL_MAP);
		geocoder.getLatLng(sl_google_map_country, function(latlng) {
			map.setCenter(latlng, sl_zoom_level, sl_map_type);
			map.setUIToDefault();
		});
      }
	  
	  //added by Moyo 1/25/09 to show locations by default
	  
	  
	  
	  
	  //=================================================00 LOADING INIZIALE DELLE LOCATION DI DEFAULT =================================
	  
	  
	if (sl_load_locations_default=="1") {
	var bounds = new GLatLngBounds();
	  markerOpts = { icon:theIcon };
      GDownloadUrl(add_base + "/data-xml.php", function(data, responseCode) {
		var xml = GXml.parse(data);
		var markers = xml.documentElement.getElementsByTagName("marker");
		//aggiunta controllo igor 
		
		controllo = 0;
		
		  // igor
		//  alert ('ho trovato '+markers.length+' risultati');
		
		for (var i = 0; i < markers.length; i++) {
			controllo = controllo+1;
			//	var point = new GLatLng(parseFloat(markers[i].getAttribute("lat")),
			  //                parseFloat(markers[i].getAttribute("lng")));
			//start					
			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');
			 
			 // end
			var marker = createMarker(point, name, address, "", description, url, hours, phone, image);
			map.addOverlay(marker);
			bounds.extend(point);
		}
	//	alert ('Sto inserendo di default '+controllo+' eventi');
		map.setCenter(bounds.getCenter(), (map.getBoundsZoomLevel(bounds)));
		map.setUIToDefault();
		map.disableScrollWheelZoom();
	  });
     }
	}

   function searchLocations() {
     var address = document.getElementById('addressInput').value;
     geocoder.getLatLng(address, function(latlng) {
       if (!latlng) {
         alert(address + ' Non trovato');
       } else {
         searchLocationsNear(latlng, address); // address param added by Moyo 5/23/08
       }
     });
   }


//=============================================== RICERCA PER AREA ========================================================
								  
								  
								  
								  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"><span class="your_location_label">La tua posizione:</span> <br/>' + homeAddress + '</div>';
									  GEvent.addListener(homeMarker, 'click', function() {
										homeMarker.openInfoWindowHtml(html);
									  });
									  map.addOverlay(homeMarker);
									  //end marker for searched location
								
									   var sidebar = document.getElementById('map_sidebar');
									   sidebar.innerHTML = '<h1>Risultati della ricerca:</h1>';
									   if (markers.length == 0) {
										 sidebar.innerHTML = '<div class="no_results_found"><h2>Non ci sono risultati per questa ricerca.</h2></div>';
										 geocoder = new GClientGeocoder();
										geocoder.getLatLng(sl_google_map_country, function(latlng) {
											map.setCenter(point, sl_zoom_level);
										});
										 return;
									   }
									   
									   //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 < markers.length; 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, distance, homeAddress, url, description); // 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+"' class='storelocatorlink'><nobr>Vai a questo evento</nobr></a>";
	  } else {
			  
		url="";
	 }
	 
	 
	 // if (image.indexOf(".")!=-1) {more_html+="<img src='"+image+"' class='sl_info_bubble_main_image'>"} else {image=""} //igor, non serve non c'è img
	 
	 description=description.split('[br]').join('<br />');
	 
	 
	 
	  if (description!="") {more_html+=""+description+"";} else {description=""}
	  if (hours!="") {more_html+="<br/><span class='location_detail_label'>Hours:</span> "+hours;} else {hours=""}
	  if (phone!="") {more_html+="<br/><span class='location_detail_label'>Phone:</span> "+phone;} else {phone=""}
	  
		var street = address.split(',')[0]; if (street.split(' ').join('')!=""){street+=', ';}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"><strong>';
		
		var html =	more_html+'<BR />'+ name + '</strong><br>' + street + city + state_zip + '<br/>';
	  	
		
		var html =	html+  '<a href="http://' + sl_google_map_domain + '/maps?saddr=' + encodeURIComponent(homeAddress) + '&daddr=' + encodeURIComponent(address) + '" target="_blank" class="storelocatorlink">Come arrivare</a> '
		var html =	html + '></div>'; // Get Directions link added by Moyo 5/23/08
*/
		
		var html =	 '<div id="sl_info_bubble"><span style="font-size:14px;text-align:left; font-weight:bold;">' +more_html + '</span><br>' + name +' '+ street + city + state_zip + '<br/>'; 
		var html =	html+ '<span style="font-size:13px;"> <a style="color:#336699;" href="http://' + sl_google_map_domain + '/maps?q=' + encodeURIComponent(address) + '" target="_blank" class="storelocatorlink">Trova su Google Maps</a> ';
		var html =	html+ " || <a style='color:#336699;' href='"+url+"' class='storelocatorlink'><nobr>Vai a questo evento</nobr></a></span></div>";
		//var html = html+'ASDASD';
	  
	  
	  	
	  }
	  else {
		
	 
	 
	 	var html =	 '<div id="sl_info_bubble"><span style="font-size:14px;text-align:left; font-weight:bold;">' +more_html + '</span><br>' + name +' '+ street + city + state_zip + '<br/>'; 
		var html =	html+ '<span style="font-size:13px;"> <a style="color:#336699;" href="http://' + sl_google_map_domain + '/maps?q=' + encodeURIComponent(address) + '" target="_blank" class="storelocatorlink">Trova su Google Maps</a> ';
		var html =	html+ " || <a style='color:#336699;' href='"+url+"' class='storelocatorlink'><nobr>Vai a questo evento</nobr></a></span></div>";
		
	 
	 
	 
	 
	 
	 
	 
	 }
      GEvent.addListener(marker, 'click', function() {
        marker.openInfoWindowHtml(html);
		//t=GMap2.getInfoWindow();
		//t.reset(size:400);
      });
      return marker;
    }

	var resultsDisplayed=0;
	var bgcol="white";








//============================================== CREA LA TABELLA ================================================================================



    function createSidebarEntry(marker, name, address, distance, homeAddress, url, description) { // 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="";}
	  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>Vai a questo evento</nobr></a>&nbsp;|&nbsp;"} else {url=""; link="";}
	  
	  
	  
	  
	  // igor tabella____________________________________________________________________________________________________
	    
	  var 	html = '<table width="99%" class="searchplace_table" style="margin-top:10px;margin-bottom:5px;">';
			html +=' <tr><td width="840"><span><a class="titolo_corso" href="'+url+'" style="font-size:16px;margin-top:10px;">' + description.split('[br]').join(' ')+'</a><br />'+name +' ' + street+' '+city + state_zip + '</span></td>'; // ' + sl_distance_unit + '
			html +=' <td width="110"><a class="btnsmall_mapresult" href="'+url+'">Vai al corso</a>';
			html +=' <a class="btnsmall_mapresult" href="http://' + sl_google_map_domain + '/maps?saddr=' + encodeURIComponent(homeAddress) + '&daddr=' + encodeURIComponent(address) + '" target="_blank" >Come arrivare</a></td>';
			html +=' </tr></table>';
				 
	 //____________________________________________________________________________________________________

	  div.innerHTML = html;
	  div.className='results_entry';

      return div;
    }

