Adept.Core.namespace("Adept.Controller");Adept.Controller.Tabulator=Class.create(Adept.Controller,{items:null,classPrefix:'a',active:null,initialize:function($super,id,classPrefix){$super(id);this.items=new Array();if(Adept.Core.isset(classPrefix)){this.classPrefix=classPrefix}},toggle:function(item){this.active.hide();item.show();this.active=item},addItem:function(id,loaded,forceUpdate){var item=new Adept.Controller.TabItem(id,this,loaded,forceUpdate);this.items.push(item);item.hide();if(this.active==null){this.active=item}},onMouseOver:function(e,item){var classes=item.className.split(' ');classes.push(this.classPrefix+'-tabselector-hov');item.className=classes.join(' ')},onMouseOut:function(e,item){},activate:function(currentItemIndex){if(currentItemIndex&&currentItemIndex!=''){this.items[currentItemIndex].show();this.active=this.items[currentItemIndex]}else{this.active.show()}},getActiveItem:function(){return this.active},getCssPrefix:function(){return this.classPrefix}});Adept.Core.namespace("Adept.Controller");Adept.Controller.TabItem=Class.create(Adept.Controller,{tabulator:null,selector:null,loaded:true,forceUpdate:false,initialize:function($super,id,tabulator,loaded,forceUpdate){$super(id);this.tabulator=$(tabulator);this.forceUpdate=Adept.Core.defaultValue(forceUpdate,false);this.selector=$(id+'_selector');this.loaded=loaded;Adept.Observer.addListener(this.selector,"click",this.toggle.bindAsEventListener(this));Adept.Observer.addListener(this.selector,"mouseover",this.onMouseOver.bindAsEventListener(this));Adept.Observer.addListener(this.selector,"mouseout",this.onMouseOut.bindAsEventListener(this))},getCssPrefix:function(){return this.tabulator.getCssPrefix()},getContent:function(){var request=Adept.Ajax.Backend.createRequest();request.addEvent(this.getElementId(),'show');request.setPartition(this.getElementId());request.send();this.loaded=true},isUpdateNeeded:function(){return(!this.loaded||this.forceUpdate)&&this.getTabulator().getActiveItem()!=this},show:function(){if(this.isUpdateNeeded()){this.getContent()}var classes=this.selector.className.split(' ');classes.push(this.getCssPrefix()+'-tabselector-sel');this.selector.className=classes.join(' ');Element.show(this.getElementId());Adept.DataBag.save(Adept.Core.getPageId(),this.tabulator.getElementId()+"_selected",this.getElementId())},hide:function(){var classes=this.selector.className.split(' ');classes=classes.without(this.getCssPrefix()+'-tabselector-sel');this.selector.className=classes.join(' ');Element.hide(this.getElementId())},onMouseOver:function(e){var classes=this.selector.className.split(' ');classes.push(this.getCssPrefix()+'-tabselector-hov');this.selector.className=classes.join(' ')},onMouseOut:function(e){var classes=this.selector.className.split(' ');classes=classes.without(this.getCssPrefix()+'-tabselector-hov');this.selector.className=classes.join(' ')},toggle:function(e){this.tabulator.toggle(this)},getTabulator:function(){return this.tabulator}});