document.observe('dom:loaded', function(e) {
  // Auftrittsspezifische Funktionalität
  if ($("Accordion")) {
    var yumAccordion = new accordion("Accordion", {
      classNames : {
        toggle : "toggler",
        toggleActive : "selected",
        content : "element"
      }
    });
    yumAccordion.activate($$("#Accordion .toggler").first());
  }
  
  // Suchfeld auf der Startseite
  if ($("query")) {
    default_value = "Suchbegriff eingeben";
    $("query").observe("focus", function(event) {
      if (this.value == default_value) {
        this.value = "";
      }
    });
  }
  
  // Anzeige der Glider-Einträge auf der Startseite
  if ($("Glider")) {
    var glider = new Glider('Glider', {duration: 0.5});
  }
  
  // Darstellung der Buttons auf der Startseite
  if ($("Buttons")) {
    $$("#Buttons a img").each(function(element) {
      element.observe("mouseover", function(event) {
        $(element).setOpacity(0.4);
        /*element.style.opacity = 0.4;
        if (element.filters) element.filters.alpha.opacity = 40;*/
      });
      element.observe("mouseout", function(event) {
        $(element).setOpacity(1.0);
        /*element.style.opacity = 1.0;
        if (element.filters) element.filters.alpha.opacity = 100;*/
      });
    });
  }
  
  // Anzeige der Produkteigenschaften: Gebindegrößen, Zutaten, Nährwerte
  if ($$("#Content .product .toggle").first()) {
    $$("#Content .product .toggle").each(function(element) {
      element.next("div").hide();
      element.observe("click", function(event) {
        Event.stop(event);
        this.down("span").toggleClassName("on");
        this.next("div").toggle();
      })
    });
  }
  
  // Mengenangabe im Shop
  if ($$("#Content .amount_field").first()) {
    $$("#Content .amount_field").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;
      });
    });
  }
  
  // Shop: Auswahl der Zahlweise
  if ($("ShopOrdersPaymentMethodType")) {
    
    if ($("ShopOrdersPaymentMethodType").value == "transfer") {
      $("PaymentMethodTypeTransfer").show();
      $("PaymentMethodTypeDirectDebit").hide();
    } else if ($("ShopOrdersPaymentMethodType").value == "direct_debit") {
      $("PaymentMethodTypeDirectDebit").show();
      $("PaymentMethodTypeTransfer").hide();
    }
    
    $("ShopOrdersPaymentMethodType").observe("change", function(event) {
      if (this.value == "transfer") {
        $("PaymentMethodTypeTransfer").show();
        $("PaymentMethodTypeDirectDebit").hide();
      } else if (this.value == "direct_debit") {
        $("PaymentMethodTypeDirectDebit").show();
        $("PaymentMethodTypeTransfer").hide();
      }
    });
  }
  
  // Suche im Lexikon
  if ($$("#Content .lexicon .search_text").first()) {
    var search_value = "Suchbegriff eingeben…";
    $$("#Content .lexicon .search_text").first().observe("focus", function(event) {
      if (this.value == search_value) {
        this.value = "";
      }
    });
    $$("#Content .lexicon .search_text").first().observe("blur", function(event) {
      if (this.value == "") {
        this.value = search_value;
      }
    });
  }
  // Selektieren im Lexikon
  if ($$("#Content .lexicon select").first()) {
    $$("#Content .lexicon select").first().observe("change", function(event) {
      this.up("form").submit();
    });
  }
});

