(function(A){A.widget("ui.tabs",{_init:function(){this._tabify(true)},_setData:function(B,C){if((/^selected/).test(B)){this.select(C)}else{this.options[B]=C;this._tabify()}},length:function(){return this.$tabs.length},_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{options:this.options,tab:C,panel:B,index:this.$tabs.index(C)}},_sanitizeSelector:function(B){return B.replace(/:/g,"\\:")},_cookie:function(){var B=this.cookie||(this.cookie="ui-tabs-"+A.data(this.element[0]));return A.cookie.apply(null,[B].concat(A.makeArray(arguments)))},_tabify:function(P){this.$lis=A("li:has(a[href])",this.element);this.$tabs=this.$lis.map(function(){return A("a",this)[0]});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(Q._sanitizeSelector(R.hash))}else{if(A(R).attr("href")!="#"){A.data(R,"href.tabs",R.href);A.data(R,"load.tabs",R.href);var U=Q._tabId(R);R.href="#"+U;var T=A("#"+U);if(!T.length){T=A(D.panelTemplate).attr("id",U).addClass(D.panelClass).insertAfter(Q.$panels[S-1]||Q.element);T.data("destroy.tabs",true)}Q.$panels=Q.$panels.add(T)}else{D.disabled.push(S+1)}}});if(P){this.element.addClass(D.navClass);this.$panels.addClass(D.panelClass);if(D.selected===undefined){if(location.hash){this.$tabs.each(function(T,R){if(R.hash==location.hash){D.selected=T;if(A.browser.msie||A.browser.opera){var S=A(this._sanitizeSelector(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){var K=parseInt(Q._cookie(),10);if(K&&Q.$tabs[K]){D.selected=K}}else{if(Q.$lis.filter("."+D.selectedClass).length){D.selected=Q.$lis.index(Q.$lis.filter("."+D.selectedClass)[0])}}}}D.selected=D.selected===null||D.selected!==undefined?D.selected:0;D.disabled=A.unique(D.disabled.concat(A.map(this.$lis.filter("."+D.disabledClass),function(S,R){return Q.$lis.index(S)}))).sort();if(A.inArray(D.selected,D.disabled)!=-1){D.disabled.splice(A.inArray(D.selected,D.disabled),1)}this.$panels.addClass(D.hideClass);this.$lis.removeClass(D.selectedClass);if(D.selected!==null){this.$panels.eq(D.selected).show().removeClass(D.hideClass);var F=[D.selectedClass];if(D.deselectable){F.push(D.deselectableClass)}this.$lis.eq(D.selected).addClass(F.join(" "));var L=function(){Q._trigger("show",null,Q.ui(Q.$tabs[D.selected],Q.$panels[D.selected]))};if(A.data(this.$tabs[D.selected],"load.tabs")){this.load(D.selected,L)}else{L()}}A(window).bind("unload",function(){Q.$tabs.unbind(".tabs");Q.$lis=Q.$tabs=Q.$panels=null})}else{D.selected=this.$lis.index(this.$lis.filter("."+D.selectedClass)[0])}if(D.cookie){this._cookie(D.selected,D.cookie)}for(var I=0,O;O=this.$lis[I];I++){A(O)[A.inArray(I,D.disabled)!=-1&&!A(O).hasClass(D.selectedClass)?"addClass":"removeClass"](D.disabledClass)}if(D.cache===false){this.$tabs.removeData("cache.tabs")}var C,J,B={"min-width":0,duration:1},G="normal";if(D.fx&&D.fx.constructor==Array){C=D.fx[0]||B,J=D.fx[1]||B}else{C=J=D.fx||B}function E(R,S){R.css({display:""});if(A.browser.msie&&S.opacity){R[0].style.filter=""}}function N(S,R,T){R.animate(C,C.duration||G,function(){R.addClass(D.hideClass);E(R,C);if(T){M(S,T,R)}})}function M(S,T,R){if(J===B){T.css("display","block")}T.animate(J,J.duration||G,function(){T.removeClass(D.hideClass);E(T,J);Q._trigger("show",null,Q.ui(S,T[0]))})}function H(T,V,R,U){var S=[D.selectedClass];if(D.deselectable){S.push(D.deselectableClass)}V.addClass(S.join(" ")).siblings().removeClass(S.join(" "));N(T,R,U)}this.$tabs.unbind(".tabs").bind(D.event+".tabs",function(){var U=A(this).parents("li:eq(0)"),R=Q.$panels.filter(":visible"),T=A(Q._sanitizeSelector(this.hash));if((U.hasClass(D.selectedClass)&&!D.deselectable)||U.hasClass(D.disabledClass)||A(this).hasClass(D.loadingClass)||Q._trigger("select",null,Q.ui(this,T[0]))===false){this.blur();return false}D.selected=Q.$tabs.index(this);if(D.deselectable){if(U.hasClass(D.selectedClass)){Q.options.selected=null;U.removeClass([D.selectedClass,D.deselectableClass].join(" "));Q.$panels.stop();N(this,R);this.blur();return false}else{if(!R.length){Q.$panels.stop();var S=this;Q.load(Q.$tabs.index(this),function(){U.addClass([D.selectedClass,D.deselectableClass].join(" "));M(S,T)});this.blur();return false}}}if(D.cookie){Q._cookie(D.selected,D.cookie)}Q.$panels.stop();if(T.length){var S=this;Q.load(Q.$tabs.index(this),R.length?function(){H(S,U,R,T)}:function(){U.addClass(D.selectedClass);M(S,T)})}else{throw"jQuery UI Tabs: Mismatching fragment identifier."}if(A.browser.msie){this.blur()}return false});if(D.event!="click"){this.$tabs.bind("click.tabs",function(){return false})}},add:function(E,D,C){if(C==undefined){C=this.$tabs.length}var G=this.options;var I=A(G.tabTemplate.replace(/#\{href\}/g,E).replace(/#\{label\}/g,D));I.data("destroy.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.hideClass).data("destroy.tabs",true)}F.addClass(G.panelClass);if(C>=this.$lis.length){I.appendTo(this.element);F.appendTo(this.element[0].parentNode)}else{I.insertBefore(this.$lis[C]);F.insertBefore(this.$panels[C])}G.disabled=A.map(G.disabled,function(K,J){return K>=C?++K:K});this._tabify();if(this.$tabs.length==1){I.addClass(G.selectedClass);F.removeClass(G.hideClass);var B=A.data(this.$tabs[0],"load.tabs");if(B){this.load(C,B)}}this._trigger("add",null,this.ui(this.$tabs[C],this.$panels[C]))},remove:function(B){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.select(B+(B+1<this.$tabs.length?1:-1))}D.disabled=A.map(A.grep(D.disabled,function(G,F){return G!=B}),function(G,F){return G>=B?--G:G});this._tabify();this._trigger("remove",null,this.ui(E.find("a")[0],C[0]))},enable:function(B){var C=this.options;if(A.inArray(B,C.disabled)==-1){return }var D=this.$lis.eq(B).removeClass(C.disabledClass);if(A.browser.safari){D.css("display","inline-block");setTimeout(function(){D.css("display","block")},0)}C.disabled=A.grep(C.disabled,function(F,E){return F!=B});this._trigger("enable",null,this.ui(this.$tabs[B],this.$panels[B]))},disable:function(C){var B=this,D=this.options;if(C!=D.selected){this.$lis.eq(C).addClass(D.disabledClass);D.disabled.push(C);D.disabled.sort();this._trigger("disable",null,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+".tabs")},load:function(G,K){var L=this,D=this.options,E=this.$tabs.eq(G),J=E[0],H=K==undefined||K===false,B=E.data("load.tabs");K=K||function(){};if(!B||!H&&A.data(J,"cache.tabs")){K();return }var M=function(N){var O=A(N),P=O.find("*:last");return P.length&&P.is(":not(img)")&&P||O};var C=function(){L.$tabs.filter("."+D.loadingClass).removeClass(D.loadingClass).each(function(){if(D.spinner){M(this).parent().html(M(this).data("label.tabs"))}});L.xhr=null};if(D.spinner){var I=M(J).html();M(J).wrapInner("<em></em>").find("em").data("label.tabs",I).html(D.spinner)}var F=A.extend({},D.ajaxOptions,{url:B,success:function(O,N){A(L._sanitizeSelector(J.hash)).html(O);C();if(D.cache){A.data(J,"cache.tabs",true)}L._trigger("load",null,L.ui(L.$tabs[G],L.$panels[G]));try{D.ajaxOptions.success(O,N)}catch(P){}K()}});if(this.xhr){this.xhr.abort();C()}E.addClass(D.loadingClass);setTimeout(function(){L.xhr=A.ajax(F)},0)},url:function(C,B){this.$tabs.eq(C).removeData("cache.tabs").data("load.tabs",B)},destroy:function(){var B=this.options;this.element.unbind(".tabs").removeClass(B.navClass).removeData("tabs");this.$tabs.each(function(){var C=A.data(this,"href.tabs");if(C){this.href=C}var D=A(this).unbind(".tabs");A.each(["href","load","cache"],function(E,F){D.removeData(F+".tabs")})});this.$lis.add(this.$panels).each(function(){if(A.data(this,"destroy.tabs")){A(this).remove()}else{A(this).removeClass([B.selectedClass,B.deselectableClass,B.disabledClass,B.panelClass,B.hideClass].join(" "))}});if(B.cookie){this._cookie(null,B.cookie)}}});A.extend(A.ui.tabs,{version:"@VERSION",getter:"length",defaults:{deselectable:false,event:"click",disabled:[],cookie:null,spinner:"Loading&#8230;",cache:false,idPrefix:"ui-tabs-",ajaxOptions:null,fx:null,tabTemplate:'<li><a href="#{href}"><span>#{label}</span></a></li>',panelTemplate:"<div></div>",navClass:"ui-tabs-nav",selectedClass:"ui-tabs-selected",deselectableClass:"ui-tabs-deselectable",disabledClass:"ui-tabs-disabled",panelClass:"ui-tabs-panel",hideClass:"ui-tabs-hide",loadingClass:"ui-tabs-loading"}});A.extend(A.ui.tabs.prototype,{rotation:null,rotate:function(C,F){F=F||false;var B=this,E=this.options.selected;function G(){B.rotation=setInterval(function(){E=++E<B.$tabs.length?E:0;B.select(E)},C)}function D(H){if(!H||H.clientX){clearInterval(B.rotation)}}if(C){G();if(!F){this.$tabs.bind(this.options.event+".tabs",D)}else{this.$tabs.bind(this.options.event+".tabs",function(){D();E=B.options.selected;G()})}}else{D();this.$tabs.unbind(this.options.event+".tabs",D)}}})})(jQuery);
