(function(d){d.widget("ui.tabs",{_init:function(){if(this.options.deselectable!==undefined)this.options.collapsible=this.options.deselectable;this._tabify(true)},_setData:function(c,b){if(c=="selected")this.options.collapsible&&b==this.options.selected||this.select(b);else{this.options[c]=b;if(c=="deselectable")this.options.collapsible=b;this._tabify()}},_tabId:function(c){return c.title&&c.title.replace(/\s/g,"_").replace(/[^A-Za-z0-9\-_:\.]/g,"")||this.options.idPrefix+d.data(c)},_sanitizeSelector:function(c){return c.replace(/:/g, "\\:")},_cookie:function(){var c=this.cookie||(this.cookie=this.options.cookie.name||"ui-tabs-"+d.data(this.list[0]));return d.cookie.apply(null,[c].concat(d.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 c=d(this);c.html(c.data("label.tabs")).removeData("label.tabs")})},_tabify:function(c){this.list=this.element.children("ul:first"); this.lis=d("li:has(a[href])",this.list);this.anchors=this.lis.map(function(){return d("a",this)[0]});this.panels=d([]);var b=this,a=this.options,h=/^#.+/;this.anchors.each(function(f,e){var i=d(e).attr("href"),l=i.split("#")[0],o;if(l&&(l===location.toString().split("#")[0]||(o=d("base")[0])&&l===o.href)){i=e.hash;e.href=i}if(h.test(i))b.panels=b.panels.add(b._sanitizeSelector(i));else if(i!="#"){d.data(e,"href.tabs",i);d.data(e,"load.tabs",i.replace(/#.*$/,""));i=b._tabId(e);e.href="#"+i;e=d("#"+ i);if(!e.length){e=d(a.panelTemplate).attr("id",i).addClass("ui-tabs-panel ui-widget-content ui-corner-bottom").insertAfter(b.panels[f-1]||b.list);e.data("destroy.tabs",true)}b.panels=b.panels.add(e)}else a.disabled.push(f)});if(c){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(a.selected===undefined){location.hash&&this.anchors.each(function(f,e){if(e.hash==location.hash){a.selected=f;return false}});if(typeof a.selected!="number"&&a.cookie)a.selected=parseInt(b._cookie(),10);if(typeof a.selected!="number"&&this.lis.filter(".ui-tabs-selected").length)a.selected=this.lis.index(this.lis.filter(".ui-tabs-selected"));a.selected=a.selected||0}else if(a.selected===null)a.selected=-1;a.selected=a.selected>=0&&this.anchors[a.selected]||a.selected<0?a.selected:0;a.disabled=d.unique(a.disabled.concat(d.map(this.lis.filter(".ui-state-disabled"), function(f){return b.lis.index(f)}))).sort();d.inArray(a.selected,a.disabled)!=-1&&a.disabled.splice(d.inArray(a.selected,a.disabled),1);this.panels.addClass("ui-tabs-hide");this.lis.removeClass("ui-tabs-selected ui-state-active");if(a.selected>=0&&this.anchors.length){this.panels.eq(a.selected).removeClass("ui-tabs-hide");this.lis.eq(a.selected).addClass("ui-tabs-selected ui-state-active");b.element.queue("tabs",function(){b._trigger("show",null,b._ui(b.anchors[a.selected],b.panels[a.selected]))}); this.load(a.selected)}d(window).bind("unload",function(){b.lis.add(b.anchors).unbind(".tabs");b.lis=b.anchors=b.panels=null})}else a.selected=this.lis.index(this.lis.filter(".ui-tabs-selected"));this.element[a.collapsible?"addClass":"removeClass"]("ui-tabs-collapsible");a.cookie&&this._cookie(a.selected,a.cookie);c=0;for(var g;g=this.lis[c];c++)d(g)[d.inArray(c,a.disabled)!=-1&&!d(g).hasClass("ui-tabs-selected")?"addClass":"removeClass"]("ui-state-disabled");a.cache===false&&this.anchors.removeData("cache.tabs"); this.lis.add(this.anchors).unbind(".tabs");if(a.event!="mouseover"){var j=function(f,e){e.is(":not(.ui-state-disabled)")&&e.addClass("ui-state-"+f)},k=function(f,e){e.removeClass("ui-state-"+f)};this.lis.bind("mouseover.tabs",function(){j("hover",d(this))});this.lis.bind("mouseout.tabs",function(){k("hover",d(this))});this.anchors.bind("focus.tabs",function(){j("focus",d(this).closest("li"))});this.anchors.bind("blur.tabs",function(){k("focus",d(this).closest("li"))})}var m,n;if(a.fx)if(d.isArray(a.fx)){m= a.fx[0];n=a.fx[1]}else m=n=a.fx;function p(f,e){f.css({display:""});d.browser.msie&&e.opacity&&f[0].style.removeAttribute("filter")}var q=n?function(f,e){d(f).closest("li").removeClass("ui-state-default").addClass("ui-tabs-selected ui-state-active");e.hide().removeClass("ui-tabs-hide").animate(n,n.duration||"normal",function(){p(e,n);b._trigger("show",null,b._ui(f,e[0]))})}:function(f,e){d(f).closest("li").removeClass("ui-state-default").addClass("ui-tabs-selected ui-state-active");e.removeClass("ui-tabs-hide"); b._trigger("show",null,b._ui(f,e[0]))},r=m?function(f,e){e.animate(m,m.duration||"normal",function(){b.lis.removeClass("ui-tabs-selected ui-state-active").addClass("ui-state-default");e.addClass("ui-tabs-hide");p(e,m);b.element.dequeue("tabs")})}:function(f,e){b.lis.removeClass("ui-tabs-selected ui-state-active").addClass("ui-state-default");e.addClass("ui-tabs-hide");b.element.dequeue("tabs")};this.anchors.bind(a.event+".tabs",function(){var f=this,e=d(this).closest("li"),i=b.panels.filter(":not(.ui-tabs-hide)"), l=d(b._sanitizeSelector(this.hash));if(e.hasClass("ui-tabs-selected")&&!a.collapsible||e.hasClass("ui-state-disabled")||e.hasClass("ui-state-processing")||b._trigger("select",null,b._ui(this,l[0]))===false){this.blur();return false}a.selected=b.anchors.index(this);b.abort();if(a.collapsible)if(e.hasClass("ui-tabs-selected")){a.selected=-1;a.cookie&&b._cookie(a.selected,a.cookie);b.element.queue("tabs",function(){r(f,i)}).dequeue("tabs");this.blur();return false}else if(!i.length){a.cookie&&b._cookie(a.selected, a.cookie);b.element.queue("tabs",function(){q(f,l)});b.load(b.anchors.index(this));this.blur();return false}a.cookie&&b._cookie(a.selected,a.cookie);if(l.length){i.length&&b.element.queue("tabs",function(){r(f,i)});b.element.queue("tabs",function(){q(f,l)});b.load(b.anchors.index(this))}else throw"jQuery UI Tabs: Mismatching fragment identifier.";d.browser.msie&&this.blur()});this.anchors.bind("click.tabs",function(){return false})},destroy:function(){var c=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 b=d.data(this,"href.tabs");if(b)this.href=b;var a=d(this).unbind(".tabs");d.each(["href","load","cache"],function(h,g){a.removeData(g+".tabs")})});this.lis.unbind(".tabs").add(this.panels).each(function(){d.data(this,"destroy.tabs")?d(this).remove():d(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")}); c.cookie&&this._cookie(null,c.cookie)},add:function(c,b,a){if(a===undefined)a=this.anchors.length;var h=this,g=this.options;b=d(g.tabTemplate.replace(/#\{href\}/g,c).replace(/#\{label\}/g,b));c=!c.indexOf("#")?c.replace("#",""):this._tabId(d("a",b)[0]);b.addClass("ui-state-default ui-corner-top").data("destroy.tabs",true);var j=d("#"+c);j.length||(j=d(g.panelTemplate).attr("id",c).data("destroy.tabs",true));j.addClass("ui-tabs-panel ui-widget-content ui-corner-bottom ui-tabs-hide");if(a>=this.lis.length){b.appendTo(this.list); j.appendTo(this.list[0].parentNode)}else{b.insertBefore(this.lis[a]);j.insertBefore(this.panels[a])}g.disabled=d.map(g.disabled,function(k){return k>=a?++k:k});this._tabify();if(this.anchors.length==1){b.addClass("ui-tabs-selected ui-state-active");j.removeClass("ui-tabs-hide");this.element.queue("tabs",function(){h._trigger("show",null,h._ui(h.anchors[0],h.panels[0]))});this.load(0)}this._trigger("add",null,this._ui(this.anchors[a],this.panels[a]))},remove:function(c){var b=this.options,a=this.lis.eq(c).remove(), h=this.panels.eq(c).remove();if(a.hasClass("ui-tabs-selected")&&this.anchors.length>1)this.select(c+(c+1<this.anchors.length?1:-1));b.disabled=d.map(d.grep(b.disabled,function(g){return g!=c}),function(g){return g>=c?--g:g});this._tabify();this._trigger("remove",null,this._ui(a.find("a")[0],h[0]))},enable:function(c){var b=this.options;if(d.inArray(c,b.disabled)!=-1){this.lis.eq(c).removeClass("ui-state-disabled");b.disabled=d.grep(b.disabled,function(a){return a!=c});this._trigger("enable",null, this._ui(this.anchors[c],this.panels[c]))}},disable:function(c){var b=this.options;if(c!=b.selected){this.lis.eq(c).addClass("ui-state-disabled");b.disabled.push(c);b.disabled.sort();this._trigger("disable",null,this._ui(this.anchors[c],this.panels[c]))}},select:function(c){if(typeof c=="string")c=this.anchors.index(this.anchors.filter("[href$="+c+"]"));else if(c===null)c=-1;if(c==-1&&this.options.collapsible)c=this.options.selected;this.anchors.eq(c).trigger(this.options.event+".tabs")},load:function(c){var b= this,a=this.options,h=this.anchors.eq(c)[0],g=d.data(h,"load.tabs");this.abort();if(!g||this.element.queue("tabs").length!==0&&d.data(h,"cache.tabs"))this.element.dequeue("tabs");else{this.lis.eq(c).addClass("ui-state-processing");if(a.spinner){var j=d("span",h);j.data("label.tabs",j.html()).html(a.spinner)}this.xhr=d.ajax(d.extend({},a.ajaxOptions,{url:g,success:function(k,m){d(b._sanitizeSelector(h.hash)).html(k);b._cleanup();a.cache&&d.data(h,"cache.tabs",true);b._trigger("load",null,b._ui(b.anchors[c], b.panels[c]));try{a.ajaxOptions.success(k,m)}catch(n){}b.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}});d.extend(d.ui.tabs,{version:"1.7.2",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>'}});d.extend(d.ui.tabs.prototype,{rotation:null,rotate:function(c,b){var a=this,h=this.options,g=a._rotate||(a._rotate=function(j){clearTimeout(a.rotation);a.rotation=setTimeout(function(){var k=h.selected;a.select(++k<a.anchors.length?k:0)},c);j&&j.stopPropagation()});b=a._unrotate||(a._unrotate=!b?function(j){j.clientX&&a.rotate(null)}:function(){t= h.selected;g()});if(c){this.element.bind("tabsshow",g);this.anchors.bind(h.event+".tabs",b);g()}else{clearTimeout(a.rotation);this.element.unbind("tabsshow",g);this.anchors.unbind(h.event+".tabs",b);delete this._rotate;delete this._unrotate}}})})(jQuery);