var wrap_W=0;var JATabs=new Class({initialize:function(element,options){this.options=Object.extend({position:'top',width:'100%',height:'auto',skipAnim:false,animType:'animMoveHor',mouseType:'mouseover',changeTransition:Fx.Transitions.Pow.easeIn,duration:1000,mouseOverClass:'hover',activateOnLoad:'first',useAjax:false,ajaxUrl:'',ajaxOptions:'get',ajaxLoadingText:'Loading...',fixheight:1,fixwidth:1},options||{});this.el=$(element);this.elid=element;this._W=this.el.offsetWidth.toInt();wrap_W=this._W;if(this.options.height=='auto'){this.options.fixheight=0}
this._H=this.el.offsetHeight.toInt();this.panels=$$('#'+this.elid+' .ja-tab-content');this.panelwrap=$E('.ja-tab-panels-'+this.options.position,this.el);this.divtitles=$$('#'+this.elid+' .ja-tabs-title-'+this.options.position);this.titles=$$('#'+this.elid+' div.ja-tabs-title-'+this.options.position+' ul li');if(this.panels.length<=1){return}
this.titles.each(function(item){item.addEvent(this.options.mouseType,function(){if(item.className.indexOf('active')!=-1)return;item.removeClass(this.options.mouseOverClass);this.activate(item,this.options.skipAnim)}.bind(this));item.addEvent('mouseover',function(){if(item!=this.activeTitle){item.addClass(this.options.mouseOverClass)}}.bind(this));item.addEvent('mouseout',function(){if(item!=this.activeTitle){item.removeClass(this.options.mouseOverClass)}}.bind(this))}.bind(this));this.titles[0].className='first';this.titles[this.titles.length-1].className='last';this.titles[0].addClass('active');this.tabHeight=$E('.ja-tabs-title-'+this.options.position,this.el);this.minHeight=0;if((this.options.position=='left')||(this.options.position=='right')){this.minHeight=this.tabHeight.offsetHeight+30;if(!this.options.fixheight){this.divtitles.setStyle('height',this.minHeight)}}
if(!this.options.fixheight){this.panelwrap.setStyle('height',this.minHeight+10)}else{this.panelwrap.setStyle('height',this._H-this.titles[0].offsetHeight.toInt())}
if((this.options.position=='left')||(this.options.position=='right')){var maxw=eval(this._W-this.divtitles[0].offsetWidth.toInt()-10);this.panelwrap.setStyle('width',maxw)}
this.titles.each(function(el,i){el.panel=this.panels[i];el.panel._idx=i},this);if(this.options.skipAnim)this.options.animType='animNone';if((eval('typeof '+this.options.animType)=='undefined')||(eval('$type ('+this.options.animType+')')!='class')){this.options.animType='animFade'}
this.anim=eval('new '+this.options.animType+'(this)');if(this.options.activateOnLoad!='none'){if(this.options.activateOnLoad=='first'){this.activate(this.titles[0],true)}else{this.activate(this.options.activateOnLoad,true)}}
if(window.ie)this.firstload=true;window.addEvent('resize',this.resize.bind(this))},resize:function(){var i=this;i._W=i.el.offsetWidth;maxW=i._W-30;if((i.options.position=='left')||(i.options.position=='right')){i.minHeight=i.tabHeight.offsetHeight+10;if(!i.options.fixheight){i.divtitles.setStyle('height',Math.max(i.minHeight,i.activeTitle.panel.offsetHeight+10))}
maxW=i._W-i.divtitles[0].offsetWidth.toInt()-10}
i.panelwrap.setStyle('width',maxW);if(wrap_W!=i._W){i.anim.reposition()}},activate:function(l,O){var o=this;if(o.options.useAjax)o.cancelAjax();if(o.options.useAjax&&!l.loaded){o._getContent(l);return}
if(!$defined(O)){O=false}
if($type(l)=='string'){myTab=$$('#'+o.elid+' ul li').filterByAttribute('title','=',l)[0];l=myTab}
if($type(l)=='element'){var I=l.panel,i=o.activePanel;o.activePanel=I;o.anim.move(i,I,O);o.titles.removeClass('active');if(o.activeTitle){o.activeTitle.className=o.activeTitle.className.replace(new RegExp("active"),"")}
l.className=l.className.replace(new RegExp(o.options.mouseOverClass),"");l.className+='active';o.activeTitle=l;if(!o.options.fixheight){if(O){o.panelwrap.setStyle('height',Math.max(o.minHeight,o.activeTitle.panel.offsetHeight+10));if((o.options.position=='left')||(o.options.position=='right')){o.tabHeight.setStyle('height',Math.max(o.minHeight,o.panelwrap.offsetHeight+30))}}else{new Fx.Style(o.panelwrap,'height',{duration:o.options.duration}).start(o.panelwrap.offsetHeight,Math.max(o.minHeight,o.activeTitle.panel.offsetHeight+10));if((o.options.position=='left')||(o.options.position=='right')){new Fx.Style(o.tabHeight,'height',{duration:o.options.duration}).start(o.tabHeight.offsetHeight,Math.max(o.minHeight,o.activeTitle.panel.offsetHeight+30))}}}}},cancelAjax:function(){var i=this;if(i.loadingTab){i.tabRequest.cancel();i.loadingTab.imgLoading.remove();i.tabRequest=null;i.loadingTab=null}},_getContent:function(o){var l=this;l.loadingTab=o;var I=$(l.loadingTab.getElementsByTagName('H3')[0]);var i=new Element('img',{'src':'plugins/content/ja_tabs/loading.gif','width':13});if(l.options.position=='right')i.inject(I,'top');else i.inject(I);l.loadingTab.imgLoading=i;l.tabRequest=new Ajax(l.options.ajaxUrl+'&tab='+l.loadingTab.getProperty('title'),{method:l.options.ajaxOptions,onComplete:l.update.bind(l)});l.tabRequest.request()},update:function(l){var i=this;i.loadingTab.loaded=true;i.loadingTab.panel.subpanel=$E('.ja-tab-subcontent',i.loadingTab.panel);i.loadingTab.panel.subpanel.innerHTML=l;i.loadingTab.imgLoading.remove();var I=i.loadingTab;i.tabRequest=null;i.loadingTab=null;i.anim.reposition();i.activate(I)}});var animNone=new Class({initialize:function(I){var i=this;i.options=I.options||{};i.tabwrap=I;i.tabwrap.panels.setStyle('position','absolute');i.tabwrap.panels.setStyle('left',0)},move:function(i,I,l){this.tabwrap.panels.setStyle('display','none');I.setStyle('display','block')}});var animFade=new Class({initialize:function(I){var i=this;i.options=I.options||{};i.tabwrap=I;i.changeEffect=new Fx.Elements(i.tabwrap.panels,{duration:i.options.duration});i.tabwrap.panels.setStyles({'opacity':0,'width':'100%'})},move:function(i,l,O){var o=this;if(o.options.changeTransition!='none'&&O==false){if(i){curOpac=i.getStyle('opacity');var I=new Fx.Style(i,'opacity',{duration:o.options.duration,transition:o.options.changeTransition});I.stop();I.start(curOpac,0)}
curOpac=l.getStyle('opacity');var I=new Fx.Style(l,'opacity',{duration:o.options.duration,transition:o.options.changeTransition});I.stop();I.start(curOpac,1)}else{if(i)i.setStyle('opacity',0);l.setStyle('opacity',1)}},reposition:function(){var i=this;if(i.tabwrap.activePanel){i.changeEffect.stop();for(var I=i.tabwrap.activePanel._idx-1;I>=0;I--){i.tabwrap.panels[I].setStyle('opacity',0)}
for(I=i.tabwrap.activePanel._idx+1;I<i.tabwrap.panels.length;I++){i.tabwrap.panels[I].setStyle('opacity',0)}}}});var animMoveHor=new Class({initialize:function(l){var i=this;i.options=l.options||{};i.tabwrap=l;i.changeEffect=new Fx.Elements(i.tabwrap.panels,{duration:i.options.duration});var I=10;i.tabwrap.panels.each(function(i){i.setStyle('left',I);I+=i.offsetWidth});i.tabwrap.panels.setStyle('top',0)},move:function(I,o,C){var c=this;if(c.options.changeTransition!='none'&&!C){c.changeEffect.stop();var l={},O=o.offsetLeft.toInt();i=0;c.tabwrap.panels.each(function(I){l[i++]={'left':[I.offsetLeft.toInt(),I.offsetLeft.toInt()-O+10]}});c.changeEffect.start(l)}},reposition:function(){var i=this;if(i.tabwrap.activePanel){i.changeEffect.stop();var I=i.tabwrap.activePanel.offsetLeft;for(var l=i.tabwrap.activePanel._idx-1;l>=0;l--){I-=i.tabwrap.panels[l].offsetWidth;i.tabwrap.panels[l].setStyle('left',I)}
var I=i.tabwrap.activePanel.offsetLeft;for(l=i.tabwrap.activePanel._idx+1;l<i.tabwrap.panels.length;l++){I+=i.tabwrap.panels[l-1].offsetWidth;i.tabwrap.panels[l].setStyle('left',I)}}}});var animMoveVir=new Class({initialize:function(l){var i=this;i.options=l.options||{};i.tabwrap=l;i.changeEffect=new Fx.Elements(i.tabwrap.panels,{duration:i.options.duration});var I=0;i.tabwrap.panels.each(function(i){i.setStyle('top',I);I+=Math.max(i.offsetHeight,i.getParent().getParent().offsetHeight)});i.tabwrap.panels.setStyle('left',0)},move:function(I,o,C){var c=this;if(c.options.changeTransition!='none'&&C==false){c.changeEffect.stop();var l={},O=o.offsetTop.toInt();i=0;c.tabwrap.panels.each(function(I){l[i++]={'top':[I.offsetTop.toInt(),I.offsetTop.toInt()-O]}});c.changeEffect.start(l)}},reposition:function(){var i=this;if(i.tabwrap.activePanel){i.changeEffect.stop();var I=i.tabwrap.activePanel.offsetTop;for(var l=i.tabwrap.activePanel._idx-1;l>=0;l--){I-=i.tabwrap.panels[l].offsetHeight;i.tabwrap.panels[l].setStyle('top',I-10)}
var I=i.tabwrap.activePanel.offsetTop;for(l=i.tabwrap.activePanel._idx+1;l<i.tabwrap.panels.length;l++){I+=i.tabwrap.panels[l-1].offsetHeight+10;i.tabwrap.panels[l].setStyle('top',I)}}}});
