/**
 * Carbon.JS - A simple JavaScript framework
 *
 * Carbon.JS Plugin - Animated accordion
 *
 * @author		Dmitry Polyuhov <admin@carbonjs.com>
 * @license		http://carbonjs.com/mit-license.txt
 * @version		1.1.0 (build 20100321)
 */
CarbonJS.extend({accordion:function(i){CarbonJS.checkModules("animation","dom","utilities");var a=i.orientation||"v";var n=parseInt(i.timeout)||500;var k="#"+this[0].id;var o=i.event||"click";var l=i.oneOpened||true;var b=true;var d=function(){};if(i.onOpening){d=i.onOpening}var f=function(){};if(i.onOpened){f=i.onOpened}var h=function(){};if(i.onClosing){h=i.onClosing}var j=function(){};if(i.onClosed){j=i.onClosed}var c=Q(k+" [class*=acc-header]");var e=Q(k+" [class*=acc-content]");var m=[];var g=[];e.forEach(function(p){var q=Q(this);m[m.length]=this.offsetHeight;g[g.length]=this.offsetWidth;q.attr({accIndex:p});if(p+1!=parseInt(i.opened)){q.hide();if(a=="v"){q.css({height:"0px"})}else{if(a=="v"){q.css({width:"0px"})}}}}).css({overflow:"hidden"});c.forEach(function(p){Q(this).addEvent(o,function(){if(b){e.forEach(function(r){var q=Q(this);if(p==r){if(CarbonJS.elemIsHidden(q[0])){b=false;if(a=="v"){q.show().change({height:[CarbonJS.Browsers.IE()?1:0,m[p]],onChanging:function(){d.apply(q)},onChanged:function(){f.apply(q);b=true}},CarbonJS.Transitions.Sine.EaseOut,n)}else{if(a=="h"){q.show().change({width:[CarbonJS.Browsers.IE()?1:0,g[p]],onChanging:function(){d.apply(q)},onChanged:function(){f.apply(q);b=true}},CarbonJS.Transitions.Sine.EaseOut,n)}}}else{if(!l){b=false;if(a=="v"){q.change({height:[m[p],CarbonJS.Browsers.IE()?1:0],onChanged:function(){Q(this).hide();j.apply(q);b=true},onChanging:function(){h.apply(q)}},CarbonJS.Transitions.Sine.EaseOut,n)}else{if(a=="h"){q.change({width:[g[p],CarbonJS.Browsers.IE()?1:0],onChanged:function(){Q(this).hide();j.apply(q);b=true},onChanging:function(){h.apply(q)}},CarbonJS.Transitions.Sine.EaseOut,n)}}}}}else{if(!CarbonJS.elemIsHidden(q[0])){b=false;if(a=="v"){q.change({height:[m[q.attr("accIndex")],CarbonJS.Browsers.IE()?1:0],onChanged:function(){Q(this).hide();j.apply(q);b=true},onChanging:function(){h.apply(q)}},CarbonJS.Transitions.Sine.EaseOut,n)}else{if(a=="h"){q.change({width:[g[q.attr("accIndex")],CarbonJS.Browsers.IE()?1:0],onChanged:function(){Q(this).hide();j.apply(q);b=true},onChanging:function(){h.apply(q)}},CarbonJS.Transitions.Sine.EaseOut,n)}}}}})}})});return this}});
