// ***********************************************************
// ** UserFriend Remove

function userfriend_remove_friend(target_id) {
  // Get params
  var source_type = 'view_user';
	
	// Set busy
  userfriend_popup_busy();

  new Ajax.Request('ajax.php',
	{
		parameters: { 
      _action: 'userfriend_remove', 
      id: target_id, 
      source_type : source_type
    },
    onSuccess: function(response) {
      var json_response = response.responseText.evalJSON();
      
      if(json_response.ajax_status == 1) {
        if(source_type == 'view_user' || source_type == 'user_listing') {
          $('userfriend_actiondiv_'+target_id).innerHTML = json_response.html;
          
          // Set unbusy
          userfriend_popup_free();
          popup_hide('userfriend_popup');
        }
			}
			else {
			  alert(json_response.error_msg);
        userfriend_popup_free();
			}
    },
    onFailure: function(){ 
      alert('There was an error ending the friendship.  Please try again later.');
      userfriend_popup_free();
    }
  });
}

function userfriend_request_friend(target_id) {
	
  source_type = 'view_user';
	
  // Set busy
  userfriend_popup_busy();
  
  new Ajax.Request('ajax.php',
  { 
		parameters: { 
      _action: 'userfriend_request', 
      id: target_id, 
      source_type : source_type
    },
    onSuccess: function(response) {
      var json_response = response.responseText.evalJSON();
      if(json_response.ajax_status == 1) {
        if(source_type == 'view_user' || source_type == 'user_listing') {
          $('userfriend_actiondiv_'+target_id).innerHTML = json_response.html;
          
          // Set unbusy
          userfriend_popup_free();
          popup_hide('userfriend_popup');
        }
			}
			else {
        alert(json_response.error_msg);
        userfriend_popup_free();
			}
    },
    onFailure: function(){ 
      alert('There was an error requesting the friendship.  Please try again later.');
      userfriend_popup_free();
    }
  });
}

function userfriend_respond_friend(target_id, answer) {
	// Get params
  var source_type = 'view_user';
	
	// Set busy
  userfriend_popup_busy();
  
	new Ajax.Request('ajax.php',
  {
		parameters: { 
      _action: 'userfriend_respond',
      id: target_id,
      answer: answer,
      source_type : source_type
    },
    onSuccess: function(response) {
      var json_response = response.responseText.evalJSON();
      if (json_response.ajax_status == 1) {
        if(source_type == 'view_user' || source_type == 'user_listing') {
          $('userfriend_actiondiv_'+target_id).innerHTML = json_response.html;
        
          // Set unbusy
          popup_hide('userfriend_popup');
          userfriend_popup_free();
        }
			}
			else {
        alert(json_response.error_msg);
        userfriend_popup_free();
			}
    },
    onFailure: function() {
      alert('There was an error respond to the friendship request.  Please try again later.');
      userfriend_popup_free();
    }
  });
}

function userfriend_respond_from_notifications(target_id, answer) {
  var source_type = "notifications";
  
  $('notification_userfriend_form_'+target_id).hide();
  $('notification_userfriend_busy_'+target_id).show();
  
  new Ajax.Request('ajax.php',
  {
		parameters: { 
      _action: 'userfriend_respond', 
      id: target_id,
      answer: answer,
      source_type : source_type
    },
    onSuccess: function(response) {
      var json_response = response.responseText.evalJSON();
      if (json_response.ajax_status == 1) {
        if(source_type == 'notifications') {
          
          $('notification_userfriend_busy_'+target_id).hide();
          base_finish_notification();
        }
			}
			else {
        alert(json_response.error_msg);
        $('notification_userfriend_busy_'+target_id).hide();
        $('notification_userfriend_form_'+target_id).show();
			}
    },
    onFailure: function() {
      alert('There was an error respond to the friendship request.  Please try again later.');
      $('notification_userfriend_busy_'+target_id).hide();
      $('notification_userfriend_form_'+target_id).show();
    }
  });
}

function userfriend_showpopup(target_id) {

  popup_show('userfriend_popup');

  $('userfriend_popup_content').hide();
  $('userfriend_popup_busy').show();

  new Ajax.Request('ajax.php', 
	{
		parameters: {
      "_action": 'userfriend_load_popup', 
      "target_id":target_id
    },
		onSuccess: function(response) {
      var json_response = response.responseText.evalJSON();
      
      if(json_response.ajax_status == 1) {
        $('userfriend_popup_content').innerHTML = json_response.html;
        $('userfriend_popup_content').show();
        $('userfriend_popup_busy').hide();
      }
      else {
        alert(json_response.error_msg);
        $('userfriend_popup_content').innerHTML = json_response.html;
        $('userfriend_popup_content').show();
        $('userfriend_popup_busy').hide();
      }
		},
		onFailure: function(){
			alert('Couldn\'t load your invite.  Please try again later or contact us.');
		}
	});
}

function userfriend_popup_busy() {
  if(spjs_has('userfriend_popup_submit')) spjs_disable('userfriend_popup_submit');
  if(spjs_has('userfriend_popup_decline')) spjs_disable('userfriend_popup_decline');
  if(spjs_has('userfriend_popup_cancel')) spjs_disable('userfriend_popup_cancel');
}

function userfriend_popup_free() {
  if(spjs_has('userfriend_popup_submit')) spjs_enable('userfriend_popup_submit');
  if(spjs_has('userfriend_popup_decline')) spjs_enable('userfriend_popup_decline');
  if(spjs_has('userfriend_popup_cancel')) spjs_enable('userfriend_popup_cancel');
}
