window.addEvent('domready', function(){
	if ($('accordion')) {
		var height = 300;
		var content = $('accordion').getElement('.content').setStyles({
			'position': 'relative',
			'height': height
		});
		var width = content.getSize().x - content.getStyle('padding-left').toInt() - content.getStyle('padding-right').toInt();
		var closed = width / 2 / ($('accordion').getElements('.panel').length - 1);
		var opened = width - (closed * $('accordion').getElements('.panel').length);
		$('accordion').getElements('.panel').each(function(panel, i){
			panel.setStyles({
				'position': 'absolute',
				'left': ((closed * i) + content.getStyle('padding-left').toInt()),
				'width': closed,
				'height': height,
				'overflow': 'hidden',
				'opacity': 0.5
			}).addEvent('click', function(){
				var open = i;
				var close = null;
				$('accordion').getElements('.panel').each(function(panel, p){
					if (p != i && panel.hasClass('opened')) {
						close = p;
					}
				});
				if (close != null) {
					$('accordion').getElements('.panel').each(function(panel, p){
						var left = (closed * p) + content.getStyle('padding-left').toInt();
						if (p >= close && p <= open) {
							if (p == close) {
								panel.removeClass('opened').morph({
									'width': closed,
									'opacity': 0.5
								});
							} else if (p == open) {
								panel.addClass('opened').morph({
									'width': (opened + closed),
									'left': left,
									'opacity': 1
								});
							} else {
								panel.morph({
									'left': left
								});
							}
						}
						if (p >= open && p <= close) {
							if (p == close) {
								panel.removeClass('opened').morph({
									'width': closed,
									'left': (left + opened),
									'opacity': 0.5
								});
							} else if (p == open) {
								panel.addClass('opened').morph({
									'width': (opened + closed),
									'opacity': 1
								});
							} else {
								panel.morph({
									'left': (left + opened)
								});
							}
						}
					});
				}
			}).set('morph', {
				'link': 'chain',
				'duration': 500,
				'transition': 'sine:in:out'
			});
			panel.getElement('.tab').setStyles({
				'position': 'absolute',
				'right': 0,
				'width': closed,
				'height': height
			});
			panel.getElement('.content').setStyles({
				'position': 'absolute',
				'right': closed,
				'width': opened,
				'height': height
			});
			if (i > 0) {
				panel.setStyle('left', (panel.getStyle('left').toInt() + opened));
			}
		});
		$('accordion').getElement('.panel').addClass('opened').setStyles({
			'width': (opened + closed),
			'opacity': 1
		});
	}
});
