(function(A){A.ui=A.ui||{};A.fn.tabs=function(){var C=typeof arguments[0]=="string"&&arguments[0];var B=C&&Array.prototype.slice.call(arguments,1)||arguments;return this.each(function(){if(C){var D=A.data(this,"ui-tabs");D[C].apply(D,B)}else{new A.ui.tabs(this,B[0]||{})}})};A.ui.tabs=function(D,C){var B=this;this.element=D;this.options=A.extend({selected:0,unselect:C.selected===null,event:"click",disabled:[],cookie:null,spinner:"Loading&#8230;",cache:false,idPrefix:"ui-tabs-",ajaxOptions:{},fx:null,tabTemplate:'<li><a href="#{href}"><span>#{label}</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"},C);this.options.event+=".ui-tabs";this.options.cookie=A.cookie&&A.cookie.constructor==Function&&this.options.cookie;A(D).bind("setData.ui-tabs",function(F,E,G){B.options[E]=G;this.tabify()}).bind("getData.ui-tabs",function(F,E){return B.options[E]});A.data(D,"ui-tabs",this);this.tabify(true)};A.extend(A.ui.tabs.prototype,{tabId:function(B){return B.title&&B.title.replace(/\s/g,"_").replace(/[^A-Za-z0-9\-_:\.]/g,"")||this.options.idPrefix+A.data(B)},ui:function(C,B){return{instance:this,options:this.options,tab:C,panel:B}},tabify:function(O){this.$lis=A("li:has(a[href])",this.element);this.$tabs=this.$lis.map(function(){return A("a",this)[0]});this.$panels=A([]);var P=this,E=this.options;this.$tabs.each(function(R,Q){if(Q.hash&&Q.hash.replace("#","")){P.$panels=P.$panels.add(Q.hash)}else{if(A(Q).attr("href")!="#"){A.data(Q,"href.ui-tabs",Q.href);A.data(Q,"load.ui-tabs",Q.href);var T=P.tabId(Q);Q.href="#"+T;var S=A("#"+T);if(!S.length){S=A(E.panelTemplate).attr("id",T).addClass(E.panelClass).insertAfter(P.$panels[R-1]||P.element);S.data("destroy.ui-tabs",true)}P.$panels=P.$panels.add(S)}else{E.disabled.push(R+1)}}});if(O){A(this.element).hasClass(E.navClass)||A(this.element).addClass(E.navClass);this.$panels.each(function(){var Q=A(this);Q.hasClass(E.panelClass)||Q.addClass(E.panelClass)});for(var I=0,L;L=E.disabled[I];I++){this.disable(L)}this.$tabs.each(function(T,Q){if(location.hash){if(Q.hash==location.hash){E.selected=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(E.cookie){var R=parseInt(A.cookie("ui-tabs"+A.data(P.element)),10);if(R&&P.$tabs[R]){E.selected=R;return false}}else{if(P.$lis.eq(T).hasClass(E.selectedClass)){E.selected=T;return false}}}});var F=this.$lis.length;while(this.$lis.eq(E.selected).hasClass(E.disabledClass)&&F){E.selected=++E.selected<this.$lis.length?E.selected:0;F--}if(!F){E.unselect=true}this.$panels.addClass(E.hideClass);this.$lis.removeClass(E.selectedClass);if(!E.unselect){this.$panels.eq(E.selected).show().removeClass(E.hideClass);this.$lis.eq(E.selected).addClass(E.selectedClass)}var D=!E.unselect&&A.data(this.$tabs[E.selected],"load.ui-tabs");if(D){this.load(E.selected,D)}if(!(/^click/).test(E.event)){this.$tabs.bind("click",function(Q){Q.preventDefault()})}}var C,K,B={"min-width":0,duration:1},G="normal";if(E.fx&&E.fx.constructor==Array){C=E.fx[0]||B,K=E.fx[1]||B}else{C=K=E.fx||B}var J={display:"",overflow:"",height:""};if(!A.browser.msie){J.opacity=""}function N(R,Q,S){Q.animate(C,C.duration||G,function(){Q.addClass(E.hideClass).css(J);if(A.browser.msie&&C.opacity){Q[0].style.filter=""}if(S){M(R,S,Q)}})}function M(R,S,Q){if(K===B){S.css("display","block")}S.animate(K,K.duration||G,function(){S.removeClass(E.hideClass).css(J);if(A.browser.msie&&K.opacity){S[0].style.filter=""}A(P.element).triggerHandler("show.ui-tabs",[P.ui(R,S[0])])})}function H(R,T,Q,S){T.addClass(E.selectedClass).siblings().removeClass(E.selectedClass);N(R,Q,S)}this.$tabs.unbind(E.event).bind(E.event,function(){var T=A(this).parents("li:eq(0)"),Q=P.$panels.filter(":visible"),S=A(this.hash);if((T.hasClass(E.selectedClass)&&!E.unselect)||T.hasClass(E.disabledClass)||A(P.element).triggerHandler("select.ui-tabs",[P.ui(this,S[0])])===false){this.blur();return false}P.options.selected=P.$tabs.index(this);if(E.unselect){if(T.hasClass(E.selectedClass)){P.options.selected=null;T.removeClass(E.selectedClass);P.$panels.stop();N(this,Q);this.blur();return false}else{if(!Q.length){P.$panels.stop();var R=this;P.load(P.$tabs.index(this),function(){T.addClass(E.selectedClass).addClass(E.unselectClass);M(R,S)});this.blur();return false}}}if(E.cookie){A.cookie("ui-tabs"+A.data(P.element),P.options.selected,E.cookie)}P.$panels.stop();if(S.length){var R=this;P.load(P.$tabs.index(this),function(){H(R,T,Q,S)})}else{throw"jQuery UI Tabs: Mismatching fragment identifier."}if(A.browser.msie){this.blur()}return false})},add:function(E,D,C){if(E&&D){C=C||this.$tabs.length;var G=this.options;var I=A(G.tabTemplate.replace(/#\{href\}/,E).replace(/#\{label\}/,D));I.data("destroy.ui-tabs",true);var H=E.indexOf("#")==0?E.replace("#",""):this.tabId(A("a:first-child",I)[0]);var F=A("#"+H);if(!F.length){F=A(G.panelTemplate).attr("id",H).addClass(G.panelClass).addClass(G.hideClass);F.data("destroy.ui-tabs",true)}if(C>=this.$lis.length){I.appendTo(this.element);F.appendTo(this.element.parentNode)}else{I.insertBefore(this.$lis[C]);F.insertBefore(this.$panels[C])}this.tabify();if(this.$tabs.length==1){I.addClass(G.selectedClass);F.removeClass(G.hideClass);var B=A.data(this.$tabs[0],"load.ui-tabs");if(B){this.load(C,B)}}A(this.element).triggerHandler("add.ui-tabs",[this.ui(this.$tabs[C],this.$panels[C])])}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.$lis.eq(B).remove(),C=this.$panels.eq(B).remove();if(E.hasClass(D.selectedClass)&&this.$tabs.length>1){this.click(B+(B<this.$tabs.length?1:-1))}this.tabify();A(this.element).triggerHandler("remove.ui-tabs",[this.ui(E.find("a")[0],C[0])])}},enable:function(C){var B=this,D=this.options,E=this.$lis.eq(C);E.removeClass(D.disabledClass);if(A.browser.safari){E.css("display","inline-block");setTimeout(function(){E.css("display","block")},0)}D.disabled=A.map(this.$lis.filter("."+D.disabledClass),function(G,F){return B.$lis.index(G)});A(this.element).triggerHandler("enable.ui-tabs",[this.ui(this.$tabs[C],this.$panels[C])])},disable:function(C){var B=this,D=this.options;this.$lis.eq(C).addClass(D.disabledClass);D.disabled=A.map(this.$lis.filter("."+D.disabledClass),function(F,E){return B.$lis.index(F)});A(this.element).triggerHandler("disable.ui-tabs",[this.ui(this.$tabs[C],this.$panels[C])])},select:function(B){if(typeof B=="string"){B=this.$tabs.index(this.$tabs.filter("[href$="+B+"]")[0])}this.$tabs.eq(B).trigger(this.options.event)},load:function(F,K){var L=this,C=this.options,D=this.$tabs.eq(F),J=D[0];var B=D.data("load.ui-tabs");if(!B){typeof K=="function"&&K();return }if(C.spinner){var G=A("span",J),I=G.html();G.html("<em>"+C.spinner+"</em>")}var H=function(){L.$tabs.filter("."+C.loadingClass).each(function(){A(this).removeClass(C.loadingClass);if(C.spinner){A("span",this).html(I)}});L.xhr=null};var E=A.extend({},C.ajaxOptions,{url:B,success:function(N,M){A(J.hash).html(N);H();typeof K=="function"&&K();if(C.cache){A.removeData(J,"load.ui-tabs")}A(L.element).triggerHandler("load.ui-tabs",[L.ui(L.$tabs[F],L.$panels[F])]);C.ajaxOptions.success&&C.ajaxOptions.success(N,M)}});if(this.xhr){this.xhr.abort();H()}D.addClass(C.loadingClass);setTimeout(function(){L.xhr=A.ajax(E)},0)},url:function(C,B){this.$tabs.eq(C).data("load.ui-tabs",B)},destroy:function(){var B=this.options;A(this.element).unbind(".ui-tabs").removeClass(B.navClass).removeData("ui-tabs");this.$tabs.each(function(){var C=A.data(this,"href.ui-tabs");if(C){this.href=C}A(this).unbind(".ui-tabs").removeData("href.ui-tabs").removeData("load.ui-tabs")});this.$lis.add(this.$panels).each(function(){if(A.data(this,"destroy.ui-tabs")){A(this).remove()}else{A(this).removeClass([B.selectedClass,B.unselectClass,B.disabledClass,B.panelClass,B.hideClass].join(" "))}})}})})(jQuery);
