function initListGroups(){

	       var sort = null;
	       
		   if ($(this).hasClass('sort-groups'))
			   sort = $(this).attr('href');
		   else
			   sort = 'news';
		   
			$.post(siteUrl('friends/ajax_groups/' + sort), {}, 

			function(data){

			$("#group-wrapper").empty();

			$.each(data.groups, function(i, group){

			var group_id = group.group_id
			var group_value = group.value;
			var group_added = group.added;
			
			injection = '<div class="groups-post" id="group-box-' + group_id + '">';

			injection += '<div class="groups-post-box">';
			injection += '<ul>';
			injection += '<li><a href="' + siteUrl('groups/' + group_id) + '"><span>manage</span></a></li>';
			injection += '<li class="alt"><a href="#"><span>edit</span></a></li>';
			injection += '</ul>';

			injection += '<div class="groups-post-box-txt">';
			injection += '<div><div><a href="' + siteUrl('groups/' + group_id) + '"><h3 id="rename-group-value-' + group.group_id + '">' + group.value + '</h3></a>';
			injection += '<span>you are currently editing this group</span>';
			injection += '</div></div>';
			injection += '<p><a href="' + siteUrl('groups/' + group_id) + '"><strong>' + group.member_count + ' people</strong></a> Created ' + group.fuzzy + '</p>';
			injection += '</div></div>';

			injection += '<div class="options">';
			injection += '<span class="close"><a href="#" onclick="return false;">close (x)</a></span>';
			injection += '<div class="options-box">';
			injection += '<div class="left">';
			injection += '<label>Rename this Group</label>';
			injection += '<span><input id="rename-' + group.group_id + '" type="text" value="' + group.value + '" /></span>';
			injection += '<input type="button" value="Submit" class="rename-group submit-btn size-small" id="rename-group-' + group.group_id + '" style="margin-left:5px;" /></span>';
			injection += '</div>';
			injection += '<div class="right"><p>You can add anyone that you are following to this group. <a href="' + siteUrl('groups/' + group.group_id ) + '"> Add some people now</a></p>';
			injection += '</div></div>';
			injection += '<div class="options-del">';
			injection += '<a id="kill-group-' + group.group_id + '" href="" class="kill-group btn-red"><span>Delete Group</span></a>';
			injection += '<p>This only deletes the actual group you created. Your SoulPancake friends won\'t be affected.</p>';
			injection += '</div></div></div>';


			$("#group-wrapper").append(injection);

			});

			refreshGroups();
			
			initOpenClose();
			initRenameGroup();
			initAddGroup();
			initKillGroup();
			initBlockFriend();
			initUnfollowFriendGroup();
			
			}, 'json');

			}

		function initManageMember(){

			$(".manage-member").unbind();
			
			
			$(".manage-member").click(function(e){

				e.preventDefault();

				var target_obj = this;
				var member_id = $(this).attr('id').split('-');

				member_id = member_id[1];
				
				var insert = false;
				
				if ($(this).hasClass('remove-from-group'))
					insert=true;
				else
					insert=false;
				
				
				
				$.post($(this).attr('href'), {}, 
						function(data){
					
							if (insert == true){
								
								
								
								$(target_obj).attr('href', siteUrl("friends/add_group_member/") + member_id + '/' + focused_group_id);
								$(target_obj).html("<img src='images/btn-115x31-add-to-group.png' alt='' width='115' height='31' />").toggleClass('remove-from-group').addClass('add-to-group');
							
							}
							else{
								$(target_obj).attr('href', siteUrl("friends/kill_group_member/") + member_id + '/' + focused_group_id);
								$(target_obj).html("<img src='images/btn-115x31-remove.png' alt='' width='115' height='31' />").addClass('remove-from-group');
							
								$("#add-friends-message").hide();
							}

							$("#group-list").empty();

							var focused_group_count = 0;
							
							$.each(data.groups, function(i, group){
								var injection = '<li class="group-dropoff" id="' + group.group_id + '"><a href="' + siteUrl('dashboard/groups/alpha/') + group.group_id + '"><strong>' + group.value + '</strong><span>' + group.member_count + '</span></a></li>';
								$("#group-list").append(injection);

								if(parseInt(group.group_id) == focused_group_id)
									focused_group_count = group.member_count; 

							});

							$("#focused-group-count").text(focused_group_count);

							$("#group-value").val('');

					
				}, 'json');
				
			});
		}

		function initUnfollowFriendGroup(){

			$(".unfollow-friend").unbind();
			
			$(".unfollow-friend").click(function(e){

				e.preventDefault();

				var target_obj = this;

				$.post($(this).attr('href'), {},


					function(data){

					if (remove_friend)
					{ 
						$("#" + data.member_id).remove(); 

					}	

					$("#message-text").html('<div class="error">You have unfollowed your friend.</div>');

//					$.scrollTo(0, 800, {easing:"swing", onAfter: function(){initMessage();}});
					initMessage();
					
				}, 'json');
				
			});
			
		}

		function initBlockFriend(){

			$(".block-friend").unbind();

			$(".block-friend").click(function(e){

				e.preventDefault();

				var target_obj = this;

				if (confirmation('Are you sure you want to block this user?')){
					
					$.post($(this).attr('href'), {},
							function(data){

							$("#" + data.member_id).remove();

							$("#message-text").html('<div class="error">You have blocked your friend.</div>');

//							$.scrollTo(0, 800, {easing:"swing", onAfter: function(){initMessage();}});
							initMessage();

							refreshGroups();
							
						}, 'json');
					
				}
			});
		}
				
		function refreshGroups(){

			$.post('friends/ajax_groups/news:alpha/0/6', {}, 

					function(data){

			
			$("#group-list").empty();
			var group_count = 0;
			
			$.each(data.groups, function(i, group){

				++group_count;
				
				var injection = '<li class="group-dropoff" id="' + group.group_id + '"><a href="' + siteUrl('groups/') + group.group_id + '"><strong>' + group.value + '</strong><span>' + group.member_count + '</span></a></li>';
				$("#group-list").append(injection);
			});

			
			$("#group-value").val('');

			initGroupDropoff();

			}, 'json');

		}

		function initAddGroup(){

			$("#add-group").unbind();
			
			$("#add-group").click(function(e){

				e.preventDefault();

				if ($("#group-value").val() != '' && $("#group-value").val() != undefined){

					$.post('friends/add_group/', {
						val: $("#group-value").val(),
						json: true
					}, function(data){

						if (data.error != undefined){
							
							$("#message-text").html('<div class="error">' + data.error + '</div>');
							initMessage();
//							$.scrollTo(0, 800, {easing:"swing", onAfter: function(){initMessage();}});
							
						}
						else{
							
						$("#message-text").html('<div class="success">You added a new group.</div>');
						initMessage();

//						$.scrollTo(0, 800, {easing:"swing", onAfter: function(){initMessage();}});
						
						
						refreshGroups();

						if (add_refresh)
							window.location = siteUrl("dashboard/groups");	
							
						var group_id = data.new_group.group_id
						var group_value = data.new_group.value;
						var group_added = data.new_group.added;
						var group_member_count = data.new_group.member_count;
						var group_fuzzy = data.new_group.fuzzy;
						
						injection = '<div class="groups-post" id="group-box-' + group_id + '">';

						injection += '<div class="groups-post-box">';
						injection += '<ul>';
						injection += '<li><a href="' + siteUrl('groups/' + group_id) + '"><span>manage</span></a></li>';
						injection += '<li class="alt"><a href="#" onclick="return false;"><span>edit</span></a></li>';
						injection += '</ul>';

						injection += '<div class="groups-post-box-txt">';
						injection += '<div><div><h3 id="rename-group-value-' + group_id + '"><a href="' + siteUrl('groups/' + group_id) + '">' + group_value + '</a></h3>';
						injection += '<span>you are currently editing this group</span>';
						injection += '</div></div>';
						injection += '<p><strong><a href="' + siteUrl('groups/' + group_id) + '">' + '0 people</a></strong> Fresh off the skillet!</p>';
						injection += '</div></div>';

						injection += '<div class="options">';
						injection += '<span class="close"><a href="#" onclick="return false;">close (x)</a></span>';
						injection += '<div class="options-box">';
						injection += '<div class="left">';
						injection += '<label>Rename this Group</label>';
						injection += '<span><input id="rename-' + group_id + '" type="text" value="' + group_value + '" /></span>';
						injection += '<input type="button" value="Submit" class="rename-group" id="rename-group-' + group_id + '" /></span>';
						injection += '</div>';
						injection += '<div class="right"><p>You can add people to this group from your <strong>Friends List<strong>. Simply <strong>drag and drop</strong> each person\'s photo into the group that you want them in. <a href="' + siteUrl('groups/' + group_id)  + '"> Add some people now</a></p>';
						injection += '</div></div>';
						injection += '<div class="options-del">';
						injection += '<a id="kill-group-' + group_id + '" href="" class="kill-group btn-red"><span>Delete Group</span></a>';
						injection += '<p>This only deletes the actual group you created. Your SoulPancake friends won\'t be affected.</p>';
						injection += '</div></div></div>';


						$("#group-wrapper").prepend(injection);

						
						}

						
						initOpenClose();
						initKillGroup();
						initRenameGroup();
						
						
					}, 'json');
				}
			});
		}

		function initRenameGroup(){

			$(".rename-group").unbind();
			
			$(".rename-group").click(function(e){

				e.preventDefault();
	
				var target_obj = this;
				var group_id = $(this).attr('id').split('-');
				
				group_id = group_id[2];
				
				var value = $("#rename-" + group_id).val();

				$.post(siteUrl('/friends/rename_group/') + group_id, { value: value },
					function(data){

					$("#rename-group-value-" + group_id).html(value);

					refreshGroups();
					
				}, 'json'); 
						
			});
			
		}

		function initKillGroup(){

			$(".kill-group").unbind();
			
			$(".kill-group").click(function(e){

				e.preventDefault();


				if (confirmation('Are you sure you want to delete this group?')){

					var target_obj = this;

					var group_id = $(this).attr('id').split('-');

					group_id = group_id[2];

					$.ajax({
						  url: siteUrl("friends/kill_group/") + group_id,
						  type: 'POST',
						  cache: false,
						  dataType: 'json',
						  success: function(data){

							  $("#message-text").html('<div class="error">You removed a group.</div>');
							  initMessage();

//							  $.scrollTo(0, 800, {easing:"swing", onAfter: function(){ initMessage();}});
							  

							  $("#group-box-" + group_id).remove();
							  $(".group-" + group_id).remove();

								refreshGroups();
								
						  },
						  error: function(){
								window.location = siteUrl('dashboard/groups');
						  }
						});
										
				}		
			});
		}
			
		function initGroupDropoff(){

			$(".group-dropoff").droppable({ 
			
			accept: '.picture', hoverClass:'droppable-list',
			
			activate: function(e, ui) {
				$("li.ui-droppable").addClass('droppable-list');
			},
			
			deactivate: function(e, ui) {
				$("li.ui-droppable").removeClass('droppable-list');
			},
			
			drop: function(e, ui) {
				 
				
				var member_id = $(ui.draggable).attr('id');
				var group_id = $(this).attr('id');

				$.post(siteUrl('friends/add_group_member'), {
					member_id: member_id,
					group_id: group_id
				}, function(data){

					$("#group-list").empty();
					var focused_group_count = 0;
					
					$.each(data.groups, function(i, group){

					var injection = '<li class="group-dropoff" id="' + group.group_id + '"><a href="' + siteUrl('dashboard/groups/alpha/') + group.group_id + '"><strong>' + group.value + '</strong><span>' + group.member_count + '</span></a></li>';


					if (focused_group_id != undefined){
						
						if (parseInt(group.group_id) == focused_group_id)
							focused_group_count = group.member_count;
						
					}
					
										
					$("#group-list").append(injection);
					});
			

					if (focused_group_id != undefined) {
						if (group_id == focused_group_id){

							$("#manage-" + member_id).attr('href', siteUrl("friends/kill_group_member/") + member_id + '/' + focused_group_id);
							$("#manage-" + member_id).text('Remove');
							$("#focused-group-count").text(focused_group_count);
						}
					} 
					
					
					$("#group-value").val('');

					initGroupDropoff();
				
				}, 'json');
				}
			 });
		}
