$.fn.extend({
  sfAccordion:function(options) 
  {
	var defaults = {
		onFinish: null,
		finishId: 'finish'
	};
	options = jQuery.extend(defaults , options);
	$accordionSelf = $(this); 
	$(this).find("dd:not(:first)").hide();
	$(this).find("input[type=button][lang=next]").each(function(index){
		$(this).click(function(){			
			result = true;
			if (options.onNext)
				result = options.onNext(index);
			if (result)
			{				
				var title = $accordionSelf.find('h2').eq(index);
				var body = $accordionSelf.find('dd').eq(index);				
				body.slideUp("slow");
								
				var nextTitle = $accordionSelf.find('h2').eq(index+1);
				var nextBody = $accordionSelf.find('dd').eq(index+1);
								
				nextBody.find('div.step-body-active').removeClass('hidden');
				nextBody.slideDown("slow");
				
				title.removeClass('step-title-active').addClass('step-title');
				nextTitle.removeClass('step-title').addClass('step-title-active');				
			}			
			return false;
		});		
	});
	$(this).find("input[type=button][lang=prev]").each(function(index){
		$(this).click(function(){			
			var title = $accordionSelf.find('h2').eq(index+1);			
			var body = $accordionSelf.find('dd').eq(index+1);				
			body.slideUp("slow");
							
			var prevTitle = $accordionSelf.find('h2').eq(index);
			var prevBody = $accordionSelf.find('dd').eq(index);
			
			prevBody.find('div.step-body-active').removeClass('hidden');
			prevBody.slideDown("slow");
			
			title.removeClass('step-title-active').addClass('step-title');
			prevTitle.removeClass('step-title').addClass('step-title-active');							
		});		
	});
	$(this).find("input[type=button][lang="+options.finishId+"]").click(function(){
		if (options.onFinish)
			options.onFinish();
		return false;
	});
  }
});