(function(a){a.widget("ui.accordion",{options:{active:0,animated:"slide",autoHeight:true,clearStyle:false,collapsible:false,event:"click",fillSpace:false,header:"> li > :first-child,> :not(li):even",icons:{header:"ui-icon-triangle-1-e",headerSelected:"ui-icon-triangle-1-s"},navigation:false,navigationFilter:function(){return this.href.toLowerCase()==location.href.toLowerCase()}},_create:function(){var b=this.options,d=this;this.running=0;this.element.addClass("ui-accordion ui-widget ui-helper-reset");this.element[0].nodeName=="UL"&&this.element.children("li").addClass("ui-accordion-li-fix");this.headers=this.element.find(b.header).addClass("ui-accordion-header ui-helper-reset ui-state-default ui-corner-all").bind("mouseenter.accordion",function(){a(this).addClass("ui-state-hover")}).bind("mouseleave.accordion",function(){a(this).removeClass("ui-state-hover")}).bind("focus.accordion",function(){a(this).addClass("ui-state-focus")}).bind("blur.accordion",function(){a(this).removeClass("ui-state-focus")});this.headers.next().addClass("ui-accordion-content ui-helper-reset ui-widget-content ui-corner-bottom");if(b.navigation){var c=this.element.find("a").filter(b.navigationFilter);if(c.length){var e=c.closest(".ui-accordion-header");if(e.length)this.active=e;else this.active=c.closest(".ui-accordion-content").prev()}}this.active=this._findActive(this.active||b.active).toggleClass("ui-state-default").toggleClass("ui-state-active").toggleClass("ui-corner-all").toggleClass("ui-corner-top");this.active.next().addClass("ui-accordion-content-active");this._createIcons();a.browser.msie&&this.element.find("a").css("zoom","1");this.resize();this.element.attr("role","tablist");this.headers.attr("role","tab").bind("keydown",function(a){return d._keydown(a)}).next().attr("role","tabpanel");this.headers.not(this.active||"").attr("aria-expanded","false").attr("tabIndex","-1").next().hide();if(!this.active.length)this.headers.eq(0).attr("tabIndex","0");else this.active.attr("aria-expanded","true").attr("tabIndex","0");!a.browser.safari&&this.headers.find("a").attr("tabIndex","-1");b.event&&this.headers.bind(b.event+".accordion",function(a){d._clickHandler.call(d,a,this);a.preventDefault()})},_createIcons:function(){var b=this.options;if(b.icons){a("<span/>").addClass("ui-icon "+b.icons.header).prependTo(this.headers);this.active.find(".ui-icon").toggleClass(b.icons.header).toggleClass(b.icons.headerSelected);this.element.addClass("ui-accordion-icons")}},_destroyIcons:function(){this.headers.children(".ui-icon").remove();this.element.removeClass("ui-accordion-icons")},destroy:function(){var a=this.options;this.element.removeClass("ui-accordion ui-widget ui-helper-reset").removeAttr("role").unbind(".accordion").removeData("accordion");this.headers.unbind(".accordion").removeClass("ui-accordion-header ui-helper-reset ui-state-default ui-corner-all ui-state-active ui-corner-top").removeAttr("role").removeAttr("aria-expanded").removeAttr("tabindex");this.headers.find("a").removeAttr("tabindex");this._destroyIcons();var b=this.headers.next().css("display","").removeAttr("role").removeClass("ui-helper-reset ui-widget-content ui-corner-bottom ui-accordion-content ui-accordion-content-active");(a.autoHeight||a.fillHeight)&&b.css("height","");return this},_setOption:function(c,b){a.Widget.prototype._setOption.apply(this,arguments);c=="active"&&this.activate(b);if(c=="icons"){this._destroyIcons();b&&this._createIcons()}},_keydown:function(b){var g=this.options,c=a.ui.keyCode;if(g.disabled||b.altKey||b.ctrlKey)return;var e=this.headers.length,f=this.headers.index(b.target),d=false;switch(b.keyCode){case c.RIGHT:case c.DOWN:d=this.headers[(f+1)%e];break;case c.LEFT:case c.UP:d=this.headers[(f-1+e)%e];break;case c.SPACE:case c.ENTER:this._clickHandler({target:b.target},b.target);b.preventDefault()}if(d){a(b.target).attr("tabIndex","-1");a(d).attr("tabIndex","0");d.focus();return false}return true},resize:function(){var c=this.options,b;if(c.fillSpace){if(a.browser.msie){var d=this.element.parent().css("overflow");this.element.parent().css("overflow","hidden")}b=this.element.parent().height();a.browser.msie&&this.element.parent().css("overflow",d);this.headers.each(function(){b-=a(this).outerHeight(true)});this.headers.next().each(function(){a(this).height(Math.max(0,b-a(this).innerHeight()+a(this).height()))}).css("overflow","auto")}else if(c.autoHeight){b=0;this.headers.next().each(function(){b=Math.max(b,a(this).height())}).height(b)}return this},activate:function(b){this.options.active=b;var a=this._findActive(b)[0];this._clickHandler({target:a},a);return this},_findActive:function(b){return b?typeof b=="number"?this.headers.filter(":eq("+b+")"):this.headers.not(this.headers.not(b)):b===false?a([]):this.headers.filter(":eq(0)")},_clickHandler:function(g,i){var b=this.options;if(b.disabled)return;if(!g.target){if(!b.collapsible)return;this.active.removeClass("ui-state-active ui-corner-top").addClass("ui-state-default ui-corner-all").find(".ui-icon").removeClass(b.icons.headerSelected).addClass(b.icons.header);this.active.next().addClass("ui-accordion-content-active");var e=this.active.next(),h={options:b,newHeader:a([]),oldHeader:b.active,newContent:a([]),oldContent:e},f=this.active=a([]);this._toggle(f,e,h);return}var c=a(g.currentTarget||i),d=c[0]==this.active[0];b.active=b.collapsible&&d?false:a(".ui-accordion-header",this.element).index(c);if(this.running||!b.collapsible&&d)return;this.active.removeClass("ui-state-active ui-corner-top").addClass("ui-state-default ui-corner-all").find(".ui-icon").removeClass(b.icons.headerSelected).addClass(b.icons.header);if(!d){c.removeClass("ui-state-default ui-corner-all").addClass("ui-state-active ui-corner-top").find(".ui-icon").removeClass(b.icons.header).addClass(b.icons.headerSelected);c.next().addClass("ui-accordion-content-active")}var f=c.next(),e=this.active.next(),h={options:b,newHeader:d&&b.collapsible?a([]):c,oldHeader:this.active,newContent:d&&b.collapsible?a([]):f,oldContent:e},j=this.headers.index(this.active[0])>this.headers.index(c[0]);this.active=d?a([]):c;this._toggle(f,e,h,d,j);return},_toggle:function(e,d,m,j,k){var b=this.options,i=this;this.toShow=e;this.toHide=d;this.data=m;var h=function(){return!i?void 0:i._completed.apply(i,arguments)};this._trigger("changestart",null,this.data);this.running=d.size()===0?e.size():d.size();if(b.animated){var f={};if(b.collapsible&&j)f={toShow:a([]),toHide:d,complete:h,down:k,autoHeight:b.autoHeight||b.fillSpace};else f={toShow:e,toHide:d,complete:h,down:k,autoHeight:b.autoHeight||b.fillSpace};if(!b.proxied)b.proxied=b.animated;if(!b.proxiedDuration)b.proxiedDuration=b.duration;b.animated=a.isFunction(b.proxied)?b.proxied(f):b.proxied;b.duration=a.isFunction(b.proxiedDuration)?b.proxiedDuration(f):b.proxiedDuration;var g=a.ui.accordion.animations,l=b.duration,c=b.animated;if(c&&!g[c]&&!a.easing[c])c="slide";if(!g[c])g[c]=function(a){this.slide(a,{easing:c,duration:l||700})};g[c](f)}else{if(b.collapsible&&j)e.toggle();else{d.hide();e.show()}h(true)}d.prev().attr("aria-expanded","false").attr("tabIndex","-1").blur();e.prev().attr("aria-expanded","true").attr("tabIndex","0").focus()},_completed:function(a){var b=this.options;this.running=a?0:--this.running;if(this.running)return;b.clearStyle&&this.toShow.add(this.toHide).css({height:"",overflow:""});this.toHide.removeClass("ui-accordion-content-active");this._trigger("change",null,this.data)}});a.extend(a.ui.accordion,{version:"1.8",animations:{slide:function(b,h){b=a.extend({easing:"swing",duration:300},b,h);if(!b.toHide.size()){b.toShow.animate({height:"show"},b);return}if(!b.toShow.size()){b.toHide.animate({height:"hide"},b);return}var i=b.toShow.css("overflow"),f=0,d={},g={},j=["height","paddingTop","paddingBottom"],e,c=b.toShow;e=c[0].style.width;c.width(parseInt(c.parent().width(),10)-parseInt(c.css("paddingLeft"),10)-parseInt(c.css("paddingRight"),10)-(parseInt(c.css("borderLeftWidth"),10)||0)-(parseInt(c.css("borderRightWidth"),10)||0));a.each(j,function(f,c){g[c]="hide";var e=(""+a.css(b.toShow[0],c)).match(/^([\d+-.]+)(.*)$/);d[c]={value:e[1],unit:e[2]||"px"}});b.toShow.css({height:0,overflow:"hidden"}).show();b.toHide.filter(":hidden").each(b.complete).end().filter(":visible").animate(g,{step:function(c,a){if(a.prop=="height")f=a.end-a.start===0?0:(a.now-a.start)/(a.end-a.start);b.toShow[0].style[a.prop]=f*d[a.prop].value+d[a.prop].unit},duration:b.duration,easing:b.easing,complete:function(){!b.autoHeight&&b.toShow.css("height","");b.toShow.css("width",e);b.toShow.css({overflow:i});b.complete()}})},bounceslide:function(a){this.slide(a,{easing:a.down?"easeOutBounce":"swing",duration:a.down?1e3:200})}}})})(jQuery);
