var Accordion = Class.create();

Accordion.prototype = {
	initialize: function(accGroup) {
		this.accGroup = $$('.'+accGroup);
		for (var i=0, len=this.accGroup.length; i < len; ++i) {
			Event.observe (this.accGroup[i], 'click', this.useAccordion.bind(this), false);
		}
	},
	useAccordion: function(e) {
		var ele = Event.element(e);
		var openElement = $$('.open');
		if (!ele.hasClassName('open'))
		{
			eleTarget = ele.previous().firstDescendant().firstDescendant();
			
			if(eleTarget.getHeight() > eleTarget.nextSiblings()[0].getHeight())
			{
				eleHeightStyle = 'height:'+eleTarget.getHeight()+'px;';
			} else {
				eleHeightStyle = 'height:'+eleTarget.nextSiblings()[0].getHeight()+'px;';
			}
			
			new Effect.ScrollTo(ele.previous().identify(), {
				offset: 0,
				duration:0.2,
				afterFinish: function (e)
				{
					ele.addClassName('open');
					new Effect.Morph(ele.previous(),{style:eleHeightStyle,duration:0.6});
				}
			});
		} else {
			ele.removeClassName('open');
			new Effect.Morph(ele.previous(), {style:'height:80px;', duration:0.6});
		}
	}
};

Event.observe (window, 'load', function()
	{
		new Accordion ('accordion');
	},
	false);