function guestlist_show_guestlist(type) {
  var old = '';
  if($('guests_all').visible())
    old = 'all';
  else if($('guests_attend').visible())
    old = 'attend';
  else if($('guests_decline').visible())
    old = 'decline';
  else if($('guests_undecided').visible())
    old = 'undecided';
  else if($('guests_noresponse').visible())
    old = 'noresponse';
  else if($('guests_friends').visible())
    old = 'friends';

  $(old+'_link').show();
  $(old+'_text').hide();
  $('guests_'+old).hide();
  
  $(type+'_link').hide();
  $(type+'_text').show();
  $('guests_'+type).show();
}

function guestlist_show_list(type) {
  var count = spjs_get_value('popup_event_guestlist_count_'+type);
  
  // Do initial load
  if(count == 0) {
    guestlist_load(type);
    return;
  }
  
  // Hide All Guestlist Panels
  spjs_hide('popup_event_guestlist_list_accepted_div');
  spjs_hide('popup_event_guestlist_list_declined_div');
  spjs_hide('popup_event_guestlist_list_undecided_div');
  spjs_hide('popup_event_guestlist_list_noresponse_div');
  
  // Show the one user selected
  spjs_show('popup_event_guestlist_list_'+type+'_div');
}

function guestlist_show_accepted() {
  base_toggle_section_menu('popup_event_guestlist_menu', 'section_accepted'); 
  guestlist_show_list('accepted');
}

function guestlist_load(type) {
  var count = spjs_get_value('popup_event_guestlist_count_'+type);
  var event_id = spjs_get_value('event_guestlist_event_id');
  var event_instance_id = spjs_get_value('event_guestlist_event_instance_id');
  
  // Hide All Guestlist Panels
  spjs_hide('popup_event_guestlist_list_accepted_div');
  spjs_hide('popup_event_guestlist_list_declined_div');
  spjs_hide('popup_event_guestlist_list_undecided_div');
  spjs_hide('popup_event_guestlist_list_noresponse_div');
  
  spjs_show('popup_event_guestlist_list_'+type+'_div');
  
  spjs_hide('popup_event_guestlist_list_'+type+'_none');
  spjs_hide('popup_event_guestlist_list_'+type+'_more');
  spjs_show('popup_event_guestlist_list_'+type+'_busy');
  
  new Ajax.Request('ajax.php', 
  {
    parameters: { 
      _action: 'event_load_guestlist', 
      // TODO: basetype
      event_id: event_id,
      event_instance_id: event_instance_id,
      attendance_type: type, 
      offset: count
    }, 
    onSuccess: function(response) {
      // Returns comment_id and html
      var json_response = response.responseText.evalJSON();
  
      if(json_response.ajax_status == 1) {
        // Append New Content
        spjs_append_html('popup_event_guestlist_list_'+type, json_response.html);

        // Update Count
        var return_num = json_response.num_return*1;
        var new_count = count*1 + return_num;
        spjs_set_value('popup_event_guestlist_count_'+type, new_count);
        
        // Hide Busy
        spjs_hide('popup_event_guestlist_list_'+type+'_busy');
        if(return_num <= 0) {
          if(count == 0) {
            // No guests
            spjs_show('popup_event_guestlist_list_'+type+'_none');
          }
          else {
            // No more guests
            spjs_hide('popup_event_guestlist_list_'+type+'_more');
          }
        }
        else {
          if(json_response.more == 1) {
            spjs_show('popup_event_guestlist_list_'+type+'_more');
          }
          else {
            spjs_hide('popup_event_guestlist_list_'+type+'_more');
          }
        }
      }
      else {
        alert(json_response.error_msg);
      }
    },
    onFailure: function() { 
      alert("Couldn't load guestlist") 
    }
  });
}
