(function(A){A.ui=A.ui||{};A.fn.tabs=function(C,B){if(C&&C.constructor==Object){B=C;C=null}B=B||{};C=C&&C.constructor==Number&&--C||0;return this.each(function(){new A.ui.tabs(this,A.extend(B,{initial:C}))})};A.each(["Add","Remove","Enable","Disable","Click","Load"],function(B,C){A.fn["tabs"+C]=function(){var D=arguments;return this.each(function(){var E=A.ui.tabs.getInstance(this);E[C.toLowerCase()].apply(E,D)})}});A.fn.tabsSelected=function(){var D=-1;if(this[0]){var B=A.ui.tabs.getInstance(this[0]),C=A("li",this);D=C.index(C.filter("."+B.options.selectedClass)[0])}return D>=0?++D:-1};A.ui.tabs=function(D,B){this.source=D;this.options=A.extend({initial:0,event:"click",disabled:[],unselected:false,unselect:B.unselected?true:false,spinner:"Loading&#8230;",cache:false,idPrefix:"tab-",fxSpeed:"normal",add:function(){},remove:function(){},enable:function(){},disable:function(){},click:function(){},hide:function(){},show:function(){},load:function(){},navClass:"ui-tabs-nav",selectedClass:"ui-tabs-selected",disabledClass:"ui-tabs-disabled",containerClass:"ui-tabs-container",hideClass:"ui-tabs-hide",loadingClass:"ui-tabs-loading"},B);this.tabify(true);var C="tabs"+A.ui.tabs.prototype.count++;A.ui.tabs.instances[C]=this;A.data(D,"tabsUUID",C)};A.ui.tabs.instances={};A.ui.tabs.getInstance=function(B){return A.ui.tabs.instances[A.data(B,"tabsUUID")]};A.extend(A.ui.tabs.prototype,{count:0,tabify:function(N){this.$tabs=A("a:first-child",this.source);this.$containers=A([]);var P=this,C=this.options;this.$tabs.each(function(R,Q){if(Q.hash&&Q.hash.replace("#","")){P.$containers=P.$containers.add(Q.hash)}else{A.data(Q,"href",Q.href);var S=Q.title&&Q.title.replace(/\s/g,"_")||C.idPrefix+(P.count+1)+"-"+(R+1);Q.href="#"+S;P.$containers=P.$containers.add(A("#"+S)[0]||A('<div id="'+S+'" class="'+C.containerClass+'"></div>').insertAfter(P.$containers[R-1]||P.source))}});if(N){this.$tabs.each(function(S,Q){if(location.hash){if(Q.hash==location.hash){C.initial=S;if(A.browser.msie||A.browser.opera){var R=A(location.hash),T=R.attr("id");R.attr("id","");setTimeout(function(){R.attr("id",T)},500)}scrollTo(0,0);return false}}else{if(A(Q).parents("li:eq(0)").is("li."+C.selectedClass)){C.initial=S;return false}}});A(this.source).is("."+C.navClass)||A(this.source).addClass(C.navClass);this.$containers.each(function(){var Q=A(this);Q.is("."+C.containerClass)||Q.addClass(C.containerClass)});var J=A("li",this.source);this.$containers.addClass(C.hideClass);J.removeClass(C.selectedClass);if(!C.unselected){this.$containers.slice(C.initial,C.initial+1).show();J.slice(C.initial,C.initial+1).addClass(C.selectedClass)}if(A.data(this.$tabs[C.initial],"href")){this.load(C.initial+1,A.data(this.$tabs[C.initial],"href"));if(C.cache){A.removeData(this.$tabs[C.initial],"href")}}for(var F=0,G;G=C.disabled[F];F++){this.disable(G)}}var B={},O=C.fxShowSpeed||C.fxSpeed,M={},E=C.fxHideSpeed||C.fxSpeed;if(C.fxSlide||C.fxFade){if(C.fxSlide){B["height"]="show";M["height"]="hide"}if(C.fxFade){B["opacity"]="show";M["opacity"]="hide"}}else{if(C.fxShow){B=C.fxShow}else{B["min-width"]=0;O=1}if(C.fxHide){M=C.fxHide}else{M["min-width"]=0;E=1}}var I={display:"",overflow:"",height:""};if(!A.browser.msie){I["opacity"]=""}function L(R,Q,S){Q.animate(M,E,function(){Q.addClass(C.hideClass).css(I);if(A.browser.msie){Q[0].style.filter=""}C.hide(R,Q[0],S&&S[0]||null);if(S){K(R,S,Q)}})}function K(R,S,Q){if(!(C.fxSlide||C.fxFade||C.fxShow)){S.css("display","block")}S.animate(B,O,function(){S.removeClass(C.hideClass).css(I);if(A.browser.msie){S[0].style.filter=""}C.show(R,S[0],Q&&Q[0]||null)})}function D(R,Q,S){A(R).parents("li:eq(0)").addClass(C.selectedClass).siblings().removeClass(C.selectedClass);L(R,Q,S)}function H(T){var U=A(this).parents("li:eq(0)"),Q=P.$containers.filter(":visible"),S=A(this.hash);if((U.is("."+C.selectedClass)&&!C.unselect)||U.is("."+C.disabledClass)||C.click(this,S[0],Q[0])===false){this.blur();return false}if(C.unselect){if(U.is("."+C.selectedClass)){U.removeClass(C.selectedClass);P.$containers.stop();L(this,Q);this.blur();return false}else{if(!Q.length){U.addClass(C.selectedClass);P.$containers.stop();K(this,S);this.blur();return false}}}P.$containers.stop();if(S.length){if(A.data(this,"href")){var R=this;P.load(P.$tabs.index(this)+1,A.data(this,"href"),function(){D(R,Q,S)});if(C.cache){A.removeData(this,"href")}}else{D(this,Q,S)}}else{throw"jQuery UI Tabs: Mismatching fragment identifier."}this.blur();return false}this.$tabs.unbind(C.event,H).bind(C.event,H)},add:function(C,F,B){if(C&&F){var E=this.options;B=B||this.$tabs.length;if(B>=this.$tabs.length){var G="insertAfter";B=this.$tabs.length}else{var G="insertBefore"}if(C.indexOf("#")==0){var D=A(C);(D.length&&D||A('<div id="'+C.replace("#","")+'" class="'+E.containerClass+" "+E.hideClass+'"></div>'))[G](this.$containers[B-1])}A('<li><a href="'+C+'"><span>'+F+"</span></a></li>")[G](this.$tabs.slice(B-1,B).parents("li:eq(0)"));this.tabify();E.add(this.$tabs[B-1],this.$containers[B-1])}else{throw"jQuery UI Tabs: Not enough arguments to add tab."}},remove:function(B){if(B&&B.constructor==Number){var C=this.$tabs.slice(B-1,B).parents("li:eq(0)").remove();var D=this.$containers.slice(B-1,B).remove();this.tabify();this.options.remove(C[0],D[0])}},enable:function(B){var D=this.$tabs.slice(B-1,B).parents("li:eq(0)"),C=this.options;D.removeClass(C.disabledClass);if(A.browser.safari){D.animate({opacity:1},1,function(){D.css({opacity:""})})}C.enable(this.$tabs[B-1],this.$containers[B-1])},disable:function(B){var D=this.$tabs.slice(B-1,B).parents("li:eq(0)"),C=this.options;if(A.browser.safari){D.animate({opacity:0},1,function(){D.css({opacity:""})})}D.addClass(this.options.disabledClass);C.disable(this.$tabs[B-1],this.$containers[B-1])},click:function(B){this.$tabs.slice(B-1,B).trigger("click")},load:function(B,E,I){var D=this,H=this.options,F=this.$tabs.slice(B-1,B).addClass(H.loadingClass),C=A("span",F),G=C.html();if(E&&E.constructor==Function){I=E}if(E){A.data(F[0],"href",E)}if(H.spinner){C.html("<em>"+H.spinner+"</em>")}setTimeout(function(){A(F[0].hash).load(E,function(){if(H.spinner){C.html(G)}F.removeClass(H.loadingClass);if(I&&I.constructor==Function){I()}H.load(D.$tabs[B-1],D.$containers[B-1])})},0)}})})(jQuery)