function pageInitEditMode() {
	// Make clusters sortable
	$('.groupWrapper').sortable(
		{
			revert:			'true',
			handle:			'.itemMove',
			axis:			'y'
		}
	);
	
	// Sort the clusters
	initialSortEditMode();
	
	// Register Submit Eventhandler
	//$('form[name=imperia]').submit(serializeLists);
	$('a img[name=actpre]').parent().click(serializeLists);
}

function pageInitViewMode() {
	// Sort the clusters
	initialSortViewMode();
}

// Read and convert the serialized sequence
function serializeLists() {
	var num;
	var sequence;
	var delimiter = '|';
	
	$('.groupWrapper').each(function() {
		num	= $(this).attr('id').replace(/cluster([0-9])/g, '$1');
		if ($('#sequence' + num)) {
			//seq = $(this).sortable('serialize', { attribute:'class', expression:' (.+)[-=_](.+)' });
			sequence = $(this).sortable('serialize', { attribute:'class', expression:' (.+)[-=_](.+)' }).replace(/item\[\]=([0-9]*)&?/g, '$1' + delimiter);
			sequence = sequence.slice(0,sequence.lastIndexOf(delimiter));
			$('#sequence' + num).val(sequence);
			//console.log('s' + num + '=' + sequence);
		}
	});
}

// Get the sorting sequence and sort the clusters (Edit Mode)
function initialSortEditMode() {
	var num;
	var sequence;
	var delimiter = '|';
	
	$('.groupWrapper').each(function() {
		num	= $(this).attr('id').replace(/cluster([0-9])/g, '$1');
		if ($('#sequence' + num).val() != '') {
			sequence = $('#sequence' + num).val();
			cells = sequence.split(delimiter);
			for (var i=0;i<cells.length;i++) {
				$(this).find('.groupItem:last').after($(this).find('.item_' + cells[i]));
			}
		}
	});
}

// Get the sorting sequence and sort the clusters (View Mode)
function initialSortViewMode() {
	var num;
	var sequence;
	var delimiter = '|';
	
	$('.berufe_cluster').each(function() {
		num	= $('.berufe_cluster').attr('id').replace(/cluster([0-9])/g, '$1');
		if ($('#sequence' + num).html() != '') {
			sequence = $('#sequence' + num).html();
			cells = sequence.split(delimiter);
			for (var i=0;i<cells.length;i++) {
				$(this).find('.groupItem:last').after($(this).find('.item_' + cells[i]));
			}
		}
	});
}

// Sort single element up or down
function singleSort(element,direction) {
	var parentElement	= $(element).parents('.groupItem');
	var previousElement	= $(parentElement).prev();
	var nextElement		= $(parentElement).next();
	
	// Reorder
	if (direction == 'up' && previousElement) {
		$(previousElement).before(parentElement);
	}
	if (direction == 'down' && nextElement) {
		$(nextElement).after(parentElement);
	}
}

