/**
 * Creates an accordion menu using jQuery
 * 
 * @author	Dave Widmer
 * @version	1.0	2009-01-07
 * @see		http://www.davewidmer.net/projects/jquery_accordion
 */
(function($){
		
	$.fn.accordion = function(content, options_obj){
		// First element is an empty object so it won't override the defaults object
		var options = $.extend({}, $.fn.accordion.defaults, options_obj);
		// Add in options
		options.selection = this;
		options.content = content || options.content;
		
		initialize(options);
		return this.each(function(i){
			$(this).click(function(){
				openSection(this, options);
			});
		});
	};
	
	$.fn.accordion.defaults = {
		content:'ul',
		show:'',
		open:'slow',
		close:'normal'
	};
	
	var initialize = function(options){
		$(options.selection).each(function(){
			/*$(options.content,this).css('height',$(options.content,this).height());	*/						   
			$(this).parents(".tab").addClass("menu_open");
			$(options.content,this).hide();
		});
		if(options.show !==  ''){
			var show = $(options.selection).filter(options.show).eq(0);
			$(options.content,show).show();
		}
	};
	
	var openSection = function(section, options){
		if( ! $(options.content,section).is(':visible') ){
			closeActive(options);
			(options.open !== 'none') ? $(options.content,section).slideDown(options.open) : $(options.content,section).show();
		}
	};
	
	var closeActive = function(options){
		$(options.content, options.selection).filter(':visible').each(function(){
			(options.close !== 'none') ? $(this).slideUp(options.close) : $(this).hide();
		});
	};

})(jQuery);