//<![CDATA[

    var map;
    var geocoder;
	var theIcon = new GIcon(G_DEFAULT_ICON);
	theIcon.image = sl_map_end_icon;

	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
	if (sl_load_locations_default=="1") {
	//alert('wtf');
	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"); // Message: 'documentElement' is null or not an object
		for (var i = 0; i < markers.length; i++) {
		//	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');
		 var category = markers[i].getAttribute('category');
		 resetTheIcon(category);
		 // end
		 // createMarker(point, name, address, lat, lng, homeAddress, description, url, hours, phone, image)
			var marker = createMarker(point, name, address, "", "", "", description, url, hours, phone, image);
			map.addOverlay(marker);
			bounds.extend(point);
		}
		//map.setCenter(bounds.getCenter(), (map.getBoundsZoomLevel(bounds)-1));
		map.setCenter(bounds.getCenter(), sl_zoom_level, sl_map_type);
		map.setUIToDefault();
	  });
     }
	}

   function searchLocations() {
     var address = document.getElementById('addressInput').value;
	 if(address=='enter postcode / address'){
		 address = '';
	 }
	 // possible uses a default address and or latling depending on options selected.
     geocoder.getLatLng(address, function(latlng) {
       if (!latlng) { 
			var location = document.getElementById('regionSelect').value;
			switch(location){
			case '0':
				// this is roughly the centre of Highlands &amp; Islands
				latlng = new GLatLng(56.659251, -4.012567);
				searchLocationsNear(latlng, address); // address param added by Moyo 5/23/08
				break;
			case '1':
				// this is roughly the centre of scotland
				latlng = new GLatLng(57.559251, -5.012567);
				searchLocationsNear(latlng, address); // address param added by Moyo 5/23/08
				break;
			case '2':
				// this is roughly the centre of NE Scotland, Orkney &amp; Shetland
				latlng = new GLatLng(57.559251, -2.512567);
				searchLocationsNear(latlng, address); // address param added by Moyo 5/23/08
				break;
			case '3':
				// this is roughly the Tayside &amp; Central Scotland<
				latlng = new GLatLng(56.659251, -3.012567);
				searchLocationsNear(latlng, address); // address param added by Moyo 5/23/08
				break;
			case '4':
				// this is roughly the centre of Glasgow &amp; West of Scotland
				latlng = new GLatLng(55.659251, -5.012567);
				searchLocationsNear(latlng, address); // address param added by Moyo 5/23/08
				break;
			case '5':
				// this is roughly the centre of Edinburgh, Fife &amp; East of Scotland
				latlng = new GLatLng(56.059251, -3.012567);
				searchLocationsNear(latlng, address); // address param added by Moyo 5/23/08
				break;
			case '6':
				// this is roughly the centre of South of scotland<
				latlng = new GLatLng(55.459251, -3.212567);
				searchLocationsNear(latlng, address); // address param added by Moyo 5/23/08
				break;
			default:
				alert(address + ' not found');
			}
         //alert(address + ' not found');
       } 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;
	 if(radius==0){
		//alert(radius);
		radius = 500;
	 }
	 // categories
	 var search_category = 0;
	 var search_whisky = 0;
	 if(document.getElementById('whisky_cb').checked){
		 search_whisky = document.getElementById('whisky_cb').value;
	 }
	 var search_castle = 0;
	 if(document.getElementById('castle_cb').checked){
		 search_castle =  document.getElementById('castle_cb').value;
	 }
	 var search_munro = 0;
	 if(document.getElementById('munro_cb').checked){
		 search_munro =  document.getElementById('munro_cb').value;
	 }
	 var search_island = 0;
	 if(document.getElementById('island_cb').checked){
		 search_island =  document.getElementById('island_cb').value;
	 }
	 
	 var whiskyParams = '';
	 var castleParams = '';
	 var munroParams = '';
	 var islandParams = '';
	 
	 if(search_whisky){
		 search_category = 1;
		 whiskyParams = '&w='+ search_whisky;
	 }
	 if(search_castle){
		 search_category = 1;
		 castleParams = '&c='+ search_castle;
	 }
	 if(search_munro){
		 search_category = 1;
		 munroParams = '&m='+ search_munro;
	 }
	 if(search_island){
		 search_category = 1;
		 islandParams = '&i='+ search_island;
	 }
	 
	 var searchCategoryParams = whiskyParams + castleParams + munroParams + islandParams;
	 
	 var search_region = document.getElementById('regionSelect').value;
	 var searchRegionParams = '';
	 // need to adjust radius for regions
	 if(search_region>0){
		searchRegionParams = '&region=' + search_region;
		radius = 300;
	 }
		
	 //alert(category);
	 if (search_category>0){
	 //resetTheIcon(search_category);
	 var searchUrl = add_base + '/generate-xml.php?lat=' + center.lat() + '&lng=' + center.lng() + '&radius=' + radius + searchCategoryParams + searchRegionParams;
	 }else{
	 var searchUrl = add_base + '/generate-xml.php?lat=' + center.lat() + '&lng=' + center.lng() + '&radius=' + radius + searchRegionParams;
	 }
     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
		if(homeAddress){
			// this bit may be unecessary under certain options
			var homeMarker = new GMarker(point, markerOpts);
			var html = '<div id="sl_info_bubble"><span class="your_location_label">Your Location:</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 = '';
       if (markers.length == 0) {
         sidebar.innerHTML = '<div class="no_results_found"><h2>No results found.</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 category = markers[i].getAttribute('category');
         var address = markers[i].getAttribute('address');
		 var lat = markers[i].getAttribute('lat');
		 var lng = markers[i].getAttribute('lng');
         var distance = parseFloat(markers[i].getAttribute('distance'));
         var point = new GLatLng(parseFloat(lat), parseFloat(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');
		 //if(search_category==0){
			resetTheIcon(category);
		 //}
         var marker = createMarker(point, name, address, lat, lng, 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, lat, lng, distance, homeAddress, url, category); // 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, lat, lng, 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 (description!="") {more_html+="<br/>"+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 store_locator_link = "";
	  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) {store_locator_link+="| <a href='"+url+"' target='_blank' class='storelocatorlink'><nobr>" + sl_website_label +"</nobr></a>"} else {url=""}
	  
		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;
	  // this is the point to append the 'bag this' link
	  //more_html+=" <a href='"+bagaction+"?bag="+name+"' class='storelocatorlink'><nobr>Bag This</nobr></a>";
	  
	  // image style attributes
	  if (image.indexOf(".")!=-1){
		var image_style = " style='width:250px; max-height:200px; border: 0; margin: 4px 0 2px 0; display: inline;'";
	  }
	  
	  var image_html = "";
	  if (image.indexOf(".")!=-1) {image_html+="<br/><img width='250' height='150' src='"+image+"' class='sl_info_bubble_main_image' " + image_style + ">"} else {image=""}
	  
	  // submit button
	  var submit_html = '';
	  submit_html+="<br /><form name='bagging-form' id='bagging-form' class='standard-form' action='"+bagaction+"' method='post'>";
	  submit_html+="<input style='margin-top:5px;' type='submit' name='wp-submit' value='Bagged This?' />";
	  submit_html+="<input type='hidden' name='bag' value='"+name+"' />";
	  submit_html+="</form>";
	  // ideally display an 'already bagged' message if this case is true
		var address_array = address.split(',');
		var new_address_array = new Array();
		var aa_index;
		for(aa_index=0; aa_index < address_array.length; aa_index++){
		//for(index in address_array){
			if(sl_trim(address_array[aa_index], ' ')!=''){
					new_address_array.push(address_array[aa_index]);
			}
		}
		if(new_address_array.length > 0){
			new_address_array.unshift(name);
			address = new_address_array.join();
		}else{
			address = lat + ',' + lng;
		}
	  if (homeAddress.split(" ").join("")!="") {
		var html = '<div id="sl_info_bubble"><!--tr><td--><strong>' + name + '</strong><br>' + street + city + state_zip + more_html + '<br/> <a href="http://' + sl_google_map_domain + '/maps?saddr=' + encodeURIComponent(homeAddress) + '&daddr=' + encodeURIComponent(address) + '" target="_blank" class="storelocatorlink">Directions</a>' + store_locator_link + image_html + submit_html + '<!--/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 + more_html + '<br/> <a href="http://' + sl_google_map_domain + '/maps?q=' + encodeURIComponent(address) + '" target="_blank" class="storelocatorlink">Map</a>' + store_locator_link + image_html + submit_html + '<!--/td></tr--></div>';
	  }
      GEvent.addListener(marker, 'click', function() {
        marker.openInfoWindowHtml(html);
		//var link = document.getElementById('bagthis');
		//alert(link.toString());
		//$('.baglink').click(function() {
			//alert('Handler for .click() called.');
		//});
		//t=GMap2.getInfoWindow();
		//t.reset(size:400);
      });
      return marker;
    }

	var resultsDisplayed=0;
	var bgcol="white";
	
	function createSidebarEntry(marker, name, address, lat, lng, distance, homeAddress, url, category) { // homeAddress param added by Moyo 5/23/08
		document.getElementById('map_sidebar').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>" + sl_website_label +"</nobr></a>";
		} else {
			url=""; link="";
		}
		switch(category){
			case '1':
				var category_badge = "<img src='" + sl_map_castle_icon + "' width='" + sl_map_castle_icon_width + "' height='" + sl_map_castle_icon_height + "' alt='Castle' />";
				var category_class = "castle_badge";
				break;
			case '2':
				var category_badge = "<img src='" + sl_map_whisky_icon + "' width='" + sl_map_whisky_icon_width + "' height='" + sl_map_whisky_icon_height + "' alt='Distillery' />";
				var category_class = "whisky_badge";
				break;
			case '3':
				var category_badge = "<img src='" + sl_map_island_icon + "' width='" + sl_map_island_icon_width + "' height='" + sl_map_island_icon_height + "' alt='Island' />";
				var category_class = "island_badge";
				break;
			case '4':
				var category_badge = "<img src='" + sl_map_munro_icon + "' width='" + sl_map_munro_icon_width + "' height='" + sl_map_munro_icon_height + "' alt='Munro' />";
				var category_class = "munro_badge";
				break;
			default:
				var category_badge = "";
				break;
		}
		
		var html = '<center><table width="96%" cellpadding="0" cellspacing="0" class="searchResultsTable"><tr><td class="results_row_left_column ' + category_class + '">' + category_badge + '</td><td class="results_row_left_column"><span class="location_name">' + name + '</span><br>';
		if(homeAddress){
			html += distance.toFixed(1) + ' ' + sl_distance_unit + '</td>';
		}
		html += '<td class="results_row_center_column">' + street + '<br/>' + city + state_zip +' </td><td class="results_row_right_column">' + link;
		if(homeAddress){
			var address_array = address.split(',');
			var new_address_array = new Array();
			var aa_index;
			for(aa_index=0; aa_index < address_array.length; aa_index++){
			//for(index in address_array){
				if(sl_trim(address_array[aa_index], ' ')!=''){
						new_address_array.push(address_array[aa_index]);
				}
			}
			if(new_address_array.length > 0){
				new_address_array.unshift(name);
				address = new_address_array.join();
			}else{
				address = lat + ',' + lng;
			}
			if(link!=""){
				html += '&nbsp;|&nbsp;'
			}
			html += '<a href="http://' + sl_google_map_domain + '/maps?saddr=' + encodeURIComponent(homeAddress) + '&daddr=' + encodeURIComponent(address) + '" target="_blank" class="storelocatorlink">Directions</a>';
		}

		html+="<form name='bagging-sidebar-form' class='standard-form' action='"+bagaction+"' method='post'>";
		html+="<input style='margin-top:5px;' type='submit' class='sidebar-submit' name='wp-submit' value='Bagged This?' />";
		html+="<input type='hidden' name='bag' value='"+name+"' />";
		html+="</form>";

		html += '</td></tr></table></center>'; // Get Directions link added by Moyo 5/23/08
		div.innerHTML = html;
		div.className='results_entry';
		/*div.style.cursor = 'pointer';
		div.style.padding = '4px';
		div.style.color = 'black'; //added by Moyo 11/2/08 10:43am
		div.style.borderBottom = 'solid silver 1px' ; // added by Moyo 5/23/08 11:23am
		div.style.backgroundColor = bgcol; //added 12/2/2208*/
		resultsDisplayed++;
		GEvent.addDomListener(div, 'click', function() {
			GEvent.trigger(marker, 'click');
		});
		/*
		GEvent.addDomListener(div, 'mouseover', function() {
		div.style.backgroundColor = 'salmon';
		});
		GEvent.addDomListener(div, 'mouseout', function() {
		div.style.backgroundColor = '#fff';
		});
		if (bgcol=="white") {bgcol="#ffffff";} else {bgcol="white";}	  */
		return div;
	}
    //]]>

	//document.onload=load();
//	document.onunload=GUnload();

	function resetTheIcon(category){

	//var category = document.getElementById('categorySelect').value;
	
	switch(category){
	case "1":
	//dcm
	//theIcon = new GIcon(G_DEFAULT_ICON);
	theIcon.image = sl_map_castle_icon;
	//theIcon.image = add_base + "/icons/red_flag1.png";
	if (sl_map_castle_icon.indexOf('flag')!='-1') {theIcon.shadow = add_base + "/icons/flag_shadow.png";}
	else if (sl_map_castle_icon.indexOf('arrow')!='-1') {theIcon.shadow = add_base + "/icons/arrow_shadow.png";}
	else if (sl_map_castle_icon.indexOf('bubble')!='-1') {theIcon.shadow = add_base + "/icons/bubble_shadow.png";}
	else if (sl_map_castle_icon.indexOf('marker')!='-1') {theIcon.shadow = add_base + "/icons/marker_shadow.png";}
	else if (sl_map_castle_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_castle_icon_width, sl_map_castle_icon_height);
	break;
	
	case "2":
	//theIcon = new GIcon(G_DEFAULT_ICON);
	theIcon.image = sl_map_whisky_icon;
	//theIcon.image = add_base + "/icons/red_flag1.png";
	if (sl_map_whisky_icon.indexOf('flag')!='-1') {theIcon.shadow = add_base + "/icons/flag_shadow.png";}
	else if (sl_map_whisky_icon.indexOf('arrow')!='-1') {theIcon.shadow = add_base + "/icons/arrow_shadow.png";}
	else if (sl_map_whisky_icon.indexOf('bubble')!='-1') {theIcon.shadow = add_base + "/icons/bubble_shadow.png";}
	else if (sl_map_whisky_icon.indexOf('marker')!='-1') {theIcon.shadow = add_base + "/icons/marker_shadow.png";}
	else if (sl_map_whisky_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_whisky_icon_width, sl_map_whisky_icon_height);
	break;
	
	case "3":
	//theIcon = new GIcon(G_DEFAULT_ICON);
	theIcon.image = sl_map_island_icon;
	//theIcon.image = add_base + "/icons/red_flag1.png";
	if (sl_map_island_icon.indexOf('flag')!='-1') {theIcon.shadow = add_base + "/icons/flag_shadow.png";}
	else if (sl_map_island_icon.indexOf('arrow')!='-1') {theIcon.shadow = add_base + "/icons/arrow_shadow.png";}
	else if (sl_map_island_icon.indexOf('bubble')!='-1') {theIcon.shadow = add_base + "/icons/bubble_shadow.png";}
	else if (sl_map_island_icon.indexOf('marker')!='-1') {theIcon.shadow = add_base + "/icons/marker_shadow.png";}
	else if (sl_map_island_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_island_icon_width, sl_map_island_icon_height);
	break;
	
	case "4":
	//theIcon = new GIcon(G_DEFAULT_ICON);
	theIcon.image = sl_map_munro_icon;
	//theIcon.image = add_base + "/icons/red_flag1.png";
	if (sl_map_munro_icon.indexOf('flag')!='-1') {theIcon.shadow = add_base + "/icons/flag_shadow.png";}
	else if (sl_map_munro_icon.indexOf('arrow')!='-1') {theIcon.shadow = add_base + "/icons/arrow_shadow.png";}
	else if (sl_map_munro_icon.indexOf('bubble')!='-1') {theIcon.shadow = add_base + "/icons/bubble_shadow.png";}
	else if (sl_map_munro_icon.indexOf('marker')!='-1') {theIcon.shadow = add_base + "/icons/marker_shadow.png";}
	else if (sl_map_munro_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_munro_icon_width, sl_map_munro_icon_height);
	break;
	
	default:
	
	//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);
	}
	}
	
	function sl_trim(str, chars) {
		return sl_ltrim(sl_rtrim(str, chars), chars);
	}
	 
	function sl_ltrim(str, chars) {
		chars = chars || "\\s";
		return str.replace(new RegExp("^[" + chars + "]+", "g"), "");
	}
	 
	function sl_rtrim(str, chars) {
		chars = chars || "\\s";
		return str.replace(new RegExp("[" + chars + "]+$", "g"), "");
	}
	