var Switcher = new Class({
  
  mHighlightMap: new Array(),
  
  initialize: function(){
    this.mHighlightMap = ['poland', 'czech_republic', 'lithuania', 'slovakia', 'ukraine', 'latvia', 'hungary', 'serbia', 'romania', 'russia', 'bulgaria', 'slovenia', 'croatia', 'bosnia_harcegowina','austria','belarus'];

    $ES('area').each(function(pEl){
      pEl.addEvent('mouseover', this.setHighlight.bind(this, pEl))
      pEl.addEvent('mouseout', this.removeHighlight.bind(this, pEl))
      pEl.addEvent('click', this.openPreview.bindWithEvent(this, pEl))
    }.bind(this))
    
    this.mModalBox = $E('.WindowModalLoading');
    this.mSettingsBox = $('SettingsBox');
    this.mSettingsBoxBackground = $('SettingsBoxBackground');
	this.frejm = $('frejm');
    
    window.addEvent('resize', function(){
      this.resizeModal();
    }.bind(this));
    this.resizeModal();
    
    $('hidePreview').addEvent('click', this.hide.bind(this));
    this.mModalBox.addEvent('click', this.hide.bind(this));
  },
  
  removeHighlight: function(pEl){
    $('highlighted').setStyle('left', 606);
  },
  
  setHighlight: function(pEl){
    this.mHighlightMap.indexOf(pEl.getProperty('id'));
    
    var left = this.mHighlightMap.indexOf(pEl.getProperty('id')) * 606 * (-1);
    $('highlighted').setStyle('left', left)
  },
  
  openPreview: function(pE, pEl){
    pE.stop();
    this.show(pEl.getProperty('id'));
  },
  
  hide: function(){
    this.mModalBox.setStyle('display', 'none');
    this.mSettingsBox.setStyle('display', 'none');
    this.mSettingsBoxBackground.setStyle('display', 'none');
	this.frejm.src='';
  },

  show: function(pId){
    $clear(this.mDelay);
    this.mModalBox.setStyle('display', 'block');
    this.mSettingsBox.setStyle('display', 'block');
    this.mSettingsBoxBackground.setStyle('display', 'block');
    this.mModalBox.setStyle('opacity', '0.25');
    
    this.resizeModal();
    this.getContent(pId);
  },
  
  getContent: function(pId){
	this.frejm.src = countriesInfo[pId];
  },
  
  resizeModal: function(){
    if('none' == this.mModalBox.getStyle('display')){
      return true;
    }
    
    this.mModalBox.setStyles({
      'height': window.getScrollHeight()
    });
    return true;  
  }
  
})

window.addEvent('domready', function(){
  new Switcher;
})

