	
	function dateSelection( objData )
	{
		this.objData = objData;
		
		this.changeNights = function changeNights( )
		{
			var objSelections = document.getElementsByTagName( "select" );
			
			for ( var a = 0; a < objSelections.length; a++ )
			{
				if ( objSelections[a].name == "start_date" )
				{
					var objOptions    = objSelections[a].getElementsByTagName( "option" );
			
					for ( var b = 0; b < objOptions.length; b++ )
					{
						if ( objOptions[b].selected )
						{
							var date = objOptions[b].value;
							var pos  = b;
							break;
						}
					}
				}
				
				if ( objSelections[a].name == "duration" )
				{
					var objNights = objSelections[a];
				}
			}
			
			var nights = dateSelection.objData.dates[pos].nights.split(',');
			var objOptions = objNights.getElementsByTagName( "option" );
			
			for ( var a = 0; a < objOptions.length; a++ )
			{
				var wasFound = false;
				
				for ( var b = 0; b < nights.length; b++ )
				{
					if ( objOptions[a].value == nights[b] )
					{
						wasFound = true;
					}
				}
				
				if ( wasFound )
				{
					objOptions[a].className = "";
				}
				else
				{
					objOptions[a].className = "impossible";
				}
			}
			
			for ( var a = 0; a < objOptions.length; a++ )
			{
				if ( objOptions[a].className != "impossible" )
				{
					objOptions[a].selected = true;
					a = objOptions.length + 1;
				}
			}
		}
		
		this.setOnChangeForSelection = function setOnChangeForSelection()
		{
			var objSelections = document.getElementsByTagName( "select" );
			
			for ( var a = 0; a < objSelections.length; a++ )
			{
				if ( objSelections[a].name == "start_date" )
				{
					objSelections[a].onchange = function()
					{
						 inputFacing.event.onChange(this);
						 dateSelection.changeNights();
					}
				}
			}
		}
	}
