if (!ESET) {
  var ESET = {};
}

ESET.Home = {
  selected: 0,
  index: 0,
  fade_busy: false,
  slides: [0, 1, 1, 2, 1],
  
  duration_tab: 250,
  duration_banner: 500,

  init: function() {
    this.setTabEvents();
    this.readCookie();
  },
  
  setTabEvents: function() {
    $('tabs_title_links').getElements('a').each(function(link, index) {
      link.addEvent('click', function(evt) {
        evt.stop();
        this.selectTab(index);
      }.bind(this));
    }.bind(this));
  },
  
  readCookie: function() {
    var selectedTab = Cookie.read('homeTabSelected');
    if($type(selectedTab) !== false) {
      this.selected = selectedTab;
      this.index = selectedTab;

      $('tabs_title_links').getElements('a').each(function(el, index) {
        if(index != this.selected) {
          el.removeClass('selected');
        }
      }.bind(this));

      $$('.tabs_content').each(function(el, index) {
        if(index != this.selected) {
          el.setStyle('display', 'none');
        } else {
          el.setStyle('display', 'block');
        }
      }.bind(this));

      $('home_slides').getElement('ul').getElements('li').each(function(el, index) {
        if(index != this.slides[this.selected]) {
          el.setStyle('display', 'none');
        } else {
          el.setStyle('display', 'block');
        }
      }.bind(this));

      this.duration_tab = 0;
      this.duration_banner = 0;
      this.selectTab(selectedTab);
      var fn = function() {
        this.duration_tab = 250;
        this.duration_banner = 500;
      }.bind(this).delay(50);
    }
  },
  
  selectTab: function(index) {
    if((!this.fade_busy && index != this.selected) || this.duration_tab == 0) {
      this.fade_busy = true;
      this.index = index;

      var previous = new Fx.Tween($$('.tabs_content')[this.selected], {
        duration: ESET.Home.duration_tab,
        onComplete: function() {
  
          $$('.tabs_content')[this.selected].setStyle('display', 'none');
          $('tabs_title_links').getElements('a')[this.selected].removeClass('selected');
  
          var next = new Fx.Tween($$('.tabs_content')[this.index], {
            duration: ESET.Home.duration_tab,
            onComplete: function() {
              this.fade_busy = false;
            }.bind(this)
          });
          
          next.set('opacity', 0).start('opacity', 1);
  
          $$('.tabs_content')[this.index].setStyle('display', 'block');
  
          $('tabs_title_links').getElements('a')[this.index].addClass('selected');
          this.selected = this.index;
          Cookie.write('homeTabSelected', this.selected == 4? 1: this.selected);
  
        }.bind(this)
      }).start('opacity', 0);

      if(this.slides[this.selected] != this.slides[this.index]) {

        new Fx.Morph($('home_slides').getElement('ul').getElements('li')[this.slides[this.selected]], {
          duration: ESET.Home.duration_banner,
          transition: 'cubic:out'
        }).start({
          'opacity': 0,
          'top': 30
        });

        new Fx.Morph($('home_slides').getElement('ul').getElements('li')[this.slides[this.index]], {
          duration: ESET.Home.duration_banner,
          transition: 'cubic:out'
        }).set({
          'opacity': 0,
          'display': 'block',
          'top': 30
        }).start({
          'opacity': 1,
          'top': 0
        });
      }
    }
  }
}

window.addEvent('domready', function() {
  ESET.Home.init();
});