/*
 * jQuery UI Accordion 1.6
 * 
 * Copyright (c) 2007 Jörn Zaefferer
 *
 * http://docs.jquery.com/UI/Accordion
 *
 * Dual licensed under the MIT and GPL licenses:
 *   http://www.opensource.org/licenses/mit-license.php
 *   http://www.gnu.org/licenses/gpl.html
 *
 * Revision: $Id: jquery.accordion.js 4876 2008-03-08 11:49:04Z joern.zaefferer $
 *
 */
;(function($){$.ui=$.ui||{};$.fn.extend({accordion:function(b,c){var d=Array.prototype.slice.call(arguments,1);return this.each(function(){if(typeof b=="string"){var a=$.data(this,"ui-accordion");a[b].apply(a,d)}else if(!$(this).is(".ui-accordion"))$.data(this,"ui-accordion",new $.ui.accordion(this,b))})},activate:function(a){return this.accordion("activate",a)}});$.ui.accordion=function(a,b){this.options=b=$.extend({},$.ui.accordion.defaults,b);this.element=a;$(a).addClass("ui-accordion");if(b.navigation){var c=$(a).find("a").filter(b.navigationFilter);if(c.length){if(c.filter(b.header).length){b.active=c}else{b.active=c.parent().parent().prev();c.addClass("current")}}}b.headers=$(a).find(b.header);b.active=findActive(b.headers,b.active);b.headers.each(function(){$(this).next().data('realHeight',$(this).next().outerHeight())});if(b.fillSpace){var d=$(a).parent().height();b.headers.each(function(){d-=$(this).outerHeight()});var e=0;b.headers.next().each(function(){e=Math.max(e,$(this).innerHeight()-$(this).height())}).height(d-e)}else if(b.autoheight){var d=0;b.headers.next().each(function(){d=Math.max(d,$(this).outerHeight())}).height(d)}b.headers.not(b.active||"").next().hide();b.active.parent().andSelf().addClass(b.selectedClass);if(b.event)$(a).bind((b.event)+".ui-accordion",clickHandler)};$.ui.accordion.prototype={activate:function(a){clickHandler.call(this.element,{target:findActive(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","")}$.removeData(this.element,"ui-accordion");$(this.element).removeClass("ui-accordion").unbind(".ui-accordion")}};function scopeCallback(a,b){return function(){return a.apply(b,arguments)}}function completed(a){if(!$.data(this,"ui-accordion"))return;var b=$.data(this,"ui-accordion");var c=b.options;c.running=a?0:--c.running;if(c.running)return;if(c.clearStyle){c.toShow.add(c.toHide).css({height:"",overflow:""})}$(this).triggerHandler("change.ui-accordion",[c.data],c.change)}function toggle(a,b,c,d,e){var f=$.data(this,"ui-accordion").options;f.toShow=a;f.toHide=b;f.data=c;var g=scopeCallback(completed,this);f.running=b.size()==0?a.size():b.size();if(f.animated){if(!f.alwaysOpen&&d){$.ui.accordion.animations[f.animated]({toShow:jQuery([]),toHide:b,complete:g,down:e,autoheight:f.autoheight})}else{$.ui.accordion.animations[f.animated]({toShow:a,toHide:b,complete:g,down:e,autoheight:f.autoheight})}}else{if(!f.alwaysOpen&&d){a.toggle()}else{b.hide();a.show()}g(true)}}function clickHandler(a){var b=$.data(this,"ui-accordion").options;if(b.disabled)return false;if(!a.target&&!b.alwaysOpen){b.active.parent().andSelf().toggleClass(b.selectedClass);var c=b.active.next(),data={instance:this,options:b,newHeader:jQuery([]),oldHeader:b.active,newContent:jQuery([]),oldContent:c},f=b.active=$([]);toggle.call(this,f,c,data);return false}var d=$(a.target);if(d.parents(b.header).length)while(!d.is(b.header))d=d.parent();var e=d[0]==b.active[0];if(b.running||(b.alwaysOpen&&e))return false;if(!d.is(b.header))return;b.active.parent().andSelf().toggleClass(b.selectedClass);if(!e){d.parent().andSelf().addClass(b.selectedClass)}var f=d.next(),c=b.active.next(),data={instance:this,options:b,newHeader:d,oldHeader:b.active,newContent:f,oldContent:c},down=b.headers.index(b.active[0])>b.headers.index(d[0]);b.active=e?$([]):d;toggle.call(this,f,c,data,e,down);return false};function findActive(a,b){return b!=undefined?typeof b=="number"?a.filter(":eq("+b+")"):a.not(a.not(b)):b===false?$([]):a.filter(":eq(0)")}$.extend($.ui.accordion,{defaults:{selectedClass:"selected",alwaysOpen:true,animated:'slide',event:"click",header:"a",autoheight:true,running:0,navigationFilter:function(){return this.href.toLowerCase()==location.href.toLowerCase()}},animations:{slide:function(c,d){c=$.extend({easing:"swing",duration:300},c,d);if(!c.toHide.size()){c.toShow.animate({height:"show"},c);return}var e=c.toHide.height(),showHeight=c.toShow.data('realHeight'),difference=showHeight/e;c.toShow.css({height:0,overflow:'hidden'}).show();c.toHide.filter(":hidden").each(c.complete).end().filter(":visible").animate({height:"hide"},{step:function(a){var b=(e-a)*difference;if($.browser.msie||$.browser.opera){b=Math.ceil(b)}c.toShow.height(b)},duration:c.duration,easing:c.easing,complete:function(){if(!c.autoheight){c.toShow.css("height","auto")}c.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);