Event.observe( window, 'load', function()
{

	var usageDirect = 'Verbrauch direkt eingeben';
	var numPeople = 'Personen in Ihrem Haushalt';
	var toggleUsage = window.toggleUsage || false;
	
	if ( $( 'tariff_direct' ) )
	{
		Event.observe( 'tariff_direct', 'click', function( event )
		{
			Event.stop( event );
			toggleInput();
		} );
		
		if ( toggleUsage )
		{
			toggleInput();
		};
	};
	
	if ( $( 'num_people' ) )
	{
		if ( $( 'nuon_customer_ordering-usage' ).value.empty() )
		{
			$( 'nuon_customer_ordering-usage' ).value = $( 'num_people' ).options[$( 'num_people' ).selectedIndex].value;
		};
		
		Event.observe( 'num_people', 'change', function( event )
		{
			$( 'nuon_customer_ordering-usage' ).value = $( 'num_people' ).value;
			// Event.element( event ).previous( 'p' ).update( $( 'num_people' ).options[$( 'num_people' ).selectedIndex].text );
		} );
	};
	
	/*
	 * Sparmatiken
	 */
	if ( $( 'count_ep1' ) )
	{
		var options = [
			[ 'Keine Sparmatik ausgewählt', '1 Box (19,99 €)', '2 Boxen (64,99 €)', '3 Boxen (109,99 €)' ],
			[ 'Keine Sparmatik ausgewählt', '1 Box (45 €)', '2 Boxen (90 €)', '3 Boxen (135 €)' ],
			[ 'Keine Sparmatik ausgewählt', '1 Box (45 €)', '2 Boxen (90 €)' ],
			[ 'Keine Sparmatik ausgewählt', '1 Box (45 €)', '2 Boxen (90 €)' ]
		];
		
		var altOptions = [
			[ 'Keine Sparmatik ausgewählt', '1 Box (19,99 €)', '2 Boxen (64,99 €)', '3 Boxen (109,99 €)' ],
			[ 'Keine Sparmatik ausgewählt', '1 Box (19,99 €)', '2 Boxen (64,99 €)' ],
		];
		
		Event.observe( 'count_ep1', 'change', function( event )
		{
			Event.element( event ).previous( 'p' ).update( $( 'count_ep1' ).options[$( 'count_ep1' ).selectedIndex].text );
			// updateOptions( Event.element( event ) );
			removeAndCreate( $( 'count_ep2' ), $( 'count_ep1'), $( 'count_ep1' ).selectedIndex, options, altOptions );
		} );
		Event.observe( 'count_ep2', 'change', function( event )
		{
			Event.element( event ).previous( 'p' ).update( $( 'count_ep2' ).options[$( 'count_ep2' ).selectedIndex].text );
			// updateOptions( Event.element( event ) );
			removeAndCreate( $( 'count_ep1' ), $( 'count_ep2'), $( 'count_ep2' ).selectedIndex, options, altOptions );
		} );
		Event.observe( 'count_ep3', 'change', function( event )
		{
			Event.element( event ).previous( 'p' ).update( $( 'count_ep3' ).options[$( 'count_ep3' ).selectedIndex].text );
			// updateOptions( Event.element( event ) );
			// removeAndCreate( $( 'count_ep1' ), $( 'count_ep2'), $( 'count_ep2' ).selectedIndex, options, altOptions );
		} );
	};
	
	function updateOptions ( caller )
	{
		var selects = $$( 'select.sparmatik' );
	}
	
	function removeAndCreate( element, caller, index, options, altOptions )
	{
		// Den Index des Elements merken
		var selectedIndex = element.selectedIndex;
		
		element.childElements().each( function( e )
		{
			e.remove();
		} );
		var c = 0;
		
		if ( selectedIndex === 0 )
		{
			$A( options[index] ).each( function( e )
			{
				var option = Builder.node( 'option', { label: e, value: c }, e );
				element.appendChild( option );
				c++;
			} );
		}
		else {
			$A( altOptions[1] ).each( function( e )
			{
				var option = Builder.node( 'option', { label: e, value: c }, e );
				element.appendChild( option );
				c++;
			} );
		}
		
		if ( selectedIndex !== 0 )
		{
			if ( element.options.length >= selectedIndex )
			{
				element.selectedIndex = selectedIndex;
			} else if ( element.options.length < selectedIndex )
			{
				element.selectedIndex = selectedIndex - 1;
			}
		} else {
			element.selectedIndex = 0;
		}
		element.previous( 'p' ).update( element.options[element.selectedIndex].text );
	}
	
	function toggleInput ()
	{
		$( 'input_usage' ).toggle();
		$( 'select_usage' ).toggle();
		
		if ( $( 'input_usage' ).visible() )
		{
			$( 'tariff_direct' ).update( numPeople );
		}
		else
		{
			$( 'tariff_direct' ).update( usageDirect );
		}
	}
	
} );