var Baseball = Class.create({

  highlightCities: function() {
    $('praha').observe('mouseover', function() {
      $('europe_card').setStyle('background-position: 0px 0px');
    });
    $('rom').observe('mouseover', function() {
      $('europe_card').setStyle('background-position: 0px -411px');
    });
    $('amsterdam').observe('mouseover', function() {
      $('europe_card').setStyle('background-position: -480px -411px');
    });
    $('zagreb').observe('mouseover', function() {
      $('europe_card').setStyle('background-position: 0px -831px');
    });
    $('barcelona').observe('mouseover', function() {
      $('europe_card').setStyle('background-position: -480px -831px');
    });
    $('stockholm').observe('mouseover', function() {
      $('europe_card').setStyle('background-position: 0px -1241px');
    });
    $('praha').observe('mouseout', function() {
      $('europe_card').setStyle('background-position: -480px 0px');    
    });
    $('rom').observe('mouseout', function() {
      $('europe_card').setStyle('background-position: -480px 0px');
    });
    $('amsterdam').observe('mouseout', function() {
      $('europe_card').setStyle('background-position: -480px 0px');
    });
    $('zagreb').observe('mouseout', function() {
      $('europe_card').setStyle('background-position: -480px 0px');
    });
    $('barcelona').observe('mouseout', function() {
      $('europe_card').setStyle('background-position: -480px 0px');
    });
    $('stockholm').observe('mouseout', function() {
      $('europe_card').setStyle('background-position: -480px 0px');
    });
    $('city_prag').observe('mouseover', function() {
      $('praha').addClassName('city_hover');
      $('europe_card').setStyle('background-position: 0px 0px');      
    });
    $('city_stockholm').observe('mouseover', function() {
      $('stockholm').addClassName('city_hover');
      $('europe_card').setStyle('background-position: 0px -1241px');      
    });
    $('city_barcelona').observe('mouseover', function() {
      $('barcelona').addClassName('city_hover');
      $('europe_card').setStyle('background-position: -480px -831px');      
    });
    $('city_amsterdam').observe('mouseover', function() {
      $('amsterdam').addClassName('city_hover');
      $('europe_card').setStyle('background-position: -480px -411px');      
    });
    $('city_zagreb').observe('mouseover', function() {
      $('zagreb').addClassName('city_hover');
      $('europe_card').setStyle('background-position: 0px -831px');      
    });
    $('city_rom').observe('mouseover', function() {
      $('rom').addClassName('city_hover');
      $('europe_card').setStyle('background-position: 0px -411px');      
    });
    $('city_prag').observe('mouseout', function() {
      $('praha').removeClassName('city_hover');
      $('europe_card').setStyle('background-position: -480px 0px'); 
    });
    $('city_stockholm').observe('mouseout', function() {
      $('stockholm').removeClassName('city_hover');
      $('europe_card').setStyle('background-position: -480px 0px'); 
    });
    $('city_barcelona').observe('mouseout', function() {
      $('barcelona').removeClassName('city_hover');
      $('europe_card').setStyle('background-position: -480px 0px'); 
    });
    $('city_amsterdam').observe('mouseout', function() {
      $('amsterdam').removeClassName('city_hover');
      $('europe_card').setStyle('background-position: -480px 0px'); 
    });
    $('city_zagreb').observe('mouseout', function() {
      $('zagreb').removeClassName('city_hover');
      $('europe_card').setStyle('background-position: -480px 0px'); 
    });    
    $('city_rom').observe('mouseout', function() {
      $('rom').removeClassName('city_hover');
      $('europe_card').setStyle('background-position: -480px 0px'); 
    });
  },
  
  changeValue: function() {
    vorname_value = 'Vorname';
    nachname_value = 'Nachname';
    mail_value = 'E-Mail';
    interests_value = 'Interessen';
    bewerb_value = 'Dein Bewerbungstext';
    // vorname_value = $('vol_vorname').value;
    //     nachname_value = $('vol_nachname').value;
    //     mail_value = $('vol_mail').value;
    //     interests_value = $('vol_interests').value;
    //     bewerb_value = $('vol_bewerb').innerHTML;
    $('vol_vorname').observe('focus', function() {
      if($('vol_vorname').value == vorname_value) {
        $('vol_vorname').value = "";        
      };   
      $('vol_dis_vorname').show();   
    });
    $('vol_vorname').observe('blur', function() {
        if($('vol_vorname').value == "") {
          $('vol_vorname').value = vorname_value;
        };
        $('vol_dis_vorname').hide();
      });
    $('vol_nachname').observe('focus', function() {
      if($('vol_nachname').value == nachname_value) {
        $('vol_nachname').value = "";        
      };   
      $('vol_dis_nachname').show();   
    });
    $('vol_nachname').observe('blur', function() {
        if($('vol_nachname').value == "") {
          $('vol_nachname').value = nachname_value;
        };
        $('vol_dis_nachname').hide();
      });
    $('vol_mail').observe('focus', function() {
      if($('vol_mail').value == mail_value) {
        $('vol_mail').value = "";        
      };   
      $('vol_dis_mail').show();   
    });
    $('vol_mail').observe('blur', function() {
        if($('vol_mail').value == "") {
          $('vol_mail').value = mail_value;
        };
        $('vol_dis_mail').hide();
      });
    $('vol_interests').observe('focus', function() {
      if($('vol_interests').value == interests_value) {
        $('vol_interests').value = "";        
      };   
      $('vol_dis_interests').show();   
    });
    $('vol_interests').observe('blur', function() {
        if($('vol_interests').value == "") {
          $('vol_interests').value = interests_value;
        };
        $('vol_dis_interests').hide();
      });
    $('vol_bewerb').observe('focus', function() {
        if($('vol_bewerb').innerHTML == bewerb_value) {
          $('vol_bewerb').update("");        
        };   
        $('vol_dis_bewerb').show();   
      });
      $('vol_bewerb').observe('blur', function() {
        if($('vol_bewerb').innerHTML == "") {
          $('vol_bewerb').update(bewerb_value);
        };
        $('vol_dis_bewerb').hide();
      });            
    return false;
  },
  
  landSlide: function() {
    $('land').observe('click', function() {
      if($('card').visible()) {
       Effect.BlindUp('card', { duration: 1.0 });
        $('all').setStyle('background-position: right -25px').update('Alle Spielorte anzeigen');         
      } else {
       Effect.BlindDown('card', { duration: 1.0 });
        $('all').setStyle('background-position: right -7px').update('Spielorte ausblenden');                    
      }
    });
    return false;
  },

  highlightInput: function(input) {
    input.addClassName('active');
    
    input.observe('blur', function() {
      input.removeClassName('active');
    });
  },

  initSwitchNews: function() {
    var instance = this;
    $$('.top_article_link').each(function(link) {
      link.observe('click', function(event) {
        event.stop();
        
        return instance.switchNews(link);
      });
    }).first().addClassName('active');

    
    this.hideTopArticles().first().show();
    new PeriodicalExecuter(function() {
      instance.startSlide();
    }, 30);
    
    
  
    // console.log('irgendwas');
        
    return false;
  },
  
  initializeOverlay: function() {
    $$('.overlay-link').each(function(link){
      link.observe('click', function() {
        this.openVideoOverlay();
      }.bind(this));
    }.bind(this));
    $('video-close').observe('click', function() {
       $('overlay-container').hide();
     });
    return false;
  },
  
  openVideoOverlay: function() {
    var D = document;
    var height = Math.max(
        Math.max(D.body.scrollHeight, D.documentElement.scrollHeight),
        Math.max(D.body.offsetHeight, D.documentElement.offsetHeight),
        Math.max(D.body.clientHeight, D.documentElement.clientHeight)
    );
    $('overlay-container').setStyle({height: height + 'px'});
    $('overlay-container').show();
  },
  
  deactivateTopArticleLinks: function(links) {
    return $$('.top_article_link').invoke('removeClassName', 'active');
  },
  
  hideTopArticles: function() {
    return $$('.top_article').invoke('hide');
  },
  
	switchNews: function(trigger) {
	  this.deactivateTopArticleLinks();
	  trigger.addClassName('active');
	  
	  this.hideTopArticles();
	  $(trigger.id.gsub('_link', '')).show();
	  
	  return false;
	},
	
	startSlide: function() {
	  trigger = $$('.top_article_link.active').first().nextSiblings().first();
    if(!trigger)
      trigger = $$('.top_article_link').first();
	  this.switchNews(trigger);
	},
	
	initDropdown: function(dropdown) {
	  var toggler = dropdown.down('a.toggle_dropdown');
	  var menu = dropdown.down('.dropdown');
    toggler.observe('mouseover', function(e){
      menu.show();
      dropdown.addClassName('active_li');
      toggler.addClassName('active');
    });
    // document.observe('click', function(event) {
    //       // event.stop();
    //       if (!(Event.findElement(event, 'div.dropdown') || event.element() == toggler)) {
    //         menu.hide();
    //         toggler.removeClassName('active');
    //       };
    //       
    //     }.bind(this));
    document.observe('mouseover', function(e) {
      dropdown_id = '#'+dropdown.id;
      if (!e.element().up(dropdown_id)) {
        menu.hide();
        toggler.removeClassName('active');
        dropdown.removeClassName('active_li');
      };
    });
    return dropdown;
	},
  
  initPlayerInfos: function() {
    $$('li.player_item').each(function(li) {
      li.down('a.player_name').observe('mouseover', function(e) {
        li.addClassName('player_item_active');
        li.down('.player_info').show();
      });
      document.observe('mouseover', function(e) {
        if (!e.element().up('li.player_item')) {
          li.down('.player_info').hide();
          li.removeClassName('player_item_active');
        };
        
      });
    });
  },
  
  jumpToOption: function(select) {
    if (select.getValue() != '') {
      location.href = ''+select.getValue()+'';
    };
    return false;
  },
    
  popup: function(url, options) {
    options = options || {};
    width = 'width=' + options.width + ',' || '';
    height = 'height=' + options.height + ',' || '';
    toolbar = 'toolbar=' + options.toolbar + ',' || '';
    scrollbars = 'scrollbars=' + options.scrollbars + ',' || '';
    args = width + height + toolbar + scrollbars + ',resizable';
    ok = window.open(url,'',args);
    if (ok) return false;
    else return true;
  }
});

var baseball = new Baseball;