;(function($) {
	$.fn.collapsable = function(settings) {
		var config = {headerClass: null, containerClass: null, visitedClass: 'visited', activeClass: 'active', slidingSpeed: 600};
		$.extend(config, settings);
		
		var headers = this.children(config.headerClass ? '.' + config.headerClass : ':first-child');
		var containers = this.children(config.containerClass ? '.' + config.containerClass : ':nth-child(2)');

		containers.hide();
		headers.click(function() {
			var header = $(this);
			var active = headers.filter('.' + config.activeClass);
			if(active.length) {
				active.toggleClass(config.activeClass)
						.addClass(config.visitedClass)
						.next()
						.slideToggle(config.slidingSpeed);
			}
			if(active.get(0) != header.get(0)) { 
				header.toggleClass(config.activeClass)
						.next()
						.slideToggle(config.slidingSpeed);
			}
		});
		
		return this;
	};
})(jQuery);
