window.addEvent(
	'domready', function() {
		initList();
	}
);
function initList() {
	var listDiv = $('post');
	var listContent = listDiv.getChildren();
	var itemDivs = new Array();
	var headerCardinality = -1;
	for (var i = 0; i < listContent.length; i++) {
		if (listContent[i].match('h2')) {
			headerCardinality++;
			listContent[i].setStyles({
				'font-size': '18px',
				'line-height': '18px',
				'padding-bottom': '2px',
				'padding-top': '3px'
			});
			itemDivs[headerCardinality] = new Element(
				'div',
				{
					'class': 'list-content',
					'styles': {
						'height': listContent[i].getSize().y
					},
					'events': {
						'click': function() {
							toggleContent(this);
						}
					}
				}
			);
			itemDivs[headerCardinality].inject(listContent[i], 'before');
		} else if (listContent[i].match('h1')) {
			listContent[i].setStyle('padding-bottom', '18px');
		}
		if (headerCardinality >= 0) {
			itemDivs[headerCardinality].adopt(listContent[i]);
		}
	}
}
function toggleContent(el) {
	var morph = new Fx.Morph(el);
	var morphHeight = el.getSize().y;
	var headerHeight = el.getElement('h2').getSize().y;
	if (morphHeight > headerHeight) {
		morph.start({
			'height': headerHeight,
			'padding-bottom': 0,
			'padding-top': 0
		});
	} else {
		var children = el.getChildren();
		var newHeight = 0;
		for (var i = 0; i < children.length; i++) {
			newHeight += children[i].getSize().y;
		}
		morph.start({
			'height': newHeight,
			'padding-bottom': '18px',
			'padding-top': '18px'
		});
	}
}
