var setSelector = "#list1";
var setCookieName = "listOrder";
var setCookieExpiry = 7;

function getOrder() {
$.cookie(setCookieName, $(setSelector).sortable("toArray"), { expires: setCookieExpiry, path: "/" });
}

function restoreOrder() {
	var list = $(setSelector);
	if (list == null) return
	var cookie = $.cookie(setCookieName);
	if (!cookie) return;
	var IDs = cookie.split(",");
	var items = list.sortable("toArray");
	var rebuild = new Array();
	for ( var v=0, len=items.length; v<len; v++ ){
	rebuild[items[v]] = items[v];
	}
	for (var i = 0, n = IDs.length; i < n; i++) {
	var itemID = IDs[i];
	if (itemID in rebuild) {
	var item = rebuild[itemID];
	var child = $("div.ui-sortable").children("#" + item);
	var savedOrd = $("div.ui-sortable").children("#" + itemID);
	child.remove();
	$("div.ui-sortable").filter(":first").append(savedOrd);
	}
	}
	}

$(function() {
$(setSelector).sortable({
axis: "z",
cursor: "move",
update: function() { getOrder(); }
});
restoreOrder();
});
