(function(j){j.ui=j.ui||{};j.fn.extend({accordion:function(b,a){var c=Array.prototype.slice.call(arguments,1);return this.each(function(){if(typeof b=="string"){var d=j.data(this,"ui-accordion");d[b].apply(d,c)}else{if(!j(this).data("ui-accordion")){j.data(this,"ui-accordion",new j.ui.accordion(this,b))}}})},activate:function(a){return this.accordion("activate",a)}});j.ui.accordion=function(e,d){this.options=d=j.extend({},j.ui.accordion.defaults,d);this.element=e;if(d.navigation){var a=j(e).find("a").filter(d.navigationFilter);if(a.length){if(a.filter(d.header).length){d.active=a}else{d.active=a.parent().parent().prev();a.addClass("current")}}}d.headers=j(e).find(d.header);d.active=l(d.headers,d.active);if(d.fillSpace){var b=j(e).parent().height();d.headers.each(function(){b-=j(this).outerHeight()});var c=0;d.headers.next().each(function(){c=Math.max(c,j(this).innerHeight()-j(this).height())}).height(b-c)}else{if(d.autoheight){var b=0;d.headers.next().each(function(){b=Math.max(b,j(this).outerHeight())}).height(b)}}d.headers.not(d.active||"").next().hide();d.active.addClass(d.selectedClass);if(d.event){j(e).bind((d.event)+".ui-accordion",i)}};j.ui.accordion.prototype={activate:function(a){i.call(this.element,{target:l(this.options.headers,a)[0]})},enable:function(){this.options.disabled=false},disable:function(){this.options.disabled=true},destroy:function(){this.options.headers.next().css("display","");if(this.options.fillSpace||this.options.autoheight){this.options.headers.next().css("height","")}j.removeData(this.element,"ui-accordion");j(this.element).unbind(".ui-accordion")}};function g(a,b){return function(){return a.apply(b,arguments)}}function k(a){if(!j.data(this,"ui-accordion")){return}var c=j.data(this,"ui-accordion");var b=c.options;b.running=a?0:--b.running;if(b.running){return}if(b.clearStyle){b.toShow.add(b.toHide).css({height:"",overflow:""})}j(this).triggerHandler("change.ui-accordion",[b.data],b.change)}function h(n,c,b,d,a){var e=j.data(this,"ui-accordion").options;e.toShow=n;e.toHide=c;e.data=b;var f=g(k,this);e.running=c.size()==0?n.size():c.size();if(e.animated){if(!e.alwaysOpen&&d){j.ui.accordion.animations[e.animated]({toShow:jQuery([]),toHide:c,complete:f,down:a,autoheight:e.autoheight})}else{j.ui.accordion.animations[e.animated]({toShow:n,toHide:c,complete:f,down:a,autoheight:e.autoheight})}}else{if(!e.alwaysOpen&&d){n.toggle()}else{c.hide();n.show()}f(true)}}function i(b){var d=j.data(this,"ui-accordion").options;if(d.disabled){return false}if(!b.target&&!d.alwaysOpen){d.active.toggleClass(d.selectedClass);var e=d.active.next(),a={instance:this,options:d,newHeader:jQuery([]),oldHeader:d.active,newContent:jQuery([]),oldContent:e},o=d.active=j([]);h.call(this,o,e,a);return false}var c=j(b.target);if(c.parents(d.header).length){while(!c.is(d.header)){c=c.parent()}}var f=c[0]==d.active[0];if(d.running||(d.alwaysOpen&&f)){return false}if(!c.is(d.header)){return}d.active.toggleClass(d.selectedClass);if(!f){c.addClass(d.selectedClass)}var o=c.next(),e=d.active.next(),a={instance:this,options:d,newHeader:c,oldHeader:d.active,newContent:o,oldContent:e},p=d.headers.index(d.active[0])>d.headers.index(c[0]);d.active=f?j([]):c;h.call(this,o,e,a,f,p);return false}function l(a,b){return b!=undefined?typeof b=="number"?a.filter(":eq("+b+")"):a.not(a.not(b)):b===false?j([]):a.filter(":eq(0)")}j.extend(j.ui.accordion,{defaults:{selectedClass:"act",alwaysOpen:true,animated:"slide",event:"click",header:"h2",autoheight:true,running:0,navigationFilter:function(){return this.href.toLowerCase()==location.href.toLowerCase()}},animations:{slide:function(e,c){e=j.extend({easing:"swing",duration:300},e,c);if(!e.toHide.size()){e.toShow.animate({height:"show"},e);return}var d=e.toHide.height(),b=e.toShow.height(),a=b/d;e.toShow.css({height:0,overflow:"hidden"}).show();e.toHide.filter(":hidden").each(e.complete).end().filter(":visible").animate({height:"hide"},{step:function(n){var f=(d-n)*a;if(j.browser.msie||j.browser.opera){f=Math.ceil(f)}e.toShow.height(f)},duration:e.duration,easing:e.easing,complete:function(){if(!e.autoheight){e.toShow.css("height","auto")}e.complete()}})},bounceslide:function(a){this.slide(a,{easing:a.down?"bounceout":"swing",duration:a.down?1000:200})},easeslide:function(a){this.slide(a,{easing:"easeinout",duration:700})}}})})(jQuery);

