
	window.addEvent('load', function() {

		var closed = 1;

		// element references
		var BlockEl = $(document.body).getElement('.tpl-category-summary');
		
		if(BlockEl)
		{
			var CopyEl = BlockEl.getElement('.copy');
			var MoreEl = CopyEl.getElement('.break');
	
			// if no break tag was found, no drawer script necessary
			if(MoreEl)
			{
	
				// static element coordinates
				var BlockElHeight = BlockEl.getSize().y - CopyEl.getStyle('padding-bottom').toInt();
				var MoreElPos = MoreEl.getCoordinates(CopyEl);
		
				// if no scroll area detected, no drawer script necessary
				if(MoreElPos.bottom >= BlockElHeight) return;
		
				// resize description block
				// update description block style to accomodate more/less link bar
				BlockEl.set('styles', {
					'height' : MoreElPos.top+'px',
					'margin' : '0'
				});
				CopyEl.set('style', 'padding-bottom:0');
		
				// create more/less link element, place after description block
				var moreLess = new Element('div', {
					'class' : 'more'
				}).inject(BlockEl, 'after');
				var moreLessText = new Element('p', {
					text: '[more]'
				}).inject(moreLess);
		
				// set up scroller
				var sl=new Fx.Tween(BlockEl, {
					'property' : 'height',
					'unit' : 'px',
					'onComplete' : function() {
						moreLessText.set('text', ((closed) ? '[more]' : '[less]'));
					}
				});
		
				// disable text selection for more link
				moreLess.onselectstart=function(){return false} // ie
				moreLess.onmousedown=function(){return false} // moz
				
				// set click event
				moreLess.addEvent('click', function(e) {
					// determine whether opening or closing the drawer
					var d = (closed) ? [MoreElPos.top, BlockElHeight, 0] : [BlockElHeight, MoreElPos.top, 1] ;
					closed = d[2];
					sl.start(d[0], d[1]);
				});
			}
		}
		
		// restore page display
		$(document.body).setStyle('visibility', 'visible');
		
	});
