(function($) {
Drupal.behaviors.menuEditor = {
attach: function (context, settings) {
$('#menu-editor-overview-form #menu-overview', context).each(function(){
// table elements
var table = $(this);
var tbody = $('tbody', this);
// delete all checkbox
(function(){
var th_delete = $('thead th.delete-checkbox', table);
var master_delete_checkbox = $('');
th_delete.html(' '+th_delete.html()+'');
th_delete.prepend(master_delete_checkbox);
var onchange = function(){
var checked_now = master_delete_checkbox.attr('checked');
$('tbody td.delete-checkbox :checkbox', table).attr('checked', checked_now);
};
master_delete_checkbox.change(onchange);
// IE does not trigger the change event..
if ($.browser.msie) {
master_delete_checkbox.click(onchange);
}
})();
// freeze width of first column (currently disabled)
if (false) {
var w = $('td.drag', this).width();
$('td.drag', this).each(function(){
$(this).css('width', w+'px');
});
}
// get reference css for textareas
var ref_input = $('td.path-edit input', this);
var h = ref_input.height();
var ref_css = {
'height': h + 'px',
'padding-top': ref_input.css('padding-top'),
'padding-bottom': ref_input.css('padding-bottom')
};
var div_ref_height = ref_input.parent().height();
// adjust height of existing description textareas
$('td.description textarea', this).css(ref_css);
// this is necessary because of the vertical-align:middle
$('td.description div.form-item', this).css('height', div_ref_height+'px');
// description column resizing
$('td.description textarea', this).focus(function(){
table.addClass('focus-description-column');
$('tr.focus', table).removeClass('focus');
$(this).parents('tr').slice(0, 1).addClass('focus');
});
$('td:not(.description) input', this).focus(function(){
table.removeClass('focus-description-column');
$('tr.focus', table).removeClass('focus');
$(this).parents('tr').slice(0, 1).addClass('focus');
});
});
}
};
})(jQuery);