document.observe("dom:loaded", function() {

	var toggleArticle = function(article) {
		if (article.status == 'open') {
			article.status = 'closed';
			article.blindUp({duration: 0.5});
		} else {
			article.status = 'open';
			article.setStyle({height: article.originalHeight + 'px'});
			article.blindDown({duration: 0.75});
		}
	}

	var collapsibleArticles = $$('div.article_collapsible');
	if (collapsibleArticles) {
		collapsibleArticles.each(function(article) {

			var titleElem = article.previous(0);
			article.status = 'open';

			var containerElem = titleElem.up(0);

			if (containerElem && containerElem.hasClassName('article')) {
				containerElem.addClassName('collapsible_container');
			}

			var prevElem = article.previous(0);
			var parentElem = prevElem.up(0);

			var containerElemPaddingBottom = parentElem.getStyle('paddingBottom').replace('px', '');
			containerElemPaddingBottom = parseInt(containerElemPaddingBottom);

			article.originalHeight = article.getHeight() + containerElemPaddingBottom;

			var article = titleElem.next(0);

			article.setStyle({height: article.originalHeight + 'px'});

			if (titleElem && titleElem.hasClassName('closed')) {
				article.status = 'closed';
				article.hide();
			}

			Event.observe(titleElem, 'click', function(event) {

				var article = this.next(0);

				if (article) {
					toggleArticle(article);
					this.toggleClassName('open');
					this.toggleClassName('closed');
				}
			});
		});
	}

});
