$(document).ready( function() {
	$( '#day' ).data( 'minDateDay', $( '#day option:selected' ).val() );

	$( '#datepicker' ).click( function() {
		var x = $( '#day' ).offset().left;
		var y = $( '#day' ).offset().top;

		var minDay = $( '#day' ).data( 'minDateDay' );
		var minYearMonth = $( '#yearMonth option:first' ).val().split( '-' );
		var minMonth = minYearMonth[1];
		var minYear = minYearMonth[0];

		var maxYearMonth = $( '#yearMonth option:last' ).val().split( '-' );
		var maxMonth = maxYearMonth[1];
		var maxYear = maxYearMonth[0];

		var actualDay = $( '#day' ).val();
		var actualYearMonth = $( '#yearMonth' ).val().split( '-' );
		var actualMonth = actualYearMonth[1];
		var actualYear = actualYearMonth[0];

		var actualDate = new Date( actualDay, actualMonth - 1, actualYear );

		$(this).datepicker(
			'dialog',
			actualDate.toUTCString(),
			function() {},
			{
				numberOfMonths: 2,
				changeMonth: true,
				changeYear: true,
				minDate: new Date( minYear, minMonth - 1, minDay ),
				maxDate: new Date( maxYear, maxMonth, 0 ),
				onClose: function( dateText, inst ) {
					var date = $.datepicker.parseDate( 'mm/dd/yy', dateText );
					var dateDay = $.datepicker.formatDate( 'd', date );
					var dateYearMonth = $.datepicker.formatDate( 'yy-mm', date );

					$( '#day' ).val( dateDay );
					$( '#yearMonth' ).val( dateYearMonth );
				},
				monthNames: datepicker_month_long,
				monthNamesShort: datepicker_month_short,
				dayNamesMin: datepicker_day_min
			},
			[x,y]
		);
	});
});
