/**
 * CHANGES v.2.1.3 - Made it $.noConflict() compatible v.2.1.2 - Fixed bug in
 * which nested fieldsets do not work correctly. v.2.1.1 - Forgot to put the new
 * filter from v.2.1 into the if (settings.closed) v.2.1 - Changed
 * jQuery(this).parent().children().filter( ELEMENTS HERE) to
 * jQuery(this).parent().children().not('label'). Prevents you from having to
 * guess what elements will be in the fieldset. v.2.0 - Added settings to allow
 * a fieldset to be initiated as closed.
 * 
 * This script may be used by anyone, but please link back to me.
 * 
 * Copyright 2009-2010. Michael Irwin (http://michael.theirwinfamily.net)
 */

jQuery.fn.collapse = function(options) {
	var defaults = {
		closed : false
	};
	
	settings = jQuery.extend({}, defaults, options);

	return this.each(function() {
		var obj = jQuery(this);
		obj.find("legend:first").addClass('collapsible').click(
				function() {
					if (obj.hasClass('collapsed'))
						obj.removeClass('collapsed').addClass('collapsible');

					jQuery(this).removeClass('collapsed');

					obj.children().not('legend').toggle(
							"slow",
							function() {

								if (jQuery(this).is(":visible"))
									obj.find("legend:first").addClass(
											'collapsible');
								else
									obj.addClass('collapsed').find("legend")
											.addClass('collapsed');
							});
				});
		if (settings.closed) {
			obj.addClass('collapsed').find("legend:first")
					.addClass('collapsed');
			obj.children().not("legend:first").css('display', 'none');
		}
	});
};

