if(typeof jQuery != 'undefined') {
	jQuery(function($) {
		$.fn.extend({
			collapsible: function(options) {
				var settings = $.extend({}, $.fn.collapsible.defaults, options);
			
				return this.each(
					function() {
						if($.fn.jquery < '1.2.6') {return;}
						var $t = $(this);
						var o = $.metadata ? $.extend({}, settings, $t.metadata()) : settings;
						
						$(this).find(settings.tab_header).addClass('collapsible-tab-header');
						
						var collapsibleHeader = $("<div class='collapsible-header'>");
						
						$(this).find(settings.tab_header).each(function(){
							var collapsibleContent = $("<div class='collapsible-content'>");
							
							$(this).before(collapsibleContent);
							
							//add the header into the container
							var header = $(this).clone().wrapInner("<a href='#'></a>");
							collapsibleHeader.append( header );
							header.data('tab', collapsibleContent);
							header.click(function(){
								$t.find('.collapsible-header h2').removeClass('selected');
								$(this).addClass('selected');
								
								$t.find('.collapsible-content').removeClass('active-collapsible-tab');
								$(this).data('tab').addClass('active-collapsible-tab');
								return false;
							});
							
							var nextSibling = $(this).next();
							var curSibling = $(this);
							var collapsibleSiblings = new Array();
							var removeableElements = new Array();
							
							//add elements into tabs
							if(nextSibling.length && !nextSibling.hasClass('collapsible-tab-header')){
								do{
									collapsibleSiblings.push(nextSibling);			
									collapsibleContent.append(nextSibling.clone());
									curSibling = nextSibling;
									nextSibling = $(nextSibling).next();
									removeableElements.push(curSibling);
								}while(nextSibling.length && !nextSibling.hasClass('collapsible-tab-header'));
							}
							
							//remove any old versions
							for(var i = 0; i < removeableElements.length; i++){
								removeableElements[i].remove();
							}
							
							$(this).remove();
						});
						
						$(this).children('.collapsible-content:first').before(collapsibleHeader);
						$( $(this).children('.collapsible-content')[settings.selected] ).addClass('active-collapsible-tab');
						$( $(this).find('.collapsible-header h2')[settings.selected] ).addClass('selected');
						
					}
				);
			}
		});
		
		/**
		* Set your Plugin Defaults Here…
		*/
		$.fn.collapsible.defaults = {tab_header: "h2", selected: 0};
	});
}
