(function(a){a.widget("ui.accordion",{_init:function(){var c=this.options,b=this;this.running=0;if(c.collapsible==a.ui.accordion.defaults.collapsible&&c.alwaysOpen!=a.ui.accordion.defaults.alwaysOpen){c.collapsible=!c.alwaysOpen}if(c.navigation){var d=this.element.find("a").filter(c.navigationFilter);if(d.length){if(d.filter(c.header).length){this.active=d}else{this.active=d.parent().parent().prev();d.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(c.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||c.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 "+c.icons.header).prependTo(this.headers);this.active.find(".ui-icon").toggleClass(c.icons.header).toggleClass(c.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(c.event){this.headers.bind((c.event)+".accordion",function(e){return b._clickHandler.call(b,e,this)})}},destroy:function(){var b=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 c=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(b.autoHeight||b.fillHeight){c.css("height","")}},_setData:function(b,c){if(b=="alwaysOpen"){b="collapsible";c=!c}a.widget.prototype._setData.apply(this,arguments)},_keydown:function(e){var c=this.options,d=a.ui.keyCode;if(c.disabled||e.altKey||e.ctrlKey){return}var b=this.headers.length;var f=this.headers.index(e.target);var g=false;switch(e.keyCode){case d.RIGHT:case d.DOWN:g=this.headers[(f+1)%b];break;case d.LEFT:case d.UP:g=this.headers[(f-1+b)%b];break;case d.SPACE:case d.ENTER:return this._clickHandler({target:e.target},e.target)}if(g){a(e.target).attr("tabIndex","-1");a(g).attr("tabIndex","0");g.focus();return false}return true},resize:function(){var d=this.options,e;if(d.fillSpace){if(a.browser.msie){var b=this.element.parent().css("overflow");this.element.parent().css("overflow","hidden")}e=this.element.parent().height();if(a.browser.msie){this.element.parent().css("overflow",b)}this.headers.each(function(){e-=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,e-c)).css("overflow","auto")}else{if(d.autoHeight){e=0;this.headers.next().each(function(){e=Math.max(e,a(this).outerHeight())}).height(e)}}},activate:function(c){var b=this._findActive(c)[0];this._clickHandler({target:b},b)},_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(e,i){var f=this.options;if(f.disabled){return false}if(!e.target&&f.collapsible){this.active.removeClass("ui-state-active ui-corner-top").addClass("ui-state-default ui-corner-all").find(".ui-icon").removeClass(f.icons.headerSelected).addClass(f.icons.header);this.active.next().addClass("ui-accordion-content-active");var h=this.active.next(),d={options:f,newHeader:a([]),oldHeader:f.active,newContent:a([]),oldContent:h},g=(this.active=a([]));this._toggle(g,h,d);return false}var b=a(e.currentTarget||i);var j=b[0]==this.active[0];if(this.running||(!f.collapsible&&j)){return false}this.active.removeClass("ui-state-active ui-corner-top").addClass("ui-state-default ui-corner-all").find(".ui-icon").removeClass(f.icons.headerSelected).addClass(f.icons.header);this.active.next().addClass("ui-accordion-content-active");if(!j){b.removeClass("ui-state-default ui-corner-all").addClass("ui-state-active ui-corner-top").find(".ui-icon").removeClass(f.icons.header).addClass(f.icons.headerSelected);b.next().addClass("ui-accordion-content-active")}var g=b.next(),h=this.active.next(),d={options:f,newHeader:j&&f.collapsible?a([]):b,oldHeader:this.active,newContent:j&&f.collapsible?a([]):g.find("> *"),oldContent:h.find("> *")},c=this.headers.index(this.active[0])>this.headers.index(b[0]);this.active=j?a([]):b;this._toggle(g,h,d,j,c);return false},_toggle:function(k,d,b,f,c){var h=this.options,l=this;this.toShow=k;this.toHide=d;this.data=b;var g=function(){if(!l){return}return l._completed.apply(l,arguments)};this._trigger("changestart",null,this.data);this.running=d.size()===0?k.size():d.size();if(h.animated){var m={};if(h.collapsible&&f){m={toShow:a([]),toHide:d,complete:g,down:c,autoHeight:h.autoHeight||h.fillSpace}}else{m={toShow:k,toHide:d,complete:g,down:c,autoHeight:h.autoHeight||h.fillSpace}}if(!h.proxied){h.proxied=h.animated}if(!h.proxiedDuration){h.proxiedDuration=h.duration}h.animated=a.isFunction(h.proxied)?h.proxied(m):h.proxied;h.duration=a.isFunction(h.proxiedDuration)?h.proxiedDuration(m):h.proxiedDuration;var e=a.ui.accordion.animations,i=h.duration,j=h.animated;if(!e[j]){e[j]=function(n){this.slide(n,{easing:j,duration:i||700})}}e[j](m)}else{if(h.collapsible&&f){k.toggle()}else{d.hide();k.show()}g(true)}d.prev().attr("aria-expanded","false").attr("tabIndex","-1").blur();k.prev().attr("aria-expanded","true").attr("tabIndex","0").focus()},_completed:function(c){var b=this.options;this.running=c?0:--this.running;if(this.running){return}if(b.clearStyle){this.toShow.add(this.toHide).css({height:"",overflow:""})}this._trigger("change",null,this.data)}});a.extend(a.ui.accordion,{version:"1.7.2",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(f,b){f=a.extend({easing:"swing",duration:300},f,b);if(!f.toHide.size()){f.toShow.animate({height:"show"},f);return}if(!f.toShow.size()){f.toHide.animate({height:"hide"},f);return}var d=f.toShow.css("overflow"),i,g={},h={},e=["height","paddingTop","paddingBottom"],j;var c=f.toShow;j=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(e,function(l,m){h[m]="hide";var k=(""+a.css(f.toShow[0],m)).match(/^([\d+-.]+)(.*)$/);g[m]={value:k[1],unit:k[2]||"px"}});f.toShow.css({height:0,overflow:"hidden"}).show();f.toHide.filter(":hidden").each(f.complete).end().filter(":visible").animate(h,{step:function(l,k){if(k.prop=="height"){i=(k.now-k.start)/(k.end-k.start)}f.toShow[0].style[k.prop]=(i*g[k.prop].value)+g[k.prop].unit},duration:f.duration,easing:f.easing,complete:function(){if(!f.autoHeight){f.toShow.css("height","")}f.toShow.css("width",j);f.toShow.css({overflow:d});f.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);
