(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","Href"],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(C,B){this.source=C;this.options=A.extend({initial:0,event:"click",disabled:[],cookie:null,unselected:false,unselect:B.unselected?true:false,spinner:"Loading&#8230;",cache:false,idPrefix:"ui-tabs-",ajaxOptions:{},fxSpeed:"normal",add:function(){},remove:function(){},enable:function(){},disable:function(){},click:function(){},hide:function(){},show:function(){},load:function(){},tabTemplate:'<li><a href="#{href}"><span>#{text}</span></a></li>',panelTemplate:"<div></div>",navClass:"ui-tabs-nav",selectedClass:"ui-tabs-selected",unselectClass:"ui-tabs-unselect",disabledClass:"ui-tabs-disabled",panelClass:"ui-tabs-panel",hideClass:"ui-tabs-hide",loadingClass:"ui-tabs-loading"},B);this.options.event+=".ui-tabs";this.options.cookie=A.cookie&&A.cookie.constructor==Function&&this.options.cookie;A.data(C,A.ui.tabs.INSTANCE_KEY,this);this.tabify(true)};A.ui.tabs.INSTANCE_KEY="ui_tabs_instance";A.ui.tabs.getInstance=function(B){return A.data(B,A.ui.tabs.INSTANCE_KEY)};A.extend(A.ui.tabs.prototype,{tabId:function(B){return B.title?B.title.replace(/\s/g,"_"):this.options.idPrefix+A.data(B)},tabify:function(P){this.$tabs=A("a:first-child",this.source);this.$panels=A([]);var Q=this,D=this.options;this.$tabs.each(function(S,R){if(R.hash&&R.hash.replace("#","")){Q.$panels=Q.$panels.add(R.hash)}else{if(A(R).attr("href")!="#"){A.data(R,"href",R.href);var T=Q.tabId(R);R.href="#"+T;Q.$panels=Q.$panels.add(A("#"+T)[0]||A(D.panelTemplate).attr("id",T).addClass(D.panelClass).insertAfter(Q.$panels[S-1]||Q.source))}else{D.disabled.push(S+1)}}});if(P){A(this.source).hasClass(D.navClass)||A(this.source).addClass(D.navClass);this.$panels.each(function(){var R=A(this);R.hasClass(D.panelClass)||R.addClass(D.panelClass)});for(var H=0,I;I=D.disabled[H];H++){this.disable(I)}this.$tabs.each(function(T,R){if(location.hash){if(R.hash==location.hash){D.initial=T;if(A.browser.msie||A.browser.opera){var S=A(location.hash),U=S.attr("id");S.attr("id","");setTimeout(function(){S.attr("id",U)},500)}scrollTo(0,0);return false}}else{if(D.cookie){D.initial=parseInt(A.cookie(A.ui.tabs.INSTANCE_KEY+A.data(Q.source)))||0;return false}else{if(A(R).parent("li").hasClass(D.selectedClass)){D.initial=T;return false}}}});var E=this.$tabs.length;while(this.$tabs.eq(D.initial).parent("li").hasClass(D.disabledClass)&&E){D.initial=++D.initial<this.$tabs.length?D.initial:0;E--}if(!E){D.unselected=D.unselect=true}var K=this.$tabs.parent("li");this.$panels.addClass(D.hideClass);K.removeClass(D.selectedClass);if(!D.unselected){this.$panels.eq(D.initial).show().removeClass(D.hideClass);K.eq(D.initial).addClass(D.selectedClass)}var C=!D.unselected&&A.data(this.$tabs[D.initial],"href");if(C){this.load(D.initial+1,C)}}var B={},O=D.fxShowSpeed||D.fxSpeed,N={},G=D.fxHideSpeed||D.fxSpeed;if(D.fxSlide||D.fxFade){if(D.fxSlide){B["height"]="show";N["height"]="hide"}if(D.fxFade){B["opacity"]="show";N["opacity"]="hide"}}else{if(D.fxShow){B=D.fxShow}else{B["min-width"]=0;O=1}if(D.fxHide){N=D.fxHide}else{N["min-width"]=0;G=1}}var J={display:"",overflow:"",height:""};if(!A.browser.msie){J["opacity"]=""}function M(S,R,T){R.animate(N,G,function(){R.addClass(D.hideClass).css(J);if(A.browser.msie&&N["opacity"]){R[0].style.filter=""}D.hide(S,R[0],T&&T[0]||null);if(T){L(S,T,R)}})}function L(S,T,R){if(!(D.fxSlide||D.fxFade||D.fxShow)){T.css("display","block")}T.animate(B,O,function(){T.removeClass(D.hideClass).css(J);if(A.browser.msie&&B["opacity"]){T[0].style.filter=""}D.show(S,T[0],R&&R[0]||null)})}function F(S,R,T){A(S).parents("li:eq(0)").addClass(D.selectedClass).siblings().removeClass(D.selectedClass);M(S,R,T)}this.$tabs.unbind(D.event).bind(D.event,function(){var U=A(this).parent("li"),R=Q.$panels.filter(":visible"),T=A(this.hash);if((U.hasClass(D.selectedClass)&&!D.unselect)||U.hasClass(D.disabledClass)||D.click(this,T[0],R[0])===false){this.blur();return false}if(D.cookie){A.cookie(A.ui.tabs.INSTANCE_KEY+A.data(Q.source),Q.$tabs.index(this),D.cookie)}if(D.unselect){if(U.hasClass(D.selectedClass)){U.removeClass(D.selectedClass);Q.$panels.stop();M(this,R);this.blur();return false}else{if(!R.length){Q.$panels.stop();if(A.data(this,"href")){var S=this;Q.load(Q.$tabs.index(this)+1,A.data(this,"href"),function(){U.addClass(D.selectedClass).addClass(D.unselectClass);L(S,T)})}else{U.addClass(D.selectedClass).addClass(D.unselectClass);L(this,T)}this.blur();return false}}}Q.$panels.stop();if(T.length){if(A.data(this,"href")){var S=this;Q.load(Q.$tabs.index(this)+1,A.data(this,"href"),function(){F(S,R,T)})}else{F(this,R,T)}}else{throw"jQuery UI Tabs: Mismatching fragment identifier."}this.blur();return false})},add:function(D,G,B){if(D&&G){B=B||this.$tabs.length;var F=this.options,I=A(F.tabTemplate.replace(/#\{href\}/,D).replace(/#\{text\}/,G));var H=D.indexOf("#")==0?D.replace("#",""):this.tabId(A("a:first-child",I)[0]);var E=A("#"+H);E=E.length&&E||A(F.panelTemplate).attr("id",H).addClass(F.panelClass).addClass(F.hideClass);if(B>=this.$tabs.length){I.appendTo(this.source);E.appendTo(this.source.parentNode)}else{I.insertBefore(this.$tabs.eq(B-1).parent("li"));E.insertBefore(this.$panels[B-1])}this.tabify();if(this.$tabs.length==1){I.addClass(F.selectedClass);E.removeClass(F.hideClass);var C=A.data(this.$tabs[0],"href");if(C){this.load(B+1,C)}}F.add(this.$tabs[B],this.$panels[B])}else{throw"jQuery UI Tabs: Not enough arguments to add tab."}},remove:function(B){if(B&&B.constructor==Number){var D=this.options,E=this.$tabs.eq(B-1).parent("li").remove(),C=this.$panels.eq(B-1).remove();if(E.hasClass(D.selectedClass)&&this.$tabs.length>1){this.click(B+(B<this.$tabs.length?1:-1))}this.tabify();D.remove(E.end()[0],C[0])}},enable:function(B){var C=this.options,D=this.$tabs.eq(B-1).parent("li");D.removeClass(C.disabledClass);if(A.browser.safari){D.css("display","inline-block");setTimeout(function(){D.css("display","block")},0)}C.enable(this.$tabs[B-1],this.$panels[B-1])},disable:function(B){var C=this.options;this.$tabs.eq(B-1).parent("li").addClass(C.disabledClass);C.disable(this.$tabs[B-1],this.$panels[B-1])},click:function(B){this.$tabs.eq(B-1).trigger(this.options.event)},load:function(F,B,J){var K=this,C=this.options,D=this.$tabs.eq(F-1),I=D[0],G=A("span",I);if(B&&B.constructor==Function){J=B;B=null}if(B){A.data(I,"href",B)}else{B=A.data(I,"href")}if(C.spinner){A.data(I,"title",G.html());G.html("<em>"+C.spinner+"</em>")}var H=function(){K.$tabs.filter("."+C.loadingClass).each(function(){A(this).removeClass(C.loadingClass);if(C.spinner){A("span",this).html(A.data(this,"title"))}});K.xhr=null};var E=A.extend(C.ajaxOptions,{url:B,success:function(L){A(I.hash).html(L);H();if(J&&J.constructor==Function){J()}if(C.cache){A.removeData(I,"href")}C.load(K.$tabs[F-1],K.$panels[F-1])}});if(this.xhr){this.xhr.abort();H()}D.addClass(C.loadingClass);setTimeout(function(){K.xhr=A.ajax(E)},0)},href:function(B,C){A.data(this.$tabs.eq(B-1)[0],"href",C)}})})(jQuery)
