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