Please try the extended 'open' and 'close' methods instead.
$.extend($.fn.layout.methods, {
close: function(jq, region){
return jq.each(function(){
var c = $(this);
closePanel(region);
closePanel('expand'+region.substr(0,1).toUpperCase()+region.substr(1));
c.layout('resize');
function closePanel(region){
var p = c.layout('panel', region);
if (p){
p.panel('close');
}
}
})
},
open: function(jq, region){
return jq.each(function(){
var c = $(this);
var p = $(this).layout('panel', region);
var p1 = $(this).layout('panel', 'expand'+region.substr(0,1).toUpperCase()+region.substr(1));
if (p.panel('options').collapsed){
p1.panel('open');
} else {
p.panel('open');
}
$(this).layout('resize');
})
}
})
Usage example:
$('#cc').layout('close', 'east'); // close the east region panel
$('#cc').layout('open', 'east'); // open the east region panel