(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(f){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 k=this,h=this.options;var g=/^#.+/;this.anchors.each(function(q,i){var o=a(i).attr("href");var r=o.split("#")[0],s;if(r&&(r===location.toString().split("#")[0]||(s=a("base")[0])&&r===s.href)){o=i.hash;i.href=o}if(g.test(o)){k.panels=k.panels.add(k._sanitizeSelector(o))}else{if(o!="#"){a.data(i,"href.tabs",o);a.data(i,"load.tabs",o.replace(/#.*$/,""));var v=k._tabId(i);i.href="#"+v;var u=a("#"+v);if(!u.length){u=a(h.panelTemplate).attr("id",v).addClass("ui-tabs-panel ui-widget-content ui-corner-bottom").insertAfter(k.panels[q-1]||k.list);u.data("destroy.tabs",true)}k.panels=k.panels.add(u)}else{h.disabled.push(q)}}});if(f){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(h.selected===undefined){if(location.hash){this.anchors.each(function(o,i){if(i.hash==location.hash){h.selected=o;return false}})}if(typeof h.selected!="number"&&h.cookie){h.selected=parseInt(k._cookie(),10)}if(typeof h.selected!="number"&&this.lis.filter(".ui-tabs-selected").length){h.selected=this.lis.index(this.lis.filter(".ui-tabs-selected"))}h.selected=h.selected||0}else{if(h.selected===null){h.selected=-1}}h.selected=((h.selected>=0&&this.anchors[h.selected])||h.selected<0)?h.selected:0;h.disabled=a.unique(h.disabled.concat(a.map(this.lis.filter(".ui-state-disabled"),function(o,i){return k.lis.index(o)}))).sort();if(a.inArray(h.selected,h.disabled)!=-1){h.disabled.splice(a.inArray(h.selected,h.disabled),1)}this.panels.addClass("ui-tabs-hide");this.lis.removeClass("ui-tabs-selected ui-state-active");if(h.selected>=0&&this.anchors.length){this.panels.eq(h.selected).removeClass("ui-tabs-hide");this.lis.eq(h.selected).addClass("ui-tabs-selected ui-state-active");k.element.queue("tabs",function(){k._trigger("show",null,k._ui(k.anchors[h.selected],k.panels[h.selected]))});this.load(h.selected)}a(window).bind("unload",function(){k.lis.add(k.anchors).unbind(".tabs");k.lis=k.anchors=k.panels=null})}else{h.selected=this.lis.index(this.lis.filter(".ui-tabs-selected"))}this.element[h.collapsible?"addClass":"removeClass"]("ui-tabs-collapsible");if(h.cookie){this._cookie(h.selected,h.cookie)}for(var m=0,e;(e=this.lis[m]);m++){a(e)[a.inArray(m,h.disabled)!=-1&&!a(e).hasClass("ui-tabs-selected")?"addClass":"removeClass"]("ui-state-disabled")}if(h.cache===false){this.anchors.removeData("cache.tabs")}this.lis.add(this.anchors).unbind(".tabs");if(h.event!="mouseover"){var l=function(i,o){if(o.is(":not(.ui-state-disabled)")){o.addClass("ui-state-"+i)}};var p=function(i,o){o.removeClass("ui-state-"+i)};this.lis.bind("mouseover.tabs",function(){l("hover",a(this))});this.lis.bind("mouseout.tabs",function(){p("hover",a(this))});this.anchors.bind("focus.tabs",function(){l("focus",a(this).closest("li"))});this.anchors.bind("blur.tabs",function(){p("focus",a(this).closest("li"))})}var d,n;if(h.fx){if(a.isArray(h.fx)){d=h.fx[0];n=h.fx[1]}else{d=n=h.fx}}function j(o,i){o.css({display:""});if(a.browser.msie&&i.opacity){o[0].style.removeAttribute("filter")}}var b=n?function(o,i){a(o).closest("li").removeClass("ui-state-default").addClass("ui-tabs-selected ui-state-active");i.hide().removeClass("ui-tabs-hide").animate(n,n.duration||"normal",function(){j(i,n);k._trigger("show",null,k._ui(o,i[0]))})}:function(o,i){a(o).closest("li").removeClass("ui-state-default").addClass("ui-tabs-selected ui-state-active");i.removeClass("ui-tabs-hide");k._trigger("show",null,k._ui(o,i[0]))};var c=d?function(i,o){o.animate(d,d.duration||"normal",function(){k.lis.removeClass("ui-tabs-selected ui-state-active").addClass("ui-state-default");o.addClass("ui-tabs-hide");j(o,d);k.element.dequeue("tabs")})}:function(i,q,o){k.lis.removeClass("ui-tabs-selected ui-state-active").addClass("ui-state-default");q.addClass("ui-tabs-hide");k.element.dequeue("tabs")};this.anchors.bind(h.event+".tabs",function(){var i=this,q=a(this).closest("li"),r=k.panels.filter(":not(.ui-tabs-hide)"),o=a(k._sanitizeSelector(this.hash));if((q.hasClass("ui-tabs-selected")&&!h.collapsible)||q.hasClass("ui-state-disabled")||q.hasClass("ui-state-processing")||k._trigger("select",null,k._ui(this,o[0]))===false){this.blur();return false}h.selected=k.anchors.index(this);k.abort();if(h.collapsible){if(q.hasClass("ui-tabs-selected")){h.selected=-1;if(h.cookie){k._cookie(h.selected,h.cookie)}k.element.queue("tabs",function(){c(i,r)}).dequeue("tabs");this.blur();return false}else{if(!r.length){if(h.cookie){k._cookie(h.selected,h.cookie)}k.element.queue("tabs",function(){b(i,o)});k.load(k.anchors.index(this));this.blur();return false}}}if(h.cookie){k._cookie(h.selected,h.cookie)}if(o.length){if(r.length){k.element.queue("tabs",function(){c(i,r)})}k.element.queue("tabs",function(){b(i,o)});k.load(k.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(i,h,g){if(g===undefined){g=this.anchors.length}var d=this,c=this.options,f=a(c.tabTemplate.replace(/#\{href\}/g,i).replace(/#\{label\}/g,h)),e=!i.indexOf("#")?i.replace("#",""):this._tabId(a("a",f)[0]);f.addClass("ui-state-default ui-corner-top").data("destroy.tabs",true);var b=a("#"+e);if(!b.length){b=a(c.panelTemplate).attr("id",e).data("destroy.tabs",true)}b.addClass("ui-tabs-panel ui-widget-content ui-corner-bottom ui-tabs-hide");if(g>=this.lis.length){f.appendTo(this.list);b.appendTo(this.list[0].parentNode)}else{f.insertBefore(this.lis[g]);b.insertBefore(this.panels[g])}c.disabled=a.map(c.disabled,function(k,j){return k>=g?++k:k});this._tabify();if(this.anchors.length==1){f.addClass("ui-tabs-selected ui-state-active");b.removeClass("ui-tabs-hide");this.element.queue("tabs",function(){d._trigger("show",null,d._ui(d.anchors[0],d.panels[0]))});this.load(0)}this._trigger("add",null,this._ui(this.anchors[g],this.panels[g]))},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.1",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 c=this,g=this.options;var b=c._rotate||(c._rotate=function(h){clearTimeout(c.rotation);c.rotation=setTimeout(function(){var i=g.selected;c.select(++i<c.anchors.length?i:0)},d);if(h){h.stopPropagation()}});var e=c._unrotate||(c._unrotate=!f?function(h){if(h.clientX){c.rotate(null)}}:function(h){t=g.selected;b()});if(d){this.element.bind("tabsshow",b);this.anchors.bind(g.event+".tabs",e);b()}else{clearTimeout(c.rotation);this.element.unbind("tabsshow",b);this.anchors.unbind(g.event+".tabs",e);delete this._rotate;delete this._unrotate}}})})(jQuery);