$(document).ready(function(){
    var _accordion = $('#slide-box');
	var _slideLink = 'a.opener';
	var _slideEl = 'div.slide';
	var _acrParents = $('li:has('+_slideEl+')', _accordion);
	var _slideHeights = [];
	var _duration = 400;
	
	_acrParents.each(function(i, slp){
		_slideHeights[i] = $(_slideEl, slp).height();
		if (!$(slp).is('.active'))
			$(_slideEl, slp).hide();
		setClass();
			
		$(_slideLink, $(slp)).click(function(){
			if (!$(this).parent().is('.active')) {
				var _acrParActive = _acrParents.filter('.active');
				var _indexActive;
				
				if (_acrParActive.length) {
					_indexActive = _acrParents.index(_acrParActive);
					_acrParActive.find(_slideEl)
						.animate(
							{height:0},
							{ duration: 500, queue: false, complete:function(){
								$(_acrParActive).removeClass('active');
								$(this).css('display','none');
							}}
						);
					
					$(slp).addClass('active');
					$(_slideEl, $(slp))
						.css({'display':'block', height:0})
						.animate(
							{height:_slideHeights[i]},
							{duration: 500, queue: false, complete:function(){
								setClass();
							}}
						);
				} else {
					
					$(slp).addClass('active');
					$(_slideEl, $(slp))
						.css({'display':'block', height:0})
						.animate(
							{height:_slideHeights[i]},
							{ duration: 500, queue: false}
						);
					setClass();
				}
			} else {
				$(_slideEl, $(slp)).slideUp(_duration, function(){
					$(slp).removeClass('active');
					setClass();
				});
			}
			return false;
		});
	});
	function setClass() {
		$('li', _accordion).removeClass('under');
		if (_acrParents.filter('.active').length) {
			var _i = $('li', _accordion).index(_acrParents.filter('.active'));
			$('li:gt('+_i+')', _accordion).addClass('under');
			//$('li:lt('+_i+')', _accordion).removeClass('under');
		}
	}
});