$.accordion = function(items, first, options) {

	var active = first;
	var running = 0;

	var titles = options && options.titles || '.title';
	var contents = options && options.contents || '.content';
	var onClick = options && options.onClick || function(){};
	var onShow = options && options.onShow || function(){};
	var onHide = options && options.onHide || function(){};
	var showSpeed = options && options.showSpeed || 'slow';
	var hideSpeed = options && options.hideSpeed || 'fast';

	$(items).not(active).children(contents).hide();
	$(items).not(active).each(onHide);
	$(active).each(onShow);

	$(items).children(titles).click(function(e){

		var p = $(contents, this.parentNode);
		$(this.parentNode).each(onClick);

		if (running || !p.is(":hidden")) return false;
		running = 2;

		$(active).children(contents).not(':hidden').slideUp(hideSpeed, function(){--running;});
		p.slideDown(showSpeed, function(){--running;});

		$(active).each(onHide);
		active = '#' + $(this.parentNode)[0].id;
		$(active).each(onShow);

		return false;
	});

};


$(function(){

	$.accordion('#list2 > div', '#item21', {
		titles:'.mytitle',
		contents:'.mycontent',
		onShow:function(){$(this).removeClass('off').addClass('on');},
		onHide:function(){$(this).removeClass('on').addClass('off');},				
		showSpeed:350,
		hideSpeed:550
	});

});