(function($){ var updateUpDown = function(sortable){ $('div:not(.ui-sortable-helper)', sortable) .removeClass('first').removeClass('last') .find('.up, .down').removeClass('disabled').end() .filter(':first').addClass('first').find('.up').addClass('disabled').end().end() .filter(':last').addClass('last').find('.down').addClass('disabled').end().end(); }; var moveUpDown = function(){ var link = $(this), dl = link.parents('div'), prev = dl.prev('div'), next = dl.next('div'); if(link.is('.up') && prev.length > 0) dl.insertBefore(prev); if(link.is('.down') && next.length > 0) dl.insertAfter(next); updateUpDown(dl.parent()); }; var addItem = function(){ var sortable = $(this).parents('.ui-sortable'); var options = 'updown'; var tpl = '
{name}' + options + '
{desc}
'; var html = tpl.replace(/{name}/g, 'Dynamic name :D').replace(/{desc}/g, 'Description'); sortable.append(html).sortable('refresh').find('a.up, a.down').bind('click', moveUpDown); updateUpDown(sortable); }; //var emptyTrashCan = function(item){ // item.remove(); //}; var sortableChange = function(e, ui){ if(ui.sender){ var w = ui.element.width(); ui.placeholder.width(w); ui.helper.css("width",ui.element.children().width()); } }; var sortableUpdate = function(e, ui){ //if(ui.element[0].id == 'trashcan'){ // emptyTrashCan(ui.item); //} else { updateUpDown(ui.element[0]); if(ui.sender) updateUpDown(ui.sender[0]); //} }; // toggle content panel var togglePanel = function(e) { var targetContent = $('div.panelcontent', this.parentNode.parentNode); if (targetContent.css('display') == 'none') { targetContent.slideDown(400); $(this).html('[-]'); $(this).css("color","#cccccc"); } else { targetContent.slideUp(400); $(this).html('[+]'); $(this).css("color","#666666"); } return false; }; // toggle edit panel var editpanel = function(e) { var targetEditPanel = $('div.editpanel', this.parentNode.parentNode); if (targetEditPanel.css('display') == 'none') { targetEditPanel.slideDown(400); } else { targetEditPanel.slideUp(400); } $(this).toggleClass("active"); return false; return false; }; $(document).ready(function(){ // toggle edit panel $('a.button_editpanel').bind('click', editpanel); // toggle content panel $('a.togglepanel').bind('click', togglePanel); var els = ['#mainContent', '#sidebar_right']; var $els = $(els.toString()); //$('h2', $els.slice(0,-1)).append('add'); //$('dt', $els).append('updown'); //$('a.add').bind('click', addItem); //$('a.up, a.down').bind('click', moveUpDown); //$els.each(function(){ // updateUpDown(this); //}); $els.sortable({ items: '> div', handle: 'h1', cursor: 'move', //revert: true, cursorAt: { top: 10, left: 100 }, //opacity: 0.8, containment: 'parent', appendTo: 'body', placeholder: 'placeholder', connectWith: els, start: function(e,ui) { ui.helper.css("width", ui.item.width()); }, change: sortableChange, update: sortableUpdate }); }); $(window).bind('load',function(){ setTimeout(function(){ $('#overlay').fadeOut(function(){ $('body').css('overflow', 'auto'); }); }, 450); }); })(jQuery);