Fuic.compo.tabbar={};Fuic.TabBar=function(i){var b=i.name;var c=i.menuParent;var k=i.bodyParent;this.scrollableButton=i.navigationBar||false;var l=this.scrollableButton?"navigationBar":"fuicTabBarMenu";var j=i.menuClass==null?l:i.menuClass+" "+l;var m=i.bodyClass==null?"fuicTabBarBody":i.bodyClass;var n=i.heightBody;if(b==null){feC.log("[TabBar] Please specify a name");return null}var d=new Element("div");d.addClass(j).id="fuic_tabbar_"+b;d.injectInside(c);if(this.scrollableButton){var f=new Element("div");f.addClass("previous arrow");f.setHTML("&nbsp;");f.injectInside(d);var a=new Element("div");a.addClass("titleContainer");a.injectInside(d);var h=new Element("div");h.addClass("next arrow");h.setHTML("&nbsp;");h.injectInside(d);d=a;f.addEvent("click",this.showPrevious.bind(this));h.addEvent("click",this.showNext.bind(this))
}var g=new Element("div");g.id="fuic_tabbar_"+b+"_body";g.addClass(m);if(k!=null){g.injectInside(k)}else{g.injectInside(c)}if(n!=null){g.setStyle("height",n)}this.tabsName=[];this.loadingOverlay=e;this.body=g;this.menu=d;this.name=b;this.tabs={};this.count=0;this.separator=i.separator||null;this.delay=i.delay||600;Fuic.compo.tabbar[b]=this;var e=new Element("div");e.addClass("fuicTabLoading");e.setHTML(i18n.loading);this.addTab({name:"fuicLoader",title:"Loading",buttonClass:"hidden",bodyClass:"hidden",content:e});this._showingTab=false;this._tabToShow=null;return this};Fuic.TabBar.prototype.addTab=function(f){if(typeof(f)=="undefined"){return}var b={};var a=f.name==null?this.count:f.name;this.tabsName.push(a);var h=f.title;var i=f.bodyClass;var j=f.buttonClass==null?"fuicTabBarButton":f.buttonClass;
var e=f.content;b.onBefore=f.onBefore;b.onAfter=f.onAfter;b.onHide=f.onHide;b.showLoading=f.showLoading==null?true:f.showLoading;var g=f.showNow;b.forceReload=f.forceReload||false;var c=new Element("div");if(this.scrollableButton){c.addClass("button")}else{c.addClass(j)}c.setHTML(h);c.addEvent("click",this.showTab.bind(this,a));var d=new Element("div");if(i!=null){d.addClass(i)}d.injectInside(this.body);d.id=this.body.id+"_"+a;if(e==null){}else{if(typeof(e)=="object"&&e.injectInside!=null){e.injectInside(d)}else{if(typeof(e)=="string"&&feC.isAnUrl(e)){b.url=e}else{if(typeof(e)=="string"){d.setHTML(e)}}}}b.body=d;b.button=c;b.name=a;this.tabs[a]=b;this.count++;c._tab=b;if(window.ie6){d.setStyle("zoom","1")}if(this.count>2){(new Element("div")).addClass("separator").setHTML(this.separator).injectInside(this.menu)
}c.injectInside(this.menu);if(this.count==0||g){this.visibleIndex=this.tabsName.length-1;this.showTab(a)}else{d.setStyle("display","none")}return c};Fuic.TabBar.prototype.showPrevious=function(){var a=(this.visibleIndex-1)%this.tabsName.length;if(a==0){a=this.tabsName.length-1}this.showTab(this.tabsName[a])};Fuic.TabBar.prototype.showNext=function(){var a=(this.visibleIndex+1)%this.tabsName.length;if(a==0){a=1}this.showTab(this.tabsName[a])};Fuic.TabBar.prototype.showTab=function(b){var c=this.tabs[b];var a=this.tabsName.indexOf(b);if(c==null){feC.displayError(0,507,"[TabBar] Unknown tab name "+b);return}if(!this._showingTab){this._showingTab=true;if(c.url){if(!c.forceReload&&c.loaded){if(c.onBefore){c.onBefore()}this._switchTab(c)}else{if(c.showLoading){this._switchTab(this.tabs.fuicLoader,300)
}feC.callAjax(c.url,this._tabContentLoaded.bind(this,c))}}else{if(c.onBefore){c.onBefore()}this._switchTab(c)}this.visibleIndex=a}else{this._tabToShow=b;return}};Fuic.TabBar.prototype._tabContentLoaded=function(a,b){b.loaded=true;var c=a;if(b.onBefore){c=b.onBefore(a)||a}if($type(c)=="string"){b.body.setHTML(c)}else{c.injectInside(b.body)}this._switchTab(b)};Fuic.TabBar.prototype._switchTab=function(b,a){var a=a||this.delay;if(this.visibleTab!=null&&this.visibleTab.body==b.body){this._showingTab=false;return}if(this.visibleTab!=null){if(this.visibleTab.onHide){this.visibleTab.onHide()}this.visibleTab.body.setStyles({width:this.visibleTab.body.offsetWidth+"px",position:"absolute",left:0,top:0});b.body.setStyles({position:"absolute",left:0,top:0});this.visibleTab.body.smoothSwitch(a);b.body.smoothSwitch(a);
b.body.setStyles.delay(a+50,b.body,{width:"auto",position:"static"});if(b!=this.tabs.fuicLoader){this._transitionDone.delay(a+50,this)}}else{this.visibleTab=b;b.body.setStyles({display:"block",opacity:"1",visibility:"visible"});if(b!=this.tabs.fuicLoader){this._transitionDone()}}this.visibleTab.button.removeClass("activeTab");b.button.addClass("activeTab");this.visibleTab=b;if(b.onAfter){b.onAfter.delay(a+75)}var c={};c["clickTab_"+this.name]=b.name;feC.tracker._track(c)};Fuic.TabBar.prototype._transitionDone=function(){this._showingTab=false;if(this._tabToShow!=null){this.showTab(this._tabToShow);this._tabToShow=null}};Fuic.TabBar.prototype.getTab=function(a){var b=this.tabs[a];return b};Fuic.TabBar.prototype.hideCurrentTab=function(){if(this.visibleTab==null){return}this.visibleTab.button.removeClass("activeTab");
this.visibleTab.body.setStyle("display","none");this.visibleTab=null};