/**
 * Unified tabs engine for RightJS (http://rightjs.org/ui/tabs)
 *
 * Copyright (C) 2009-2010 Nikolay V. Nemshilov
 */
if (!RightJS) throw "Gimme RightJS";var Tabs=new Class(Observer,{extend:{EVENTS:$w('show hide click load disable enable add remove move'),Options:{idPrefix:'',tabsElement:null,resizeFx:'both',resizeDuration:400,scrollTabs:false,scrollDuration:400,selected:null,disabled:[],closable:false,loop:false,loopPause:true,url:false,cache:false,Xhr:null,Cookie:null},rescan:function(s){($(s)||document).select('*.right-tabs').each(function(e){if(!e._tabs)new Tabs(e)})}},initialize:function(e,o){this.element=$(e);this.$super(o||eval('('+this.element.get('data-tabs-options')+')'));this.element._tabs=this.init()},destroy:function(){delete(this.element._tabs)},show:function(t){return this.callTab(t,'show')},disable:function(t){return this.callTab(t,'disable')},enable:function(t){return this.callTab(t,'enable')},callTab:function(t,m){if(isArray(t))t.each(this[m],this);else if(t=isNumber(t)?this.tabs[t]:t)t[m]();return this},init:function(){this.isHarmonica=this.element.tagName=='DL';this.isCarousel=this.element.hasClass('right-tabs-carousel');this.isSimple=!this.isHarmonica&&!this.isCarousel;this.findTabs();this.element.addClass('right-tabs');if(this.isSimple)this.element.addClass('right-tabs-simple');return this.disable(this.options.disabled)},findTabs:function(){this.tabsList=this.isHarmonica?this.element:$(this.options.tabsElement)||this.element.first('.right-tabs-list')||this.element.first('UL').addClass('right-tabs-list');this.tabs=this.tabsList.subNodes(this.isHarmonica?'dt':null).map(function(n){return new Tabs.Tab(n,this)},this)},findPanel:function(t){var a=this.options.idPrefix+t.id,p;if(this.isHarmonica){var n=t.element.next();p=(n&&n.tagName=='DD')?n:$E('DD').insertTo(t.element,'after')}else p=$(a)||$E(this.element.tagName=='UL'?'LI':'DIV').insertTo(this.element);return p.set('id',a)}});Tabs.Tab=new Class({extend:{autoId:0},initialize:function(e,c){this.element=e.addClass('right-tabs-tab');this.controller=c;this.element.onMousedown(this.click.bind(this)).onClick('stopEvent');this.findLink();this.panel=new Tabs.Panel(c.findPanel(this),this);if(c.options.closable)this.link.insert($E('div',{'class':'right-tabs-tab-close-icon','html':'&times;'}).onMousedown(this.remove.bind(this)).onClick('stopEvent'))},click:function(e){e.stop();return this.fire('click').show()},show:function(){if(this.enabled()){var p=this.controller.tabs.first('current');if(p)p.fire('hide');this.element.radioClass('right-tabs-current');this.controller.scrollToTab(this);this.panel.show();this.fire('show')}return this},disable:function(){this.element.addClass('right-tabs-disabled');return this.fire('disable')},enable:function(){this.element.removeClass('right-tabs-disabled');return this.fire('enable')},disabled:function(){return!this.enabled()},enabled:function(){return!this.element.hasClass('right-tabs-disabled')},current:function(){return this.element.hasClass('right-tabs-current')},remove:function(a){if(a)a.stop();if(this.current()){var e=this.controller.tabs.filter('enabled');var s=e[e.indexOf(this)+1]||e[e.indexOf(this)-1];if(s)s.show()}this.controller.tabs.splice(this.controller.tabs.indexOf(this),1);this.element.remove();this.panel.remove();return this},width:function(){return this.element.offsetWidth+this.element.getStyle('marginRight').toInt()},fire:function(e){this.controller.fire(e,this);return this},findLink:function(){this.link=this.element.first('a');this.id=this.link.href.split('#')[1]||(this.controller.options.idPrefix+(Tabs.Tab.autoId++))}});Tabs.Panel=new Class(Observer,{initialize:function(e,t){this.tab=t;this.id=e.id;this.element=e.addClass('right-tabs-panel')},show:function(){return this.resizing(function(){this.tab.controller.tabs.each(function(t){var e=t.panel.element;e[e==this.element?'addClass':'removeClass']('right-tabs-panel-current')},this)})},update:function(c){if(this.tab.current())this.resizing(function(){this.element.update(c||'')});else this.element.update(c||'');return this},remove:function(){this.element.remove();return this},lock:function(){this.element.insert(this.locker(),'top')},resizing:function(c){var a=this.tab.controller;if(a.__working)return this.resizing.bind(this,c).delay(100);var o=a.options;var i=a.element.first('.right-tabs-panel-current');var t=this.element;var k=i!=t;var l=this.element.first('div.right-tabs-panel-locker');if(t.parentNode.hasClass('right-tabs-resizer'))t.insertTo(i.parentNode);if(o.resizeFx&&self.Fx&&i&&(k||l)){a.__working=true;var u=function(){a.__working=false};var e=(o.resizeFx=='both'&&l)?'slide':o.resizeFx;var d=o.resizeDuration;d=Fx.Durations[d]||d;var r=e=='fade'?0:e=='slide'?d:d/2;var f=d-r;if(e!='slide')t.setStyle({opacity:0});var j=(a.isHarmonica&&k)?0:i.offsetHeight;c.call(this);var n=t.offsetHeight;var g=null;if(e!='fade'&&j!=n){a.element.style.height=a.element.offsetHeight+'px';g=$E('div',{'class':'right-tabs-resizer','style':'height: '+j+'px'});if(a.isHarmonica&&k){i.addClass('right-tabs-panel-current');var h=$E('div',{'class':'right-tabs-resizer'});h.style.height=i.offsetHeight+'px';var p=function(){h.replace(i.removeClass('right-tabs-panel-current'))};i.wrap(h);g.style.height='0px'}t.wrap(g);a.element.style.height='auto'}else{rezise_duration=0;d=f}var b=0;var s=function(){if(g){if(e=='both'&&!b)return b++;g.replace(t)}u()};if(h)h.morph({height:'0px'},{duration:r,onFinish:p});if(g)g.morph({height:n+'px'},{duration:r,onFinish:s});if(e!='slide')t.morph.bind(t,{opacity:1},{duration:f,onFinish:s}).delay(r);if(!g&&e=='slide')s()}else c.call(this);return this},locker:function(){if(!this._locker){var l=$E('div',{'class':'right-tabs-panel-locker'});var s=$E('div',{'class':'right-tabs-panel-locker-spinner'}).insertTo(l);var d='1234'.split('').map(function(a){return $E('div',{'class':a==1?'glow':null}).insertTo(s)});(function(){s.insert(d.last(),'top');d.unshift(d.pop())}).periodical(400);this._locker=l}return this._locker}});Tabs.include((function(){var d=Tabs.prototype.init;return{next:function(){return this.pickTab(+1)},prev:function(){return this.pickTab(-1)},scrollLeft:function(){return this[this.isCarousel?'prev':'justScroll'](+0.6)},scrollRight:function(){return this[this.isCarousel?'next':'justScroll'](-0.6)},init:function(){d.call(this);if(this.scrollable=(this.options.scrollTabs||this.isCarousel))this.buildScroller();return this},buildScroller:function(){if(this.element.first('.right-tabs-scroller')){this.prevButton=this.element.first('.right-tabs-scroll-left');this.nextButton=this.element.first('.right-tabs-scroll-right')}else{this.prevButton=$E('div',{'class':'right-tabs-scroll-left','html':'&laquo;'});this.nextButton=$E('div',{'class':'right-tabs-scroll-right','html':'&raquo;'});this.element.insert($E('div',{'class':'right-tabs-scroller'}).insert([this.prevButton,this.nextButton,$E('div',{'class':'right-tabs-scroll-body'}).insert(this.tabsList)]),'top')}this.prevButton.onClick(this.scrollLeft.bind(this));this.nextButton.onClick(this.scrollRight.bind(this))},pickTab:function(p){var c=this.tabs.first('current');if(c&&c.enabled()){var e=this.tabs.filter('enabled');var t=e[e.indexOf(c)+p];if(t)t.show()}},scrollToTab:function(t){if(this.scrollable){var b=0;for(var i=0;i<this.tabs.length;i++){b+=this.tabs[i].width();if(this.tabs[i]==t)break}var a=this.tabsList.parentNode.offsetWidth;var s=(this.isCarousel?(a/2+t.width()/2):a)-b;if(!this.isCarousel){var c=this.tabsList.getStyle('left').toInt()||0;if(s>=c&&s<(c+a-t.width()))s=c;else if(c>-b&&c<=(t.width()-b))s=t.width()-b}this.scrollTo(s)}},justScroll:function(s){var c=this.tabsList.getStyle('left').toInt()||0;var a=this.tabsList.parentNode.offsetWidth;this.scrollTo(c+a*s)},scrollTo:function(s){var c=this.tabsList.getStyle('left').toInt()||0;var a=this.tabsList.parentNode.offsetWidth;var o=0;for(var i=0;i<this.tabs.length;i++)o+=this.tabs[i].width();if(s<(a-o))s=a-o;if(s>0)s=0;var b={left:s+'px'};if(this.options.scrollDuration&&self.Fx&&c!=s)this.tabsList.morph(b,{duration:this.options.scrollDuration});else this.tabsList.setStyle(b);this.checkScrollButtons(o,a,s)},checkScrollButtons:function(o,a,s){var h=has_next=false;if(this.isCarousel){var e=this.tabs.filter('enabled');var c=e.first('current');if(c){var i=e.indexOf(c);h=i>0;has_next=i<e.length-1}}else{h=s!=0;has_next=s>(a-o)}this.prevButton[h?'removeClass':'addClass']('right-tabs-scroll-disabled');this.nextButton[has_next?'removeClass':'addClass']('right-tabs-scroll-disabled')}}})());Tabs.include((function(){var d=Tabs.prototype.initialize;var g=function(){return self.Cookie?(Cookie.get('right-tabs-indexes')||'').split(','):[]};var s=function(o,a,t){if(self.Cookie){var i=g();i=i.without.apply(i,a.map('id'));i.push(t.id);Cookie.set('right-tabs-indexes',i.uniq().join(','),o)}};return{initialize:function(){d.apply(this,arguments);this.findCurrent();if(this.options.Cookie)this.onShow(s.curry(this.options.Cookie,this.tabs))},findCurrent:function(){var c;if(this.options.selected!==null)c=this.options.selected;else{var e=this.tabs.filter('enabled');c=e[this.urlIndex()]||e[this.cookieIndex()]||e.first('current')||e[0]}if(c)c.show()},urlIndex:function(){var b=-1,a=document.location.href.split('#')[1];if(a)for(var i=0;i<this.tabs.length;i++)if(this.tabs[i].id==a){b=i;break}return b},cookieIndex:function(){var a=-1;if(this.options.Cookie){var b=g();for(var i=0;i<this.tabs.length;i++)if(b.include(this.tabs[i].id)){a=i;break}}return a}}})());Tabs.include({add:function(a,c,o){var o=o||{};var e=$E(this.isHarmonica?'dt':'li').insert($E('a',{html:a,href:o.url||'#'+(o.id||'')})).insertTo(this.tabsList);var t=new Tabs.Tab(e,this);t.panel.element.update(c||'');this.tabs.push(t);if(defined(o.position))this.move(t,o.position);return this.fire('add',t)},move:function(t,p){var t=this.tabs[t]||t;if(this.tabs[p]&&this.tabs[p]!==t){this.tabs[p].element.insert(t.element,(p==this.tabs.length-1)?'after':'before');if(this.isHarmonica)t.element.insert(t.panel.element,'after');this.tabs.splice(this.tabs.indexOf(t),1);this.tabs.splice(p,0,t);this.fire('move',t,p)}return this},remove:function(t){return this.callTab(t,'remove')}});Tabs.Tab.include((function(){var c=Tabs.Tab.prototype.show;return{show:function(){if(this.dogPiling(arguments))return this;var a=c.apply(this,arguments);var u=this.link.href;var o=this.controller.options;if(u.includes('#'))u=o.url?o.url.replace('%{id}',u.split('#')[1]):null;if(u&&!this.request&&!(o.cache||this.cache)){this.panel.lock();try{this.request=new Xhr(u,Object.merge({method:'get'},o.Xhr)).onComplete(function(r){if(this.controller.__working)return arguments.callee.bind(this,r).delay(100);this.panel.update(r.text);this.request=null;if(o.cache)this.cache=true;this.fire('load')}.bind(this)).send()}catch(e){if(!Browser.OLD)throw(e)}}return a},dogPiling:function(b){if(this.controller.__working){if(this.controller.__timeout)this.controller.__timeout.cancel();this.controller.__timeout=(function(a){this.show.apply(this,a)}).bind(this,b).delay(100);return true}return this.controller.__timeout=null}}})());Tabs.include((function(){var o=Tabs.prototype.initialize;return{initialize:function(){o.apply(this,arguments);if(this.options.loop)this.startLoop()},startLoop:function(d){if(!d&&!this.options.loop)return this;if(this.options.loopPause){this._stopLoop=this._stopLoop||this.stopLoop.bind(this,true);this._startLoop=this._startLoop||this.startLoop.bind(this,d);this.forgetHovers().on({mouseover:this._stopLoop,mouseout:this._startLoop})}if(this.timer)this.timer.stop();this.timer=function(){var e=this.tabs.filter('enabled');var c=this.tabs.first('current');var n=e[e.indexOf(c)+1];this.show(n||e.first())}.bind(this).periodical(this.options.loop||d);return this},stopLoop:function(e,p){if(this.timer){this.timer.stop();this.timer=null}if(!p&&this._startLoop)this.forgetHovers()},forgetHovers:function(){return this.element.stopObserving('mouseover',this._stopLoop).stopObserving('mouseout',this._startLoop)}}})());document.onReady(function(){Tabs.rescan()});document.write("<style type=\"text/css\">.right-tabs,.right-tabs-list,.right-tabs-tab,.right-tabs-panel,.right-tabs-scroll-left,.right-tabs-scroll-right,.right-tabs-scroll-body,.right-tabs-panel-locker,.right-tabs-resizer{margin:0;padding:0;background:none;border:none;list-style:none;display:block;width:auto;height:auto}.right-tabs{border-bottom:1px solid #CCC}.right-tabs-resizer{overflow:hidden}.right-tabs-tab,.right-tabs-tab a{display:block;float:left}.right-tabs-tab a{position:relative;cursor:pointer;text-decoration:none;border:1px solid #CCC;background:#DDD;color:#444;-moz-border-radius:.3em;-webkit-border-radius:.3em}.right-tabs-tab a:hover{border-color:#CCC;background:#EEE}.right-tabs-tab.right-tabs-current a{font-weight:bold;color:#000;background:#FFF}.right-tabs-tab a img{border:none;opacity:.6;filter:alpha(opacity=60)}.right-tabs-tab a:hover img,.right-tabs-tab.right-tabs-current a img{opacity:1;filter:alpha(opacity=100)}.right-tabs-disabled a,.right-tabs-disabled a:hover{background:#EEE;border-color:#DDD;color:#AAA;cursor:default}.right-tabs-disabled a img,.right-tabs-disabled a:hover img{opacity:.5;filter:alpha(opacity=50)}.right-tabs-tab-close-icon{display:inline-block;*display:inline;*zoom:1;margin-right:-0.5em;margin-left:0.5em;cursor:pointer;opacity:0.5;filter:alpha(opacity=50)}.right-tabs-tab-close-icon:hover{opacity:1;filter:alpha(opacity=100);color:#B00;text-shadow:#888 .15em .15em .2em}.right-tabs-panel{display:none;position:relative;min-height:4em;padding:.5em 0}.right-tabs-panel-current{display:block}.right-tabs-panel-locker{position:absolute;top:0px;left:0px;opacity:0.5;filter:alpha(opacity=50);background:#CCC;width:100%;height:100%;text-align:center;line-height:100%}.right-tabs-panel-locker-spinner{position:absolute;left:44%;top:44%}.right-tabs-panel-locker-spinner div{float:left;background:#777;width:.5em;height:1em;margin-right:.1em;-moz-border-radius:.1em;-webkit-border-radius:.1em}.right-tabs-panel-locker-spinner div.glow{background:#444;height:1.2em;margin-top:-0.1em}.right-tabs-scroller{padding:0 1.4em;position:relative;margin-bottom:.5em}.right-tabs-scroll-left,.right-tabs-scroll-right{width:1.1em;text-align:center;background:#EEE;color:#666;cursor:pointer;border:1px solid #CCC;-moz-border-radius:.2em;-webkit-border-radius:.2em;position:absolute;top:0px;left:0px;z-index:100}div.right-tabs-scroll-left:hover,div.right-tabs-scroll-right:hover{color:#000;background:#DDD;border-color:#AAA}.right-tabs-scroll-right{left:auto;right:0px}.right-tabs .right-tabs-scroller .right-tabs-scroll-disabled,.right-tabs .right-tabs-scroller .right-tabs-scroll-disabled:hover{cursor:default;background:#DDD;border-color:#DDD;color:#AAA}.right-tabs-scroll-body{width:100%;overflow:hidden;position:relative;z-index:50}.right-tabs-scroller .right-tabs-list{position:relative;width:999em;margin:0}.right-tabs-simple .right-tabs-list{height:2em;padding:0 1em;border-bottom:1px solid #CCC}.right-tabs-simple .right-tabs-tab{margin-top:-1px;margin-right:1px}.right-tabs-simple .right-tabs-tab a{line-height:1.8em;margin-top:.2em;padding:0 1em;border-bottom:none;-moz-border-radius-bottomleft:0;-moz-border-radius-bottomright:0;-webkit-border-bottom-left-radius:0;-webkit-border-bottom-right-radius:0}.right-tabs-simple .right-tabs-tab.right-tabs-current a{line-height:2em;margin-top:1px}.right-tabs-simple .right-tabs-scroller{border-bottom:1px solid #CCC}.right-tabs-simple .right-tabs-scroll-left,.right-tabs-simple .right-tabs-scroll-right{line-height:1.8em;top:.2em;-moz-border-radius-bottomleft:0;-moz-border-radius-bottomright:0;-webkit-border-bottom-left-radius:0;-webkit-border-bottom-right-radius:0}.right-tabs-simple .right-tabs-scroll-body{position:relative;top:1px}.right-tabs-simple .right-tabs-list{padding:0}.right-tabs-carousel .right-tabs-list,.right-tabs-carousel .right-tabs-tab a,.right-tabs-carousel .right-tabs-scroller .right-tabs-scroll-left,.right-tabs-carousel .right-tabs-scroller .right-tabs-scroll-right{height:6em;line-height:6em}.right-tabs-carousel .right-tabs-tab{margin-right:2px}.right-tabs-carousel .right-tabs-tab a img{border:1px solid #CCC;margin:.4em;padding:0}dl.right-tabs{overflow:none;border:none}dt.right-tabs-tab,dt.right-tabs-tab a{display:block;float:none}dt.right-tabs-tab a{padding:.2em 1em}dl.right-tabs dt.right-tabs-current a{background:#EEE;-moz-border-radius-bottomleft:0;-moz-border-radius-bottomright:0;-webkit-border-bottom-left-radius:0;-webkit-border-bottom-right-radius:0}</style>");