$(function() {
	$(".column").sortable({
		connectWith: '.column',
		stop: function(event, ui) { 
			var p_least = $('.column.least').find('.portlet');
			var p_less  = $('.column.less').find('.portlet');
			var p_neutral = $('.column.neutral').find('.portlet');
			var p_more = $('.column.more').find('.portlet');
			var p_most = $('.column.most').find('.portlet');
			
			if ($(p_least).size() >= 4) {
				$(p_least).parent().addClass('complete');
			} else {
				$(p_least).parent().removeClass('complete');
			}
			if ($(p_less).size() >= 6) {
				$(p_less).parent().addClass('complete');
			} else {
				$(p_less).parent().removeClass('complete');
			}
			if ($(p_neutral).size() >= 10) {
				$(p_neutral).parent().addClass('complete');
			} else {
				$(p_neutral).parent().removeClass('complete');
			}
			if ($(p_more).size() >= 6) {
				$(p_more).parent().addClass('complete');
			} else {
				$(p_more).parent().removeClass('complete');
			}
			if ($(p_most).size() >= 4) {
				$(p_most).parent().addClass('complete');
			} else {
				$(p_most).parent().removeClass('complete');
			}
			
			if (
				$(p_least).size() > 4 || 
				$(p_less).size() > 6 || 
				$(p_neutral).size() > 10 || 
				$(p_more).size() > 6 || 
				$(p_most).size() > 4 
			) {
				$(this).sortable('cancel');
			}

			if ($('.column.start').find('.portlet').size() == 0) {
				$('<a href="#" class="values-sort_submit">Submit</a>').appendTo('.column.start');
			} else {
				$('.values-sort_submit').remove();
			}
		},
		cursor: 'move'
	});

	$(".portlet").addClass("ui-widget ui-widget-content ui-helper-clearfix ui-corner-all")
		.find(".portlet-header")
			.addClass("ui-widget-header ui-corner-all")
			.end()
		.find(".portlet-content");

	$(".portlet-header .ui-icon").click(function() {
		$(this).toggleClass("ui-icon-minusthick");
		$(this).parents(".portlet:first").find(".portlet-content").toggle();
	});

	$(".column").disableSelection();
	
	$('.values-sort_submit').live('click', function() {
		$('input[name^="value_importances::importance_id"]').each(function() {
			var id = $(this).parents('.column').attr('id');
			$(this).val(id);
		})
		$('form:first').submit();
	})
});
