//Couldn't use an associative array because javascript sorting is stupid http://dev-answers.blogspot.com/2012/03/javascript-object-keys-being-sorted-in.html

jQuery(document).ready(function ($) {
	var serialize =  function () {
		var a = [];
		$('#sortable input').each(function () {
			a.push($(this).attr('id'));
		});
		$('#sorthide').val(JSON.stringify(a));
    };
	
	serialize();
	
	$('#sortable')
		.on('click', 'input', function () {
			// the + converts the boolean to either 1 or 0
			var c = +$(this).is(':checked'),
				old_id = $(this).attr('id'),
				new_id = old_id.slice(0, -1) + c;
			$(this).attr('id', new_id);
			serialize();
		})
		.sortable({
			placeholder: 'ui-state-highlight',
			update: serialize
		});
	
	$('#toggle_sortable').click(function (e) {
		e.preventDefault();
	    $('#sortable_container').slideToggle(function () {
			$('#toggle_sortable').text($(this).is(':visible') ? 'Collapse' : 'Expand');
	    }); 
	});
	
	$('#reset_sortable').click(function (e) {
		e.preventDefault();
	    $('#sortable').html(sortable_list_default); // var sortable_list_default is found on edit.php
	    serialize();
	});
});