(function($){
	jQuery.fn.extend({
		accordionLite: function(h_sel, c_sel, active_class, content_height, click_callback) {
			if (! h_sel ) { h_sel = 'h3';  }
			if (! c_sel ) { c_sel = 'div'; }
			return this.each(function(){
				var $acc = $(this);
				var $all_headings = $(h_sel, $acc);
				var $all_contents = $(c_sel, $acc);

				$all_contents.height(0).css({display:'none'});
				$all_contents.eq(0).height(content_height).css({display:'block'});
				$all_headings.eq(0).addClass(active_class);
				$acc.data('i', 0);
				$acc.data('h', h_sel);
				$acc.data('c', c_sel);
				$acc.data('sz', content_height);
				$acc.data('cl', active_class);

				$all_headings.each(function(clicked_index){
					var $heading = $(this);
					$heading.click(function(){
						var current_index = $acc.data('i');
						if (clicked_index == current_index) { return; }

						$all_contents.eq(current_index).animate({height: 0}, {complete:function(){ $all_contents.eq(current_index).css({display:'none'}); }});
						$all_contents.eq(clicked_index).css({display:'block'}).animate({height: content_height});

						$all_headings.eq(current_index).removeClass(active_class);
						$all_headings.eq(clicked_index).addClass(active_class);

						$acc.data('i', clicked_index);
						click_callback(current_index, clicked_index);
					});
				});
			});
		},
		accordionChange: function(){
			return this.each(function(){
				var $acc  = $(this);
				var cur   = $acc.data('i');
				var h_sel = $acc.data('h');
				var c_sel = $acc.data('c');
				var $_ac  = $(c_sel, $acc);
				var $_ah  = $(h_sel, $acc);
				var nxt = cur + 1;
				if (nxt >= $_ac.length) { nxt = 0; }
				$_ac.eq(cur).animate({height:0}, {complete:function(){ $_ac.eq(cur).css({display:'none'}) }});
				$_ac.eq(nxt).css({display:'block'}).animate({height:$acc.data('sz')});
				
				$_ah.eq(cur).removeClass( $acc.data('cl') );
				$_ah.eq(nxt).addClass( $acc.data('cl') );
				$acc.data('i', nxt);
			});
		}
	});
})(jQuery);

