(function(B){B.extend({tabs:{remoteCount:0}});B.fn.tabs=function(D,E){if(typeof D=="object"){E=D}E=B.extend({initial:(D&&typeof D=="number"&&D>0)?--D:0,disabled:null,bookmarkable:B.ajaxHistory?true:false,remote:false,spinner:"Loading&#8230;",hashPrefix:"remote-tab-",fxFade:null,fxSlide:null,fxShow:null,fxHide:null,fxSpeed:"normal",fxShowSpeed:null,fxHideSpeed:null,fxAutoHeight:false,onClick:null,onHide:null,onShow:null,navClass:"tabs-nav",selectedClass:"tabs-selected",disabledClass:"tabs-disabled",containerClass:"tabs-container",hideClass:"tabs-hide",loadingClass:"tabs-loading",tabStruct:"div"},E||{});B.browser.msie6=B.browser.msie&&(B.browser.version&&B.browser.version<7||/MSIE 6.0/.test(navigator.userAgent));function F(){scrollTo(0,0)}return this.each(function(){var P=this;var N=B("ul."+E.navClass,P);N=N.size()&&N||B(">ul:eq(0)",P);var Y=B("a",N);if(E.remote){Y.each(function(){var b=E.hashPrefix+(++B.tabs.remoteCount),a="#"+b,Z=this.href;this.href=a;B('<div id="'+b+'" class="'+E.containerClass+'"></div>').appendTo(P);B(this).bind("loadRemoteTab",function(g,h){var c=B(this).addClass(E.loadingClass),d=B("span",this)[0],f=d.innerHTML;if(E.spinner){d.innerHTML="<em>"+E.spinner+"</em>"}setTimeout(function(){B(a).load(Z,function(){if(E.spinner){d.innerHTML=f}c.removeClass(E.loadingClass);h&&h()})},0)})})}var R=B("div."+E.containerClass,P);R=R.size()&&R||B(">"+E.tabStruct,P);N.is("."+E.navClass)||N.addClass(E.navClass);R.each(function(){var Z=B(this);Z.is("."+E.containerClass)||Z.addClass(E.containerClass)});var L=B("li",N).index(B("li."+E.selectedClass,N)[0]);if(L>=0){E.initial=L}if(location.hash){Y.each(function(a){if(this.hash==location.hash){E.initial=a;if((B.browser.msie||B.browser.opera)&&!E.remote){var Z=B(location.hash);var b=Z.attr("id");Z.attr("id","");setTimeout(function(){Z.attr("id",b)},500)}F();return false}})}if(B.browser.msie){F()}R.filter(":eq("+E.initial+")").show().end().not(":eq("+E.initial+")").addClass(E.hideClass);B("li",N).removeClass(E.selectedClass).eq(E.initial).addClass(E.selectedClass);Y.eq(E.initial).trigger("loadRemoteTab").end();if(E.fxAutoHeight){var X=function(Z){var a=B.map(R.get(),function(c){var b,d=B(c);if(Z){if(B.browser.msie6){c.style.removeExpression("behaviour");c.style.height="";c.minHeight=null}b=d.css({"min-height":""}).height()}else{b=d.height()}return b}).sort(function(d,c){return c-d});if(B.browser.msie6){R.each(function(){this.minHeight=a[0]+"px";this.style.setExpression("behaviour",'this.style.height = this.minHeight ? this.minHeight : "1px"')})}else{R.css({"min-height":a[0]+"px"})}};X();var O=P.offsetWidth;var W=P.offsetHeight;var I=B("#tabs-watch-font-size").get(0)||B('<span id="tabs-watch-font-size">M</span>').css({display:"block",position:"absolute",visibility:"hidden"}).appendTo(document.body).get(0);var Q=I.offsetHeight;setInterval(function(){var a=P.offsetWidth;var b=P.offsetHeight;var Z=I.offsetHeight;if(b>W||a!=O||Z!=Q){X((a>O||Z<Q));O=a;W=b;Q=Z}},50)}var J={},S={},H=E.fxShowSpeed||E.fxSpeed,M=E.fxHideSpeed||E.fxSpeed;if(E.fxSlide||E.fxFade){if(E.fxSlide){J["height"]="show";S["height"]="hide"}if(E.fxFade){J["opacity"]="show";S["opacity"]="hide"}}else{if(E.fxShow){J=E.fxShow}else{J["min-width"]=0;H=1}if(E.fxHide){S=E.fxHide}else{S["min-width"]=0;M=1}}var K=E.onClick,G=E.onHide,T=E.onShow;Y.bind("triggerTab",function(){var Z=B(this).parents("li:eq(0)");if(P.locked||Z.is("."+E.selectedClass)||Z.is("."+E.disabledClass)){return false}var b=this.hash;if(B.browser.msie){B(this).trigger("click");if(E.bookmarkable){B.ajaxHistory.update(b);location.hash=b.replace("#","")}}else{if(B.browser.safari){var a=B('<form action="'+b+'"><div><input type="submit" value="h" /></div></form>').get(0);a.submit();B(this).trigger("click");if(E.bookmarkable){B.ajaxHistory.update(b)}}else{if(E.bookmarkable){location.hash=b.replace("#","")}else{B(this).trigger("click")}}}});Y.bind("disableTab",function(){var Z=B(this).parents("li:eq(0)");if(B.browser.safari){Z.animate({opacity:0},1,function(){Z.css({opacity:""})})}Z.addClass(E.disabledClass)});if(E.disabled&&E.disabled.length){for(var V=0,U=E.disabled.length;V<U;V++){Y.eq(--E.disabled[V]).trigger("disableTab").end()}}Y.bind("enableTab",function(){var Z=B(this).parents("li:eq(0)");Z.removeClass(E.disabledClass);if(B.browser.safari){Z.animate({opacity:1},1,function(){Z.css({opacity:""})})}});Y.bind("click",function(d){var j=d.clientX;var f=this,k=B(this).parents("li:eq(0)"),a=B(this.hash),g=R.filter(":visible");if(P["locked"]||k.is("."+E.selectedClass)||k.is("."+E.disabledClass)||typeof K=="function"&&K(this,a[0],g[0])===false){this.blur();return false}P["locked"]=true;if(a.size()){if(B.browser.msie&&E.bookmarkable){var Z=this.hash.replace("#","");a.attr("id","");setTimeout(function(){a.attr("id",Z)},0)}var c={display:"",overflow:"",height:""};if(!B.browser.msie){c["opacity"]=""}function b(){if(E.bookmarkable&&j){B.ajaxHistory.update(f.hash)}g.animate(S,M,function(){B(f).parents("li:eq(0)").addClass(E.selectedClass).siblings().removeClass(E.selectedClass);g.addClass(E.hideClass).css(c);if(typeof G=="function"){G(f,a[0],g[0])}if(!(E.fxSlide||E.fxFade||E.fxShow)){a.css("display","block")}a.animate(J,H,function(){a.removeClass(E.hideClass).css(c);if(B.browser.msie){g[0].style.filter="";a[0].style.filter=""}if(typeof T=="function"){T(f,a[0],g[0])}P["locked"]=null})})}if(!E.remote){b()}else{B(f).trigger("loadRemoteTab",[b])}}else{alert("There is no such container.")}var i=window.pageXOffset||document.documentElement&&document.documentElement.scrollLeft||document.body.scrollLeft||0;var h=window.pageYOffset||document.documentElement&&document.documentElement.scrollTop||document.body.scrollTop||0;setTimeout(function(){window.scrollTo(i,h)},0);this.blur();return E.bookmarkable&&!!j});if(E.bookmarkable){B.ajaxHistory.initialize(function(){Y.eq(E.initial).trigger("click").end()})}})};var C=["triggerTab","disableTab","enableTab"];for(var A=0;A<C.length;A++){B.fn[C[A]]=(function(D){return function(E){return this.each(function(){var G=B("ul.tabs-nav",this);G=G.size()&&G||B(">ul:eq(0)",this);var F;if(!E||typeof E=="number"){F=B("li a",G).eq((E&&E>0&&E-1||0))}else{if(typeof E=="string"){F=B('li a[href$="#'+E+'"]',G)}}F.trigger(D)})}})(C[A])}B.fn.activeTab=function(){var D=[];this.each(function(){var F=B("ul.tabs-nav",this);F=F.size()&&F||B(">ul:eq(0)",this);var E=B("li",F);D.push(E.index(E.filter(".tabs-selected")[0])+1)});return D[0]}})(jQuery)