/*
 USAGE
 
 <h5 class="slideFade_label">...</h5>
 <div class="slideFade">...</div>

 $.slideFade({'slideUp':'fast','slideDown':'normal','fadeOut':3000});
 
 'slideUp' should equal to 'fadeOut'
 
*/

(function($) {
	$.extend({
		slideFade : function(configs){
			if(configs == undefined){
				configs = {};
			}
			configs['slideUp'] = configs['slideUp'] || 'normal';
			configs['slideDown'] = configs['slideDown'] || 'normal';
			configs['fadeOut'] = configs['fadeOut'] || 'normal';
			$('.slideFadeBlock').each(function(){
				var _tmp = $(this).html();
				$(this).html('');
				$(this).append('<div class="_slideFadeBlock">' +_tmp+ '</div>');
			})
			$('.slideFadeLabel')
				.hover(function(){
					$(this).css('cursor', 'pointer');
				}, function(){
					$(this).css('cursor', 'default');
				})
				.bind('click', function(){
					var _label = $(this);
					if($(this).hasClass('selected')){
						$(this).next('.slideFadeBlock').slideUp(configs['slideUp']).children('._slideFadeBlock').fadeOut(configs['fadeOut'], function(){
							$(this).show();
							_label.removeClass('selected');
						});
					}else{
						$(this).next('.slideFadeBlock').slideDown(configs['slideDown'], function(){_label.addClass('selected');});
					}
				});
		}
	});
})(jQuery);
