var PortletDraggable = function () {

    return {
        //main function to initiate the module
        init: function (object) {

            if (!jQuery().sortable) {
                return;
            }

            var element = object;

            if(typeof element == 'undefined') {
                element = $("#sortable_portlets");
            }

            element.sortable({
                connectWith: ".portlet",
                items: ".portlet",
                opacity: 0.8,
                coneHelperSize: true,
                placeholder: 'portlet-sortable-placeholder',
                forcePlaceholderSize: true,
                tolerance: "pointer",
                helper: "clone",
                tolerance: "pointer",
                forcePlaceholderSize: !0,
                helper: "clone",
                cancel: ".portlet-sortable-empty",
                revert: 250, // animation in milliseconds
                update: function(b, c) {
                    if (c.item.prev().hasClass("portlet-sortable-empty")) {
                        c.item.prev().before(c.item);
                    }
                }
            });
        }
    };
}();