function initContactsDrag() {

	//Hide groups
	$$('.group').each(function(el) { el.style.display = 'none'; el.previous().addClassName('collapsed') })
	$$('h5').each(function(el) {
	
		el.onclick = function() {
		
			var group = Element.extend(this).next();
			if(group.style.display == 'none') {
				Effect.SlideDown(group, { duration: 0.5 })
				this.removeClassName('collapsed')
			} else {
				var el = this;
				Effect.SlideUp(group, { duration: 0.5, afterFinish: function() { el.addClassName('collapsed') } })
			}
				
		}
		
	})
	
	//Remove from groups
	$$('.group img').each(function(el) {
		el.onclick = function() {
			deleteFromGroup(this)
		}
	})

	//Drag
	$$('.user').each(function(el) {
		
		new Draggable(el, {
			revert: true
		});
		
	})

	//&Drop!
	$$('.followers').each(function(el) {
		
		Droppables.add(el, {
			accept: 'follower',
			hoverclass: 'active',
			onDrop: function(drag, drop, event) { dropped(drag, drop, event) }
		});
		
	})
	
	$$('.followings').each(function(el) {

		Droppables.add(el, {
			accept: 'following',
			hoverclass: 'active',
			onDrop: function(drag, drop, event) { dropped(drag, drop, event) }
		});
		
	})
	
}

//Save in group
function dropped(user, group, event) {

	if(user.hasClassName('following'))
		var action = 'saveUserGroup';
	else
		var action = 'saveFriendGroup';

	var groupId = group.id.substr(2);
	var friendId = user.id.substr(1);
	var url = HOST+'ajax/save-group.php?action='+action+'&groupId='+groupId+'&friendId='+friendId;

	if($$('#'+group.id+' .group img[alt='+user.alt+']') == 0)
		new Ajax.Request(url, {
			method: 'get',
			asynchronous: false,
			onSuccess: function(transport) {
				if(transport.responseText == 'OK') {
					okMessage('El usuario fue guardado.');
					
					//Attach icon to group
					var p = $$('#'+group.id+' .group p');
					if(p.length > 0)
						p[0].remove();
					
					var user2 = document.createElement('img');
					user2.src = user.src;
					user2.alt = user.alt;
					user2.title = 'Click para borrar del grupo';
					user2.height = user.height;
					
					user2.onclick = function() {
						deleteFromGroup(this);
					}
					
					$$('#'+group.id+' .group')[0].insertBefore(user2, $$('#'+group.id+' .group div')[0]);
					
				} else {
					errorMessage('Hubo un error al guardar el usuario en el grupo seleccionado');
				}
			}
		});
	else
		errorMessage('El usuario seleccionado ya pertence al grupo.');
	
}

function deleteFromGroup(user2) {		
	var friendId = user2.id.substr(1);
	var groupId = user2.parentNode.parentNode.id.substr(2);

	new Effect.Puff(user2);

	if(user2.hasClassName('following'))
		var action = 'removeUserGroup';
	else
		var action = 'removeFriendGroup';

	var url = HOST+'ajax/delete-from-group.php?action='+action+'&groupId='+groupId+'&friendId='+friendId;
	
	new Ajax.Request(url);
}
