function nearby_load_venue(venue_type_id) {
  var current_lat = $('mapnearby_lat').value;
  var current_lon = $('mapnearby_lon').value;
  var current_dist = 1;
  var current_id = $('mapnearby_current_id').value;
  
  // Block double click
  nearby_block_map_option();
  
  // Hide Current
  var cur_id = $('mapnearby_current').value;
  $('mapnearby_content_'+cur_id).hide();
  
  // Remove Old Marker Group
  var oldgroupname = 'markergroup_'+cur_id;
  if(sp_mapobj.has_marker_group(oldgroupname)) {
    sp_mapobj.hide_marker_group(oldgroupname);
    sp_mapobj.remove_marker_group(oldgroupname);
  }
  
  // Load Ajax Request
  new Ajax.Request( 'ajax.php', { 
    parameters: { 
      _action: 'nearby_venue', 
      lat: current_lat,
      lon: current_lon,
      dist:current_dist,
      current_id: current_id,
      type_id: venue_type_id
    },
    onSuccess: function(response) {
      var json_response = response.responseText.evalJSON();
      $('mapnearby_content_'+venue_type_id).innerHTML = json_response.html;
      spjs_show('mapnearby_content_'+venue_type_id);
      
      // Add venues dynamically to map
      var markergroupname = 'markergroup_'+venue_type_id;
      sp_mapobj.add_marker_group(markergroupname);
      var venue_count = json_response.venue_num;
      for(i=0;i<venue_count;i++) {
        cur_venue = json_response.venue_mapping[i];
        marker = new spmarker(cur_venue.id, cur_venue.name, cur_venue.lat, cur_venue.lon, {icon_label:i});
        sp_mapobj.add_marker_to_group(markergroupname, marker);
      }
      sp_mapobj.show_marker_group(markergroupname);
      
      nearby_unblock_map_option();
    },
    onFailure: function(){ 
      alert('Could not retrieve nearby venues') 
      nearby_unblock_map_option();
    }
  });
  
  // Set new type
  $('mapnearby_current').value = venue_type_id;
}

function nearby_show_marker(venue_type_id, venue_id) {
  marker_obj.goto_marker('markergroup_'+venue_type_id, venue_id);
}

function nearby_block_map_option() {
  $('venuetype_list').setOpacity(0.5);
  $('venuetype_mask').show();
  $('venuetype_mask').setStyle({width:'600px',height:'24px'});
}

function nearby_unblock_map_option() {
  $('venuetype_list').setOpacity(1);
  $('venuetype_mask').hide();
  $('venuetype_mask').setStyle({width:'0px',height:'0px'});
}
