var featuredOffers = {
  activeOfferConfig:null,
  tabContainer:null,
  contentContainer:null,
  configs:[],
  initialize:function(){
    var self = this;
    this.tabContainer = yuiDom.get("offerTabs");
    this.contentContainer = yuiDom.get("contentTabs");
    var tabItems = yuiDom.getElementsByClassName("offerTab","li",this.tabContainer);
    var contentItems = yuiDom.getElementsByClassName("offerContent","li",this.contentContainer);
    tabItems.forEach(function(tab,i){
      var config = {
        tab:tab,
        content:contentItems[i]
      };
      self.configs.push(config);
      tab.offerConfig = config;
      if (contentItems[i] != null){
        contentItems[i].offerConfig = config;
      }
      yuiEvent.addListener(tab,"click",self.showBridge);
      yuiEvent.addListener(tab,"mouseover",self.overBridge);
      yuiEvent.addListener(tab,"mouseout",self.outBridge);
    });
    self.activeOfferConfig = self.configs[0];
  },
  show:function(config){
    if(this.activeOfferConfig){
      yuiDom.removeClass(this.activeOfferConfig.tab, "show");
      yuiDom.removeClass(this.activeOfferConfig.content, "show");
    }
    this.activeOfferConfig = config;
    yuiDom.addClass(this.activeOfferConfig.tab, "show");
    yuiDom.addClass(this.activeOfferConfig.content, "show"); 
  },
  over:function(config){
    yuiDom.addClass(config.tab, "hover");
  },
  out:function(config){
    yuiDom.removeClass(config.tab, "hover");
  },
  showBridge:function(e){
    var self = featuredOffers;
    if(yuiDom.hasClass(this,"show")){ return; }
    self.show(this.offerConfig);
  },
  overBridge:function(e){
    var self = featuredOffers;
    self.over(this.offerConfig);
  },
  outBridge:function(e){
    var self = featuredOffers;
    self.out(this.offerConfig);
  },
  initBridge:function(){
    var self = featuredOffers;
    self.initialize();
  }

};
yuiEvent.onDOMReady(featuredOffers.initBridge);