(function($){ 
     $.fn.extend({  
         accordion: function() {       
            return this.each(function() {
				if($(this).data('accordiated'))
					return false;	
					
				// hides all divs								
				$.each($(this).find('li>div'), function(){
					$(this).data('accordiated', true);
					$(this).hide();
				});
				
				// binds event: click
				$.each($(this).find('a'), function(){
					$(this).click(function(e){
						activate(e.target, true);				
						return void(0);
					});
				});
				
				var active = null;
				if(location.hash) {
					active = $(this).find('li a[href=' + location.hash + ']').eq(0);	
					if(active) {					
						activate(active, false);
					}
				}
				
				function activate(el, effect) {
					
					
					current = $(el).parent();	
					lis = $(el).parent().parent().find('li');
					
					lis.filter('.current').removeClass('current');
					current.addClass('current');


					$.each(lis.not('.current'), function(index, element) {
							$(this).find('div').slideUp(effect ? 200 : 0);
							});
							 
					current.find('div').slideDown(effect ? 200 : 0);
					 
				}
				
            });
        } 
    }); 
})(jQuery);
