$.fn.bmAccordion = function (options) {
		var defaults = {
			trigger : 'h2' ,
			content : 'div.loop',
			init : '#accordion-init',
			animate : true,
			speed : 400,
			ease : 'linear',
			closed : false
		};
		var options = $.extend(defaults, options);
		if(options.animate === false){options.speed = 0};
		var $trigger = $(this).find(options.trigger);
		var $content = $(this).find(options.content);		
		var $exclude = $(options.init).next(options.content);
		
		$trigger.addClass('acc-header').find('a').addClass('home-sprite');
		$content.addClass('acc-content').addClass('home-sprite');
		
		if($(options.init).length == 0){
			$exclude = $('.acc-header:eq(0)').next(options.content);
			options.init = '.acc-header:eq(0)';
		}
		if(options.closed == true){
			$exclude = ''
		}
			$content.each(function(){
				$(this)
					.data('dimensions',{
						height : $(this).height(),
						paddingTop: $(this).css('padding-top'),
						paddingBottom: $(this).css('padding-bottom')
					})
					.not($exclude)
					.css({
						height : '0px',
						paddingTop: '0px',
						paddingBottom: '0px',
						overflow: 'hidden'
					});
			
				$(options.init).addClass('acc-header-active');
		});
			$trigger.each(function(){
			
				var $thisContentData = $(this).next(options.content).data('dimensions');
	
				$(this).click(function(){			
					$(this)
						.siblings(options.trigger)
						.not($(this).next(options.trigger))
						.removeClass('acc-header-active')			
					$(this)
						.siblings(options.content)
						.not($(this).next(options.content))
						.stop()
						.css({
							overflow: 'hidden'
						})
						.animate({					
							height : '0px',
							paddingTop: '0px',
							paddingBottom: '0px'								
						}, options.speed, options.ease);									
					$(this)
						.addClass('acc-header-active');
					$(this)
						.next(options.content)
						.stop()
						.animate({
							height : $thisContentData.height,
							paddingTop: $thisContentData.paddingTop,
							paddingBottom: $thisContentData.paddingBottom
						}, options.speed, options.ease);
					return false;
				});
	})
}
	
