(function(A){A.widget("ui.accordion",{_init:function(){var D=this.options,B=this;this.running=0;if(D.collapsible==A.ui.accordion.defaults.collapsible&&D.alwaysOpen!=A.ui.accordion.defaults.alwaysOpen){D.collapsible=!D.alwaysOpen}if(D.navigation){var C=this.element.find("a").filter(D.navigationFilter);if(C.length){if(C.filter(D.header).length){this.active=C}else{this.active=C.parent().parent().prev();C.addClass("ui-accordion-content-active")}}}this.element.addClass("ui-accordion ui-widget ui-helper-reset");if(this.element[0].nodeName=="UL"){this.element.children("li").addClass("ui-accordion-li-fix")}this.headers=this.element.find(D.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");this.active=this._findActive(this.active||D.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");A("<span/>").addClass("ui-icon "+D.icons.header).prependTo(this.headers);this.active.find(".ui-icon").toggleClass(D.icons.header).toggleClass(D.icons.headerSelected);if(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(E){return B._keydown(E)}).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")}if(!A.browser.safari){this.headers.find("a").attr("tabIndex","-1")}if(D.event){this.headers.bind((D.event)+".accordion",function(E){return B._clickHandler.call(B,E,this)})}},destroy:function(){var C=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.headers.children(".ui-icon").remove();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");if(C.autoHeight||C.fillHeight){B.css("height","")}},_setData:function(B,C){if(B=="alwaysOpen"){B="collapsible";C=!C}A.widget.prototype._setData.apply(this,arguments)},_keydown:function(E){var G=this.options,F=A.ui.keyCode;if(G.disabled||E.altKey||E.ctrlKey){return }var D=this.headers.length;var B=this.headers.index(E.target);var C=false;switch(E.keyCode){case F.RIGHT:case F.DOWN:C=this.headers[(B+1)%D];break;case F.LEFT:case F.UP:C=this.headers[(B-1+D)%D];break;case F.SPACE:case F.ENTER:return this._clickHandler({target:E.target},E.target)}if(C){A(E.target).attr("tabIndex","-1");A(C).attr("tabIndex","0");C.focus();return false}return true},resize:function(){var E=this.options,D;if(E.fillSpace){if(A.browser.msie){var B=this.element.parent().css("overflow");this.element.parent().css("overflow","hidden")}D=this.element.parent().height();if(A.browser.msie){this.element.parent().css("overflow",B)}this.headers.each(function(){D-=A(this).outerHeight()});var C=0;this.headers.next().each(function(){C=Math.max(C,A(this).innerHeight()-A(this).height())}).height(Math.max(0,D-C)).css("overflow","auto")}else{if(E.autoHeight){D=0;this.headers.next().each(function(){D=Math.max(D,A(this).outerHeight())}).height(D)}}},activate:function(B){var C=this._findActive(B)[0];this._clickHandler({target:C},C)},_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(B,F){var D=this.options;if(D.disabled){return false}if(!B.target&&D.collapsible){this.active.removeClass("ui-state-active ui-corner-top").addClass("ui-state-default ui-corner-all").find(".ui-icon").removeClass(D.icons.headerSelected).addClass(D.icons.header);this.active.next().addClass("ui-accordion-content-active");var H=this.active.next(),E={options:D,newHeader:A([]),oldHeader:D.active,newContent:A([]),oldContent:H},C=(this.active=A([]));this._toggle(C,H,E);return false}var G=A(B.currentTarget||F);var I=G[0]==this.active[0];if(this.running||(!D.collapsible&&I)){return false}this.active.removeClass("ui-state-active ui-corner-top").addClass("ui-state-default ui-corner-all").find(".ui-icon").removeClass(D.icons.headerSelected).addClass(D.icons.header);this.active.next().addClass("ui-accordion-content-active");if(!I){G.removeClass("ui-state-default ui-corner-all").addClass("ui-state-active ui-corner-top").find(".ui-icon").removeClass(D.icons.header).addClass(D.icons.headerSelected);G.next().addClass("ui-accordion-content-active")}var C=G.next(),H=this.active.next(),E={options:D,newHeader:I&&D.collapsible?A([]):G,oldHeader:this.active,newContent:I&&D.collapsible?A([]):C.find("> *"),oldContent:H.find("> *")},J=this.headers.index(this.active[0])>this.headers.index(G[0]);this.active=I?A([]):G;this._toggle(C,H,E,I,J);return false},_toggle:function(B,I,G,J,K){var D=this.options,M=this;this.toShow=B;this.toHide=I;this.data=G;var C=function(){if(!M){return }return M._completed.apply(M,arguments)};this._trigger("changestart",null,this.data);this.running=I.size()===0?B.size():I.size();if(D.animated){var F={};if(D.collapsible&&J){F={toShow:A([]),toHide:I,complete:C,down:K,autoHeight:D.autoHeight||D.fillSpace}}else{F={toShow:B,toHide:I,complete:C,down:K,autoHeight:D.autoHeight||D.fillSpace}}if(!D.proxied){D.proxied=D.animated}if(!D.proxiedDuration){D.proxiedDuration=D.duration}D.animated=A.isFunction(D.proxied)?D.proxied(F):D.proxied;D.duration=A.isFunction(D.proxiedDuration)?D.proxiedDuration(F):D.proxiedDuration;var L=A.ui.accordion.animations,E=D.duration,H=D.animated;if(!L[H]){L[H]=function(N){this.slide(N,{easing:H,duration:E||700})}}L[H](F)}else{if(D.collapsible&&J){B.toggle()}else{I.hide();B.show()}C(true)}I.prev().attr("aria-expanded","false").attr("tabIndex","-1").blur();B.prev().attr("aria-expanded","true").attr("tabIndex","0").focus()},_completed:function(B){var C=this.options;this.running=B?0:--this.running;if(this.running){return }if(C.clearStyle){this.toShow.add(this.toHide).css({height:"",overflow:""})}this._trigger("change",null,this.data)}});A.extend(A.ui.accordion,{version:"1.7",defaults:{active:null,alwaysOpen:true,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()}},animations:{slide:function(J,H){J=A.extend({easing:"swing",duration:300},J,H);if(!J.toHide.size()){J.toShow.animate({height:"show"},J);return }if(!J.toShow.size()){J.toHide.animate({height:"hide"},J);return }var C=J.toShow.css("overflow"),G,D={},F={},E=["height","paddingTop","paddingBottom"],B;var I=J.toShow;B=I[0].style.width;I.width(parseInt(I.parent().width(),10)-parseInt(I.css("paddingLeft"),10)-parseInt(I.css("paddingRight"),10)-parseInt(I.css("borderLeftWidth"),10)-parseInt(I.css("borderRightWidth"),10));A.each(E,function(K,M){F[M]="hide";var L=(""+A.css(J.toShow[0],M)).match(/^([\d+-.]+)(.*)$/);D[M]={value:L[1],unit:L[2]||"px"}});J.toShow.css({height:0,overflow:"hidden"}).show();J.toHide.filter(":hidden").each(J.complete).end().filter(":visible").animate(F,{step:function(K,L){if(L.prop=="height"){G=(L.now-L.start)/(L.end-L.start)}J.toShow[0].style[L.prop]=(G*D[L.prop].value)+D[L.prop].unit},duration:J.duration,easing:J.easing,complete:function(){if(!J.autoHeight){J.toShow.css("height","")}J.toShow.css("width",B);J.toShow.css({overflow:C});J.complete()}})},bounceslide:function(B){this.slide(B,{easing:B.down?"easeOutBounce":"swing",duration:B.down?1000:200})},easeslide:function(B){this.slide(B,{easing:"easeinout",duration:700})}}})})(jQuery);
