(function($){$.ui=$.ui||{};$.fn.tabs=function(a,b){if(a&&a.constructor==Object){b=a;a=null}b=b||{};a=a&&a.constructor==Number&&--a||0;return this.each(function(){new $.ui.tabs(this,$.extend(b,{initial:a}))})};$.each(['Add','Remove','Enable','Disable','Click','Load','Href'],function(i,c){$.fn['tabs'+c]=function(){var b=arguments;return this.each(function(){var a=$.ui.tabs.getInstance(this);a[c.toLowerCase()].apply(a,b)})}});$.fn.tabsSelected=function(){var a=-1;if(this[0]){var b=$.ui.tabs.getInstance(this[0]),$lis=$('li',this);a=$lis.index($lis.filter('.'+b.options.selectedClass)[0])}return a>=0?++a:-1};$.ui.tabs=function(a,b){this.source=a;this.options=$.extend({initial:0,event:'click',disabled:[],cookie:null,unselected:false,unselect:b.unselected?true:false,spinner:'Loading…',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:'
  • #{text}
  • ',panelTemplate:'
    ',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=$.cookie&&$.cookie.constructor==Function&&this.options.cookie;$.data(a,$.ui.tabs.INSTANCE_KEY,this);this.tabify(true)};$.ui.tabs.INSTANCE_KEY='ui_tabs_instance';$.ui.tabs.getInstance=function(a){return $.data(a,$.ui.tabs.INSTANCE_KEY)};$.extend($.ui.tabs.prototype,{tabId:function(a){return a.title?a.title.replace(/\s/g,'_'):this.options.idPrefix+$.data(a)},tabify:function(f){this.$lis=$('li:has(a[href])',this.source);this.$tabs=this.$lis.map(function(){return $('a',this)[0]});this.$panels=$([]);var g=this,o=this.options;this.$tabs.each(function(i,a){if(a.hash&&a.hash.replace('#','')){g.$panels=g.$panels.add(a.hash)}else if($(a).attr('href')!='#'){$.data(a,'href',a.href);var b=g.tabId(a);a.href='#'+b;g.$panels=g.$panels.add($('#'+b)[0]||$(o.panelTemplate).attr('id',b).addClass(o.panelClass).insertAfter(g.$panels[i-1]||g.source))}else{o.disabled.push(i+1)}});if(f){$(this.source).hasClass(o.navClass)||$(this.source).addClass(o.navClass);this.$panels.each(function(){var a=$(this);a.hasClass(o.panelClass)||a.addClass(o.panelClass)});for(var i=0,position;position=o.disabled[i];i++){this.disable(position)}this.$tabs.each(function(i,a){if(location.hash){if(a.hash==location.hash){o.initial=i;if($.browser.msie||$.browser.opera){var b=$(location.hash),toShowId=b.attr('id');b.attr('id','');setTimeout(function(){b.attr('id',toShowId)},500)}scrollTo(0,0);return false}}else if(o.cookie){o.initial=parseInt($.cookie($.ui.tabs.INSTANCE_KEY+$.data(g.source)))||0;return false}else if(g.$lis.eq(i).hasClass(o.selectedClass)){o.initial=i;return false}});var n=this.$lis.length;while(this.$lis.eq(o.initial).hasClass(o.disabledClass)&&n){o.initial=++o.initial=this.$lis.length){$li.appendTo(this.source);e.appendTo(this.source.parentNode)}else{$li.insertBefore(this.$lis[c-1]);e.insertBefore(this.$panels[c-1])}this.tabify();if(this.$tabs.length==1){$li.addClass(o.selectedClass);e.removeClass(o.hideClass);var f=$.data(this.$tabs[0],'href');if(f){this.load(c+1,f)}}o.add(this.$tabs[c],this.$panels[c])}else{throw'jQuery UI Tabs: Not enough arguments to add tab.';}},remove:function(a){if(a&&a.constructor==Number){var o=this.options,$li=this.$lis.eq(a-1).remove(),$panel=this.$panels.eq(a-1).remove();if($li.hasClass(o.selectedClass)&&this.$tabs.length>1){this.click(a+(a'+o.spinner+'')}var f=function(){e.$tabs.filter('.'+o.loadingClass).each(function(){$(this).removeClass(o.loadingClass);if(o.spinner){$('span',this).html($.data(this,'title'))}});e.xhr=null};var g=$.extend(o.ajaxOptions,{url:c,success:function(r){$(a.hash).html(r);f();if(d&&d.constructor==Function){d()}if(o.cache){$.removeData(a,'href')}o.load(e.$tabs[b-1],e.$panels[b-1])}});if(this.xhr){this.xhr.abort();f()}$a.addClass(o.loadingClass);setTimeout(function(){e.xhr=$.ajax(g)},0)},href:function(a,b){$.data(this.$tabs.eq(a-1)[0],'href',b)}})})(jQuery);