(function() {
  // Anonyme Funktion, die beim Laden aufgerufen wird.

  periodical = [];
  wait_time = 0.2;
  fade_time = 0.2;
  
  init = function() {
    dropdown_close();
    $('impressum').hide();
    first = true;
    $$('.slide_down').each( function(el) {
		if (first) first = false;
		else $(el).select('div')[0].hide(); 
	 } );
  }

  stop_timers = function() {
    periodical.each( function(timer) {
      timer.stop();
    })
    periodical = [];
  }

  dropdown_close = function() { 
    $('dropdown').hide();

    // Nicht mehr weiter verstecken:
    stop_timers();
  }

  dropdown_fade = function() { 
    $('dropdown').fade({ duration: fade_time });

    // Nicht mehr weiter verstecken:
    stop_timers();
  }

  dropdown_open = function() { 
    $('dropdown').show();

    // Nicht mehr weiter verstecken:
    stop_timers();
  }

  dropdown_fade_delayed = function() {
    periodical.push( new PeriodicalExecuter( dropdown_fade, wait_time ) );
  }
  
  open_impressum = function() {
		$('impressum').appear();
		$('plane').fade({ to: 0.1 });
	}
	
	close_impressum = function() {
		$('impressum').fade();
		$('plane').appear();
	}

	slide = function(e) {
		// Alle anderen Slides schließen:
		$$('.slide_down').each( function(el) {
			if (el.id != e) Effect.BlindUp( $(el).select('div')[0] );
			else {
				if ( $(el).select('div')[0].visible() )
						Effect.BlindUp( $(el).select('div')[0] );				
				else 	Effect.BlindDown( $(el).select('div')[0] ); 
			}
		} );
	}

  // Eventhandler anlegen:
  document.observe( 'dom:loaded', init );
  document.observe( 'click', dropdown_fade );
  ['leistungsspektrum', 'sanitaer', 'heizung', 'energieberatung'].each(
    function(element) {
      $(element).observe( 'mouseover', dropdown_open );
      $(element).observe( 'mouseout', dropdown_fade_delayed );
    }
  )
  $('impressum_link').observe( 'click', open_impressum );
  $('impressum').observe( 'click', close_impressum );
  //['komplettbaeder', 'barrierefrei', 'reparaturen', 'gasrohr', 'notdienst',
  // 'brennwerttechnik', 'waermepumpen', 'solaranlagen', 'kundendienst',
  // 'kwkopplung', 'notdienst_heizung', 'verbrauchsausweise', 'bedarfsausweise',
  // 'ktwmittel', 'foerderung'].each(
  $$('.slide_down').each(
		function(element) {
			if ( $(element) ) {
				$(element).observe( 'click', function() {
					slide(element);
				} );
			}
		}  
  )
})()
