(function() { var Dom = YAHOO.util.Dom, Event = YAHOO.util.Event; Event.onDOMReady(function() { var layout = new YAHOO.widget.Layout({ units: [ /* header */ { position: 'top', height: 114, body: 'hd', gutter: '1px' }, /* footer */ { position: 'bottom', height: 30, body: 'ft', gutter: '-1px' }, /* left sidebar */ { position: 'left', header: 'Actions', width: 200, resize: true, body: 'left', gutter: '5px', collapse: true, collapseSize: 25, scroll: true, animate: true }, /* main area */ { position: 'center', body: 'yui-main', scroll: true } ] }); layout.on('render', function() { layout.getUnitByPosition('left').on('close', function() { closeLeft(); }); }); layout.render(); Event.on('tLeft', 'click', function(ev) { Event.stopEvent(ev); layout.getUnitByPosition('left').toggle(); }); Event.on('padRight', 'click', function(ev) { Event.stopEvent(ev); var pad = prompt('CSS gutter to apply: ("2px" or "2px 4px" or any combination of the 4 sides)', layout.getUnitByPosition('right').get('gutter')); layout.getUnitByPosition('right').set('gutter', pad); }); var closeLeft = function() { var a = document.createElement('a'); a.href = '#'; a.innerHTML = 'Add Left Unit'; Dom.get('closeLeft').parentNode.appendChild(a); Dom.setStyle('tLeft', 'display', 'none'); Dom.setStyle('closeLeft', 'display', 'none'); Event.on(a, 'click', function(ev) { Event.stopEvent(ev); Dom.setStyle('tLeft', 'display', 'inline'); Dom.setStyle('closeLeft', 'display', 'inline'); a.parentNode.removeChild(a); layout.addUnit(layout.get('units')[3]); layout.getUnitByPosition('left').on('close', function() { closeLeft(); }); }); }; Event.on('closeLeft', 'click', function(ev) { Event.stopEvent(ev); layout.getUnitByPosition('left').close(); }); }); })();