(function(A){A.widget("ui.tabs",{_init:function(){if(this.options.deselectable!==undefined){this.options.collapsible=this.options.deselectable}this._tabify(true)},_setData:function(B,C){if(B=="selected"){if(this.options.collapsible&&C==this.options.selected){return }this.select(C)}else{this.options[B]=C;if(B=="deselectable"){this.options.collapsible=C}this._tabify()}},_tabId:function(B){return B.title&&B.title.replace(/\s/g,"_").replace(/[^A-Za-z0-9\-_:\.]/g,"")||this.options.idPrefix+A.data(B)},_sanitizeSelector:function(B){return B.replace(/:/g,"\\:")},_cookie:function(){var B=this.cookie||(this.cookie=this.options.cookie.name||"ui-tabs-"+A.data(this.list[0]));return A.cookie.apply(null,[B].concat(A.makeArray(arguments)))},_ui:function(C,B){return{tab:C,panel:B,index:this.anchors.index(C)}},_cleanup:function(){this.lis.filter(".ui-state-processing").removeClass("ui-state-processing").find("span:data(label.tabs)").each(function(){var B=A(this);B.html(B.data("label.tabs")).removeData("label.tabs")})},_tabify:function(M){this.list=this.element.children("ul:first");this.lis=A("li:has(a[href])",this.list);this.anchors=this.lis.map(function(){return A("a",this)[0]});this.panels=A([]);var N=this,D=this.options;var C=/^#.+/;this.anchors.each(function(Q,O){var P=A(O).attr("href");var R=P.split("#")[0],S;if(R&&(R===location.toString().split("#")[0]||(S=A("base")[0])&&R===S.href)){P=O.hash;O.href=P}if(C.test(P)){N.panels=N.panels.add(N._sanitizeSelector(P))}else{if(P!="#"){A.data(O,"href.tabs",P);A.data(O,"load.tabs",P.replace(/#.*$/,""));var U=N._tabId(O);O.href="#"+U;var T=A("#"+U);if(!T.length){T=A(D.panelTemplate).attr("id",U).addClass("ui-tabs-panel ui-widget-content ui-corner-bottom").insertAfter(N.panels[Q-1]||N.list);T.data("destroy.tabs",true)}N.panels=N.panels.add(T)}else{D.disabled.push(Q)}}});if(M){this.element.addClass("ui-tabs ui-widget ui-widget-content ui-corner-all");this.list.addClass("ui-tabs-nav ui-helper-reset ui-helper-clearfix ui-widget-header ui-corner-all");this.lis.addClass("ui-state-default ui-corner-top");this.panels.addClass("ui-tabs-panel ui-widget-content ui-corner-bottom");if(D.selected===undefined){if(location.hash){this.anchors.each(function(P,O){if(O.hash==location.hash){D.selected=P;return false}})}if(typeof D.selected!="number"&&D.cookie){D.selected=parseInt(N._cookie(),10)}if(typeof D.selected!="number"&&this.lis.filter(".ui-tabs-selected").length){D.selected=this.lis.index(this.lis.filter(".ui-tabs-selected"))}D.selected=D.selected||0}else{if(D.selected===null){D.selected=-1}}D.selected=((D.selected>=0&&this.anchors[D.selected])||D.selected<0)?D.selected:0;D.disabled=A.unique(D.disabled.concat(A.map(this.lis.filter(".ui-state-disabled"),function(P,O){return N.lis.index(P)}))).sort();if(A.inArray(D.selected,D.disabled)!=-1){D.disabled.splice(A.inArray(D.selected,D.disabled),1)}this.panels.addClass("ui-tabs-hide");this.lis.removeClass("ui-tabs-selected ui-state-active");if(D.selected>=0&&this.anchors.length){this.panels.eq(D.selected).removeClass("ui-tabs-hide");this.lis.eq(D.selected).addClass("ui-tabs-selected ui-state-active");N.element.queue("tabs",function(){N._trigger("show",null,N._ui(N.anchors[D.selected],N.panels[D.selected]))});this.load(D.selected)}A(window).bind("unload",function(){N.lis.add(N.anchors).unbind(".tabs");N.lis=N.anchors=N.panels=null})}else{D.selected=this.lis.index(this.lis.filter(".ui-tabs-selected"))}this.element[D.collapsible?"addClass":"removeClass"]("ui-tabs-collapsible");if(D.cookie){this._cookie(D.selected,D.cookie)}for(var G=0,L;(L=this.lis[G]);G++){A(L)[A.inArray(G,D.disabled)!=-1&&!A(L).hasClass("ui-tabs-selected")?"addClass":"removeClass"]("ui-state-disabled")}if(D.cache===false){this.anchors.removeData("cache.tabs")}this.lis.add(this.anchors).unbind(".tabs");if(D.event!="mouseover"){var F=function(P,O){if(O.is(":not(.ui-state-disabled)")){O.addClass("ui-state-"+P)}};var I=function(P,O){O.removeClass("ui-state-"+P)};this.lis.bind("mouseover.tabs",function(){F("hover",A(this))});this.lis.bind("mouseout.tabs",function(){I("hover",A(this))});this.anchors.bind("focus.tabs",function(){F("focus",A(this).closest("li"))});this.anchors.bind("blur.tabs",function(){I("focus",A(this).closest("li"))})}var B,H;if(D.fx){if(A.isArray(D.fx)){B=D.fx[0];H=D.fx[1]}else{B=H=D.fx}}function E(O,P){O.css({display:""});if(A.browser.msie&&P.opacity){O[0].style.removeAttribute("filter")}}var J=H?function(O,P){A(O).closest("li").removeClass("ui-state-default").addClass("ui-tabs-selected ui-state-active");P.hide().removeClass("ui-tabs-hide").animate(H,H.duration||"normal",function(){E(P,H);N._trigger("show",null,N._ui(O,P[0]))})}:function(O,P){A(O).closest("li").removeClass("ui-state-default").addClass("ui-tabs-selected ui-state-active");P.removeClass("ui-tabs-hide");N._trigger("show",null,N._ui(O,P[0]))};var K=B?function(P,O){O.animate(B,B.duration||"normal",function(){N.lis.removeClass("ui-tabs-selected ui-state-active").addClass("ui-state-default");O.addClass("ui-tabs-hide");E(O,B);N.element.dequeue("tabs")})}:function(P,O,Q){N.lis.removeClass("ui-tabs-selected ui-state-active").addClass("ui-state-default");O.addClass("ui-tabs-hide");N.element.dequeue("tabs")};this.anchors.bind(D.event+".tabs",function(){var P=this,R=A(this).closest("li"),O=N.panels.filter(":not(.ui-tabs-hide)"),Q=A(N._sanitizeSelector(this.hash));if((R.hasClass("ui-tabs-selected")&&!D.collapsible)||R.hasClass("ui-state-disabled")||R.hasClass("ui-state-processing")||N._trigger("select",null,N._ui(this,Q[0]))===false){this.blur();return false}D.selected=N.anchors.index(this);N.abort();if(D.collapsible){if(R.hasClass("ui-tabs-selected")){D.selected=-1;if(D.cookie){N._cookie(D.selected,D.cookie)}N.element.queue("tabs",function(){K(P,O)}).dequeue("tabs");this.blur();return false}else{if(!O.length){if(D.cookie){N._cookie(D.selected,D.cookie)}N.element.queue("tabs",function(){J(P,Q)});N.load(N.anchors.index(this));this.blur();return false}}}if(D.cookie){N._cookie(D.selected,D.cookie)}if(Q.length){if(O.length){N.element.queue("tabs",function(){K(P,O)})}N.element.queue("tabs",function(){J(P,Q)});N.load(N.anchors.index(this))}else{throw"jQuery UI Tabs: Mismatching fragment identifier."}if(A.browser.msie){this.blur()}});this.anchors.bind("click.tabs",function(){return false})},destroy:function(){var B=this.options;this.abort();this.element.unbind(".tabs").removeClass("ui-tabs ui-widget ui-widget-content ui-corner-all ui-tabs-collapsible").removeData("tabs");this.list.removeClass("ui-tabs-nav ui-helper-reset ui-helper-clearfix ui-widget-header ui-corner-all");this.anchors.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.unbind(".tabs").add(this.panels).each(function(){if(A.data(this,"destroy.tabs")){A(this).remove()}else{A(this).removeClass(["ui-state-default","ui-corner-top","ui-tabs-selected","ui-state-active","ui-state-hover","ui-state-focus","ui-state-disabled","ui-tabs-panel","ui-widget-content","ui-corner-bottom","ui-tabs-hide"].join(" "))}});if(B.cookie){this._cookie(null,B.cookie)}},add:function(E,D,C){if(C===undefined){C=this.anchors.length}var B=this,G=this.options,I=A(G.tabTemplate.replace(/#\{href\}/g,E).replace(/#\{label\}/g,D)),H=!E.indexOf("#")?E.replace("#",""):this._tabId(A("a",I)[0]);I.addClass("ui-state-default ui-corner-top").data("destroy.tabs",true);var F=A("#"+H);if(!F.length){F=A(G.panelTemplate).attr("id",H).data("destroy.tabs",true)}F.addClass("ui-tabs-panel ui-widget-content ui-corner-bottom ui-tabs-hide");if(C>=this.lis.length){I.appendTo(this.list);F.appendTo(this.list[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.anchors.length==1){I.addClass("ui-tabs-selected ui-state-active");F.removeClass("ui-tabs-hide");this.element.queue("tabs",function(){B._trigger("show",null,B._ui(B.anchors[0],B.panels[0]))});this.load(0)}this._trigger("add",null,this._ui(this.anchors[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("ui-tabs-selected")&&this.anchors.length>1){this.select(B+(B+1<this.anchors.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 }this.lis.eq(B).removeClass("ui-state-disabled");C.disabled=A.grep(C.disabled,function(E,D){return E!=B});this._trigger("enable",null,this._ui(this.anchors[B],this.panels[B]))},disable:function(C){var B=this,D=this.options;if(C!=D.selected){this.lis.eq(C).addClass("ui-state-disabled");D.disabled.push(C);D.disabled.sort();this._trigger("disable",null,this._ui(this.anchors[C],this.panels[C]))}},select:function(B){if(typeof B=="string"){B=this.anchors.index(this.anchors.filter("[href$="+B+"]"))}else{if(B===null){B=-1}}if(B==-1&&this.options.collapsible){B=this.options.selected}this.anchors.eq(B).trigger(this.options.event+".tabs")},load:function(E){var C=this,G=this.options,B=this.anchors.eq(E)[0],D=A.data(B,"load.tabs");this.abort();if(!D||this.element.queue("tabs").length!==0&&A.data(B,"cache.tabs")){this.element.dequeue("tabs");return }this.lis.eq(E).addClass("ui-state-processing");if(G.spinner){var F=A("span",B);F.data("label.tabs",F.html()).html(G.spinner)}this.xhr=A.ajax(A.extend({},G.ajaxOptions,{url:D,success:function(I,H){A(C._sanitizeSelector(B.hash)).html(I);C._cleanup();if(G.cache){A.data(B,"cache.tabs",true)}C._trigger("load",null,C._ui(C.anchors[E],C.panels[E]));try{G.ajaxOptions.success(I,H)}catch(J){}C.element.dequeue("tabs")}}))},abort:function(){this.element.queue([]);this.panels.stop(false,true);if(this.xhr){this.xhr.abort();delete this.xhr}this._cleanup()},url:function(C,B){this.anchors.eq(C).removeData("cache.tabs").data("load.tabs",B)},length:function(){return this.anchors.length}});A.extend(A.ui.tabs,{version:"1.7.2",getter:"length",defaults:{ajaxOptions:null,cache:false,cookie:null,collapsible:false,disabled:[],event:"click",fx:null,idPrefix:"ui-tabs-",panelTemplate:"<div></div>",spinner:"<em>Loading&#8230;</em>",tabTemplate:'<li><a href="#{href}"><span>#{label}</span></a></li>'}});A.extend(A.ui.tabs.prototype,{rotation:null,rotate:function(D,F){var B=this,G=this.options;var C=B._rotate||(B._rotate=function(H){clearTimeout(B.rotation);B.rotation=setTimeout(function(){var I=G.selected;B.select(++I<B.anchors.length?I:0)},D);if(H){H.stopPropagation()}});var E=B._unrotate||(B._unrotate=!F?function(H){if(H.clientX){B.rotate(null)}}:function(H){t=G.selected;C()});if(D){this.element.bind("tabsshow",C);this.anchors.bind(G.event+".tabs",E);C()}else{clearTimeout(B.rotation);this.element.unbind("tabsshow",C);this.anchors.unbind(G.event+".tabs",E);delete this._rotate;delete this._unrotate}}})})(jQuery);
