document.addEvent('domready', function() {
  var obj = {};
  $$('.datepicker').each(function(item) {
    var title = item.get('title');
    obj[item.removeProperty('title').get('id')] = title;
  });
	new Calendar(obj, { classes: ['dashboard'], tweak: { x: -20, y: 20 }  });
	
  MooTools.lang.setLanguage('de-DE');
  
  if ($('reiseanfrage_formular')) {
    $each([$('anfrage_argentinien_zusatz1'), $('anfrage_argentinien_zusatz2'), $('anfrage_chile_zusatz1'), $('anfrage_chile_zusatz2')], 
      function (input) { new OverText(input, { positionOptions: { position: 'centerLeft', offset: { x:7, y:-7 } } }); }
    );
    
    var show_hide_mit_fernfluegen = function () {
      var revealFx = $('toggle_on_fernfluege_ja').get('reveal', { onComplete: function () { OverText.update(); } });
      if (this.get('checked')) { 
        $('toggle_on_fernfluege_ja').hide().removeClass('invisible').get('reveal', { onComplete: function () { OverText.update(); } }).reveal();
      } else { $('toggle_on_fernfluege_ja').get('reveal', { onComplete: function () { OverText.update(); } }).dissolve(); }
  	};
  	$('anfrage_mit_fernfluegen_ja').addClass('validate-toggle-oncheck').addClass("toToggleChildrenOf:'toggle_on_fernfluege_ja'").
      addEvent('click', show_hide_mit_fernfluegen.pass([], $('anfrage_mit_fernfluegen_ja')))
        .fireEvent('click', [], $('anfrage_mit_fernfluegen_ja'));
    $('anfrage_mit_fernfluegen_nein').addEvent('click', show_hide_mit_fernfluegen.pass([], $('anfrage_mit_fernfluegen_ja')));
    
    var show_hide_container = function (container, show) {
      if (container.hasClass('invisible')) container.hide().removeClass('invisible');
      var revealFx = new Fx.Reveal(container, { onComplete: function () { OverText.update(); }.delay(1000) });
      if ((show && !container.isDisplayed()) || (!show && container.isDisplayed())) { revealFx.toggle(); }
    };
    $('anfrage_reiseziel').addEvent('change', function(reiseziel) {
      var fv = $('reiseanfrage_formular').get('validator');
      if (reiseziel.get('value') == 'suedamerika') {
        if (!$('wie_gehts_weiter_box').isDisplayed()) { $('wie_gehts_weiter_box').get('reveal').reveal(); }
        this($('toggle_on_argentinien_chile'), true);
      }
      else {
        this($('toggle_on_argentinien_chile'), false);
        if ($('wie_gehts_weiter_box').isDisplayed()) { $('wie_gehts_weiter_box').get('reveal').dissolve(); }
      }
      
      if (reiseziel.get('value') == 'costa_rica') {
        this($('toggle_on_costa_rica'), true);
        this($('toggle_on_costa_rica_2'), true);
        this($('toggle_on_not_cr_2'), false);
        if (fv) fv.ignoreField($('anfrage_hotelkategorie'));
        if (fv) fv.enforceField($('anfrage_hotelkategorie_sterne'));
      } else {
        this($('toggle_on_costa_rica'), false);
        this($('toggle_on_costa_rica_2'), false);
        this($('toggle_on_not_cr_2'), true);
        if (fv) fv.ignoreField($('anfrage_hotelkategorie_sterne'));
        if (fv) fv.enforceField($('anfrage_hotelkategorie'));
      }
      
      if (reiseziel.get('value') == 'cuba') {
        this($('toggle_on_cub_ven'), true);
        if (!$('toggle_on_not_cr').isDisplayed()) $('toggle_on_not_cr').get('reveal').reveal();
        if (fv) fv.enforceField($('anfrage_reiseziele_cuba_venezuela'));
      }
      else {
        this($('toggle_on_cub_ven'), false);
        if ($('toggle_on_not_cr').isDisplayed()) $('toggle_on_not_cr').get('reveal').dissolve();
        if (fv) fv.ignoreField($('anfrage_reiseziele_cuba_venezuela'));
      }
    }.pass([$('anfrage_reiseziel')], show_hide_container)).fireEvent('change', [$('anfrage_reiseziel')], show_hide_container);
    
    var rltForm = new Form.Validator.Inline($('reiseanfrage_formular'), {
      errorPrefix: '', serial: false,
      onFormValidate: function (passed, form, event) {
        if (!passed && Browser.Engine.trident && !Browser.Engine.trident4 && !Browser.Engine.trident5) alert(unescape('Bitte f%FCllen Sie alle Pflichtfelder aus%21'));
      }
    });
    
    $each($('toggle_on_argentinien_chile').getElements('label span.invisible'), function (el, i) {
      new Tips(el.getParent(), { text: function (element) { return element.get('text'); }.pass(el) });
    });
    $each($('toggle_on_costa_rica').getElements('label span.invisible'), function (el, i) {
      new Tips(el.getParent(), { text: function (element) { return element.get('text'); }.pass(el) });
    });
  }
  
  if ($('reiseanfrage_formular_short')) {
    var show_hide_mit_fernfluegen = function () {
      var revealFx = $('toggle_on_fernfluege_ja').get('reveal', { onComplete: function () { OverText.update(); } });
      if (this.get('checked')) { 
        $('toggle_on_fernfluege_ja').hide().removeClass('invisible').get('reveal', { onComplete: function () { OverText.update(); } }).reveal();
      } else { $('toggle_on_fernfluege_ja').get('reveal', { onComplete: function () { OverText.update(); } }).dissolve(); }
  	};
  	$('anfrage_mit_fernfluegen_ja').addClass('validate-toggle-oncheck').addClass("toToggleChildrenOf:'toggle_on_fernfluege_ja'").
      addEvent('click', show_hide_mit_fernfluegen.pass([], $('anfrage_mit_fernfluegen_ja')))
        .fireEvent('click', [], $('anfrage_mit_fernfluegen_ja'));
    $('anfrage_mit_fernfluegen_nein').addEvent('click', show_hide_mit_fernfluegen.pass([], $('anfrage_mit_fernfluegen_ja')));
    
    var rltForm = new Form.Validator.Inline($('reiseanfrage_formular_short'), {
      errorPrefix: '', serial: false,
      onFormValidate: function (passed, form, event) {
        if (!passed && Browser.Engine.trident && !Browser.Engine.trident4 && !Browser.Engine.trident5) alert(unescape('Bitte f%FCllen Sie alle Pflichtfelder aus%21'));
      }
    });
  }
  
  var country_accordion = $$('.country_accordion');
  if (country_accordion.length > 0) {
    $each(country_accordion, function (el, i) {
      var tableToShow = el.getParent('table').getNext();
      tableToShow.hide();
      el.addEvent('change', function (e) {
        var target = $(e.target);
        if (target.get('checked') && !tableToShow.isDisplayed()) {
          tableToShow.get('reveal').reveal();
        } else if (!target.get('checked') && tableToShow.isDisplayed()) {
          tableToShow.get('reveal').dissolve();
          $each(tableToShow.getElements('select.reisetage_auswahl'), function (el, i) {
            el.set('value', 'nein');
          });
        }
      });
    });
  }
});





















