(function(a){a.ui=a.ui||{};a.fn.tabs=function(){var b=typeof arguments[0]=="string"&&arguments[0];var c=b&&Array.prototype.slice.call(arguments,1)||arguments;return b=="length"?a.data(this[0],"tabs").$tabs.length:this.each(function(){if(b){var d=a.data(this,"tabs");if(d){d[b].apply(d,c)}}else{new a.ui.tabs(this,c[0]||{})}})};a.ui.tabs=function(c,b){var d=this;this.options=a.extend({},a.ui.tabs.defaults,b);this.element=c;if(b.selected===null){this.options.selected=null}this.options.event+=".tabs";a(c).bind("setData.tabs",function(f,e,g){if((/^selected/).test(e)){d.select(g)}else{d.options[e]=g;d.tabify()}}).bind("getData.tabs",function(e,f){return d.options[f]});a.data(c,"tabs",this);this.tabify(true)};a.ui.tabs.defaults={selected:0,unselect:false,event:"click",disabled:[],cookie:null,spinner:"????????",cache:false,idPrefix:"ui-tabs-",ajaxOptions:{},fx:null,tabTemplate:'<li><a href="#{href}"><span>#{label}</span></a></li>',panelTemplate:"<div></div>",navClass:"ui-tabs-nav",selectedClass:"ui-tabs-selected",forceSelectedClass:"ui-tabs-force-selected",unselectClass:"ui-tabs-unselect",disabledClass:"ui-tabs-disabled",panelClass:"ui-tabs-panel",hideClass:"ui-tabs-hide",loadingClass:"ui-tabs-loading"};a.extend(a.ui.tabs.prototype,{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(b,c){return{instance:this,options:this.options,tab:b,panel:c}},tabify:function(i){this.$lis=a("li:has(a[href])",this.element);this.$tabs=this.$lis.map(function(){return a("a",this)[0]});this.$panels=a([]);var j=this,n=this.options;this.$tabs.each(function(q,p){if(p.hash&&p.hash.replace("#","")){j.$panels=j.$panels.add(p.hash)}else{if(a(p).attr("href")!="#"){a.data(p,"href.tabs",p.href);a.data(p,"load.tabs",p.href);var s=j.tabId(p);p.href="#"+s;var r=a("#"+s);if(!r.length){r=a(n.panelTemplate).attr("id",s).addClass(n.panelClass);a("#"+a(p).attr("containerId")).append(r);r.data("destroy.tabs",true)}j.$panels=j.$panels.add(r)}else{n.disabled.push(q+1)}}});if(i){a(this.element).hasClass(n.navClass)||a(this.element).addClass(n.navClass);this.$panels.each(function(){var p=a(this);p.hasClass(n.panelClass)||p.addClass(n.panelClass)});this.$tabs.each(function(s,p){if(location.hash){if(p.hash==location.hash){n.selected=s;if(a.browser.msie||a.browser.opera){var r=a(location.hash),t=r.attr("id");r.attr("id","");setTimeout(function(){r.attr("id",t)},500)}scrollTo(0,0);return false}}else{if(n.cookie){var q=parseInt(a.cookie("ui-tabs"+a.data(j.element)),10);if(q&&j.$tabs[q]){n.selected=q;return false}}else{if(j.$lis.eq(s).hasClass(n.selectedClass)){n.selected=s;return false}}}});this.$panels.addClass(n.hideClass);this.$lis.removeClass(n.selectedClass);if(n.selected!==null){this.$panels.eq(n.selected).show().removeClass(n.hideClass);this.$lis.eq(n.selected).addClass(n.selectedClass)}var m=n.selected!==null&&a.data(this.$tabs[n.selected],"load.tabs");if(m){this.load(n.selected)}n.disabled=a.unique(n.disabled.concat(a.map(this.$lis.filter("."+n.disabledClass),function(p,q){return j.$lis.index(p)}))).sort();a(window).bind("unload",function(){j.$tabs.unbind(".tabs");j.$lis=j.$tabs=j.$panels=null})}for(var c=0,h;h=this.$lis[c];c++){a(h)[a.inArray(c,n.disabled)!=-1&&!a(h).hasClass(n.selectedClass)?"addClass":"removeClass"](n.disabledClass)}if(n.cache===false){this.$tabs.removeData("cache.tabs")}var l,e,k={"min-width":0,duration:1},o="normal";if(n.fx&&n.fx.constructor==Array){l=n.fx[0]||k,e=n.fx[1]||k}else{l=e=n.fx||k}var d={display:"",overflow:"",height:""};if(!a.browser.msie){d.opacity=""}function g(q,p,r){p.animate(l,l.duration||o,function(){p.addClass(n.hideClass).css(d);if(a.browser.msie&&l.opacity){p[0].style.filter=""}if(r){f(q,r,p)}})}function f(q,r,p){if(e===k){r.css("display","block")}r.animate(e,e.duration||o,function(){r.removeClass(n.hideClass).css(d);if(a.browser.msie&&e.opacity){r[0].style.filter=""}a(j.element).triggerHandler("tabsshow",[j.ui(q,r[0])],n.show)})}function b(q,s,p,r){s.addClass(n.selectedClass).siblings().removeClass(n.selectedClass);g(q,p,r)}this.$tabs.unbind(".tabs").bind(n.event,function(){var s=a(this).parents("li:eq(0)"),p=j.$panels.filter(":visible"),r=a(this.hash);if(s.hasClass(n.forceSelectedClass)==false){if((s.hasClass(n.selectedClass)&&!n.unselect)||s.hasClass(n.disabledClass)||a(this).hasClass(n.loadingClass)||a(j.element).triggerHandler("tabsselect",[j.ui(this,r[0])],n.select)===false){this.blur();return false}}j.options.selected=j.$tabs.index(this);if(n.unselect){if(s.hasClass(n.selectedClass)){j.options.selected=null;s.removeClass(n.selectedClass);j.$panels.stop();g(this,p);this.blur();return false}else{if(!p.length){j.$panels.stop();var q=this;j.load(j.$tabs.index(this),function(){s.addClass(n.selectedClass).addClass(n.unselectClass);f(q,r)});this.blur();return false}}}if(n.cookie){a.cookie("ui-tabs"+a.data(j.element),j.options.selected,n.cookie)}j.$panels.stop();if(r.length){var q=this;j.load(j.$tabs.index(this),p.length?function(){b(q,s,p,r)}:function(){s.addClass(n.selectedClass);f(q,r)})}else{throw"jQuery UI Tabs: Mismatching fragment identifier."}if(a.browser.msie){this.blur()}return false});if(!(/^click/).test(n.event)){this.$tabs.bind("click.tabs",function(){return false})}},add:function(h,g,f){if(f==undefined){f=this.$tabs.length}var b=this.options;var d=a(b.tabTemplate.replace(/#\{href\}/,h).replace(/#\{label\}/,g));d.data("destroy.tabs",true);var c=h.indexOf("#")==0?h.replace("#",""):this.tabId(a("a:first-child",d)[0]);var i=a("#"+c);if(!i.length){i=a(b.panelTemplate).attr("id",c).addClass(b.panelClass).addClass(b.hideClass);i.data("destroy.tabs",true)}if(f>=this.$lis.length){d.appendTo(this.element);i.appendTo(this.element.parentNode)}else{d.insertBefore(this.$lis[f]);i.insertBefore(this.$panels[f])}b.disabled=a.map(b.disabled,function(k,j){return k>=f?++k:k});this.tabify();if(this.$tabs.length==1){d.addClass(b.selectedClass);i.removeClass(b.hideClass);var e=a.data(this.$tabs[0],"load.tabs");if(e){this.load(f,e)}}a(this.element).triggerHandler("tabsadd",[this.ui(this.$tabs[f],this.$panels[f])],b.add)},remove:function(e){if(typeof e=="string"){e=this.$tabs.index(this.$tabs.filter("[href$="+e+"]")[0])}var c=this.options,d=this.$lis.eq(e).remove(),b=this.$panels.eq(e).remove();if(d.hasClass(c.selectedClass)&&this.$tabs.length>1){this.select(e+(e+1<this.$tabs.length?1:-1))}c.disabled=a.map(a.grep(c.disabled,function(g,f){return g!=e}),function(g,f){return g>=e?--g:g});this.tabify();a(this.element).triggerHandler("tabsremove",[this.ui(d.find("a")[0],b[0])],c.remove)},enable:function(d){var b=this.options;if(a.inArray(d,b.disabled)==-1){return}var c=this.$lis.eq(d).removeClass(b.disabledClass);if(a.browser.safari){c.css("display","inline-block");setTimeout(function(){c.css("display","block")},0)}b.disabled=a.grep(b.disabled,function(e,f){return e!=d});a(this.element).triggerHandler("tabsenable",[this.ui(this.$tabs[d],this.$panels[d])],b.enable)},disable:function(b){var d=this,c=this.options;if(b!=c.selected){this.$lis.eq(b).addClass(c.disabledClass);c.disabled.push(b);c.disabled.sort();a(this.element).triggerHandler("tabsdisable",[this.ui(this.$tabs[b],this.$panels[b])],c.disable)}},select:function(b){if(typeof b=="string"){if(this.$tabs.index(this.$tabs.filter("[href$="+b+"]")[0])==-1){b=this.$tabs.index(this.$tabs.filter("[containerid$="+b+"]")[0])}else{b=this.$tabs.index(this.$tabs.filter("[href$="+b+"]")[0])}}this.$tabs.eq(b).trigger(this.options.event)},forceselect:function(b){var c=this.options;if(typeof b=="string"){b=this.$tabs.index(this.$tabs.filter("[href$="+b+"]")[0])}var d=this.options.selected;if(b==d){if(a("li:has(a[href])",this.element).hasClass(c.selectedClass)){a("li:has(a[href])",this.element).addClass(c.forceSelectedClass);this.$tabs.eq(b).trigger(this.options.event);a("li:has(a[href])",this.element).removeClass(c.forceSelectedClass)}}},load:function(l,f){var g=this,i=this.options,j=this.$tabs.eq(l),e=j[0],b=f==undefined||f===false,h=j.data("load.tabs");f=f||function(){};if(!h||(a.data(e,"cache.tabs")&&!b)){f();return}if(i.spinner){var c=a("span",e)}var d=function(){g.$tabs.filter("."+i.loadingClass).each(function(){a(this).removeClass(i.loadingClass);if(i.spinner){var m=a("span",this);m.html(m.data("label.tabs"))}});g.xhr=null};var k=a.extend({},i.ajaxOptions,{url:h,success:function(n,m){a(e.hash).html(n);d();f();if(i.cache){a.data(e,"cache.tabs",true)}a(g.element).triggerHandler("tabsload",[g.ui(g.$tabs[l],g.$panels[l])],i.load);i.ajaxOptions.success&&i.ajaxOptions.success(n,m)}});if(this.xhr){this.xhr.abort();d()}j.addClass(i.loadingClass);setTimeout(function(){g.xhr=a.ajax(k)},0)},url:function(b,c){this.$tabs.eq(b).removeData("cache.tabs").data("load.tabs",c)},destroy:function(){var b=this.options;a(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(f,e){d.removeData(e+".tabs")})});this.$lis.add(this.$panels).each(function(){if(a.data(this,"destroy.tabs")){a(this).remove()}else{a(this).removeClass([b.selectedClass,b.unselectClass,b.disabledClass,b.panelClass,b.hideClass].join(" "))}})}})})(jQuery);