function makeSortable(controller, extraParam, paramID)
{
    Sortable.create('children',
        {
            update:'children',
            tag:'tbody',
            handle:'grip',
            onUpdate:function(sortable) {
                Element.show('message');
                setStatus('Re-ordering');
                if (extraParam != '') {
                	var attach = '&'+extraParam+'='+paramID;
                } else {
                	var attach = '';
                }
                //new Ajax.Updater('\"children\"','/digitalAgua/admin/'+controller+'/order',
                new Ajax.Request('/admin/'+controller+'/order',
               {
                        asynchronous:true,
                        evalScripts:true,
                        /*onComplete:function(request, json) {
                            makeSortable();
                            setStatus('Sort Order Updated');
                        },*/
                        onSuccess: function(transport) {
                            if (202 == transport.status) {
                                $('children').update(transport.responseText);
                                setStatus('Unable to order the records');
                            } else {
                                $('children').update(transport.responseText);
                                makeSortable(controller, extraParam, paramID);
								setStatus('Sort Order Updated');
                            }
                        },
                        parameters:Sortable.serialize('children') + attach,
                        requestHeaders:['X-Update', '\"children\"']
                    }
                )
            }
        }
    );
}