(function($){
	$.fn.reverse = [].reverse;
	$.fn.accordion = function( option ) {
		// override defaults with specified option
		//option = $.extend( {}, $.fn.accordion.option, option );

		return this.reverse().each(function(){
			
			var drawer = $(this);
			drawer.css({"overflow":"hidden"});
			var button = drawer.find("h3:first");
			var prevHeight = drawer.outerHeight();
			button.append('<span class="drop-arrow"></span>');
			button.click(function (e) {
				e.preventDefault();
				if (drawer.hasClass("open")) {
					prevHeight = drawer.outerHeight();
					drawer.stop().animate({"height": button.outerHeight()-1 },300);
					drawer.removeClass("open");
				} 
				else {
					drawer.stop().animate({"height":prevHeight},300, function () {
						drawer.css({"height":"auto"});
						
						
						//if (window)
						
						
					});
					drawer.addClass("open");
					var scrollVal = $(window).scrollTop() + prevHeight;
					var scrollMax = drawer.offset().top;
					if (scrollVal > scrollMax) scrollVal = scrollMax;
					if (drawer.offset().top + prevHeight > $(window).scrollTop() + $(window).height() ) {
						$('html,body').animate({ scrollTop : scrollVal }, 300);
					}
				}
			});
			if (!drawer.hasClass("open")) drawer.css({"height":button.outerHeight()-1});
		});
	};
	
	// default options
	$.fn.accordion.option = {
		
	};
})(jQuery);
