function friendFeedTasks(id) {

	this.id = id;

	this.toggleDiscussions = function (e) { 

		Event.stop(e);



		$('friendfeeddiscussions_' + this.id).toggle(); 

		$('ff_togglecommentslink_' + this.id).update((!$('friendfeeddiscussions_' + this.id).visible() ? 'show' : 'hide'));  

	}



	this.logout = function (e) {

		Event.stop(e);

		var id = this.id;

		$('ff_loadingimage_' + id).show();

		

		var form = $('ff_commentsform_' + id);

		

		body = Form.serialize(form, true);

		body.ac = 'logout';

		Form.disable(form);

		

		new Ajax.Request(friendFeedServicePath + "friendfeed_ajax.php", {

			method : 'get',

			parameters : body,

			postBody : body,

			onSuccess : function(e) { 

				form['ff_username'].clear();

				form['ff_apikey'].clear();

				$('ff_authentry_' + id).show();

				$('ff_authsaved_' + id).hide();

				$('ff_likeentry_' + id).show();

			},

			onFailure : function(e) {

				alert("Sorry, an error occured: (" + e.status + ") " + e.statusText + "\n" + e.responseText);

			},

			onComplete : function() { 

				Form.enable(form);

				$('ff_loadingimage_' + id).hide();

			}

		});

	}

	

	this.addComment = function (e) {

		Event.stop(e);

		

		if ($F('ff_newcomment_' + this.id)) {

			this.sendAjaxRequest('friendfeedcommentslist', 'comment');

		}

	}

	

	this.addLike = function (e) { 

		Event.stop(e);

		this.sendAjaxRequest('friendfeedlikeslist', 'like');

	}

	

	this.sendAjaxRequest = function (updateDivId, action) {

		var form = $('ff_commentsform_' + this.id);

		var id = this.id;

		$('ff_loadingimage_' + id).show();



		if ((!$F('ff_username_' + id) || !$F('ff_apikey_' + id)) && !$('ff_authsaved_' + id).visible()) {

			alert('Please enter your FriendFeed username (nickname) and API Key.');

			form['ff_username'].focus();

		} else {		

			body = Form.serialize(form, true);

			body.ac = action;

			Form.disable(form);



			new Ajax.Request(friendFeedServicePath + "friendfeed_ajax.php", {

				method : 'get',

				parameters : body,

				postBody : body,

				onSuccess : function(resp) { 

					$(updateDivId + '_' + id).update(resp.responseText); 

					if (form['ff_remember'].checked && $('ff_authentry_' + id).visible()) {

						$('ff_usernamedisplay_' + id).update($F('ff_username_' + id));

						$('ff_authentry_' + id).hide();

						$('ff_authsaved_' + id).show();							

					}

					form['ff_newcomment'].clear();

				},

				onFailure : function(e) { 

					if (e.status == 401) {

						alert("Sorry, the username & API key don't match");

						form['ff_username'].focus();

					} else {

						alert("Sorry, an error occured: (" + e.status + ") " + e.statusText + "\n" + e.responseText);

						form['ff_newcomment'].focus();

					}

				},

				onComplete : function() { 

					Form.enable(form); 

					 $('ff_loadingimage_' + id).hide();

				}

			 });

		}				 

	}

}