$(document).ready(function () { // close all drawer elements $('li.drawer ul').hide(); // register click handler for elggtoolbar and define onclick function $('h2.drawer-handle').click(function () { $('li.drawer ul:visible').slideUp('medium').prev().removeClass('open'); $(this).addClass('open').next().slideDown('fast'); return false; }); // register click function for toggling box contents $('a.toggle_box_contents').bind('click', toggleContent); // click function for box contents edit panel $('a.toggle_box_edit_panel').click(function () { $(this.parentNode.parentNode).children("[class=collapsable_box_editpanel]").slideToggle("fast"); return false; }); // click function for customise edit panel $('a.toggle_customise_edit_panel').click(function () { $('div#customise_editpanel').slideToggle("fast"); return false; }); // click function for customise panel - remove widget $('img.remove_me').click(function () { //$(this.parentNode.parentNode.parentNode.parentNode.parentNode).fadeOut("medium"); $(this.parentNode.parentNode.parentNode.parentNode.parentNode).fadeOut("medium", function () { $(this).remove(); var widgetNameMain = ($('#main_widgets').text()).replace(/[\n]/g, ','); var widgetNameRight = ($('#rightsidebar_widgets').text()).replace(/[\n]/g, ','); document.getElementById('debugField1').value = widgetNameMain; document.getElementById('debugField2').value = widgetNameRight; }); return false; }); // draggable, droppable, and sortable elements // sortable widgets var els = ['#main_widgets', '#rightsidebar_widgets']; var $els = $(els.toString()); $els.sortable({ items: '.draggable_widget', handle: '.drag_handle', cursor: 'move', revert: true, opacity: 0.8, appendTo: 'body', placeholder: 'placeholder', connectWith: els, start:function(e,ui) { // prevent droppable drop function from running when resorting main lists $('#rightsidebar_widgets').droppable("disable"); $('#main_widgets').droppable("disable"); }, stop: function(e,ui) { $(this).sortable( "refresh" ); var widgetNameMain = ($('#main_widgets').text()).replace(/[\n]/g, ','); var widgetNameRight = ($('#rightsidebar_widgets').text()).replace(/[\n]/g, ','); //alert('widgetName = ' +widgetName); document.getElementById('debugField1').value = widgetNameMain; document.getElementById('debugField2').value = widgetNameRight; } }); // define draggable widgets from gallery $("#widget_picker_gallery .draggable_widget").draggable({ helper: 'clone', containment: '#customise_editpanel', start: function(ev, ui) { $('#rightsidebar_widgets').droppable("enable"); $('#main_widgets').droppable("enable"); } }); // define what happens when new widgets are dragged from the gallery $("#rightsidebar_widgets").droppable({ accept: ".draggable_widget", hoverClass: 'droppable-hover', drop: function(ev, ui) { $(this).append($(ui.draggable).clone() ); $(this).droppable("disable"); $('img.remove_me').click(function () { $(this.parentNode.parentNode.parentNode.parentNode.parentNode).fadeOut("medium", function () { $(this).remove(); var widgetNameMain = ($('#rightsidebar_widgets').text()).replace(/[\n]/g, ','); document.getElementById('debugField2').value = widgetNameMain; }); return false; }); $els.sortable( "refresh" ); var widgetNameRight = ($('#rightsidebar_widgets').text()).replace(/[\n]/g, ','); document.getElementById('debugField2').value = widgetNameRight; } }); $("#main_widgets").droppable({ accept: ".draggable_widget", hoverClass: 'droppable-hover', drop: function(ev, ui) { $(this).append($(ui.draggable).clone() ); $(this).droppable("disable"); $('img.remove_me').click(function () { $(this.parentNode.parentNode.parentNode.parentNode.parentNode).fadeOut("medium", function () { $(this).remove(); var widgetNameMain = ($('#main_widgets').text()).replace(/[\n]/g, ','); document.getElementById('debugField1').value = widgetNameMain; }); return false; }); $els.sortable( "refresh" ); var widgetNameMain = ($('#main_widgets').text()).replace(/[\n]/g, ','); document.getElementById('debugField1').value = widgetNameMain; } }); }); // toggle box content var toggleContent = function(e) { var targetContent = $('div.collapsable_box_content', this.parentNode.parentNode); if (targetContent.css('display') == 'none') { targetContent.slideDown(400); $(this).html('-'); $(this.parentNode).children("[class=toggle_box_edit_panel]").fadeIn('medium'); } else { targetContent.slideUp(400); $(this).html('+'); $(this.parentNode).children("[class=toggle_box_edit_panel]").fadeOut('medium'); // make sure edit pane is closed $(this.parentNode.parentNode).children("[class=collapsable_box_editpanel]").hide(); } return false; };