Allowed range for date input - down to the day level rather than the year level? I am trying to set up a content review process for a client's site.

The desired process is this:


When users are adding content, they specify a "review date"

This date must be between today and today +365 days
A week before that date, send an email to users of a role letting them know



When I am setting up the date field, I've set "Starting year" and "Ending year" (in Field Settings -> More settings and values -> Date entry), however this doesn't behave as expected. It will let you set a date within calendar years, but not within a year of today. So I can make it work for any date in 2012, but not a specific day.

I'm fine with the rules + email bit, just the date field is holding me up.

I'm thinking it will be some custom JS, but am open to any approaches :-)
Ok, so this is our "solution". Not tidy, but we didn't want to edit the date module directly.

My module:

&lt;?php
function modulename_form_alter(&amp;$form, &amp;$form_state, $form_id){  
  if(substr($form_id,-9) !== "node_form" ){
    return;
  }
$jsPath = drupal_get_path('module', 'modulename');
  $jsOptions = array(
    'group' =&gt; JS_THEME,
    'weight' =&gt; 20
  );
  // Load this JS late, so that it happens after the main date module   
  drupal_add_js("$jsPath/js/modulename_datepicker.js", $jsOptions);
}


My colleagues code for the modulename_datepicker.js file:

jQuery(document).ready(function(){
    for (var id in Drupal.settings.datePopup) { 
        if (Drupal.settings.datePopup[id].func == "datepicker") {
            var defVal = jQuery('#'+id).val();

            jQuery('#'+id).datepicker();
            jQuery('#'+id).datepicker( "option" , {
                changeMonth: Drupal.settings.datePopup[id].settings.changeMonth,
                changeYear: Drupal.settings.datePopup[id].settings.changeYear,
                firstDay: Drupal.settings.datePopup[id].settings.firstDay,
                defaultDate: Drupal.settings.datePopup[id].settings.defaultDate,
                dateFormat: Drupal.settings.datePopup[id].settings.dateFormat,
                minDate: 0, 
                maxDate: "+1Y"
            });

            if (defVal == '') {
                jQuery('#'+id).datepicker( "setDate" , "+1Y");
            } else {
                jQuery('#'+id).datepicker( "setDate" , defVal);
            }
        }
    }

});


Better solutions welcomed :)