(function(b){b.ui=b.ui||{};b.fn.tabs=function(a,d){if(a&&a.constructor==Object){d=a;a=null}d=d||{};a=a&&a.constructor==Number&&--a||0;return this.each(function(){new b.ui.tabs(this,b.extend(d,{initial:a}))})};b.each(["Add","Remove","Enable","Disable","Click","Load","Href"],function(a,d){b.fn["tabs"+d]=function(){var g=arguments;return this.each(function(){var j=b.ui.tabs.getInstance(this);j[d.toLowerCase()].apply(j,g)})}});b.fn.tabsSelected=function(){var a=-1;if(this[0]){a=b.ui.tabs.getInstance(this[0]);
var d=b("li",this);a=d.index(d.filter("."+a.options.selectedClass)[0])}return a>=0?++a:-1};b.ui.tabs=function(a,d){this.source=a;this.options=b.extend({initial:0,event:"click",disabled:[],cookie:null,unselected:false,unselect:d.unselected?true:false,spinner:"Loading&#8230;",cache:false,idPrefix:"tab-",fxSpeed:"normal",add:function(){},remove:function(){},enable:function(){},disable:function(){},click:function(){},hide:function(){},show:function(){},load:function(){},tabTemplate:'<li><a href="#{href}"><span>#{text}</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"},d);this.options.event+=".ui-tabs";this.options.cookie=b.cookie&&b.cookie.constructor==Function&&this.options.cookie;this.uuid="ui_tabs_"+b.ui.tabs.prototype.count++;b.ui.tabs.instances[this.uuid]=this;b.data(a,"uiTabsUUID",this.uuid);this.tabify(true)};b.ui.tabs.instances=
{};b.ui.tabs.getInstance=function(a){return b.ui.tabs.instances[b.data(a,"uiTabsUUID")]};b.extend(b.ui.tabs.prototype,{count:0,tabId:function(a,d){return a.title?a.title.replace(/\s/g,"_"):this.options.idPrefix+this.count+"-"+(d+1)},tabify:function(a){function d(i,f,h){f.animate(l,p,function(){f.addClass(c.hideClass).css(n);if(b.browser.msie&&l.opacity)f[0].style.filter="";c.hide(i,f[0],h&&h[0]||null);h&&g(i,h,f)})}function g(i,f,h){c.fxSlide||c.fxFade||c.fxShow||f.css("display","block");f.animate(m,
q,function(){f.removeClass(c.hideClass).css(n);if(b.browser.msie&&m.opacity)f[0].style.filter="";c.show(i,f[0],h&&h[0]||null)})}function j(i,f,h){b(i).parents("li:eq(0)").addClass(c.selectedClass).siblings().removeClass(c.selectedClass);d(i,f,h)}this.$tabs=b("a:first-child",this.source);this.$panels=b([]);var e=this,c=this.options;this.$tabs.each(function(i,f){if(f.hash&&f.hash.replace("#",""))e.$panels=e.$panels.add(f.hash);else{b.data(f,"href",f.href);var h=e.tabId(f,i);f.href="#"+h;e.$panels=e.$panels.add(b("#"+
h)[0]||b(c.panelTemplate).attr("id",h).addClass(c.panelClass).insertAfter(e.$panels[i-1]||e.source))}});if(a){this.$tabs.each(function(i,f){if(location.hash){if(f.hash==location.hash){c.initial=i;if(b.browser.msie||b.browser.opera){var h=b(location.hash),o=h.attr("id");h.attr("id","");setTimeout(function(){h.attr("id",o)},500)}scrollTo(0,0);return false}}else if(c.cookie){c.initial=parseInt(b.cookie(e.uuid))||0;return false}else if(b(f).parent("li").is("."+c.selectedClass)){c.initial=i;return false}});
b(this.source).is("."+c.navClass)||b(this.source).addClass(c.navClass);this.$panels.each(function(){var i=b(this);i.is("."+c.panelClass)||i.addClass(c.panelClass)});a=b("li",this.source);this.$panels.addClass(c.hideClass);a.removeClass(c.selectedClass);if(!c.unselected){this.$panels.slice(c.initial,c.initial+1).show();a.slice(c.initial,c.initial+1).addClass(c.selectedClass)}(a=this.$tabs[c.initial]&&b.data(this.$tabs[c.initial],"href"))&&this.load(c.initial+1,a);a=0;for(var k;k=c.disabled[a];a++)this.disable(k)}var m=
{},q=c.fxShowSpeed||c.fxSpeed,l={},p=c.fxHideSpeed||c.fxSpeed;if(c.fxSlide||c.fxFade){if(c.fxSlide){m.height="show";l.height="hide"}if(c.fxFade){m.opacity="show";l.opacity="hide"}}else{if(c.fxShow)m=c.fxShow;else{m["min-width"]=0;q=1}if(c.fxHide)l=c.fxHide;else{l["min-width"]=0;p=1}}var n={display:"",overflow:"",height:""};b.browser.msie||(n.opacity="");this.$tabs.unbind(c.event).bind(c.event,function(){var i=b(this).parent("li"),f=e.$panels.filter(":visible"),h=b(this.hash);if(i.is("."+c.selectedClass)&&
!c.unselect||i.is("."+c.disabledClass)||c.click(this,h[0],f[0])===false){this.blur();return false}c.cookie&&b.cookie(e.uuid,e.$tabs.index(this),c.cookie);if(c.unselect)if(i.is("."+c.selectedClass)){i.removeClass(c.selectedClass);e.$panels.stop();d(this,f);this.blur();return false}else if(!f.length){i.addClass(c.selectedClass).addClass(c.unselectClass);e.$panels.stop();g(this,h);this.blur();return false}e.$panels.stop();if(h.length)if(b.data(this,"href")){var o=this;e.load(e.$tabs.index(this)+1,b.data(this,
"href"),function(){j(o,f,h)})}else j(this,f,h);else throw"jQuery UI Tabs: Mismatching fragment identifier.";this.blur();return false})},add:function(a,d,g){if(a&&d){var j=this.options;g=g||this.$tabs.length;d=b(j.tabTemplate.replace(/#\{href\}/,a).replace(/#\{text\}/,d));a=a.indexOf("#")==0?a.replace("#",""):this.tabId(b("a:first-child",d)[0],g);var e=b("#"+a);e=e.length&&e||b(j.panelTemplate).attr("id",a).addClass(j.panelClass).addClass(j.hideClass);if(g>=this.$tabs.length){d.appendTo(this.source);
e.appendTo(this.source.parentNode)}else{d.insertBefore(this.$tabs.slice(g-1,g).parent("li"));e.insertBefore(this.$panels[g-1])}this.tabify();if(this.$tabs.length==1){d.addClass(j.selectedClass);e.removeClass(j.hideClass);(d=b.data(this.$tabs[0],"href"))&&this.load(g+1,d)}j.add(this.$tabs[g],this.$panels[g])}else throw"jQuery UI Tabs: Not enough arguments to add tab.";},remove:function(a){if(a&&a.constructor==Number){var d=this.$tabs.slice(a-1,a).parent("li").remove(),g=this.$panels.slice(a-1,a).remove(),
j=this.options;if(d.is("."+j.selectedClass)&&this.$tabs.length>1)this.click(a+(a<this.$tabs.length?1:-1));this.tabify();j.remove(d.end()[0],g[0])}},enable:function(a){var d=this.$tabs.slice(a-1,a).parent("li"),g=this.options;d.removeClass(g.disabledClass);if(b.browser.safari){d.css("display","inline-block");setTimeout(function(){d.css("display","block")},0)}g.enable(this.$tabs[a-1],this.$panels[a-1])},disable:function(a){var d=this.options;this.$tabs.slice(a-1,a).parent("li").addClass(d.disabledClass);
d.disable(this.$tabs[a-1],this.$panels[a-1])},click:function(a){this.$tabs.slice(a-1,a).trigger(this.options.event)},load:function(a,d,g){var j=this,e=this.options,c=this.$tabs.slice(a-1,a).addClass(e.loadingClass),k=c[0];$span=b("span",k);text=$span.html();if(d&&d.constructor==Function){g=d;d=null}if(d)b.data(k,"href",d);else d=b.data(k,"href");e.spinner&&$span.html("<em>"+e.spinner+"</em>");setTimeout(function(){b(k.hash).load(d,function(){e.spinner&&$span.html(text);c.removeClass(e.loadingClass);
g&&g.constructor==Function&&g();e.cache&&b.removeData(k,"href");e.load(j.$tabs[a-1],j.$panels[a-1])})},0)},href:function(a,d){b.data(this.$tabs.slice(a-1,a)[0],"href",d)}})})(jQuery);
