(function(a){a.widget("ui.tabs",{_init:function(){this._tabify(true)},_setData:function(b,c){if((/^selected/).test(b)){this.select(c)}else{this.options[b]=c;this._tabify()}},length:function(){return this.$tabs.length},_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(c,b){return{options:this.options,tab:c,panel:b,index:this.$tabs.index(c)}},_sanitizeSelector:function(b){return b.replace(/:/g,"\\:")},_cookie:function(){var b=this.cookie||(this.cookie="ui-tabs-"+a.data(this.element[0]));return a.cookie.apply(null,[b].concat(a.makeArray(arguments)))},_tabify:function(p){this.$lis=a("li:has(a[href])",this.element);this.$tabs=this.$lis.map(function(){return a("a",this)[0]});this.$panels=a([]);var q=this,c=this.options;this.$tabs.each(function(r,o){if(o.hash&&o.hash.replace("#","")){q.$panels=q.$panels.add(q._sanitizeSelector(o.hash))}else{if(a(o).attr("href")!="#"){a.data(o,"href.tabs",o.href);a.data(o,"load.tabs",o.href);var t=q._tabId(o);o.href="#"+t;var s=a("#"+t);if(!s.length){s=a(c.panelTemplate).attr("id",t).addClass(c.panelClass).insertAfter(q.$panels[r-1]||q.element);s.data("destroy.tabs",true)}q.$panels=q.$panels.add(s)}else{c.disabled.push(r+1)}}});if(p){this.element.addClass(c.navClass);this.$panels.addClass(c.panelClass);if(c.selected===undefined){if(location.hash){this.$tabs.each(function(r,o){if(o.hash==location.hash){c.selected=r;return false}})}else{if(c.cookie){var j=parseInt(q._cookie(),10);if(j&&q.$tabs[j]){c.selected=j}}else{if(q.$lis.filter("."+c.selectedClass).length){c.selected=q.$lis.index(q.$lis.filter("."+c.selectedClass)[0])}}}}c.selected=c.selected===null||c.selected!==undefined?c.selected:0;c.disabled=a.unique(c.disabled.concat(a.map(this.$lis.filter("."+c.disabledClass),function(r,o){return q.$lis.index(r)}))).sort();if(a.inArray(c.selected,c.disabled)!=-1){c.disabled.splice(a.inArray(c.selected,c.disabled),1)}this.$panels.addClass(c.hideClass);this.$lis.removeClass(c.selectedClass);if(c.selected!==null){this.$panels.eq(c.selected).removeClass(c.hideClass);var e=[c.selectedClass];if(c.deselectable){e.push(c.deselectableClass)}this.$lis.eq(c.selected).addClass(e.join(" "));var k=function(){q._trigger("show",null,q.ui(q.$tabs[c.selected],q.$panels[c.selected]))};if(a.data(this.$tabs[c.selected],"load.tabs")){this.load(c.selected,k)}else{k()}}a(window).bind("unload",function(){q.$tabs.unbind(".tabs");q.$lis=q.$tabs=q.$panels=null})}else{c.selected=this.$lis.index(this.$lis.filter("."+c.selectedClass)[0])}if(c.cookie){this._cookie(c.selected,c.cookie)}for(var g=0,n;n=this.$lis[g];g++){a(n)[a.inArray(g,c.disabled)!=-1&&!a(n).hasClass(c.selectedClass)?"addClass":"removeClass"](c.disabledClass)}if(c.cache===false){this.$tabs.removeData("cache.tabs")}var b,h;if(c.fx){if(c.fx.constructor==Array){b=c.fx[0];h=c.fx[1]}else{b=h=c.fx}}function d(i,o){i.css({display:""});if(a.browser.msie&&o.opacity){i[0].style.removeAttribute("filter")}}var l=h?function(i,o){o.animate(h,h.duration||"normal",function(){o.removeClass(c.hideClass);d(o,h);q._trigger("show",null,q.ui(i,o[0]))})}:function(i,o){o.removeClass(c.hideClass);q._trigger("show",null,q.ui(i,o[0]))};var m=b?function(o,i,r){i.animate(b,b.duration||"normal",function(){i.addClass(c.hideClass);d(i,b);if(r){l(o,r,i)}})}:function(o,i,r){i.addClass(c.hideClass);if(r){l(o,r)}};function f(r,t,i,s){var o=[c.selectedClass];if(c.deselectable){o.push(c.deselectableClass)}t.addClass(o.join(" ")).siblings().removeClass(o.join(" "));m(r,i,s)}this.$tabs.unbind(".tabs").bind(c.event+".tabs",function(){var s=a(this).parents("li:eq(0)"),i=q.$panels.filter(":visible"),r=a(q._sanitizeSelector(this.hash));if((s.hasClass(c.selectedClass)&&!c.deselectable)||s.hasClass(c.disabledClass)||a(this).hasClass(c.loadingClass)||q._trigger("select",null,q.ui(this,r[0]))===false){this.blur();return false}c.selected=q.$tabs.index(this);if(c.deselectable){if(s.hasClass(c.selectedClass)){q.options.selected=null;s.removeClass([c.selectedClass,c.deselectableClass].join(" "));q.$panels.stop();m(this,i);this.blur();return false}else{if(!i.length){q.$panels.stop();var o=this;q.load(q.$tabs.index(this),function(){s.addClass([c.selectedClass,c.deselectableClass].join(" "));l(o,r)});this.blur();return false}}}if(c.cookie){q._cookie(c.selected,c.cookie)}q.$panels.stop();if(r.length){var o=this;q.load(q.$tabs.index(this),i.length?function(){f(o,s,i,r)}:function(){s.addClass(c.selectedClass);l(o,r)})}else{throw"jQuery UI Tabs: Mismatching fragment identifier."}if(a.browser.msie){this.blur()}return false});if(c.event!="click"){this.$tabs.bind("click.tabs",function(){return false})}},add:function(e,d,c){if(c==undefined){c=this.$tabs.length}var g=this.options;var i=a(g.tabTemplate.replace(/#\{href\}/g,e).replace(/#\{label\}/g,d));i.data("destroy.tabs",true);var h=e.indexOf("#")==0?e.replace("#",""):this._tabId(a("a:first-child",i)[0]);var f=a("#"+h);if(!f.length){f=a(g.panelTemplate).attr("id",h).addClass(g.hideClass).data("destroy.tabs",true)}f.addClass(g.panelClass);if(c>=this.$lis.length){i.appendTo(this.element);f.appendTo(this.element[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.$tabs.length==1){i.addClass(g.selectedClass);f.removeClass(g.hideClass);var b=a.data(this.$tabs[0],"load.tabs");if(b){this.load(c,b)}}this._trigger("add",null,this.ui(this.$tabs[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(d.selectedClass)&&this.$tabs.length>1){this.select(b+(b+1<this.$tabs.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}var d=this.$lis.eq(b).removeClass(c.disabledClass);if(a.browser.safari){d.css("display","inline-block");setTimeout(function(){d.css("display","block")},0)}c.disabled=a.grep(c.disabled,function(f,e){return f!=b});this._trigger("enable",null,this.ui(this.$tabs[b],this.$panels[b]))},disable:function(c){var b=this,d=this.options;if(c!=d.selected){this.$lis.eq(c).addClass(d.disabledClass);d.disabled.push(c);d.disabled.sort();this._trigger("disable",null,this.ui(this.$tabs[c],this.$panels[c]))}},select:function(b){if(typeof b=="string"){b=this.$tabs.index(this.$tabs.filter("[href$="+b+"]")[0])}this.$tabs.eq(b).trigger(this.options.event+".tabs")},load:function(g,k){var l=this,d=this.options,e=this.$tabs.eq(g),j=e[0],h=k==undefined||k===false,b=e.data("load.tabs");k=k||function(){};if(!b||!h&&a.data(j,"cache.tabs")){k();return}var m=function(n){var o=a(n),p=o.find("*:last");return p.length&&p.is(":not(img)")&&p||o};var c=function(){l.$tabs.filter("."+d.loadingClass).removeClass(d.loadingClass).each(function(){if(d.spinner){m(this).parent().html(m(this).data("label.tabs"))}});l.xhr=null};if(d.spinner){var i=m(j).html();m(j).wrapInner("<em></em>").find("em").data("label.tabs",i).html(d.spinner)}var f=a.extend({},d.ajaxOptions,{url:b,success:function(o,n){a(l._sanitizeSelector(j.hash)).html(o);c();if(d.cache){a.data(j,"cache.tabs",true)}l._trigger("load",null,l.ui(l.$tabs[g],l.$panels[g]));try{d.ajaxOptions.success(o,n)}catch(p){}k()}});if(this.xhr){this.xhr.abort();c()}e.addClass(d.loadingClass);l.xhr=a.ajax(f)},url:function(c,b){this.$tabs.eq(c).removeData("cache.tabs").data("load.tabs",b)},destroy:function(){var b=this.options;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(e,f){d.removeData(f+".tabs")})});this.$lis.add(this.$panels).each(function(){if(a.data(this,"destroy.tabs")){a(this).remove()}else{a(this).removeClass([b.selectedClass,b.deselectableClass,b.disabledClass,b.panelClass,b.hideClass].join(" "))}});if(b.cookie){this._cookie(null,b.cookie)}}});a.extend(a.ui.tabs,{version:"@VERSION",getter:"length",defaults:{deselectable:false,event:"click",disabled:[],cookie:null,spinner:"Loading&#8230;",cache:false,idPrefix:"ui-tabs-",ajaxOptions:null,fx:null,tabTemplate:'<li><a href="#{href}"><span>#{label}</span></a></li>',panelTemplate:"<div></div>",navClass:"ui-tabs-nav",selectedClass:"ui-tabs-selected",deselectableClass:"ui-tabs-deselectable",disabledClass:"ui-tabs-disabled",panelClass:"ui-tabs-panel",hideClass:"ui-tabs-hide",loadingClass:"ui-tabs-loading"}});a.extend(a.ui.tabs.prototype,{rotation:null,rotate:function(c,f){f=f||false;var b=this,e=this.options.selected;function g(){b.rotation=setInterval(function(){e=++e<b.$tabs.length?e:0;b.select(e)},c)}function d(h){if(!h||h.clientX){clearInterval(b.rotation)}}if(c){g();if(!f){this.$tabs.bind(this.options.event+".tabs",d)}else{this.$tabs.bind(this.options.event+".tabs",function(){d();e=b.options.selected;g()})}}else{d();this.$tabs.unbind(this.options.event+".tabs",d)}}})})(jQuery);
