var ESET_Download = {
  event_name: '',
  selected_tab: '',
  selected_section: '',
  slides: [],
  language_active: false,
  language_delay: 250,
  language_opacity: .9,
  language: 'eng',
  
  init: function() {
    if($('language_code')) {
      this.language = $('language_code').value;
    }

    this.setEvents();
  },

  setEvents: function() {
    this.setSectionEvents();
    this.setDownloadHover();
    this.setChangeLanguage();
  },

  setSectionEvents: function() {
    if(!ESET_Download.slides[ESET_Download.language]) {
      ESET_Download.slides[ESET_Download.language] = [];
      $$('#language_' + ESET_Download.language + ' .product_sections').each(function(e, index) {
        ESET_Download.slides[ESET_Download.language].push(new Fx.Slide(e, {
          onStart: function(e) {
            e.getParent().getParent().getElement('h3 a').toggleClass('selected');
          }
        }));
        if(e.getStyle('display') == 'none') {
          e.setStyle('display') == '';
          ESET_Download.slides[ESET_Download.language][ESET_Download.slides[ESET_Download.language].length - 1].hide();
        } else {
          ESET_Download.slides[ESET_Download.language][ESET_Download.slides[ESET_Download.language].length - 1].show();
        }
      });
  
      $$('#language_' + ESET_Download.language + ' .download_section h3 a').each(function(e, index) {
        e.addEvent('click', function(evt){
          evt.stop();
          ESET_Download.slides[ESET_Download.language][index].toggle();
        });
      });
    }

  },
  
  setDownloadHover: function() {
    $$('div.product_download span a').addEvents({
      mouseenter: function(){
        this.set('morph', {duration: 150});
        this.morph({
          'opacity': [.001, 1]
        });
      },
      mouseleave: function(){
        this.set('morph', {duration: 150});
        this.morph({
          'opacity': [1, .001]
        });
      }
    }).setStyles({
      'opacity': .001,
      'background-position': '0 -20px'
    });
  },
  
  setChangeLanguage: function() {
    $$('#download_language div.choose a').addEvent('click', function(e) {
      e.stop();
      if(this.hasClass('selected')) {
        this.removeClass('selected').setStyle('opacity', 1).removeEvents({
          'mouseenter': ESET_Download.languageEnter,
          'mouseleave': ESET_Download.languageLeave
        });
        $('language_selection').setStyle('display', 'none');
        $('language_popup').removeEvents({
          'mouseenter': ESET_Download.languageEnter,
          'mouseleave': ESET_Download.languageLeave
        });
        ESET_Download.language_active = false;
        
      } else {
        this.addClass('selected').setStyle('opacity', ESET_Download.language_opacity);
        ESET_Download.language_active = true;

        var coords = this.getCoordinates($('content_with_infobox_nojs'));

        $('language_selection').setStyles({
          'display': 'block',
          'top': coords.top + coords.height + 'px'
        });
        $('language_popup').addEvents({
          'mouseenter': ESET_Download.languageEnter,
          'mouseleave': ESET_Download.languageLeave
        }).setStyle('opacity', ESET_Download.language_opacity);
        this.addEvents({
          'mouseenter': ESET_Download.languageEnter,
          'mouseleave': ESET_Download.languageLeave
        });
      }
    });
    
    $$('#language_popup a').addEvent('click', function(e) {
      e.stop();
      var language = this.href.split('#').getLast();
      
      $('language_' + ESET_Download.language).setStyle('display', 'none');
      $('language_' + language).setStyle('display', 'block');
      
      
      ESET_Download.language = language;
      ESET_Download.language_active = false;
      
      ESET_Download.languageHide();
      
      ESET_Download.setSectionEvents();

      $('language_selected').setProperty('html', $('language_full_' + ESET_Download.language).value).setStyle('display', 'block');

    });
  },

  languageLeave: function() {
    ESET_Download.language_active = false;
    ESET_Download.languageHide.delay(ESET_Download.language_delay);
  },

  languageEnter: function() {
    ESET_Download.language_active = true;
  },

  languageHide: function() {
    if(!ESET_Download.language_active) {
      $$('#download_language div.choose a').removeClass('selected').removeEvents({
        'mouseenter': ESET_Download.languageEnter,
        'mouseleave': ESET_Download.languageLeave
      });
      $('language_selection').setStyle('display', 'none');
      $('language_popup').removeEvents({
        'mouseenter': ESET_Download.languageEnter,
        'mouseleave': ESET_Download.languageLeave
      });
    }
  },
  
  highlightPicked: function() {
    var fn = function(){
      $$('.product_highlight').each(function(e) {
        new Fx.Tween(e, {
          duration: 500,
          onComplete: function() {
            new Fx.Tween(e, {
              duration: 500
            }).start('background-color', '#ffb', '#fff');
          }
        }).start('background-color', '#fff', '#ffb');
      });
    }.delay(500);
  }
  
}

window.addEvent('domready', function() {
  ESET_Download.init();
});
window.addEvent('load', function() {
  ESET_Download.highlightPicked();
});