document.observe('dom:loaded', function(e) {
  // Auftrittsspezifische Funktionalität
  
  // Akkordion für 3. Navigationsebene
  if ($("SubContent")) {
    var yumAccordion = new accordion("SubContent", {
      classNames : {
        toggle : "toggler",
        toggleActive : "selected",
        content : "element"
      }
    });
    
    if ($$("#Content .toggler a").first()) {
      var url = self.location.protocol + "//" + self.location.host + self.location.pathname + self.location.hash;
      $$("#Content .toggler a").each(function(element) {
        if (url == element.href) {
          yumAccordion.activate(element.up(".toggler"));
          element.up(".toggler").scrollTo();
        }
      });
    }
  }
  
  // Großansicht für alle Bilder
  if ($$("#Content a.show_big").first()) {
    $$("#Content a.show_big").each(function(element) {
      element.observe("click", function(event) {
        Event.stop(event);
        current_image = element.down("img").src;
        element.down("img").src = element.href;
        element.href = current_image;
        element.up("div").toggleClassName("big");
      });
    });
  }
  
  // Endloses Scrollen bei Newsmeldungen
  if ($$("#Content ul.articles").first()) {
    EndlessPage.start = 4;
    EndlessPage.limit = 4;
    
    EndlessPage.queue_check_scroll();
  }
  
  // Mengenangabe beim Ticketing
  if ($$("#Content .tickets").first()) {
    $$("#Content .tickets input").each(function(element) {
      element.observe("keypress", function(event) {
        var charCode = (event.which) ? event.which : event.keyCode;
        if (charCode > 31 && (charCode < 48 || charCode > 57)) {
          Event.stop(event);
          return false;
        }
        return true;
      });
    });
    
    if ($$("#Content .payment_method select").first().value != "debit") {
      $$("#Content .account_data").first().hide();
    }
    
    $$("#Content .payment_method select").first().observe("change", function(event) {
      element = $$("#Content .account_data").first();
      if (this.value == "debit") {
        element.show();
      } else {
        element.hide();
        $$("#Content .account_data input").each(function(element) {
          element.value = "";
          element.checked = false;
        });
      }
    });
  }
  
});
