(function($){
	
	
	$.fn.brandoAccordion = function(options)
	{
		
		var opts = $.extend({}, $.fn.brandoAccordion.defaults, options);

		// iterate and reformat each matched element
		return this.each(function() 
		{
			
				var $this = $(this);

				/*var $triggerSelectors	= 	$this.find( 'div.'+ acc_trigger' );
				var $contentSelectors	= 	$this.find( 'div.acc_container' );
				var $firstTrigger		= 	$this.find( 'div.acc_trigger:first' );*/
				
				var $triggerSelectors	= 	$this.find( 'div.' + opts.triggerClass );
				var $contentSelectors	= 	$this.find( 'div.' + opts.contentClass );
				var $firstTrigger		= 	$this.find( 'div.' + opts.triggerClass + ':first' );
				
				if(opts.retractOnOpen)
				{
					$contentSelectors.hide(); //Hide/close all containers
				}
				
				if(opts.dropFirstOnOpen)
				{
					$firstTrigger.addClass('active').next().show(); //Add "active" class to first trigger, then show/open the immediate next container
				}
				
				//On Click
				$triggerSelectors.click(function()
				{
					if( $(this).next().is(':hidden') ) 
					{ 
						//If immediate next container is closed...
						if(opts.retractOptions)
						{
							$triggerSelectors.removeClass('active').next().slideUp(); //Remove all "active" state and slide up the immediate next container
						}
						//$(this).toggleClass('active').next().slideDown(); //Add "active" state to clicked trigger and slide down the immediate next container
						$(this).addClass('active').next().slideDown();
						
						if(opts.onTriggered) {
							opts.onTriggered($(this), opts);
						}
						
					}
				/*	else if( $(this).next().is(':visible') ) 
					{
						//$(this).toggleClass('active').next().slideUp();	
						$(this).removeClass('active').next().slideUp();
					}*/
					return false; //Prevent the browser jump to the link anchor
				});				
				
				
				
		});	
		
	};	
	
	// plugin defaults - added as a property on our	 plugin function
	$.fn.brandoAccordion.defaults = {
			retractOnOpen : true,
			dropFirstOnOpen: false,
			retractOptions : false,
			triggerClass : "acc_trigger",
			contentClass : "acc_container", 
			onTriggered : null
	};
	
})(jQuery);
